Citadin Lv.7
Inscrit le : 14/06/2011 Messages : 165
| Sujet: [RESOLU]Problème de compatibilité de script Jeu 25 Aoû 2011 - 17:53 | |
| Bonjour! J'ai un soucis d'incompatibilité entre 2 scripts: le premier s'avère être le script d'invocation complet de blockade et le deuxième ce script de mage bleu: - Spoiler:
- Code:
-
#=============================================================================== # Blue Magic Snippet # By Jet10985 (Jet) # Original Code by: Fomar0153 #=============================================================================== # This snippet will allow you to use to create a blue mage-type character. This # means that the character will learn special enemy skills when they are used on # the blue mage. # This script has: 2 customization option. #=============================================================================== # Overwritten Methods: # None #------------------------------------------------------------------------------- # Aliased methods: # Scene_Battle: execute_action_skill #=============================================================================== =begin How To Make Blue Skills:
In the database, go to the "Skills Tab". In the bottom-right corner is the note box. Input the following text into the notebox on it's own seperate line:
<blue magic>
Be sure to include the <>
=end
module BlueMagic BLUE_ACTORS = [3] # What actors are blue mages? Leave as [] for none. BLUE_CLASSES = [3] # What classes are blue mages? Leave as [] for none. end
#=============================================================================== # DON'T EDIT FURTHER UNLESS YOU KNOW WHAT TO DO. #=============================================================================== class Game_Actor include BlueMagic def blue_mage? return true if BLUE_ACTORS.include?(self.id) return true if BLUE_CLASSES.include?(self.class_id) return false end end
module Jet def self.check_note_tags(obj, tag) obj.note.each_line { |notetag| case notetag when tag return true end } return false end end
module RPG class Skill def blue_magic? if @blue.nil? txt = Jet.check_note_tags(self, /<(?:blue magic)>/i) @blue = txt end return @blue end end end class Scene_Battle alias jet3243_execute_action_skill execute_action_skill unless $@ def execute_action_skill jet3243_execute_action_skill skill = @active_battler.action.skill targets = @active_battler.action.make_targets for target in targets if target.actor? && target.blue_mage? && skill.blue_magic? target.learn_skill(skill.id) unless target.skill_learn?(skill) @message_window.add_instant_text(target.name + " learns " + skill.name) wait(60) end end end end
unless $engine_scripts.nil? JetEngine.active("Blue Magic", 1) end
Mon problème est le suivant: si je place le script d'invocation au dessus de celui de mage bleu, mon mage bleu n'apprends plus de sorts. Si je place le script de mage bleu au dessus de celui d'invocation, le mage apprends de nouveau des sorts mais l'invoqueur n'invoque plus rien. Il lance sa compétence, dépense des PM mais n'invoque pas la créature. Un scripteur plus compétent que moi saurait-il d'où provient ce bug? Merci d'avance ^^ EDIT: J'ai fini par créer mon propre script de mage bleu et ça fonctionne. Problème résolu. |
|