❤ 0 Beaucoup de gens ignorent le fonctionnement des variables. Pourtant, il s'agît là d'une des bases de la programmation et sans elles, vous ne pourrez pas faire grand chose dans RPG Maker (comme dans tout langage de programmation).
C'est une notion très simple.
La variable est "quelque chose" d'abstrait, virtuel, qui possède une valeur. En général, cette valeur peut être un nombre ou du texte, mais dans RPG Maker, nous ne pourrons choisir que des nombres.
Si vous voulez absolument placer une image concrète sur le mot variable, imaginez-vous qu'il s'agît de pancartes sur lesquelles on a écrit quelque chose, ici un nombre. Et que chaque pancarte possède un nom et un numéro, pour la reconnaître.
Par exemple, sur la pancarte n°1 que nous appellerons "Machin-truc", il y a écrit le nombre 52. C'est aussi simple que ça.
Si vous avez assimilé les boutons (switchs), dites-vous que c'est la même chose sauf qu'au lieu d'avoir deux valeurs (ON ou OFF), vous pouvez en avoir autant que vous voulez (de -99999 à +99999). Par défaut, au démarrage du jeu, toutes les variables ont la valeur 0 (et tous les switchs sont sur OFF).
Dans RPG Maker, vous pourrez utiliser jusqu'à 5000 variables. Rassûrez-vous, même pour un projet colossal, vous n'avez aucune chance de toutes les utiliser.
Mais à quoi ça sert, une variable? La variable est à relier au Conditions (troisième page de commandes d'évènements), elle permet de contrôler certains éléments de votre jeu afin de définir ce qui va se passer dans certaines situations.
Les variables sont indissociables des conditions, car c'est avec elles qu'elles doivent être utilisées. Maintenant que vous savez ce qu'est une variable, nous allons réaliser un premier exercice très simple qui va les utiliser, afin que vous compreniez comment elles fonctionnes.
Premier exercice: le dialogue qui change
Commencez par créer un personnage sur votre carte, d'un charset de votre choix, ça n'a pas d'importance. Nous allons faire en sorte que, lorsque vous adresserez la parole à ce personnage pour la seconde fois, il dira quelque chose de différent de la première fois.
Ouvrez l'évènement, et commencez par placer une fourchette de condition. Choisissez la seconde possibilité (le nombre contenu dans la variable...) et prenez la première variable (0001). Donnez-lui un nom pour la reconnaître facilement, par exemple ici, nous l'appellerons "Dialogue exercice". Indiquez donc comme condition que cette première variable "Dialogue exercice" ait la valeur de 0 (donc comme dit plus haut, valeur par défaut lorsqu'on lance le jeu).
Dans cette condition, nous allons écrire le premier dialogue du personnage (puisque la variable vaut 0). Faites-lui dire ce que vous voulez (par exemple: "Salut les aminches!"). Puis après ce message, utilisez la commande "Changer variable" (première page), et changez la variable "Dialogue exercice": donnez-lui la valeur n°1.
Fermez tout et enregistrez, puis testez. Que se passe-t-il?
Le personnage va parler une première fois mais, lorsque vous lui parlez une seconde fois, il reste muet. Explication: la variable a été modifiée après le dialogue, elle vaut 1. Comme la variable doit avoir la valeur 0 pour que le dialogue apparaisse, le personnage ne dit plus rien.
Retournons dans l'éditeur et ré-ouvrons l'évènement du personnage. Nous allons lui donner un second dialogue, pour qu'il dise quelque chose lorsque l'on va lui parler une seconde fois.
Sélectionnez l'ensemble de votre Fourchette de conditions et modifiez-la en lui ajoutant une option "Autre" (case à cocher en bas). Qu'est-ce que ça signifie? Ca signifie que si la condition spécifiée n'est pas remplie, quelque chose d'autre va s'afficher.
Dans la zone "Autre", nous allons donc afficher un autre message (par exemple "Pourquoi vous êtes revenus?"). Et le tour est joué!
Second exercice: le jeu de dés
Voilà un autre petit exercice sympathique et, lui aussi, très simple, qui va nous permettre de travailler d'autres aspects des variables: l'aléatoire, la comparaison et l'affichage.
Créez un perso sur votre map, et éditez-le. Nous allons d'entrée créer deux variables: la première sera la valeur de votre jet de dés, et la seconde, celui de votre adversaire. Nous les appellerons "Jet dés joueur" et "Jet dés ordi". Commencez donc par utiliser la première commande "Changer variable" et dites lui de se mettre égale à la valeur aléatoire comprise entre 1 et 6. Ainsi, on a un résultat tiré au hasard.
Faites la même chose ensuite avec la variable "Jet dés ordi".
Maintenant, nous allons comparer les deux variables, pour savoir qui a gagné. Encore une fois, nous allons faire appel aux Conditions. Créez donc une nouvelle condition qui vérifie si la variable "Jet dés joueur" est supérieure à la variable "Jet dés ordi", et cochez la case "Autre". Dedans, affichez le message "Tu as gagné, bravo!".
Nous devons à présent voir ce qui se passe si vous perdez. Dans la case Autre, créez une nouvelle condition, qui vérifie si la variable "Jet dés joueur" est inférieure à la variable "Jet dés ordi". Cochez encore la case "Autre", et dans cette condition, affichez un message du style "Tu as perdu, gros nul!".
Il reste un cas de figure non spécifié: l'égalité. Il est réservé à la case Autre (puisque ce n'est ni votre victoire, ni votre défaite). Dans autre, affichez donc le message "Egalité!" (ou du genre).
C'est tout. Maintenant, nous allons étudier un dernier aspect:l'affichage de la valeur d'une variable dans un message. Normalement, la variable "Jet dés joueur" est la n°0001 et "Jet dés ordi" est la n°0002.
La commande à retenir pour afficher une variable dans un message est \V[numérodelavariable]. Ajoutez donc une commande d'affichage de message tout à la fin de votre évènement de jeu de dés, après tout le reste et toutes les conditions, et inscrivez ceci:
"Tu avais joué un \V[0001], et ton adversaire un \V[0002]."
Testez: après l'affichage du gagnant, vous avez les résultats des jets.
Note: en test, vous pouvez afficher la valeur de toutes les variables et tous les boutons avec la touche F9.
Il y a de très nombreuses utilisations aux variables: l'alternance jour/nuit, l'affichage du temps, les menus personnalisés, les combats personnalisés, la réputation, les systèmes d'A-RPG, les choix de dialogues, et bien d'autres qui ne me viennent pas à l'esprit.
|