Vers l'Infinity et Baldur's Gate
 
AccueilAccueil  PortailPortail  FAQFAQ  RechercherRechercher  MembresMembres  GroupesGroupes  S'enregistrerS'enregistrer  ConnexionConnexion  

Partagez | 
 

 [SCRIPT] Les Tokens

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Zranoff
Prétendant Cargoliste
avatar

Nombre de messages : 147
Age : 26
Localisation : Arles
Date d'inscription : 14/02/2009

MessageSujet: [SCRIPT] Les Tokens   Ven 19 Juin 2009 - 22:39

Bonjour à tous!
J'aimerais ici vous parler des tokens, très utiles dans les fichiers tra.
Tout d'abord, vous avez tous vu des tokens, ce sont les <CHARNAME> et <PLAYER2> et tout autre mot entouré de <> que vous pouvez apercevoir dans NI.
Bien sachez qu'il n'est pas si difficile d'en créer soit-même!
Pour cela, il faut maîtriser ses fichiers bafs, maîtriser les tutos précédents sur ces fichiers est nécessaire.
Mais pour l'instant, commençons par voir quelle serait l'utilité du token maison.

1) Dans le fichier tra


Imaginons que notre objectif est de faire dire:
"Merci pour ton aide, je suis blessé mais ça irait mieux si tu me prenais dans tes bras."
à Charname. Désolé, j'ai pas trouvé de meilleur exemple...
Ce serait bête qu'il dise ça alors qu'il n'a pas perdu un PV, non?
Il suffirait de placer des conditions pour que cette réponse n'apparaisse que si le héros est effectivement blessé et en faire une autre dans le cas où Charname ne l'est pas. Seulement, faire une phrase entière pour chaque cas de figure est méritoire mais autant utiliser les possibilités du jeu à fond.

D'où les Tokens:
@321 = ~Merci pour ton aide, je suis <ETATDUJOUEUR> mais ça irait mieux si tu me prenais dans tes bras.~

Si nous essayons cette phrase dès maintenant, l'IE n'étant pas aussi magique que l'univers de BG2, Nous verrions affiché dans la boite de dialogue:
Merci pour ton aide, je suis mais ça irait mieux si tu me prenais dans tes bras.
Notre super Token a disparu! Normal, non?
Personne ne lui a dit ce qu'il fallait être, il n'est donc pas apparu!

2) Du côté des bafs: le SetToken


Ajoutons dans notre bibliothèque de commande le SetToken qui permet de créer ces fameux tokens.
Comment fait-on?
Pour lui dire ce qu'il doit être, on utilise SetToken("ETATDUJOUEUR","blessé").
En l'occurence, le Token affichera "blessé" à la place de <ETATDUJOUEUR> qui n'affichait rien ingame.
Si l'on se replace dans le Context ^^ du baf, ceci donne:



Et voilà le travail!
On peut donner autant de précision qu'on veut...
Entre 70 et 50% des PV
Entre 30 et 10%, etc...
Plus qu'à faire parler charname pour qu'il dise son @321 où <ETATDUJOUEUR> signifie soit intact, soit légèrement blessé, soit blessé!
Reste à expliquer le OnCreation().
Ce trigger est vrai soit lors de l'apparition de la créature possédant le script soit juste après chargement de la partie/changement de map, etc...
Les Tokens ont un défaut: ils ne sont pas sauvegardés comme les variables. Je m'explique:
Il suffit de donner une valeur à un Token pourqu'il la garde jusqu'à ce qu'on lui demande de prendre une nouvelle valeur ou jusqu'à ce que le jeu soit quitté. Si bien que le token doit reprendre son ancienne valeur d'avant la sauvegarde et pour ce faire, nous devons faire fonctionner les scripts gérant les tokens à chaque fois que la partie est chargée.
D'où le OnCreation().
Note: On peut remplacer le SetToken("ETATDUJOUEUR","blessé") par un SetToken("ETATDUJOUEUR",@1002) où @1002 = ~blessé~

L'utilisation des tokens dans les fichiers tra est bien pratique et c'est dommage que son utilistation s'arrête là.
Malgré ce que l'IESDP indique, la commande SetTokenObject("MONTOKEN","nomducre") ne permet pas de cibler des créatures avec Attack("<MONTOKEN>").
SetTokenObject ne permet que de prendre les noms des cre comme "Roturier" ou "Errard" plutôt que "orphan2" ou "sarmag01"
SetTokenGlobal("MAVARIABLE","GLOBAL/AREA/LOCALS","MONTOKEN") permet de donner la valeur d'une variable à un Token.

Exemple:



Ce script commence par le déclenchement d'une variable "evacuation" par un script extérieur qui permet la mise à 11 de "trucquimarche". Une fois "trucquimarche" à 11 la 2e partie du script s'active et "trucquimarche" passe à 10.
Avec SetTokenGlobal, "COMPTE_A_REBOURS" est équivalent à 10 puis avec DisplayStringHead, on affiche un texte flottant sur lequel est écrit le token c'est-à-dire 10. On attend une seconde car le compte à rebours, oui c'en est un, compte le temps en seconde puis on reprend le bloc tant que "trucquimarche" n'est pas à 0, ce qui permet un compte à rebours dans le jeu en bonne et due forme.

Les Tokens sont donc très utiles pour donner un plus à vos tra et de la qualité sans pour autant dépenser en quantité.
Faites-en bon usage!


Si ce tutoriel vous paraît sombre ou inexplicable, n'hésitez pas à m'adresser des MP, je serais heureux d'éclairer vos lanternes!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
 
[SCRIPT] Les Tokens
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» script menu catégories d'items
» Logiciel/script multijoueur [résolu]
» NabazParis : le script des lapins de Paris
» [résolu] script A-RPG (VX) probleme d''activation d''interrupteur quand mort du monstre
» Les tokens c'est quoi ?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
LEGENDES :: LE MONDE DU MODDING :: Maîtrise :: Outils et Tutoriaux-
Sauter vers: