AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  



Le Deal du moment : -40%
Tefal Ingenio Emotion – Batterie de cuisine 10 ...
Voir le deal
59.99 €

Partagez
 

 [Help]Problème move_range dans le script GTBS

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Trickjump
Poulet Lv.1
Poulet Lv.1
Trickjump


Inscrit le : 11/11/2009
Messages : 9

[Help]Problème move_range dans le script GTBS Empty
MessageSujet: [Help]Problème move_range dans le script GTBS   [Help]Problème move_range dans le script GTBS Icon_minitimeJeu 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#17408

Voici 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 !!! Very Happy
Revenir en haut Aller en bas
Trickjump
Poulet Lv.1
Poulet Lv.1
Trickjump


Inscrit le : 11/11/2009
Messages : 9

[Help]Problème move_range dans le script GTBS Empty
MessageSujet: Re: [Help]Problème move_range dans le script GTBS   [Help]Problème move_range dans le script GTBS Icon_minitimeVen 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...)
Revenir en haut Aller en bas
Wolf
Voyageur Lv.10
Voyageur Lv.10
Wolf


Féminin Age : 28
Inscrit le : 22/09/2009
Messages : 484

[Help]Problème move_range dans le script GTBS Empty
MessageSujet: Re: [Help]Problème move_range dans le script GTBS   [Help]Problème move_range dans le script GTBS Icon_minitimeVen 13 Nov 2009 - 16:15

DOUBLE POST PAS !!!
Revenir en haut Aller en bas
Trickjump
Poulet Lv.1
Poulet Lv.1
Trickjump


Inscrit le : 11/11/2009
Messages : 9

[Help]Problème move_range dans le script GTBS Empty
MessageSujet: Re: [Help]Problème move_range dans le script GTBS   [Help]Problème move_range dans le script GTBS Icon_minitimeVen 13 Nov 2009 - 16:32

Pour Up le topic si, je peu me passer de ces commentaires inutile.
Revenir en haut Aller en bas
Matsuo Kaito
+ Heir Øf Ŧime +
+ Heir Øf Ŧime +
Matsuo Kaito


Masculin Age : 32
Inscrit le : 27/06/2008
Messages : 10881

[Help]Problème move_range dans le script GTBS Empty
MessageSujet: Re: [Help]Problème move_range dans le script GTBS   [Help]Problème move_range dans le script GTBS Icon_minitimeVen 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 ?
Revenir en haut Aller en bas
Trickjump
Poulet Lv.1
Poulet Lv.1
Trickjump


Inscrit le : 11/11/2009
Messages : 9

[Help]Problème move_range dans le script GTBS Empty
MessageSujet: Re: [Help]Problème move_range dans le script GTBS   [Help]Problème move_range dans le script GTBS Icon_minitimeVen 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.
Revenir en haut Aller en bas
Guiguititan
Poulet trizo Lv.3
Poulet trizo Lv.3
Guiguititan


Masculin Age : 30
Inscrit le : 24/07/2009
Messages : 45

[Help]Problème move_range dans le script GTBS Empty
MessageSujet: Re: [Help]Problème move_range dans le script GTBS   [Help]Problème move_range dans le script GTBS Icon_minitimeDim 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
Revenir en haut Aller en bas
http://rpgmakervx.xooit.fr/index.php
Malum
Révolutionnaire mais ça rentrait pas alors autre chose
Révolutionnaire mais ça rentrait pas alors autre chose
Malum


Masculin Age : 29
Inscrit le : 28/05/2010
Messages : 1537

[Help]Problème move_range dans le script GTBS Empty
MessageSujet: Re: [Help]Problème move_range dans le script GTBS   [Help]Problème move_range dans le script GTBS Icon_minitimeDim 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 !















Revenir en haut Aller en bas
http://malum-productions.forumsactifs.net
Zangther
Maître des Duels
Maître des Duels
Zangther


Masculin Age : 31
Inscrit le : 29/07/2009
Messages : 7840

[Help]Problème move_range dans le script GTBS Empty
MessageSujet: Re: [Help]Problème move_range dans le script GTBS   [Help]Problème move_range dans le script GTBS Icon_minitimeDim 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.
Revenir en haut Aller en bas
Matsuo Kaito
+ Heir Øf Ŧime +
+ Heir Øf Ŧime +
Matsuo Kaito


Masculin Age : 32
Inscrit le : 27/06/2008
Messages : 10881

[Help]Problème move_range dans le script GTBS Empty
MessageSujet: Re: [Help]Problème move_range dans le script GTBS   [Help]Problème move_range dans le script GTBS Icon_minitimeDim 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.
Revenir en haut Aller en bas
Contenu sponsorisé




[Help]Problème move_range dans le script GTBS Empty
MessageSujet: Re: [Help]Problème move_range dans le script GTBS   [Help]Problème move_range dans le script GTBS Icon_minitime

Revenir en haut Aller en bas
 

[Help]Problème move_range dans le script GTBS

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» Problème pour le script GTBS
» [Résolu] Problème du script GTBS de GuibiD.
» [script]Problème lors d'un lancement de combat dans le jeu.
» [script] Game_Actor problème en rajoutant un perso dans l'équipe
» Probleme avec le script d'invocation de Blockade (en fait, le script marche, c'est un probleme sur le menu)

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Problèmes et Solutions :: Résolu-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Forum gratuit | Informatique et Internet | Informatique et électronique