|
Auteur | Message |
---|
Seigneur Lv.18
Age : 28 Inscrit le : 26/12/2010 Messages : 2220
| Sujet: RGSS 3 Mer 7 Mar 2012 - 17:32 | |
| Bonjours Alors je suis en train de travailler sur un script, qui permet d'Amélioré nos armes a force de les utilisé, mais un érreur s'affiche aprés avoir fait nouvelle partie. Le script que je travaille : - Code:
-
module Weapon_Uses
# Mettre à false si je veux que l'arme qui a fait l'autre ne ce retir pas. REPLACES = false
WEAPONS = [] # Arme[Originale] = [Nouvelle arme, Nombre de fois] WEAPONS[19] = [64, 2]
end
class Game_Actor < Game_Battler #-------------------------------------------------------------------------- alias fomar0003_setup setup def setup(actor_id) fomar0003_setup(actor_id) @weapon_uses = [] end #-------------------------------------------------------------------------- def add_skill_use(id) if @weapon_uses[id] == nil @weapon_uses[id] = 0 end @weapon_uses[id] += 1 unless weapon_Uses::WEAPONS[id] == nil if @weapon_uses[id] == Weapon_Uses::WEAPONS[id][1] learn_weapon(Weapon_Uses::WEAPONS[id][0]) forget_weapon(id) if Weapon_Uses::REPLACES end end end end
class Game_Battler < Game_BattlerBase #-------------------------------------------------------------------------- alias fomar0004_item_apply item_apply def item_apply(user, item) if user.is_a?(Game_Actor) and item.is_a?(RPG::Skill) user.add_weapon_use(item.id) end fomar0004_item_apply(user, item) end end
L'érreur : Voilà je ne vois c'est quoi l'érreur. Attention script a ne pas prendre ! Ce script est pour vxace. |
|
| |
Invité
| Sujet: Re: RGSS 3 Mer 7 Mar 2012 - 19:24 | |
| - Code:
-
module Weapon_Uses
# Mettre à false si je veux que l'arme qui a fait l'autre ne ce retir pas. REPLACES = false
WEAPONS = [] # Arme[Originale] = [Nouvelle arme, Nombre de fois] WEAPONS[19] = [64, 2]
end
class Game_Actor < Game_Battler #-------------------------------------------------------------------------- alias fomar0003_setup setup unless method_defined?(fomar0003_setup) def setup(actor_id) fomar0003_setup(actor_id) @weapon_uses = [] end #-------------------------------------------------------------------------- def add_skill_use(id) if @weapon_uses[id] == nil @weapon_uses[id] = 0 end @weapon_uses[id] += 1 unless weapon_Uses::WEAPONS[id] == nil if @weapon_uses[id] == Weapon_Uses::WEAPONS[id][1] learn_weapon(Weapon_Uses::WEAPONS[id][0]) forget_weapon(id) if Weapon_Uses::REPLACES end end end end
class Game_Battler < Game_BattlerBase #-------------------------------------------------------------------------- alias fomar0004_item_apply item_apply def item_apply(user, item) if user.is_a?(Game_Actor) and item.is_a?(RPG::Skill) user.add_weapon_use(item.id) end fomar0004_item_apply(user, item) end end
Voilà, essaye ça. Bonne continuation ! |
|
| |
Seigneur Lv.18
Age : 28 Inscrit le : 26/12/2010 Messages : 2220
| Sujet: Re: RGSS 3 Jeu 8 Mar 2012 - 15:32 | |
| Merci mais il y a une érreur a la ligne 14 14 < alias fomar0003_setup setup unless method_defined?(fomar0003_setup) Screen : merci d'avance. |
|
| |
Illusionniste Lv.12
Age : 34 Inscrit le : 14/02/2010 Messages : 796
| Sujet: Re: RGSS 3 Jeu 8 Mar 2012 - 16:13 | |
| J'aimerais bien savoir à quel moment tu as eu le bug : en lançant le jeu ? en faisant un appel de script et si oui, lequel ? |
|
| |
Seigneur Lv.18
Age : 28 Inscrit le : 26/12/2010 Messages : 2220
| Sujet: Re: RGSS 3 Jeu 8 Mar 2012 - 17:30 | |
| Avant l'écran de titre Donc en lançant le jeu. |
|
| |
Invité
| Sujet: Re: RGSS 3 Jeu 8 Mar 2012 - 17:42 | |
| Voilà, là ça devrait marcher. (merci à Zeus) - Code:
-
module Weapon_Uses
# Mettre à false si je veux que l'arme qui a fait l'autre ne ce retir pas. REPLACES = false
WEAPONS = [] # Arme[Originale] = [Nouvelle arme, Nombre de fois] WEAPONS[19] = [64, 2]
end
class Game_Actor < Game_Battler #-------------------------------------------------------------------------- alias fomar0003_setup setup unless $@ def setup(actor_id) fomar0003_setup(actor_id) @weapon_uses = [] end #-------------------------------------------------------------------------- def add_skill_use(id) if @weapon_uses[id] == nil @weapon_uses[id] = 0 end @weapon_uses[id] += 1 unless weapon_Uses::WEAPONS[id] == nil if @weapon_uses[id] == Weapon_Uses::WEAPONS[id][1] learn_weapon(Weapon_Uses::WEAPONS[id][0]) forget_weapon(id) if Weapon_Uses::REPLACES end end end end
class Game_Battler < Game_BattlerBase #-------------------------------------------------------------------------- alias fomar0004_item_apply item_apply def item_apply(user, item) if user.is_a?(Game_Actor) and item.is_a?(RPG::Skill) user.add_weapon_use(item.id) end fomar0004_item_apply(user, item) end end
Dernière édition par Raymo le Jeu 8 Mar 2012 - 17:55, édité 2 fois |
|
| |
Seigneur Lv.18
Age : 28 Inscrit le : 26/12/2010 Messages : 2220
| Sujet: Re: RGSS 3 Jeu 8 Mar 2012 - 17:53 | |
| Encore la mème érreur que mon premier message. |
|
| |
Invité
| Sujet: Re: RGSS 3 Jeu 8 Mar 2012 - 17:55 | |
| Ah bon ? J'ai testé, ça marchait chez moi. Essaye ça alors - Code:
-
module Weapon_Uses
# Mettre à false si je veux que l'arme qui a fait l'autre ne ce retir pas. REPLACES = false
WEAPONS = [] # Arme[Originale] = [Nouvelle arme, Nombre de fois] WEAPONS[19] = [64, 2]
end
class Game_Actor < Game_Battler #-------------------------------------------------------------------------- alias fomar0003_setup setup unless method_defined?("fomar0003_setup") def setup(actor_id) fomar0003_setup(actor_id) @weapon_uses = [] end #-------------------------------------------------------------------------- def add_skill_use(id) if @weapon_uses[id] == nil @weapon_uses[id] = 0 end @weapon_uses[id] += 1 unless weapon_Uses::WEAPONS[id] == nil if @weapon_uses[id] == Weapon_Uses::WEAPONS[id][1] learn_weapon(Weapon_Uses::WEAPONS[id][0]) forget_weapon(id) if Weapon_Uses::REPLACES end end end end
class Game_Battler < Game_BattlerBase #-------------------------------------------------------------------------- alias fomar0004_item_apply item_apply def item_apply(user, item) if user.is_a?(Game_Actor) and item.is_a?(RPG::Skill) user.add_weapon_use(item.id) end fomar0004_item_apply(user, item) end end |
|
| |
Seigneur Lv.18
Age : 28 Inscrit le : 26/12/2010 Messages : 2220
| Sujet: Re: RGSS 3 Jeu 8 Mar 2012 - 18:03 | |
| Quand j'attaque il y a cette érreur : |
|
| |
Invité
| Sujet: Re: RGSS 3 Jeu 8 Mar 2012 - 18:10 | |
| Ben elle est pas définie ta fonction aussi, c'est normal qu'il te dise ça. |
|
| |
Seigneur Lv.18
Age : 28 Inscrit le : 26/12/2010 Messages : 2220
| Sujet: Re: RGSS 3 Jeu 8 Mar 2012 - 18:16 | |
| - Raymo a écrit:
- Ben elle est pas définie ta fonction aussi, c'est normal qu'il te dise ça.
Celà veut dire ? |
|
| |
Invité
| Sujet: Re: RGSS 3 Jeu 8 Mar 2012 - 18:27 | |
| Tu n'as pas de "def add_weapon_use", donc la fonction est inconnue au bataillon. |
|
| |
Seigneur Lv.18
Age : 28 Inscrit le : 26/12/2010 Messages : 2220
| Sujet: Re: RGSS 3 Jeu 8 Mar 2012 - 18:28 | |
| Comment je fait sa Alors ? Tu peux m'aider ? |
|
| |
Invité
| Sujet: Re: RGSS 3 Jeu 8 Mar 2012 - 18:40 | |
| Le problème étant que je ne sais pas très bien ce que tu veux faire. Tu devrais expliquer en détail ce que tu fais afin que l'on puisse t'aider dans ton script.
Bonne continuation en tout cas. |
|
| |
Seigneur Lv.18
Age : 28 Inscrit le : 26/12/2010 Messages : 2220
| Sujet: Re: RGSS 3 Jeu 8 Mar 2012 - 18:41 | |
| En faite je voudrais que si j'ai attaqué X fois avec une arme, elle s'améliore en une autre. |
|
| |
Illusionniste Lv.12
Age : 34 Inscrit le : 14/02/2010 Messages : 796
| Sujet: Re: RGSS 3 Jeu 8 Mar 2012 - 21:38 | |
| L'idée de son code, je crois, dans l'exemple qu'il met, c'est que si l'arme 19 est utilisée 2 fois, elle évolue en l'arme 64. L'array @weapon_uses contiendrait, aux emplacements des id des armes, le nombre d'utilisations en cours (bon, ici ça ne marcherait pas non plus, mais je pense que c'était l'idée) Bien sur, ça marche pas vu que learn_weapon et forget_weapon n'existent pas (ça t'es venu d'où cette idée, d'ailleurs ? de learn_skill et forget_skill ?) Mais le problème de stack, je l'ai pas avec son premier essai sur projet vierge, donc ça vient d'un autre script. C'est très curieux si ce code est responsable de quelque chose alors qu'il ne fait rien encore. Ça fait quoi si tu l'enlèves ? |
|
| |
Invité
| Sujet: Re: RGSS 3 Jeu 8 Mar 2012 - 21:42 | |
| En fait c'est un problème qui peut arriver parfois et qui provient de l'aliasing. Parce qu'en fait, pour ce que j'en ai compris, l'aliasing ne se contente pas de copier la méthode dans une autre, ce qui fait que lorsque l'on fait l'appel ensuite, il remet à jour l'aliasing et recopie une nouvelle fois. En gros ça donne setup => setup2 puis dans setup, il rappelle setup2, mais comme il réactualise l'aliasing, en fait la fonction s'auto-appelle.
Je sais pas pourquoi ça arrive pas tout le temps, mais c'est plus où moins ça qu'il arrive. |
|
| |
Seigneur Lv.18
Age : 28 Inscrit le : 26/12/2010 Messages : 2220
| Sujet: Re: RGSS 3 Ven 9 Mar 2012 - 18:49 | |
| En fait j'ai fait le mème script pour les skill. Et je l'ai modifié pour que ce soit pour les armes. Script que j'ai fait pour les skills : - Code:
-
module Skill_Uses
# Mettre false pour garder la magie quand elle est évoluée REPLACES = false
SKILLS = [] # SKILLS[ORIGINALE] = [Nouvelle, Nombre de fois a l'utilisé] SKILLS[138] = [142, 10] SKILLS[139] = [140, 12] SKILLS[144] = [145, 15] SKILLS[145] = [146, 20] SKILLS[148] = [147, 25] SKILLS[149] = [150, 20] SKILLS[151] = [152, 25] SKILLS[153] = [154, 20]
end
class Game_Actor < Game_Battler #-------------------------------------------------------------------------- alias fomar0003_setup setup def setup(actor_id) fomar0003_setup(actor_id) @skill_uses = [] end #-------------------------------------------------------------------------- def add_skill_use(id) if @skill_uses[id] == nil @skill_uses[id] = 0 end @skill_uses[id] += 1 unless Skill_Uses::SKILLS[id] == nil if @skill_uses[id] == Skill_Uses::SKILLS[id][1] learn_skill(Skill_Uses::SKILLS[id][0]) forget_skill(id) if Skill_Uses::REPLACES end end end end
class Game_Battler < Game_BattlerBase #-------------------------------------------------------------------------- alias fomar0004_item_apply item_apply def item_apply(user, item) if user.is_a?(Game_Actor) and item.is_a?(RPG::Skill) user.add_skill_use(item.id) end fomar0004_item_apply(user, item) end end Celui là il marche. |
|
| |
Illusionniste Lv.12
Age : 34 Inscrit le : 14/02/2010 Messages : 796
| Sujet: Re: RGSS 3 Sam 10 Mar 2012 - 10:02 | |
| ben oui, parce que les méthodes learn_skill et forget_skill sont déjà écrites dans les scripts de base, et pas learn_weapon et forget_weapon. |
|
| |
Seigneur Lv.18
Age : 28 Inscrit le : 26/12/2010 Messages : 2220
| Sujet: Re: RGSS 3 Sam 10 Mar 2012 - 12:13 | |
| Ha ... Et je dois faire quoi Alors ? Désolé mais je suis pas trés fort. |
|
| |
Va-nu-pieds Lv.4
Inscrit le : 06/03/2011 Messages : 57
| Sujet: Re: RGSS 3 Sam 10 Mar 2012 - 19:16 | |
|
Dernière édition par blodangan le Ven 24 Juil 2020 - 16:28, édité 1 fois |
|
| |
Seigneur Lv.18
Age : 28 Inscrit le : 26/12/2010 Messages : 2220
| Sujet: Re: RGSS 3 Sam 10 Mar 2012 - 19:39 | |
| Oui c'est sa que je veux faire si je l'utilise 2 fois par example elle évolue en une autre comme Ratchet et Clank. J'aimerais qu'un message s'affiche quand l'arme est évolué et qu'il y ai le nombre de fois que je dois l'utilisé pour avoir une autre dans le titre de l'arme. |
|
| |
| Sujet: Re: RGSS 3 | |
| |
|
| |
|