Différences entre les versions de « TESCS2 : Alternatives »
m |
|||
(21 versions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
[[Catégorie: TESCS2 : Scripting|Alternatives - If EndIf]] | |||
[[Catégorie: TESCS2 : Fonctions de script|Alternatives - If EndIf]] | |||
[[Catégorie: TESCS2 : Blocs de script|Blocs If EndIf]] | |||
==Introduction== | ==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'' | If ''condition'' | ||
[...] | [...] | ||
EndIf | EndIf | ||
Il existe par ailleurs des blocs spéciaux, les [[TESCS2 : Begin|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. | Une condition va vérifier quelque chose. | ||
Ligne 20 : | Ligne 32 : | ||
On dispose pour cela des opérateurs de comparaison. | On dispose pour cela des opérateurs de comparaison. | ||
===Les opérateurs de comparaison=== | |||
Voiçi la liste des opérateurs | 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. | Notez qu'il est possible d'utiliser des fonctions qui retournent des valeurs dans la condition. | ||
Exemple : | Exemple : | ||
If player.[[TESCS2 : GetDead|GetDead]] == 1 | |||
[[TESCS2 : Message|Message]] "Vous êtes mort.", 10 | |||
If | |||
Message "Vous êtes mort.", 10 | |||
EndIf | EndIf | ||
Ici nous affichons un message uniquement si le joueur est mort. | 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.[[TESCS2 : GetGold|GetGold]] >= 1000 | |||
[[TESCS2 : Message|Message]] "Vous êtes riche", 5 | |||
Else | |||
[[TESCS2 : Message|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.[[TESCS2 : GetGold|GetGold]] >= 1000 | |||
[[TESCS2 : Message|Message]] "Vous êtes riche", 5 | |||
Elseif player.[[TESCS2 : GetGold|GetGold]] >= 1 | |||
[[TESCS2 : Message|Message]] "Sale mendiant !", 5 | |||
Else | |||
[[TESCS2 : Message|Message]] "C'est le début de la fin.", 5 | |||
EndIf | |||
==EndIf== | |||
''(à suivre)'' | |||
==Voir également== | |||
*[[TESCS2 : Begin|Les blocs Begin... End]] |
Version actuelle datée du 4 avril 2007 à 07:23
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)