>
Chapitre 6

Chapitre 6:

Les tests et les opérandes.
Lorsque vous codez, un plugin ou un programme, vous avez besoin dans la quasi-totalité des cas de faire des tests. En effet, lorsque le client/joueur envoie une donnée au programme/plugin, celui-ci va faire quelque chose en respectant certaines conditions que vous lui aurez préalablement donné.
Par exemple, lorsque'un joueur tape "amx_cvar sv_password cs-amx", le plugin va vérifier s'il a les droits pour effectuer le changement du mot de pass.

1) Le test "if-then-else"

C'est quoi ce charabia ? Et bien "if-then-else" représente la structure d'un test:

- if : est suivi des conditions à respecter

- then : est uivi du code à effectuer si elles sont respectées

- else : suivi du code à effectuer si elles ne sont pas respectées

Il y a peu de langages dans lesquels on utilise le mot "then". En SMA par exemple, on le remplace par une accolade ouvrante "{", "then" est sous-entendu dans ce cas.

Attention: Veillez à refermer un bloc en ajoutant "}" à la fin. C'est très important, si vous ne respectez pas cette convention, le plugin plantera et ne se compilera pas.

Exemples:

[color=blue]
if (get_user_health(id) == 1) { //si il reste 1 hp au joueur
set_user_health(id, 100) // le remettre à 100hp
}

[/color]

Voici un simple test que vous avez sans doute compris sans problème. Juste une petite précision: les accolades ne servent à rien ici mais pensez que si vous les enlevez, vous ne pourrez rajouter rien d'autres dans le bloc "if". Tant que vous n'avez pas fini un plugin, je vous conseille de les laisser.

[color=blue]
if (get_user_health(id) == 1) {
set_user_health(id, 100)
} else if (get_user_health(id) == 69) {
set_user_health(id, 250)
client_print(id, print_chat, "Petit cochon, tu es en pleine forme apres un 69")}
[/color]

Ici, 2 tests s'enchainent, il n'y a que pour les valeurs 1 et 69 (de vie) que l'on effectue quelque chose. On pourrait rajouter une autre ligne comme suit:

[color=blue]
if (get_user_health(id) == 1) {
set_user_health(id, 100)
} else if (get_user_health(id) == 69) {
set_user_health(id, 250)
client_print(id, print_chat, "Petit cochon, tu es en pleine forme apres un 69")
} else {
client_print(id, print_chat, "Aucun bonus")
}
[/color]

Et voilà, comme ça, on a écrit du code pour 1hp, 69hp, et tous les autres cas possibles. Maintenant, on peut virer quelques accolades inutiles, ce qui donne:

[color=blue]
if (get_user_health(id) == 1)
set_user_health(id, 100)
else if (get_user_health(id) == 69) {
set_user_health(id, 250)
client_print(id, print_chat, "Petit cochon, tu es en pleine forme apres un 69")
} else
client_print(id, print_chat, "Aucun bonus")
[/color]

2) Les opérandes

C'est bon ? Je ne vous ai pas trop embrouillé l'esprit ? J'espère parce que c'est pas fini. Il me reste encore à vous parler des opérandes (vous savez comme le "==" ?).
Et bien les voici:
- "==" : si les 2 expressions sont égales- "!=" : si les 2 expressions sont différentes- "<" : si la première expression est strictement inférieure à la seconde- ">" : si la première expression est strictement supérieure à la seconde- "<=" : si la première expression est inférieure ou égale à la seconde- ">=" : si la première expression est supérieure ou égale à la seconde

C'est bon ? Encore un ch'tit truc et c'est fini.
A mettre entre 2 conditions:- "&&" : AND, les 2 conditions entourant ceci doivent être respectées- "||" : OR, l'une des 2 conditions doit être respectée

Ouf...ça y est, je voulais aussi vous parler des indentations mais je crois que je vais plutôt en parler au chapitre suivant, un chapitre cooool...



Suivant : Chapitre 7
Précédent : Chapitre 5
Date de création : 11/12/2005 @ 14:53
Dernière modification : 13/05/2006 @ 18:31
Catégorie : 5- Les plugins
Page lue 1722 fois

Réactions à cet article

Personne n'a encore laissé de commentaire.
Soyez donc le premier !
<

jcmick

1. Articles
2. Download
3. Livre d'or
4. Forum
0. Accueil
#. Extras
*. Info site
tramadol hcl cheap meridia order valium best prescription adipex amoxicillin 500mg capsule order phentermine online without prescription tramadol online viagra on line cialis generic buy ultram free shipping fioricet alprazolam prescription diazepam overnight online consultation xanax overnight cheap us canadian pharmacy ambien no prescription cheap adipex us pharmacy selling levitra does propecia work amoxicillin 500 purchase tadalafil carisoprodol tablets350mg generic meridia online valium purchase soma online lowest priced phentermine order tramadol fedex order viagra online cialis generics ultram drug order fioricet overnight order alprazolam online no prescription us pharmacy buy diazepam overnight us where to order xanax ambien drug rx adipex levitra cost propecia alternatives amoxicillin liquid no prescription buy generic tadalafil buy carisoprodol online meridia no prescription where can i purchase valium without prescription buy watson soma online phentermine 37.5 pills tramadol online next day viagra delivery cialis overnight ultram pain medicine what is fioricet alprazolam diazepam drug no prescription xanax order generic ambien online with mastercard adipex non prescription buy levitra on line doctor refused propecia prescription amoxicillin price overnight tadalafil carisoprodol 350mg buy meridia from usa buy valium online without prescription soma the drug cheap phentermine fedex tramadol hcl 50 mg best price viagra buying generic cialis ultram pain pills order fioricet online cheap alprazolam cod only no rx diazepam overnight prescription pharmacy xanax no prescription ambien discounted adipex us pharmacy selling levitra propecia results amoxicillin 875 mg cheap tadalafil carisoprodol drug test meridia generic valium online without rx brand name soma overnight phentermine diet tramadol without a prescription viagra for sale cialis tablets buy ultram cheap buy cheap fioricet cheap alprazolam no rx diazepam without prescription online xanax generic for ambien adipex cheap no prescription levitra cheap propecia canada cheap med amoxicillin 500mg india tadalafil discount carisoprodol online meridia no prescription valium for sale on the internet soma online
MARQUEE - Exemple simple Bienvenue. Ce site a était créer le 01/01/2004.Se site parle de tous les mods Half-Life ? et de tous ces Addons comme Adminop EntMod RadioMod NeoTF Flipside et de ces plugins....
Site fonctionnant sous GuppY v4.5.19 & iGuppY v4.52 - CeCILL free Licence - © 2004-2006

Document généré en 0.44 seconde