így:
Mód elejére a többi változó közé/alá
new dolgozik[MAX_PLAYERS];
Aztán amikor elkezdi a munkát pl: /Munkakezd vagy /utattisztit
Írd bele a parancsba ezt:
dolgozik[playerid]=1;
Aztán amikor abbahagyja a munkát pl: /Munkaabbahagy
dolgozik[playerid]=0;
OnPlayerDisconnect részhez írd be ezt:
dolgozik[playerid]=0;
És amikor a gps-t használná pl:/gps bekapcsol
if(dolgozik[playerid]==1)return SendClientmessage(playerid,-1,\"Munka közben nem használhatod a gps-t\");
Ennyi lenne :)
így:
Mód elejére a többi változó közé/alá
new dolgozik[MAX_PLAYERS];
Aztán amikor elkezdi a munkát pl: /Munkakezd vagy /utattisztit
Írd bele a parancsba ezt:
dolgozik[playerid]=1;
Aztán amikor abbahagyja a munkát pl: /Munkaabbahagy
dolgozik[playerid]=0;
OnPlayerDisconnect részhez írd be ezt:
dolgozik[playerid]=0;
És amikor a gps-t használná pl:/gps bekapcsol
if(dolgozik[playerid]==1)return SendClientmessage(playerid,-1,\"Munka közben nem használhatod a gps-t\");
Ennyi lenne :)
[/quote]
Miért foglalnál ennyi helyet a rendszerbõl?
Erre elég a bool változó is
new bool:dolgozik[MAX_PLAYERS];
dolgozik[playerid]=true;
dolgozik[playerid]=false;
És a megoldás úgy lenne a legszebb és legtakarékosabb memóriában, ha a boolen változót átalakítanád bitmûvelettel integer változóba, hogy miért?
Integer változó - 32 igaz/hamis érték tárolására képes, 32 bit azaz 4 bájtot foglal le
Boolean változó - 1 igaz / hamis érték tárolására képes, 8 bit, azaz 1 bájtot foglal le
Ha 4 boolean változó kirak egy integer változót ami 32 értéket képes kezelni, míg a boolen csak négyet beláthatjuk, hogy elég memóriapazarló dolog. :)
Bitmûvelettel viszont megoldhatjuk, hogy ne foglaljon el ennyit és sokkal gyorsabb és spórosabb megoldás. (lásd 32 boolen esetén 31 kilobyte, 1 integer amiben ugyan úgy 32 érték fér csak 3,9 kilobyte)
Az adatok kiolvasására:
stock GetData(integer, bit)
{
return integer >> bit & 1;
}
Az adat írására:
stock SetData(&integer, bit, value)
{
integer |= value << bit;
return 1;
}
A függvényeket Anthony írta meg, a bitekrõl itt lehet még olvasni : http://sampforum.hu/index.php?topic=29621.0