PDA

View Full Version : Boolean


KarTooN
01/12/2011, 05:05 PM
Boolean, také nazýván bool má výhodu, že šetří RAM (využívá 1 bit, zatím co obyčejná proměnná 32 bitů) což je dost, pokud máte malou RAM.

Výhoda:
32x menší zatížení RAM

Nevýhoda
Má pouze 2 hodnoty (True/False)

Příklad Použití:
new bool:vip[MAX_PLAYERS];

dcmd_repair(playerid,params[])
{
if(vip[playerid] == false) return SendClientMessage(playerid,0xFF0000AA,"Nemáte VIP");
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,0xFF0000AA,"Nejsi v aute");
RepairVehicle(GetPlayerVehicleID(playerid));
return 1;
}

Jednoduché že ano? Taky se to dá použít při Admin Scriptu, kde používáte jen jeden level (Operátor)
PS:Používejte pouze True/False! Protože 1 nebo 0 vám to "neuzná"!

Ukládání - dini
dini_BoolSet(s,"Operator",false); //uložení hodnoty jako 0
dini_Bool(s,"Operator"); //zjištění hodnoty

s ukládáním boolu jsi nejsem 100% jistý, ale mělo by to fungovat, popř. mi napište jestli tam je chyba.

ylleron
08/12/2011, 09:02 PM
Velice dobré :) hlavne pre nováčikov.. ;)

Patchwerk
09/12/2011, 07:46 AM
Už aj to dini máš blbo...

new bool:a = !!dini_Bool("subor.txt","MojBool");

dini ukladá "1/0" a nie string "true/false" a vracia integer...

KarTooN
10/12/2011, 01:34 PM
jak říkám.. s tím ukládáním si nejsem jistý... já bool používám jen na proměnné, které se neukládají, ale díky za upozornění

NTP
11/12/2011, 08:07 AM
Výhoda:
32x menší zatížení RAM

Hlupost. PAWN pozna len 32 bitove premenne (velkost bunky), to znamena, ze aj boolean zabera 32b aj ked nadobuda len 2 hodnoty.

ylleron
11/12/2011, 07:41 PM
Hlupost. PAWN pozna len 32 bitove premenne (velkost bunky), to znamena, ze aj boolean zabera 32b aj ked nadobuda len 2 hodnoty.

Chlapče Bool je 1-bitová premenná

NTP
14/12/2011, 09:45 AM
Chlapce precitaj si dokumentaciu http://www.compuphase.com/pawn/Pawn_Language_Guide.pdf

ylleron
14/12/2011, 09:09 PM
No, sorry, uznávam si chybu. Doteraz som si myslel ze je 32-bit. Dakujem za upozornenie a opravenie :)