LES ELEMENTS DE BASE A SAVOIR- Dans un script, les textes affichés après // sont des commentaires : ce n'est pas pris en compte par AGS, mais vous permet de mettre des descriptions pour mieux vous retrouver.
Exemple :
- Code:
-
// script for hotspot1: LOOK AT HOTSPOT
... signifie que tout ce qui est situé après cette ligne sont les événements qui se produisent si le joueur clique sur le hotspot 1 de la room avec la souris en mode Look at.
- Chaque fonction possède une liste de paramètres entre parenthèses qui vous permettent de configurer précisément la manière dont elle va s'exécuter, par exemple en entrant des chiffres, du texte (toujours entre guillemets), le nom de code d'un élément, etc. De plus, chaque fonction doit être terminée par un point-virgule pour être bien pris en compte.
Exemple :
- Code:
-
Display("Hello from the script.");
... affichera la texte entre guillemets à l'écran.
- Vous pouvez créer des variables afin de permettre au jeu d'avoir plusieurs éléments en mémoire, qui peuvent être réutilisés. Utile par exemple pour comptabiliser certaines actions, ou lancer certains événements si la variable a une certaine valeur...
Exemple : vous souhaitez créer un compteur pour votre jeu. Tout d'abord déterminez le nom et la valeur initiale de votre variable en entrant la ligne de code ci-dessous :
- Code:
-
int mon_compteur = 0;
Vous pouvez ensuite ajoutez ou soustraire des sommes à la valeur actuelle de votre variable, en remplaçant le = par += ou -= :
- Code:
-
mon_compteur += 3;
... ajoute 3 à la valeur actuelle de mon_compteur.
Vous pouvez comparer des variables, en utilisant notamment la fonction «if... else».
Exemple :
- Code:
-
if (mon_compteur == 5) {
Display («Le compteur a atteint 5 !»);
}
... signifie que le message «Le compteur a atteint 5!» sera affiché si la variable mon_compteur est égale à 5. Vous pouvez bien sûr remplacer le code Display («... par n'importe quelle autre fonction.
Vous pouvez comparer des variables en utilisant :
* == pour comparer deux variables, et procéder si elles sont égales (attention à bien entrer DEUX FOIS le = ; quand on n'entre qu'une fois un =, c'est pour modifier la valeur d'une variable)
* != pour comparer deux variables, et procéder si elles ne sont PAS égales
* < pour comparer deux variables, et procéder si la première est inférieure à la deuxième
* > pour comparer deux variables, et procéder si la première est supérieure à la deuxième
* <= pour comparer deux variables, et procéder si la première est inférieure ou égale à la deuxième
* >= pour comparer deux variables, et procéder si la première est supérieure ou égale à la deuxième
Exemple d'utilisation d'une variable : pour afficher un texte différent chaque fois que le joueur regarde un hotspot, s'il le regarde plusieurs fois de suite. Il faut donc entrer des lignes de code de cette manière :
- Code:
-
// script for hotspot1: LOOK AT HOTSPOT
if (mon_compteur == 0) {
Display("Vous voyez une bibliotheque.");
}
if (mon_compteur == 1) {
Display("En regardant de plus pres, vous voyez une bande dessinee intitulee Dread Mac Farlane.");
}
if (mon_compteur == 2) {
Display("Il y a aussi deux tomes du Donjon de Naheulbeuk.");
}
if (mon_compteur == 3) {
Display("Rien d'autre d'interessant.");
}
if (mon_compteur < 3) {
my_counter += 1;
}
Notez que la dernière ligne ajoute automatiquement 1 au compteur tant que celui-ci est inférieur à 3, permettant donc de passer à la ligne de texte suivante chaque fois que le joueur regardera le hotspot.
Ces variables ne sont valables que pour le script correspond à une room en particulier. Si vous souhaitez utiliser des variables qui peuvent être lues d'une room à l'autre (par exemple, pour déterminer si le joueur a parlé à un personnage dans une room avant de faire une certaine action dans une autre room, etc), vous devrez utiliser la fonction SetGlobalInt (voir plus loin).
Vous pouvez également remplacer la valeur chiffrée d'une variable par un code qui détermine une valeur. Par exemple, la fonction IsGamePaused() retourne la valeur 1 si le jeu est en pause, ou 0 s'il ne l'est pas. En entrant donc :
- Code:
-
mon_compteur = IsGamePaused();
... vous donnez la possibilité au compteur d'être égal à 0 ou 1 selon que le jeu est en pause ou non.
- Quand vous quittez l'écran de script, acceptez de le sauvegarder, mais n'oubliez pas de sauvegarder aussi le jeu pour qu'il soit pris en compte.