- DarkDavy15Membre
- Nombre de messages : 11
Age : 24
Distinction : aucune
Date d'inscription : 07/01/2016
Besoin d'aide pour un script
Sam 11 Fév 2017 - 19:31
Bonjour/Bonsoir, j'ai besoin d'aide pour un script. (Comme écrit dans le titre xD)
Je voudrais juste faire en sorte que mon script (qui est fait pour animer le fond de combat) ne fonctionne que quand un certain interrupteur est activé.
Pour expliqué pourquoi je veux qu'il ne s'active qu'avec un interrupteur, c'est que je voudrais que certain combat se lance avec les battleback se trouvant dans les dossiers "Battleback1" ou "Battleback2", et ce script utilise les images qui se trouve dans le dossier "AnimBattleBack" (dossier que vous devez créer en mettant le script).
Problème : C'est que si je ne "lui dit" pas quel images utilisé (j'ai fait comme ça la première fois en pensant que le script aller alors me laisser mettre les images de Battleback), il affiche un message d'erreur et le jeu se ferme.
Du coup, de 1, ça rend les dossier Battleback1 et Battleback2 TOTALEMENT inutile avec ce script, et je suis obligé de faire plusieurs images et plusieurs manip pour faire ce que je voudrais. (et ça pourrait ajouter beaucoup plus de poids au projet, du coup.)
Je sais pas si j'était assez clair, donc si c'est pas le cas, je suis désolé ...
Voici le script :
(Et je tiens juste à dire que si je poste ce message au mauvais endroit, je suis désolé :/)
(Et puis, c'est le premier VRAI message que je poste, donc si il y a une erreur, je suis vraiment désolé)
Je voudrais juste faire en sorte que mon script (qui est fait pour animer le fond de combat) ne fonctionne que quand un certain interrupteur est activé.
Pour expliqué pourquoi je veux qu'il ne s'active qu'avec un interrupteur, c'est que je voudrais que certain combat se lance avec les battleback se trouvant dans les dossiers "Battleback1" ou "Battleback2", et ce script utilise les images qui se trouve dans le dossier "AnimBattleBack" (dossier que vous devez créer en mettant le script).
Problème : C'est que si je ne "lui dit" pas quel images utilisé (j'ai fait comme ça la première fois en pensant que le script aller alors me laisser mettre les images de Battleback), il affiche un message d'erreur et le jeu se ferme.
Du coup, de 1, ça rend les dossier Battleback1 et Battleback2 TOTALEMENT inutile avec ce script, et je suis obligé de faire plusieurs images et plusieurs manip pour faire ce que je voudrais. (et ça pourrait ajouter beaucoup plus de poids au projet, du coup.)
Je sais pas si j'était assez clair, donc si c'est pas le cas, je suis désolé ...
Voici le script :
- Le script:
- # =============================================================================
# TheoAllen - Animated Battleback
# Version : 1.0
# Contact : www.rpgmakerid.com (or) http://theolized.blogspot.com
# (This script documentation is written in informal indonesian language)
# =============================================================================
($imported ||= {})[:Theo_AnimBattleBack] = true
# =============================================================================
# Change Logs:
# -----------------------------------------------------------------------------
# 2013.10.28 - Finished script
# =============================================================================
=begin
------------------------------------------------------------------------
Perkenalan :
------------------------------------------------------------------------
Pengen battleback kamu bisa gerak? Well, mungkin script ini bisa mewujudkan
impianmu. Semoga saja
------------------------------------------------------------------------
Cara penggunaan :
------------------------------------------------------------------------
Pasang script ini dibawah material namun diatas main
Buat folder "AnimBattleBack" di dalam folder Graphics.
Siapkan gambar background untuk battleback dengan format nama
"namafile_01.png". Siapkan gambar berikutnya untuk frame animasi setelahnya
dan namakan dengan "namafile_02.png". Dan seterusnya. Kamu boleh memasukkan
frame animasi sebanyak yang kamu mau. Dan perlu diingat, jangan lupa dengan
nomor frame belakang tersebut ("_02.png" dst ...)
Untuk menggunakan animated battleback pada map tertentu, gunakan notetag
<anim bb: key_animasi> dimana "key_animasi" adalah "key" yang berada pada
konfigurasi dibawah. Perlu diingat, penulisan "key_animasi" pada notetag
tidak perlu disertai kutip
------------------------------------------------------------------------
Terms of use :
------------------------------------------------------------------------
Credit gw, TheoAllen. Kalo semisal u bisa ngedit2 script gw trus jadi lebih
keren, terserah. Ane bebasin. Asal ngga ngeklaim aja. Kalo semisal mau
dipake buat komersil, jangan lupa, gw dibagi gratisannya.
=end
# =============================================================================
# Konfigurasi
# =============================================================================
module Theo
module AnimBB
# --------------------------------------------------------------------------
# Animated Battleback Database
# --------------------------------------------------------------------------
# Paduan konfigurasi :
#
# Key --> Kata kunci untuk dipergunakan dalam notetag di map properties
# Nama --> Nama untuk file gambar (tanpa disertai "_01")
# Frame --> Frame maksimal gambar. Misalnya animasi framenya ada 20
# Rate --> Refresh rate. Makin kecil, gambar akan makin cepet gerak
# --------------------------------------------------------------------------
List = {
# "Key" => ["Nama" , Frame, Rate],
"mansion" => ["mansion" , 8, 4],
"dtown" => ["deserttown", 7, 10],
"giygas" => ["nightmare", 34, 4],
"giygas2" => ["nightmare", 34, 2],
"giygas3" => ["nightmare", 34, 1],
"mnoir" => ["machinenoir", 2, 2],
# Tambahin sendiri
} # <-- Jangan disentuh!
end
end
# =============================================================================
# Akhir dari konfigurasi
# =============================================================================
class << Cache
def animbattleback(filename, index)
file = filename + sprintf("_%02d", index)
load_bitmap("Graphics/AnimBattleBack/", file)
end
end
class Game_System
attr_accessor :anim_bb
alias theo_animbb_init initialize
def initialize
theo_animbb_init
@anim_bb = ""
end
end
class Game_Map
alias theo_animbb_setup setup
def setup(map_id)
theo_animbb_setup(map_id)
setup_animbb
end
def setup_animbb
$game_system.anim_bb = ""
@map.note.split(/[\r\n]+/).each do |line|
if line =~ /<(?:anim bb|anim_bb):[ ]*(.+)>/i
$game_system.anim_bb = $1.to_s
end
end
end
end
class AnimBB < Sprite
attr_reader :name
attr_reader :index
def initialize(viewport)
super(viewport)
init_member
end
def init_member
@name = $game_system.anim_bb
@count = 0
@index = 1
refresh_bitmap
end
def refresh_bitmap
if name.empty?
self.bitmap = Cache.empty_bitmap
else
self.bitmap = Cache.animbattleback(file, index)
end
end
def file
Theo::AnimBB::List[name][0]
end
def max_index
Theo::AnimBB::List[name][1]
end
def rate
Theo::AnimBB::List[name][2]
end
def need_refresh?
@count % rate == 0 && !name.empty?
end
def change_index
@index += 1
if @index == max_index
@index = 1
end
refresh_bitmap
end
def update
super
@count += 1
change_index if need_refresh?
end
end
class Spriteset_Battle
alias theo_animbb_create_viewports create_viewports
def create_viewports
theo_animbb_create_viewports
create_animbb
end
def create_animbb
@animbb = AnimBB.new(@viewport1)
@animbb.z = 5
center_sprite(@animbb)
end
alias theo_animbb_update update
def update
theo_animbb_update
@animbb.update
end
alias theo_animbb_dispose dispose
def dispose
theo_animbb_dispose
@animbb.dispose
end
end
(Et je tiens juste à dire que si je poste ce message au mauvais endroit, je suis désolé :/)
(Et puis, c'est le premier VRAI message que je poste, donc si il y a une erreur, je suis vraiment désolé)
- driccMembre
- Nombre de messages : 2760
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009
Re: Besoin d'aide pour un script
Lun 13 Fév 2017 - 10:38
Je ne vois pas trop le soucis ...
Si tu veux un fond non animé , il te suffit de faire un truc comme ça :
"Truc" => ["Truc", 1, 1000],
Avec un fichier Truc_01.png dans ton repertoire .
Quand aux repertoires Battleback1 et Battleback2 de ton projet , tu les vides (quoiqu'il faut peut-etre en garder 1 par défaut) .
Si tu veux un fond non animé , il te suffit de faire un truc comme ça :
"Truc" => ["Truc", 1, 1000],
Avec un fichier Truc_01.png dans ton repertoire .
Quand aux repertoires Battleback1 et Battleback2 de ton projet , tu les vides (quoiqu'il faut peut-etre en garder 1 par défaut) .
- DarkDavy15Membre
- Nombre de messages : 11
Age : 24
Distinction : aucune
Date d'inscription : 07/01/2016
Re: Besoin d'aide pour un script
Lun 13 Fév 2017 - 18:13
J'ai déjà essayer, mais il m'affiche une erreur en me disant qu'il me manque la deuxième image ("truc_02" si tu veux)... Alors que j'ai bien précisé qu'il n'y avait qu'1 image à afficher.
Je sais pas si c'est le script qui bug, mais en tout cas, cette erreur m'oblige du coup à créé plusieurs même image qui va prendre de la place dans le projet... :/
Je sais pas si c'est le script qui bug, mais en tout cas, cette erreur m'oblige du coup à créé plusieurs même image qui va prendre de la place dans le projet... :/
- tibluedreamMembre
- Nombre de messages : 944
Age : 35
Localisation : France, Rueil, près de Paris
Distinction : Poisson 2017 [Amal]
Poisson 2018 [Amal']
Date d'inscription : 05/09/2016
Re: Besoin d'aide pour un script
Lun 13 Fév 2017 - 18:29
Tout ce que je peux dire c'est que par défaut il y a 2 battleback si tu n'y arrive pas à afficher qu'une seul image pas besoin de faire des copie tu as juste à créer un fond noir ou blanc ou ce que tu veux pour l'image qui sera invisible qui sera prise à chaque fois pour le combat mais normalement tu ne devrais pas avoir à faire ça.. après j'ai pas trop compris enfin j'ai compris à peu près comment il fonctionne mais je ne sais pas s'il modifie la base des Battleback ce script donc bon. bon courage ^^.
- DarkDavy15Membre
- Nombre de messages : 11
Age : 24
Distinction : aucune
Date d'inscription : 07/01/2016
Re: Besoin d'aide pour un script
Lun 13 Fév 2017 - 21:06
Je suis nul pour les explications. X)
Le problème (que je vais essayer d'expliquer), c'est que quand je met "1" (pour dire d'utiliser seulement 1 image), le script essaye quand même de lancer d'autres images (qui n'existe pas et qui fait alors planté le jeu).
(Pour expliquer ce qui se passe, c'est que quand je lance un combat avec ce script (je vais utiliser son exemple xD ["Truc", 1, 1000] le 1 signifi le nombre d'images), et bien l'image 1 s'affiche, et normalement, le script devrait lancé l'image 1 en boucle, mais le script essaye quand même de charger l'image 2 (qui n'existe pas), et ça plante. En fait, je ne veux pas faire de copier coller d'une image et donner plus de "poids" au projet juste pour qu'un script marche. Et c'est le seul script qui permet d'animé les combats que j'ai trouvé, s'il-vous-plait, help !)
Et quand je demandai qu'on modifie le script pour qu'il ne s'active qu'avec un interrupteur, c'était justement pour que le script sois "oublié", disons, par RPG Maker, et qui lance alors une des images du battleback, et que j'active l'interrupteur pour l'utiliser dans le combat contre le boss final, par exemple. (Pour donner un effet de puissance sur le boss X) ).
Je sais pas si j'ai expliqué mieux, mais si c'est toujours pas clair, encore désolé... :'(
(Je suis VRAIMENT nul quand il s'agit d'expliquer, même expliquer un truc "simple", je n'y arrive pas...)
Le problème (que je vais essayer d'expliquer), c'est que quand je met "1" (pour dire d'utiliser seulement 1 image), le script essaye quand même de lancer d'autres images (qui n'existe pas et qui fait alors planté le jeu).
(Pour expliquer ce qui se passe, c'est que quand je lance un combat avec ce script (je vais utiliser son exemple xD ["Truc", 1, 1000] le 1 signifi le nombre d'images), et bien l'image 1 s'affiche, et normalement, le script devrait lancé l'image 1 en boucle, mais le script essaye quand même de charger l'image 2 (qui n'existe pas), et ça plante. En fait, je ne veux pas faire de copier coller d'une image et donner plus de "poids" au projet juste pour qu'un script marche. Et c'est le seul script qui permet d'animé les combats que j'ai trouvé, s'il-vous-plait, help !)
Et quand je demandai qu'on modifie le script pour qu'il ne s'active qu'avec un interrupteur, c'était justement pour que le script sois "oublié", disons, par RPG Maker, et qui lance alors une des images du battleback, et que j'active l'interrupteur pour l'utiliser dans le combat contre le boss final, par exemple. (Pour donner un effet de puissance sur le boss X) ).
Je sais pas si j'ai expliqué mieux, mais si c'est toujours pas clair, encore désolé... :'(
(Je suis VRAIMENT nul quand il s'agit d'expliquer, même expliquer un truc "simple", je n'y arrive pas...)
- driccMembre
- Nombre de messages : 2760
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009
Re: Besoin d'aide pour un script
Mar 14 Fév 2017 - 10:12
Le probleme , vois-tu , c'est qu'il n'y a presque plus de developpeur de script sour VXAce .
Les scripteurs comme moi ont eu le choix entre le ruby (VXAce) , language propre mais rare et le javascript (MV) qui est le language le plus utilisé au monde . On n'a pas hesité longtemps .
Malgré tout , je te propose une petite correction toute simple qui devrait marcher :
J'ai mis un ">=" ici . l'erreur venait du fait que le compteur passait à 2 , je pense .
Les scripteurs comme moi ont eu le choix entre le ruby (VXAce) , language propre mais rare et le javascript (MV) qui est le language le plus utilisé au monde . On n'a pas hesité longtemps .
Malgré tout , je te propose une petite correction toute simple qui devrait marcher :
- Code:
def change_index
@index += 1
if @index >= max_index
@index = 1
end
refresh_bitmap
end
J'ai mis un ">=" ici . l'erreur venait du fait que le compteur passait à 2 , je pense .
- DarkDavy15Membre
- Nombre de messages : 11
Age : 24
Distinction : aucune
Date d'inscription : 07/01/2016
Re: Besoin d'aide pour un script
Mar 14 Fév 2017 - 18:54
Ca marche, merci beaucoup !
Tu me sauve la vie !
(Il y a moyen de te remercier encore plus ? x) )
Tu me sauve la vie !
(Il y a moyen de te remercier encore plus ? x) )
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|