Opérateur de condition "while".
Tutorial créé par Tropheus.
Dans ce tutorial vous allez
apprendre à utiliser une particularité de l'opérateur
"while". Il en existe d'autres qui seront développées ultérieurement.
Ici
dans cette map test tant que le soldat de droite sera vivant
le soldat de gauche restera un allié.
1/ MAPPING
Une map avec 2 soldats.
Le soldat de droite
un fallschirmjager de dos avec comme targetname / soldat.
Le soldat de gauche un soldat Snow avec comme targetname / sniper.
C'est tout.
2/ SCRIPTING
main()
{
maps\_load_gmi::main();
//GIVE PLAYER WEAPONS
level.player takeallweapons();
level.player giveWeapon("panzerfaust");
level.player giveWeapon("thompson");
level.player giveWeapon("colt");
level.player giveWeapon("fraggrenade");
level.player switchToWeapon("thompson");
level.soldat=getent("soldat","targetname");
level.sniper=getent("sniper","targetname");
thread test();
}
test()
{
while (isalive(level.soldat))
{
level.soldat.team="allies";
level.sniper.team="allies";
wait(0.05);
}
level.sniper.team="axis";
}
Tant que le soldat de droite est vivant le soldat de gauche reste allié. Dès qu'il meure le soldat de gauche devient axe.
Explications.
main()
{
maps\_load_gmi::main();
//GIVE PLAYER WEAPONS
level.player takeallweapons();
level.player giveWeapon("panzerfaust");
level.player giveWeapon("thompson");
level.player giveWeapon("colt");
level.player giveWeapon("fraggrenade");
level.player switchToWeapon("thompson");
///Définition des entités//////////////
level.soldat=getent("soldat","targetname");
level.sniper=getent("sniper","targetname");
thread test();
}
test()
{
while (isalive(level.soldat)) //Tant que le soldat "soldat" est
vivant.
{
level.soldat.team="allies";//alors "soldat" est
allié
level.sniper.team="allies";//et "sniper" est allié.
wait(0.05); //le
jeu attend 0.05 seconde
avant de revérifier la condition. Très
important sinon risque d'erreur.
}
level.sniper.team="axis";//si la condition n'est
plus vraie alors "sniper"
passe du coté de l'axe.
}
L'avantage d'un tel opérateur c'est que l'on est pas tributaire d'un trigger pour déclencher le changement. Il peut être fait n'importe quand ce qui laisse une plus grande marge de manoeuvre au joueur et au jeu.
J'espère avoir été assez
clair.
Téléchargez
la map test (CODUO seulement).
Placez
le pk3 dans le dossier UO et le .bat dans le dossier "call of duty".
Bon mapping et bon Scripting à tous.
Tropheus.
Pour
CaskAmiProd et MohaaScriptLib
by Tropheus©
juillet 2005