TESCS2 : Alternatives
Introduction
Les alternatives servent à permettre au script de s'adpater aux différentes situation.
Concrètement on y parvient en limitant l'execution d'un partie d'un script si les conditions ne sont pas réunies.
On dispose pour cela de plusieurs mot clés :
- If
- Else
- ElseIf
- EndIf
Sachez que Else et ElseIf ne peuvent pas être utilisé sans If et que EndIf est obligatoire pour terminer un bloc commencé avec If.
De plus If à besoin d'une condition pour fonctionner.
Donc nous aurons toujours au minimum :
If condition [...] EndIf
La condition
Une condition va vérifier quelque chose.
Dans la plupart des cas on voudra comparer un élement avec un autre. On dispose pour cela des opérateurs de comparaison.
Les opérateurs de comparaison
Voiçi la liste des opérateurs
- == Vérifie si deux éléments sont égaux.
- != Vérifie si deux éléments sont différents.
- > Vérifie si l'élement de gauche est supérieur à l'élément de droite.
- < Vérifie si l'élement de gauche est inférieur à l'élément de droite.
- >= Vérifie si l'élement de gauche est supérieur ou égal à l'élément de droite.
- <= Vérifie si l'élement de gauche est inférieur ou égal à l'élément de droite.
Utilisation de fonctions
Notez qu'il est possible d'utiliser des fonctions qui retournent des valeurs dans la condition.
Exemple :
If player.GetDead == 1 Message "Vous êtes mort.", 10 EndIf
Ici nous affichons un message uniquement si le joueur est mort.
If
Il sert à conditionner l'execution d'un bloc de code. La syntaxe est la suivante :
If condition [...] votre code EndIf
Votre code est exécuté uniquement si la condition est vérifiée comme étant vraie. Si la condition est fausse alors le code est ignoré.
Else
Else signifie sinon.
Cette condition fait obligatoirement suite à un If.
Le code placé après else n'est executé que si la condition If à été vérifiée comme fausse.
Nous avons vu auparavent que If executait le code que si la condition était vraie. Else fait le contraire. C'est utile donc pour dire : fait soit ça, soit ça.
Exemple :
If player.GetGold >= 1000 Message "Vous êtes riche", 5 Else Message "Sale mendiant !", 5 EndIf
Dans notre exemple si le joueur à 1000 pèces d'or ou plus le message sera vous êtes riche, sinon le joueur sera traité de sale mendiant.
ElseIf
ElseIf fonctionne de la même manière que else, la différence c'est qu'elle vérifiera une condition supplémentaire.
Exemple :
If player.GetGold >= 1000 Message "Vous êtes riche", 5 Elseif player.GetGold >= 1 Message "Sale mendiant !", 5 Else Message "C'est le début de la fin.", 5 EndIf