Accueil - Forum - Bibliothèque de ressources
____

Explication de scripts : ZTBS

Lien vers les scripts

Zenith nous offre des scripts permettant de créer un système de combat différent : combat tactique, dit aussi, TBS (Tactical Battle System). La démonstration a été traduit en français par Samarium et dispose d'un mode d'emploi qui vous explique comment faire votre TBS. Ce tutorial va reprendre le mode d'emploi en rajoutant des détails et des explications dans la création d'objets, maps ... etc.

1) "Installer le combat"

- Pour définir la carte comme un lieu de combat, il suffit que le nom de la carte contient "[T]" (sans les guillements) Par exemple : "Map001 [T]"
- Placez sur cette carte, les personnages. Ils doivent comporter comme nom actor1 ; actor2 ...etc.
- Placez sur cette carte, les ennemis. Ils doivent comporter comme nom enemy1 ; enemy2 ...etc.
- Les compétences pouvant être utilisés par les ennemis et héros doivent avoir dans leur nom ceci : [T] (comme les cartes)
- Les objets pouvant être utilisés par les ennemis et héros doivent avoir dans leur nom ceci : [T] (comme les cartes)

2) Victoires, Musiques et GameOver

Dans la base de données, vous allez dans les évènements communs. Chaques évènements communs correspondent à une période précise ou bien une musique.

a) Définir des évènements selon les tours :

Allez dans le script nommé "Event Turn" vers la ligne 40

Code Rubywhen 1
    return {0=>4, "Player Turn"=>2, "Enemy Turn"=>3}
  }  

Le "when 1" permet de définir les caractéristiques de la map d'ID 1. Ainsi si vous souhaitez que ceci s'applique à la map d'ID 36, vous mettez "when 36"

Ici, dans le "return", "0" signifie "début du combat" appelle l'évènement commun 0004. Lorsque c'est au tour du joueur de jouer, "Player Turn" appelle l'évènement commun 0002 et quand c'est aux adversaires de jouer, "Enemy Turn" appelle l'évènement commun 0003. Donc : "Tour => ID évènement commun"

Dans le script "Event Defeat" vers la ligne 38 :

Code Rubywhen 1
  return {1=>5, 3=>6, 5=>6, 7=>6, 6=>6, 8=>6, 11=>6, 15=>6, 9=>6, 12=>6, 19=>6}

C'est la même chose sauf que c'est pour la défaite. Si vous avez bien compris pour "1=>5" : lorsque l'évènement d'ID 1 est mort (ici, le héros) alors l'évènement commun d'ID 5 (GameOver).

En fait, si vous voulez éviter que la partie se termine lorsque le héros principal est mort, supprimez "1=>5".

N'oubliez pas de les définir pour les autres maps :

Code Rubywhen 4 # Map 4
        return {}
 when 5 # Map 5
        return {}
 when 999 # Map 999 pour les vaillants :)
        return {}
        # ...

3) Définir les caractéristiques des héros :

Allez dans le scripr nommé "Tag Effect" vers la ligne 25 :

Code Ruby when 0
      return [100, 100, 100, 100, 100, 100, 100, 100, 0]

Le "when 0" est l'ID 1 des héros soit Arshes ... Si vous mettez "when 4", ça sera l'ID 5 soit "Estelle"

Dans le "return", c'est les caractéristiques :
return[str, dex, agi, int, hit, atk, p.def, m.def , eva]
str étant la force
dex étant la dextérité
agi étant l'agilité
int étant l'intelligence
hit étant le coup
atk étant l'attaque
p.def étant la défense physique
m.def étant la défense magique
eva étant l'esquive

4) Maps

Allez dans le script nommé "Map Defined" vers la ligne 32 :

Code Rubywhen 1
nextmap = [2, 8, 15, false, 1]
mapparameters = [0]

Vous avez compris, "when 1" est la map ID 1. Le principe est toujours le même. La variable "nextmap" est :

nextmap = [NextMapID, x, y, tactical battle(true/false), common event id]

NextMapID - la carte où le héros va se téléporter après la victoire
X Placement - le placement d'axe des abscisses sur la prochaine carte
Y Placement - le placement d'axe des ordonnées sur la prochaine carte
Tactical Battle (true/false) - est la prochaine carte par carte tactique
common event id : ID de l'évènement commun qui est appelé.

5) Compétences, objets et attaques

a) Compétences

Le script "Skill Range" permet de donner les caractéristiques aux compétences. Vers la ligne 66 :

Code Ruby when 1
    targetarea = [1, 0, true, false]

"when 1" où 1 est l'ID de la compétence. Ensuite, la variable "targetarea" permet de donner la taille de la zone ainsi que la forme...etc.

targetarea = [direction, range, enemy passibility, long range]

direction : ou plutot la forme : 0, 1, 2 ou 3 :

range : taille de la zone dont 0 est un seul carreau ...etc. Enemy Passibility : "true" si la compétence peut être appliqué sur un ennemi. "false" dans le cas contraire.

Vous pouvez faire la même chose mais pour le curseur :

Code Ruby  when 16
    direction = [0, 3, true, false]  
    cursor = [0, 1, false, false]

b) Objets.

Les objets peuvent être définis dans le script "Item Range". La démarche est la même que les compétences.

c) Attaques

Idem. Pour l'attaque des héros, modifiez le script "Actor Attack Range" et pour les ennemis : "Enemy Attack Range"

6) Caractéristiques du combat.

Divers caractéristiques peuvent être modifiés dans le script "Battle Defined". Vous pouvez mettre le nom des images mais aussi la durée de la période de la pensée de l'ennemi, la vitesse du curseur ...etc. Lisez les commentaires pour savoir à quoi correspondent les constantes.

Dans le script "Description", vous pouvez donner une définition à une compétence. Comme vous l'avez compris, dans le "when n" où n est l'ID de la compétence. Plus bas, vers la ligne 70, c'est la même chose mais pour les objets.

Informations
Liens annexes
Tutorial pour le script ZTBS
Le tactics RPG


Page modifiée (1 fois) le 29 Octobre 2008 à 11h 29 | Page vue 10441 fois | Auteur : Samarium

RPG Creative version 5 - Libérez votre créativité ! ; Mai 2005 - Mai 2012
0.039s - Optimisé pour une résolution 1024*728 - Tous droits réservés.

Contact - Partenaires - Historique - A propos