Final Fantasy RPG Maker

Les variables

Vous voici maintenant très à l'aise avec les interrupteurs. Vous savez normalement tout ce qu'il y a à savoir sur le sujet, vous êtes donc prêt pour attaquer une nouvelle notion encore jamais aborder jusqu'ici: les Variables !

Pas question de se reposer donc, du moins, pas pour le moment car c'est un sujet assez difficile à comprendre. Je vous recommande donc de lire ce tutoriel avec attention et de faire des pauses en cas de besoin.

Qu'est-ce qu'une Variable ?

Comme je vous le disais plus haut, le concept de variable est assez dur à assimiler, mais je vais essayer de faire en sorte que vous puissiez comprendre assez facilement en illustrant mes explications d'exemples. Le plus simplement possible, on pourrait dire qu'une variable est un nombre dans un nom. Dans RPG Maker XP, la valeur d'une variable se limite souvent à un nombre, mais ce n'est pas tout le temps le cas. Le nom d'un personnage est une variable aussi utilisable (on s'intéressera cependant aux variables qui ont comme valeur des chiffres ou nombres, car vous ne pourrez créer que des variables avec des valeurs de chiffres/nombres). Malgré mes efforts, je doute qu'avec cette simple phrase vous ayez vraiment compris, et ça ne m'étonnerais pas :p. Une petite illustration pourra peut être vous éclairez:

Shéma de présentation des variables

C'est bon, vous avez compris ce qu'est une variable ? Seulement, ça m'étonnerait beaucoup que vous ayez tout de suite compris leurs utilités ! Prenons maintenant un exemple pour vous montrer de quoi sont capables les variables. Dans Final Fantasy IX, au début du jeu, Bash propose un plan, vous avez le choix de kidnapper la reine ou la princesse. Si vous choisissez la reine, le chef vous insultera. Mais si vous répétez cette réponse 64 fois de suite, vous verrez une scène cachée. Savez-vous comment réaliser ça avec comme seuls outils les interrupteurs ? Bien sûr que non ! Ici, on devra obligatoirement se servir d'une variable que l'on additionnera de 1 à chaque fois que l'on répondra « La Reine ». Malheureusement, on aura aussi besoin des Conditions sans lesquelles nous ne pourrons pas vérifier la valeur de la variable, ce que nous verrons dans les prochains chapitres.

Après ce premier « semi-exemple » (mais qui me tenait à coeur ^^) tiré de Final Fantasy IX, voyons ce que cela donne dans RPG Maker XP. Essayez de penser que chaque chiffre ou nombre susceptible de changer au cours du jeu est une variable. C'est d'ailleurs pour ça qu'on nomme les variables ainsi, c'est un chiffre/nombre qui peut varier ! Les HPs/MPs du Héros sont des variables tout comme ce qui concerne ses statistiques, l'argent que vous avez est une variable tout comme l'heure du jeu. Autant vous dire tout de suite que ce serait trop long pour moi de vous faire la liste des variables du jeu, car il y en a vraiment beaucoup.

Si on compare les Variables aux Interrupteurs, on pourrait dire qu'à la place d'avoir que 2 valeurs possible comme les interrupteurs (activé/désactivé), les variables peuvent en avoir une infinité (enfin, de -99999999 à 99999999, ça vous laisse pas mal de possibilités ^^) !

Si vous n'avez toujours pas compris à quoi peuvent servir les variables, ce n'est pas grave du tout, vous comprendrez tout dans la suite de ce tutoriel !

Note

Sachez que les variables sont le seul moyen de faire apparaître du hasard dans votre projet. En effet, grâce aux variables, vous pourrez générer un nombre aléatoire ! C'est là que se trouve le plus grand intérêt des variables ! En effet, jusqu'ici, vous ne pouviez pas introduire le facteur chance.

Création et modifications des Variables !

La création d'une variable est similaire à celle d'un interrupteur, l'interface est quasiment la même. Ainsi, tout comme pour les interrupteurs, la gestion des variables se fait à l'aide d'une commande d'évènement : « Gestion des variables ».

Commande d'évènement: Gestion des variables

Si vous cliquez sur cette commande d'évènement, vous devriez tomber sur une fenêtre comme celle-ci :

Commande d'évènement: Gestion des variables => fenêtre

Vous l'avez sans doute compris, c'est ici que tout vas se passer pour la création/modification des variables. On va commencer par s'intéresser à la partie du haut de cette fenêtre ("Variable(s) à modifier" => le 1 rouge sur l'image).

Commande d'évènement: Gestion des variables => fenêtre => Variable(s) à modifier

C'est ici que vous sélectionnerez la ou les variable(s) que vous voulez modifier. Encore une fois, cela ressemble beaucoup à la gestion des interrupteurs car vous pouvez aussi bien modifier une seule variable comme vous pouvez en modifier plusieurs d'un coup. Toutefois, si vous voulez modifier plus d'une variable, il faut savoir qu'elles doivent se suivre car c'est une sélection par intervalle (modifier toutes les variables à partir de la variable 5 jusqu'à la variable 12 par exemple).

C'est aussi là que vous pouvez accéder à une fenêtre qui va vous sembler bien familière, celle pour donner un nom à vos variables. Cliquez sur la petit flèche bleue à côté de "Une seule:".

Commande d'évènement: Gestion des variables => fenêtre => Variable(s) à modifier => Nommer une variable

Alors là, vous ne pouvez plus nier la ressemblance entre la gestion des interrupteurs et celle des variables. C'est exactement la même fenêtre ! Ça va me faciliter l'explication ^^ Pour faire rapide, vous pouvez créer jusqu'à 5000 variables qui sont rangées par paquet de 24. A gauche, vous pouvez sélectionner le paquet dans lequel se trouve la variable que vous voulez modifier alors qu'à droite vous pouvez voir les 24 variables contenus dans le paquet que vous avez sélectionné. Pour augmenter le nombre de variable (il n'y en que 49 au départ), il vous suffit de cliquer sur le bouton "Nombre max d'éléments..." (qui se situe en bas à gauche). Enfin, la case en bas à droite permet de nommer la variable que vous aurez sélectionnée au-dessus. Tout est expliqué sur l'image, mais ça ne devrait pas poser de problème.

Voyons désormais à quoi sert la seconde partie ("Opération à effectuer" => le 2 rouge sur l'image).

Commande d'évènement: Gestion des variables => fenêtre => Opération à effetuer

Nous pouvons voir qu'il est possible d'effectuer 6 changements différents sur une variable. Une chose qu'il est bon de savoir, c'est que si vous ne donnez pas de valeur à une variable, elle prendra la valeur 0 par défaut. Ainsi, grâce à l'opération "Rendre égale(s) à", vous pouvez faire ce qu'on appelle "initialiser" votre variable. C'est quelque chose de très fréquent en programmation, il est important d'assigner une valeur à chaque variable que l'on va utiliser. Ainsi, même si la variable que vous utilisez doit être égale à 0 au début du jeu, je vous conseille d'utiliser l'opération "Rendre égale(s) à" pour qu'il n'y ait pas d'ambiguïté !

Les autres opérations sont celles de base, soit:

  • "Additionner" => ajoute une valeur à la valeur de la variable déjà existante:
    variable = variable + x (x étant la valeur additionnée)

  • "Soustraire" => retire une valeur à la valeur de la variable déjà existante:
    variable = variable - x (x étant la valeur à enlevée)

  • "Multiplier par" => la variable est multipliée par une valeur:
    variable = variable * x (x étant la valeur multipliée)

  • "Diviser par" => la variable est divisée par une valeur:
    variable = variable / x (x étant la valeur par laquelle est divisée la variable)

  • "Modulo" => Alors ici, c'est un tout petit peu plus compliqué. Faire le modulo d'un nombre consiste à prendre le reste de la division de ce nombre avec un autre. Pas très clair encore une fois, c'est pourquoi je vais vous donner un exemple: le modulo de 17 divisé par 3 est 2 car 17 = 3*5 + 2. Ici, la variable serait 17, le nombre à entrer 3 est le résultat obtenu 2. Le modulo peut être très utile ! Il permet, par exemple, de savoir si un nombre est pair ou impair. Oui, si on cherche le modulo d'un nombre divisé par 2, le résultat obtenu ne pourra être que 0 (si le nombre est pair) ou 1 (s'il est impair).

Note

Faîtes attention, lorsque l'on cherche le modulo d'un nombre, on travail sur les entiers uniquement ! Je dis ça parce que je suis sûr que beaucoup ont pensés que 17/3 = 5.6666... et que le reste est nul ! Si on faisait ça, ça n'aurait plus vraiment d'intérêt :p

Nous en avons donc fini avec les "Opérations à effectuer", voyons maintenant la partie la plus compliqué des variables (bien que ce soit grâce à cela que vous pourrez vous rendre compte de leur puissance). Cette fois-ci, nous allons nous intéresser au nombre qui va modifier la variable. Vous avez peut être dû vous apercevoir que la gestion des variable se fait en 3 étapes: on commence par sélectionner la variable que l'on veut modifier ("Variable(s) à modifier" => 1 rouge sur l'image du haut), puis on choisi la modification qu'elle va subir ("Opération à effectuer" => 2 rouge sur l'image) pour enfin choisir le nombre qui va modifier la variable ('Opérande" => le 3 rouge). C'est d'ailleurs cette dernière partie que nous allons étudier.

Commande d'évènement: Gestion des variables => Opérande

On a tout de suite beaucoup de possibilités.

  • Valeur définie:

    Rien de particulier ici, il s'agit de la fonction la plus utilisé car on modifie souvent une variable avec une valeur précise. Cette valeur doit être comprise entre -99 999 999 et 99 999 999 comme expliqué plus haut. Si vous essayez de dépasser ces valeurs, le jeu ne plantera pas, mais la valeur de la variable restera à la valeur maximum/minimum.


  • Valeur contenue dans la variable:

    Cette option vous permet de modifier une variable à l'aide de la valeur d'une autre variable.


  • Valeur aléatoire entre [Nombre] et [Nombre]:

    Ah, comme je vous l'ai déjà dit, le plus gros intérêt des variables réside dans le fait de pouvoir générer des nombres aléatoires. Grâce à cette option, la variable sélectionnée sera modifier par un nombre choisi par l'ordinateur entre l'intervalle que vous avez fixé. Cela vous permettra facilement de faire des mini-jeux assez amusants à l'intérieur de votre projet, mais ça pourra aussi rendre votre jeu plus intéressant. Nous verrons cela plus en détail par la suite et grâce aux TPs que je vous ais préparé !


  • Nombre d'objets [Objet] possédés:

    Vous pouvez, comme le montre cette option, récupéré le nombre d'objets X que vous possédez et assigner cette valeur à une variable. Ainsi, si vous avez sélectionné "Potion" à la place de [Objet] et que vous avez 5 potions sur le moment, et bien vous pourrez vous servir de la valeur 5 pour modifier n'importe qu'elle variable ! Il est important de savoir que l'équipement tel que les armes/armures/accessoires ne sont pas comptés comme des objets et n'apparaisent donc pas dans la liste des objets.


  • Héros [Statistique] de [Nom du Héros]:

    La valeur des statistiques de n'importe quel Héros peut être récupérée ! Ainsi, si vous voulez vous servir de la valeur de l'attaque de Arshes, vous pouvez le faire très facilement en sélectionnant cette option. Les caractéristiques exploitables sont:

    • Le Niveau
    • L'Expérience totale
    • Les PV actuels
    • Les PM actuels
    • Les PV Max
    • Les PM Max
    • L'Attaque
    • La Défense
    • L'Agilité
    • L'Intelligence
    • La Puissance d'attaque
    • La Défense physique
    • La Défense magique
    • L'Esquive

    Autant dire tout de suite que toutes les caractéristiques sont présentes ^^


  • Monstre [Statistique] de [ID du Monstre]:

    De la même façon que juste au-dessus, grâce à cette option, vous pourrez intercepter les statistiques de n'importe quel monstre dans le combat où vous vous trouvez. Je suppose que vous vous en doutez, cette option n'est utile qu'en combat. Il est donc inutile de s'en servir avec les évènements sur la carte. L'ID du monstre est compris entre 1 et 8 (maximum de 8 monstres par combat) et les statistiques récupérables sont les mêmes que pour celles du Héros exceptées le niveau et l'experience totale.


  • Évènement [Position] de [Héros/Évènement]:

    Cette option concerne la position du Héros ou d'un évènement sur la carte. Vous pouvez connaître ses coordonnées (en X comme en Y) par rapport à la carte ou par rapport à l'écran, la direction dans laquelle il regarde (2 = regarde en bas; 4 = regarde à gauche; 6 = regarde à droite; 8 = regarde en haut ) mais aussi l'ID du terrain sur lequel il se trouve ! Vous avez bien lu, chaque case du chipset peut se voir attribuée une valeur entre 0 et 7 (8 valeurs possibles donc => réglable dans l'onglet "Gestion des Chipsets" de la base de donnée). De cette manière, vous pourrez déterminer, par exemple, si le Héros se trouve sur l'herbe, ce qui est très utile ! Comme vous avez pu le constater, les variables ici ne sont que des chiffres, c'est pourquoi la valeur de la direction est aussi un chiffre.


  • Autre:

    Dans cette option sont classés les différentes options qui ne pouvaient pas être classées autre part. Voici la liste des options:

    • ID de la carte: ID (Numéro) de la carte actuelle. Vous pouvez trouver cet ID dans les propriétés de la carte qui vous intéresse.

    • Nombre de membres dans l'équipe: le nombre de membres que vous avez dans l'équipe (de 1 à 4).

    • Argent possédé: Montant d'argent possédé.

    • Nombre de pas total: le nombre de pas fait par le Héros durant le jeu. Cette valeur est visible dans le menu (pendant le jeu).

    • Temps de jeu: le temps de jeu en secondes qui s'est écoulé depuis le début de la partie.

    • Secondes restantes du chrono: le nombre de secondes restantes du chronomètre.

    • Nombre de sauvegardes: le nombre de sauvegardes effectuées.


Pfiou, vous savez désormais qu'elles modifications vous pouvez faire subir aux variables, nous allons enfin passer à la pratique !

Afficher la valeur d'une variable dans le jeu

Vous connaissez pas mal de choses en ce qui concerne les variables, mais savez-vous seulement comment afficher leur valeur ? Ben oui, c'est bien beau de savoir créer/modifier une variable, mais c'est encore mieux de l'afficher ! :p

Ne vous inquiétez surtout pas, c'est vraiment très simple. Lorsque vous utilisez la commande d'évènement "Afficher un message...", il y a un petit cadre vous montrant que certaines fonctions sont possible lors de l'affichage d'un message:

Commande d'évènement: Afficher un message

Dans ce même petit cadre, une ligne dit que si vous écrivez "\V[$]", cela affichera la valeur de la variable dont l'ID est $. Vous vous souvenez toujours de ce qu'est l'ID d'une variable ? Non ?! Et bien c'est simplement le numéro de cette variable dans le gestionnaire de variable (exemples d'ID de variables: 0002, 0009, 0208, etc...). Ainsi, si vous écrivez "\V[0001]", la valeur de la variable dont l'ID est 0001 sera affiché (la première de la liste).

Commande d'évènement: Afficher un message => dans le jeu


Note

Je tiens à vous rassurer, vous n'êtes pas obligé de taper, par exemple, 0001 pour l'ID de la première variable, un simple 1 suffit: \V[0001] = \V[1]

Voilà, voilà, vous savez maintenant afficher la valeur d'une variable à l'aide de la commande d'évènement "Afficher un message..." ! D'autres fonctions sont disponibles de la même façon, tel que l'affichage du nom du Héros (\N[$] avec $ l'ID du Héros), l'affichage du montant d'argent possédé (\G) ou encore le changement de couleur du texte (\C[$] avec $ le numéro de la couleur désirée). Mais vu que ce n'est pas le sujet, je ne vais pas m'étendre là-dessus, libre à vous de regarder ça plus en détail !

Les variables sont partout !

Les variables sont, comme nous l'avons déjà vu, en majorité des chiffres/nombres. Or ces variables sont utiles pour de nombreuses choses et vous pourrez constater qu'on peut les utiliser un peu partout dans RPG Maker XP. Prenons une commande d'évènement au pif: "Entrer un nombre...". Eh bien le nombre que le joueur entrera sera stocké dans une variable ! Mais c'est loin d'être la seule commande d'évènement à utiliser les variables. Toutes les commandes d'évènement où une quantité apparaît (comme Ajouter/Retirer objets/armes/armures/monnaie, etc...) peuvent se servir des variables !

Pour vous montrer qu'elles sont vraiment partout, vous devez savoir que vous pouvez même vous servir des variables pour agir sur l'apparition ou le changement de page d'un évènement à la manière d'un interrupteur ! Voici l'endroit destiné aux variables dans la page d'un évènement (conditions de l'évènement):

La place des variables dans les conditions de l'évènement

Grâce à cela, vous pouvez faire comme si vous aviez des interrupteurs à l'infini ! Oui, un interrupteur peut prendre 2 valeurs au maximum: Activé/Désactivé. En revanche, les variables, elles, peuvent prendre beaucoup plus de valeur. Qu'est-ce que ça change ? Quel est le rapport avec les interrupteurs ? Eh bien imaginons une scène où le héros se trouve dans une salle avec 5 leviers et que ces 5 leviers doivent être tous enclenchés pour ouvrir la grande porte qui permettra à notre Héros de sortir et de continuer son chemin. Comment feriez vous avec les interrupteurs ? Maintenant, créons une variable "Levier" que l'on fixe à 0. A chaque fois que l'on enclenche un levier, on augmente cette variable de 1 (avec l'opérateur additionner: on appelle ça l'incrémentation !). Il nous suffit alors de cocher la case "La variable 0001: Levier a une valeur supérieure ou égale à 5" comme sur l'image ci-dessous pour changer l'apparence de la porte:

Ouverture de la porte si la variable '0001: Interrupteur' est supérieure ou égale à 5

Je ne ferai pas la liste des commandes d'évènement utilisant les variables, ni même l'endroit où elles peuvent utilisées car vous le découvrirez petit à petit à force d'utiliser RPG Maker XP !

Application: un coffre à butin "variable"

Avant de vous lâcher dans la nature, avant que vous soyez confronté au TP qui suit, j'ai décidé de vous montrer un exemple concret de l'utilisation des variables ! Ce que nous allons faire n'a rien de compliqué et c'est très rapide.

Je ne sais pas si vous avez déjà joué à Final Fantasy XII, mais il s'agit du premier Final Fantasy à introduire un montant "variable" dans les coffres contenant de l'argent. En effet, pour le même coffre, vous pouvez gagner 5 Gills comme vous pouvez en gagner 350 (ce n'est qu'un exemple) ! Cela ajoute plus de piment au jeu, et on espère à chaque fois avoir la somme maximale (ou presque). J'ai pensé qu'il serait intéressant de reproduire le même système sur RPG Maker XP en guise d'approfondissement sur les variables !

J'estime que vous savez déjà comment créer un coffre et je ne m'attarderais pas sur ce point (revoyez le tutoriel précédent si besoin est). Étant donné que les commandes d'évènement qui s'occupent de donner le butin du coffre se trouvent dans la première page, seule cette dernière nous intéressera.

Voici les commandes d'évènement qu'aurait notre coffre si on voulait faire un coffre contenant 500 Gills:

Commande d'évènement d'un coffre contenant 500 Gills

Or, notre but est que le coffre donne un montant aléatoire, que ce ne soit pas toujours 500 Gills !

Pour ça, commençons par créer notre variable qu'on appellera "Montant variable":

Création de la variable "Montant variable"

Cette variable devra être égale à un nombre aléatoire. Pour que ce ne soit pas trop éloigné du montant d'origine, j'ai mis un nombre aléatoire entre 250 et 750. Ce qui nous donne ceci:

Modification de la variable 'Montant variable'

En langage humain, ça nous ferait: rendre égale la variable "Montant variable" à un nombre aléatoire entre 250 et 750.

On a fixé les limites du montant que pourra obtenir le joueur, mais nous ne lui avons rien donné jusqu'à présent ! Cliquez sur la commande d'évènement "Ajouter/Retirer monnaie...", sélectionnez "Ajouter" puis dans "Montant" choisissez "Définie dans la variable". Il ne vous reste plus qu'à aller chercher votre variable "Montant variable" et le tour est joué !

Ajout du montant à l'aide de la variable 'Montant variable'

N'oubliez pas de faire les modification à la variable "Montant variable" AVANT de donner le montant au joueur, sinon ça ne fonctionnera pas (la variable "Montant variable" vaudra 0 ou l'ancienne valeur que vous lui aurez affecté).

Il ne reste plus qu'à afficher au joueur le montant qu'il vient d'obtenir. Pour ça, il faut se servir de ce qu'on a fait juste avant: afficher la valeur d'une variable dans un message. Sachant que la variable "Montant variable" a pour ID "0001", il nous suffit d'écrire \V[1] pour récupérer sa valeur. Ce qui nous donne:

Affichage de la variable 'Montant variable'

Voilà, votre système est opérationnel ! Voici ce que vous devriez avoir du côté des commande d'évènement de la première page de votre coffre, du moins, si vous avez bien suivi jusqu'ici :p

Commandes d'évènement de la première page du coffre à montant variable

Au cas où ça ne marcherait vraiment pas alors que vous avez suivi à la lettre mes indications, voici un projet contenant ce fameux coffre à montant variable ^^ Vous pourrez ainsi voir ce qui n'allait pas (je précise que le système marche très bien chez moi avec ce projet):

Coffre à montant "variable"

Voyons maintenant si vous maîtrisez la partie théorique sur les variables avec ce petit QCM ! :)

Q.C.M

Chocobo QCM



Question n°1
Dans RPG Maker XP, les variables sont surtout:



Question n°2
Les variables permettent de faire beaucoup de chose dont:



Question n°3
Pour créer une variable, il faut:



Question n°4
La grosse différence entre les variables et les interrupteurs est que:



Question n°5
Le modulo de 65 par 3 est:



Question n°6
Les variables sont appelées ainsi car:



Question n°7
Image pour le QCM sur les variables RPG Maker XP
Cette série de commandes d'évènement affichera:




Voir les statistiques


← Page précédente Retour Page suivante →

Page générée en 0.0001 secondes
©2011 Site créé par Martial, le Webmaster
Me contacter - Livre d'or - Forum - Plan du site
Mentions légales - Remerciements
Final-RPG