LFSLapper help

Les variables

Vous êtes ici :Manuel > GLScript

Les variables

Les variables sont des éléments indispensables dans tout langage de programmation, et en GLScript vous n'y échapperez pas. Ce n'est pas une complication supplémentaire mais elles existent au contraire pour nous simplifier la vie. Sans elles, vous n'iriez pas bien loin
Ce chapitre est un peu long, mais il ne faut pas le prendre à la légère, car vous allez y apprendre des choses vraiment importantes

Qu'est-ce qu'une variable ?

Déjà dans le mot, vous devez vous dire que c'est quelque chose qui change tout le temps. En effet, le propre d'une variable c'est de pouvoir changer.

Mais qu'est-ce que c'est concrètement ?
Une variable, c'est une petite information stockée en mémoire temporairement, soit le temps de la vie d'un événement, soit le temps de l'exécution de LFSLapper.

C'est à vous de créer des variables. Vous en créez quand ça vous arrange. Ce qu'il faut retenir, c'est qu'une variable est toujours constituée de 2 choses :

  • Son nom : pour pouvoir la reconnaître, vous devez donner un nom à votre variable. Par exemple "age".
  • Sa valeur : c'est l'information qu'elle contient, qui peut changer. Par exemple "17 ans".

Ici, je vous ai donné l'exemple d'une variable appelée "age" qui a pour valeur "17 ans". On peut modifier quand on veut la valeur de cette variable, faire des opérations dessus etc etc... Et quand on en a besoin, on l'appelle (par son nom ), et elle nous renvoie la valeur qu'elle contient.

Par exemple vous pouvez demander à un moment :
- La variable "age", que contiens-tu ?
- 17 ans.

Vous allez voir que les variables, même si elles peuvent vous sembler encore un peu floues, seront vraiment indispensables pour vos scripts. Par exemple, vous pourrez stocker temporairement le nom du pilote. Dans une variable "RacerName", vous stockez son pseudo, par exemple "Gai-Luron". Dès que vous en avez besoin vous pouvez l'utiliser, par exemple pour afficher un message de bienvenue personnalisé : "Hello Gai-Luron ! Welcome on my server !".
On va maintenant voir comment il faut faire pour utiliser des variables en GLScript

Affecter une valeur à une variable

On va dans un premier temps affecter une valeur à une variable, et ensuite on affichera ce qu'elle contient. Vous allez mieux comprendre l'intérêt d'utiliser des variables. Nous utiliserons la sous routine MyTest pour effectuer nos tests. Allez dans le fichier de configuration LFSLapper.lpr et repérez cette partie de code:

Sub MyTest()
        privMsg( GetCurrentPlayerVar("NickName") . " ^7is testing...");
EndSub

Pour tester ce petit bout de code de LFSLapper tapez dans la fenêtre de chat : !test

Vous devriez avoir comme ligne apparaissant dans la fenêtre de chat:

Ici, on va tout simplement créer une variable, et lui donner la valeur qu'on veut
Par exemple, si on tapait ceci :

Code : GLScript

Sub MyTest() 
        privMsg( GetCurrentPlayerVar("NickName") . " ^7is testing...");
        $racerName = "MyUserName";
EndSub

Vous remarquerez que chaque instruction GLScript se termine par le caractère ';' . Il est essentiel, ne l'oubliez pas. Ce morceau de code va créer une variable :

  • dont le nom serait raceName
  • dont la valeur serait MyUserName

on ne peut pas mettre d'espaces pour un nom de variable. A la place, utilisez un underscore _ . Evitez aussi les accents, les cédilles et tout autre symbole pour le nom. GLScript ne les apprécie pas trop... En revanche pour la valeur vous pouvez mettre ce que vous voulez

1

Il y a plusieurs nouveaux éléments. D'abord, le symbole Dollar ($) : il précède toujours le nom d'une variable. C'est comme un signe de reconnaissance si vous préférez : ça permet de dire à GLScript "J'utilise une variable". Vous reconnaîtrez toujours qu'il y a une variable par la présence du symbole Dollar ($). Ensuite, il y a le signe Egal (=) : celui-là c'est logique, c'est pour dire que $ racerName est égal à... A la suite, il y a la valeur de la variable, entre guillemets puisqu'il s'agit de texte. Enfin, il y a l'inoubliable symbole point-virgule (;), qui permet de terminer l'instruction. Sauvegardez le fichier.

Pour dire à LFSLapper de recharge le fichier de configuration modifié, tapez !reload dans la fenêtre de chat

1

Tapez !test. Concrètement, qu'est-ce que le code va afficher?
Rien du tout à part le message qu'affichait déjà la sous routine. Eh oui, tant que vous n'utilisez pas une fonction d'affichage "privMsg" pour un message privé dans le chat, rien ne s'affiche. Là, le serveur a juste créé la variable temporairement en mémoire et il n'a rien fait d'autre. Pour afficher quelque chose complétez le code, puis tapez !reload dans la fenêtre de chat pour recharger la nouvelle configuration, ensuite à nouveau !test:

Sub MyTest() 
        privMsg(GetCurrentPlayerVar("NickName") . " ^7is testing..."); 
        $racerName = "MyUserName";
        privMsg( $racerName );
EndSub

Vous devriez avoir comme ligne apparaissant dans la fenêtre de chat:

Maintenant, une variable n'est pas obligée de contenir du texte. On peut aussi y mettre des nombres!

Retenez qu'on peut mettre 2 sortes de "données" différentes dans une variable : texte ou nombres.

Voici comment on les utilise :

  • Le texte : c'est ce que je viens de vous le montrer. Pour mettre du texte dans une variable, on le place entre guillemets comme ceci :

$racerName = "MyUserName";
  • Les nombres : la seule différence avec le texte, c'est qu'on ne met pas de guillemets. Regardez :

$age = 45;

Ainsi, GLScript comprend qu'il s'agit d'un nombre et non pas d'un texte.

Si vous voulez stocker juste un nombre il ne faut pas mettre de guillemets.

On peut mettre 2 types d'éléments dans une variable : texte et nombres.
Pour le texte, on le met entre guillemets.
Pour les nombres, on ne met pas de guillemets.

4

A vous de faire vos propres essais pour vérifier que ça marche ! Changez la valeur de la variable et ça affichera quelque chose de différent ! Une expérience tout bête en somme, mais que vous devez faire pour bien comprendre comment les variables fonctionnent.


Avec l'instruction privMsg ou GlobalMsg, vous pouvez donc afficher le contenu d'une variable. Mais vous n'êtes pas obligés d'afficher uniquement la valeur de la variable !
Voilà un autre exemple qui peut être très utile :

Sub MyTest()
        privMsg(GetCurrentPlayerVar("NickName") . " ^7is testing...");  $racerName = "MyUserName"; 
        privMsg( "Hello " . $racerName );
EndSub

Vous voyez, dans l'instruction privMsg on a écrit le texte qu'on voulait suivi d'un point '.' Et de la variable. Le point permet de coller (concaténer) un texte à un autre qu'il soit contenu dans une variable ou non.

Le résultat dans l'écran de chat sera:



Faites vos essais, en écrivant le texte que vous voulez, en affichant au milieu la valeur de 1, 2, 3 variables... Cette technique (pas bien compliquée) sera très souvent réutilisée dans les chapitres qui suivent.


        
Sub MyTest()
        privMsg(GetCurrentPlayerVar("NickName") . " ^7is testing..."); 
        $racerName = "MyUserName"; 
        $age = 46; 
        privMsg( "Hello " . $racerName . " You are " . $age . " years old" );
EndSub

Le résultat est :

$age est une variable numérique, mais comme vous la concaténez avec du texte, GLScript convertit automatiquement cette valeur en chaîne de caractère. Simple non!

5
Aller à la page
(C) 2009 Robert BRACCAGNI