-
Notifications
You must be signed in to change notification settings - Fork 10
Retour de commandes
Une commande peut être une action, par exemple picture_show
, qui se contente d'afficher une image.
Mais une commande peut aussi renvoyer une information, par exemple mouse_x
, qui renverra la position x de la souris.
Il existe plusieurs types de retour de commande. La plupart des commandes renvoyant des informations, les renvoient sous forme d'entiers. Elles peuvent donc être liées à une variable. Par exemple : V[1] = mouse_x
. Les commandes renvoyant true
ou false
peuvent être associées à un des interrupteurs. (true
correspondant à l'interrupteur activé, false
à l'interrupteur désactivé).
Elles peuvent aussi être directement liées à une condition. Par exemple : Si Script : mouse_x > 15
ou encore Si Script : actor_has_weapon?(1)
.
Par convention, une commande renvoyant true
ou false
se termine par un point d'interrogation.
Il arrive qu'un commande renvoie une structure de données un peu plus complexe qu'une valeur simple. En effet, il est possible de renvoyer un tableau de données. Un tableau de données est, comme son nom l'indique, une valeur qui en contient plusieurs autres, indexées par un entier. Un tableau commence toujours à l'indice zéro et finit à l'indice de la taille - 1. Il existe plusieurs manières d'accéder à des informations sur les tableaux.
Il existe deux manières de renvoyer la taille d'un tableau. La première est via la commande length(tableau)
, qui renvoie la taille d'un tableau passé en argument. La seconde est propre à Ruby : tableau.length
. Vous êtes libre de choisir la manière de récupérer la taille.
Comme pour la taille, il est possible d'accéder à un indice en particulier. Soit en utilisant la commande get(tableau, n)
qui renvoie la n-ième
valeur du tableau (n'oublions pas que le tableau commence à 0, la première est donc 0), soit la méthode ruby : tableau[n]
.
Si on prend par exemple une commande qui renvoie un tableau :
renvoie le tableau des ID's des armures équipées du héros référencé par son ID
Nom | Type | Description |
---|---|---|
id |
Fixnum |
ID de l'acteur |
Et que l'on décide de stocker le tableau renvoyé par actor_armors(1)
dans la variable locale SV[1] :
SV[1] = actor_armors(1)
Voici alors quatre manières équivalentes de retourner la taille du tableau :
SV[1].length
length(SV[1])
length(actor_armors(1))
actor_armors(1).length
Et voici quatre manières équivalentes de retourner le premier élément du tableau :
SV[1][0]
get(SV[1], 0)
actor_armors(1)[0]
get(actor_armors(1), 0)
Imaginons que nous voudrions que le héros 1 dise toutes les armures qui lui sont équipées, voici le code évènement :
Concrètement, on initialise les variables. La variable 1 récupère le tableau de toutes les ID's d'armures équipées. La variable 2 sa taille. La variable 3 initialise un compteur (qui va nous servir à récupérer toutes les armures une par une). Ensuite il suffit de boucler tant que le compteur n'est pas égal à la taille. Et récupérer les éléments un par un au moyen de la commande get
. (Les index des tableaux commencent à zéro). Ensuite il suffit de se servir des commandes relatives aux armures pour avoir les informations désirées.
Introduction
Syntaxe revisitée
- Variables et interrupteurs
- Interrupteurs locaux et variables locales
- Labels et labels locaux
- Affichage dans les messages
Commandes
Valeurs constantes
Evènements enrichis
- Evènements relatifs aux cartes
- Déclencheurs personnalisés
- Déclencheurs en combat
- Sélecteurs
- Boucles évènementielles
- Micro Evènements
Outillage avancé
- Bases de données extensibles
- Définitions de profils et couleurs pour l'afficheur de textes à l'écran
Tutoriels
- Créer des jauges simples
- Créer un QuickTime Event facilement
- Un système d'infiltration
- Un mini système multi-agent
- Un système de saisie de nom custom
- Le passeur d'écran titre
- Créer des jauges en combat
Pour les scripteurs