Logikai változók Bevezetõ:A logikai változók annyiban különböznek az egyszerû változóktól, hogy csak két értékük lehet; Igaz, illetve hamis( azaz true, vagy false ).
A logikai változók általános alakja:
new bool: Neve;
Illetve készíthetünk tömböket is:
new bool: Neve[ Mérete ];
A méretnek általában a \'MAX_PLAYERS\' értéket adjuk, mivel általában minden játékosra vonatkoztatunk.
Értékek kezelése:Ha már létrehoztunk egy logikai változót, nyilván használni is fogjuk, azaz értéket adunk neki. Lássunk egy példát! Halál után egyszer használhatjuk a \'/money\' parancsot!
Legközelebb csak halál után használhatjuk.
//Logikai változó létrehozása( hamis kezdõértékkel )
new bool: GotMoney[ MAX_PLAYERS ] = { false, ... };
public OnPlayerCommandText( playerid, cmdtext[ ] ) {
if( strcmp( \"/money\", cmdtext, true ) == 0 ) {
//Ha már egyszer használta ezt a parancsot
if( GotMoney[ playerid ] ) return SendClientMessage( playerid, COLOR_RED, \"Nem szabad! Egy körben csak egyszer!\" );
//De ha még nem használta, akkor igazra állítjuk az értéket a játékos azonosítójának cellájában
GotMoney[ playerid ] = true;
GivePlayerMoney( playerid, 2000 );
return 1;
}
return 0;
}
//Spawnolásnál megengedjük, hogy igényelhessen pénzt a játékos
public OnPlayerSpawn( playerid ) return GotMoney[ playerid ] = false;
Nos ennyi lenne, remélem segítettem valamennyit. Ha kérdés van, ide nyugodtan felteheted.
Azért azt tegyük hozzá, hogy nem feltétlenül kell tömbnek lennie.
Jó leírás, grat! remélem még irsz néhány tutot :)
Kösz Gergõ, ezt most elfelejtettem, de pótoltam.
ScreaM, ez egy régi leírás átdolgozott változata, mert ugye tudjuk mi történt a régi leírásokkal. De tervezem, hogy írok még párat.
ZeRo
Jó lett!
Egyszerubben:
A logikai változónak 2 értéke lehet IGAZ(true) vagy HAMIS(false). Kulcsszava a BOOL.
Ezt szemléltethetjük egy egyszeru példával: A játékos pénze nagyobb(IGAZ), vagy kisebb(HAMIS), mint 5$.
stock bool:booltest(playerid) {
new bool:b=false; // Alapértékben hamis...
if(GetPlayerMoney(playerid)>5) b=true; // Ha a pénz több, mint 5$, akkor IGAZ-ra állítjuk..
return b;
}
Én inkább úgy fogalmaznék hogy egy adattárolótípus a bool, és az értékkészlete true(igaz) vagy false(hamis) lehet. Ugyanúgy van a boolos változónak értéke stb csak az értéke true vagy false lehet.