TESCS2 : Alternatives

De Wiwiki
Sauter à la navigation Sauter à la recherche


Introduction

Les alternatives servent à permettre au script de s'adapter aux différentes situations.

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 mots 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

Il existe par ailleurs des blocs spéciaux, les blocs de Script Begin...End qui testent des conditions "événements" importants de façon à structurer les scripts plus facilement.

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


EndIf

(à suivre)

Voir également