Poulet Lv.1
Inscrit le : 11/11/2009 Messages : 9
| Sujet: [Help]Problème move_range dans le script GTBS Jeu 12 Nov 2009 - 20:12 | |
| Bonjour voila mon problème, j'ai le script de Gubid pour le Tactical RPG. J'ai suivi les indications de ce topic : https://rpg-maker-vx.bbactif.com/option-et-astuces-f20/bien-utiliser-le-script-tbs-t1469.htm#17408Voici la démo du GTBS pour mieux vous aider a comprendre mon problème ! Demo : http://www.mediafire.com/?kmg2evmbngw Je poste ici pour poser mon problème mais avant tout voici le script GTBS pour les déplacements/portée d'attaque : - Code:
-
module GTBS #=============================================================# # Weapon and Skill Setup # #=============================================================# #------------------------------------------------------------- # Secret Hunt Element ID #------------------------------------------------------------- SECRET_HUNT_ID = 20 #------------------------------------------------------------- # Chain Lightning Effect Element ID #------------------------------------------------------------- CHAIN_LIGHTNING_EFFECT_ID = 21 #------------------------------------------------------------- # Animation to be played when spell with no targets happens #------------------------------------------------------------- MISS_ANIMATION = 100 #------------------------------------------------------------- # Animation to be played when summoning.. #------------------------------------------------------------- SUMMON_ANIM_ID = 42 #------------------------------------------------------------- # Summon Class - List of database_classes that belong to summons #------------------------------------------------------------- SUMMON_CLASS = [14] #------------------------------------------------------------- # Summon ENEMY_ID - List of database enemies that are summons #------------------------------------------------------------- SUMMON_ENID = [36] #------------------------------------------------------------- # Controlable Summons - summons that can be controlled instead of AI controlled #------------------------------------------------------------- CONTROLABLE_SUMMONS = [36] #------------------------------------------------------------- # Skill -> Summon Character ID #------------------------------------------------------------- def self.is_summon?(skill_id) skill = $data_skills[skill_id] return 0 if skill == nil if skill.element_set.include?(17) case skill_id when 100 return 36 #<-- Means that when the skill is 100 then add character/enemy #36 to the casters team end end return 0 #if none returned... return 0 end #------------------------------------------------------------- # set weapon_range from character (all_to_target means it will affect all tiles to selected target) # [max_range, min_range, is_bow?, line_to_target?, AoE] # AoE for weapons is not recommended, cause it lacks realism, but is available if desired. # Pattern, 0 = straight line only (-) while 1 = all between max range #------------------------------------------------------------- def self.w_range(id) case id when 4; range = [5, 2, true , false, 0] #long bow else; range = [1, 0, false, false, 0] end return range end #------------------------------------------------------------ # set initial range for monster by enemy_id (this is the same # as weapon checks for actors). Technically no monster actually # carries a weapon. # [Far_range, near_range, is_bow?, line to target?, AoE, projectile?] - is_bow is only used when "LSHAPE_BOWS" # is enabled. #------------------------------------------------------------ def self.m_range(id) case id when 35; range = [3,1, true, false, 0, true] else; range = [1,0, false, false, 0, false] end return range end #------------------------------------------------------------ # Set move_range for actor by Char class_id #------------------------------------------------------------ def self.move_range(class_id) list = [] case class_id when 2 ; r = 4 #Geomancer when 4 ; r = 3 #Mage when 9 ; r = 3 #Hunter when 8 ; r = 6 #Theif else ; r = 4 end return r end #------------------------------------------------------------ # Set move_range by monster_id #------------------------------------------------------------ def self.enemy_move(enemy_id) list = [] case enemy_id when 1 ; r = 3 #Ghost when 2 ; r = 2 #Basilisk when 3 ; r = 5 #Shaglin when 34 ; r = 2 else ; r = 4 end end #------------------------------------------------------------ # Set range and field by skill_id. Line Skills are skills in which affect the # entire range in the specified direction. This means that the range is really # a line itself, instead of the area. Line Skills are not currently available! # This value is same for both characters and enemies #[RANGE, Field, LINE_SKILL?, exclude_caster?] #------------------------------------------------------------ def self.skill_range(skill_id) case skill_id when 13; range = [2, 1, false, false] #gravel when 11; range = [2, 1, false, false] #electric when 33; range = [2, 0, false, false] #heal when 75; range = [3, 1, false, false] #wind when 45; range = [2, 0, false, false] #silence/mute when 99; range = [0, 1, false, true ] #spin fist when 100; range = [3,0, false, true ] #gilthyr when 59; range = [5, 1, false, true] #brasier when 63; range = [5, 1, false, true] #glacier when 67; range = [5, 1, false, true] #foudre else; range = [1, 0, false, false] end return range end def self.get_skill_user_anim(skill_id) case skill_id when 1 ; return ANIM_SPEC1 when 99; return ANIM_SPEC2 else; return ANIM_CAST end end #------------------------------------------------------------ # If an enemy is killed by a skill that includes "Secret Hunt", give item? #------------------------------------------------------------ # When ENEMY_ID; return [ITEM_TYPE, ID] #----- # ITEM_TYPES: # 0 - Item # 1 - Weapon # 2 - Armor (Any type) #----- # EXAMPLE: when 5; return [0,1] #this will give you a potion when enemy #5 is # killed by a "secret hunt" skill. #------------------------------------------------------------ def self.secret_hunt_result?(enemy_id) case enemey_id when 1; return [0,1] #returns potion else; return [] end end #------------------------------------------------------------ # Slip Damage Presets # This feature allows manual entry of damage to occur during slip # damage, this includes life gain when value is negative. If item is false, # then the standard method of slip damage is used (10% of the afflicted maxhp) #------------------------------------------------------------ def self.slip_dmg?(state_id) case state_id when 3; return [true, 25] #venom when 28; return [true, -25] #regen else; return [false] end end #------------------------------------------------------------ #Item Range # If item is actually a spell (spell scroll) then assign a spell id with it. # When the item is used if a spell_id is present, then the skill will be cast # instead of the item. # [range, Field, Skill_ID] #------------------------------------------------------------ def self.item_range(id) case id when 0; range = [1,0,0] else; range = [1,0,0] end return range end #------------------------------------------------------------ # Skill Wait # This item determines the Casting Time for a skill. # Items set for 0 are immediate action skills #------------------------------------------------------------ def self.skill_wait(id) case id when 33 ; w = 250 #Heal when 100 ; w = 890 #Gilthyr else; w = 0 end return w end end
Voici la partie intéressante : - Code:
-
#------------------------------------------------------------ # Set move_range by monster_id #------------------------------------------------------------ def self.enemy_move(enemy_id) list = [] case enemy_id when 1 ; r = 3 #Ghost when 2 ; r = 2 #Basilisk when 3 ; r = 5 #Shaglin when 34 ; r = 2 #zombie else ; r = 4 end end J'ai donc rajouté un monstre que j'ai nommé zombi avec l'id 34 (voir screen ci dessous) et j'ai rajouté when 34 ; r = 2 #zombie - Spoiler:
- Code:
-
when 34 ; r = 2 #zombie D'après ce script, le zombie ne devrait ce déplacer que de 2case. MAIS NON ! Il se déplace toujours de 4 case (valeur par défault) else ; r = 4 - Code:
-
else ; r = 4 Ma supposition est que when 34 ; r = 2 #zombie et else ; r = 4 rentre en conflit car avec : - Code:
-
when 34 ; r = 4 #zombie else ; r = 2 Le monstre bouge bien de 2 case... Mais dans ce cas là tout les monstres du jeu bouge a 2 case et je ne veux que lui. Je demande donc de me réparer ce petit problème et vous recevrez toute ma gratitude car cela fait 2h que je cherche, j'ai passé 5h a décrypter tout le script et le seul problème qui m'arrive est celui ci car avec les déplacements des héros je n'ai aucun problème... Merci d'avance a vous tous !!! |
|
Poulet Lv.1
Inscrit le : 11/11/2009 Messages : 9
| Sujet: Re: [Help]Problème move_range dans le script GTBS Ven 13 Nov 2009 - 14:59 | |
| Je UP et j'informe que j'ai tester d'enlever Else ; r = 4 mais ça ne marche pas non plus il détecte une erreur dans le script (normal...) |
|
Voyageur Lv.10
Age : 29 Inscrit le : 22/09/2009 Messages : 484
| Sujet: Re: [Help]Problème move_range dans le script GTBS Ven 13 Nov 2009 - 16:15 | |
| |
|
Poulet Lv.1
Inscrit le : 11/11/2009 Messages : 9
| Sujet: Re: [Help]Problème move_range dans le script GTBS Ven 13 Nov 2009 - 16:32 | |
| Pour Up le topic si, je peu me passer de ces commentaires inutile. |
|
Age : 33 Inscrit le : 27/06/2008 Messages : 10881
| Sujet: Re: [Help]Problème move_range dans le script GTBS Ven 13 Nov 2009 - 16:38 | |
| Wolf, je crois pas que tu sois modo et les commentaires du style, tu les gardes sauf si tu as quelque chose d'autre à dire. Néanmoins, c'est vrai qu'un up aussi vite, c'est un peu abused mais bon x)
Trick => Normalement ça devrait être bon ! ( il me semble que tu as bien programmé cette partie ) As-tu essayé en changeant d'ID, en créant ton zombie sur l'ID 33 par exemple ? |
|
Poulet Lv.1
Inscrit le : 11/11/2009 Messages : 9
| Sujet: Re: [Help]Problème move_range dans le script GTBS Ven 13 Nov 2009 - 17:30 | |
| J'ai déjà essayer mais le mouvement reste toujours a 4. J'ai néanmoins trouvé ceci dans un autre script qui apparemment correspond a la partie indiquée : - Code:
-
def base_move_range return GTBS::enemy_move(self.id) end Sinon, le script de GTBS n'est pas correct ? EDIT : Je vais essayer de le comparer au script de mouvement des héros. |
|
Poulet trizo Lv.3
Age : 30 Inscrit le : 24/07/2009 Messages : 45
| Sujet: Re: [Help]Problème move_range dans le script GTBS Dim 17 Avr 2011 - 18:06 | |
| La solution au problème est qu'il faut remplacer dans le script de GTBS "Game_Enemy" vers la ligne 10:
return GTBS::enemy_move(self.id)
par return GTBS::enemy_move(self.enemy_id)
En effet la variable id n'existe pas! elle vaut donc 0 Or le déplacement dépend de cette varriable et comme il n'y a pas de monstre de id=0 le déplacement du monstre à la valeur par défaut:
ligne: 117 script:GTBS_Move/Weapon/Skill
case enemy_id -> à cause du bug enemy_id=0 when 1; r = 3 #Monstre truk1 when 2; r = 4 #Monstre truk2 when 3; r = 1 #Monstre truk3 when 4; r = 2 #Monstre truk4 else; r = 8 #valeur par défaut -> donc r=8 tout le temps end
tout les endroits dans les scripts du GTBS avec quelque chose .id doit être remplacé par .enemy_id end |
|
Révolutionnaire mais ça rentrait pas alors autre chose
Age : 30 Inscrit le : 28/05/2010 Messages : 1537
| Sujet: Re: [Help]Problème move_range dans le script GTBS Dim 17 Avr 2011 - 19:41 | |
| Mici Guigui, moi perso ça va ptêt me servir mais fais gaffe aux nécroposts, ce sujet date de...2 ans !
|
|
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
| Sujet: Re: [Help]Problème move_range dans le script GTBS Dim 17 Avr 2011 - 19:49 | |
| - Malum a écrit:
- Mici Guigui, moi perso ça va ptêt me servir mais fais gaffe aux nécroposts, ce sujet date de...2 ans !
Tu devrais t'occuper de tes affaires. C'est un nécro oui, mais c'est aux modos d'intervenir pas à toi. Ensuite, c'est un nécro utile, je pense pas que ce soit vraiment sanctionnable. |
|
Age : 33 Inscrit le : 27/06/2008 Messages : 10881
| Sujet: Re: [Help]Problème move_range dans le script GTBS Dim 17 Avr 2011 - 19:50 | |
| Sauf que je lui avais donné l'autorisation dans ce cas précis ( à la base il avait le même problème, en cherchant il a trouvé la solution, donc je lui ai donné l'autorisation de la partager pour ceux qui auront le problème à l'avenir ). Donc merci de ne pas flooder en dispensant des messages de modération quand, il me semble, tu ne fais pas partie du staff.
Lock. |
|
| Sujet: Re: [Help]Problème move_range dans le script GTBS | |
| |
|