O que й isso? -
fxckshzt - 04.09.2017
Namoral, o que significa esse bool atrбs de uma variбvel?
Jб li o tуpico de bool da Wiki-Samp, mas mesmo assim continuo sem entender a real funзгo dela.
exemplo:
PHP Code:
new bool:vida[MAX_PLAYERS];
Re: O que й isso? -
IlanZ - 04.09.2017
Variavel que so tem 2 valores.
true
false
Re: O que й isso? -
fxckshzt - 04.09.2017
Quote:
Originally Posted by IlanZ
Variavel que so tem 2 valores.
true
false
|
Agora entendi, valeu!!!
Re: O que й isso? -
NathanT - 04.09.2017
A tag bool serve para identificar o tipo de dado booleano, este tipo de dado aceita apenas dois valores: true (verdadeiro) e false (falso). Ele nгo aceita valores inteiros, apenas booleanos (true e false < os 2 ъnicos valores booleanos).
Criar uma variбvel booleana no Pawn nгo hб vantagens importantes, pois o peso delas na memуria й similar а uma variбvel do tipo inteiro, se nгo me engano pesam 4 bytes. Geralmente eu uso este tipo de dado em variбveis que apenas indicarгo uma verdade ou mentira, por exemplo:
Code:
new bool:usoucmd[MAX_PLAYERS];
CMD:comando(playerid)
{
if(usoucmd[playerid] == true) // se ele usou o comando
{
SendClientMessage(playerid, -1, "Vocк jб usou o comando.");
}
else if(usoucmd[playerid] == false) // se ele nгo usou o comando
{
usoucmd[playerid] = true; // ele usou, entгo assume o valor verdadeiro
SendClientMessage(playerid, -1, "Vocк usou agora o comando.");
}
return 1;
}
Quando criadas, por padrгo elas assumem o valor falso (false) e sу mudarгo caso seu valor for alterado no script.
Claro que hб como simplificar este cуdigo acima, mas fiz assim para que nгo pareзa confuso.
Vocк tambйm pode usa-las para especificar o tipo de retorno booleano em funзхes:
Code:
bool:Motorista(playerid)
{
if(GetPlayerVehicleSeat(playerid) == 0)
{
return true;
}
return false;
}
// O mesmo cуdigo tambйm poderia ser feito de modo mais simples assim:
bool:Motorista(playerid)
{
return (GetPlayerVehicleSeat(playerid) == 0);
}
Й simples, o tipo de dado booleano apenas informa se algo й verdade (true) ou mentira (false). Nada mais, portanto, vocк nгo pode fazer:
Code:
new bool:variavel1 = 1;
new bool:variavel2 = 0;
new bool:variavel3 = 3;
O compilador lhe informarб um erro, pois o tipo de dado booleano sу aceita os valores true e false.
Espero que ajude.
Re: O que й isso? -
fxckshzt - 04.09.2017
Quote:
Originally Posted by NathanT
A tag bool serve para identificar o tipo de dado booleano, este tipo de dado aceita apenas dois valores: true (verdadeiro) e false (falso). Ele nгo aceita valores inteiros, apenas booleanos (true e false < os 2 ъnicos valores booleanos).
Criar uma variбvel booleana no Pawn nгo hб vantagens importantes, pois o peso delas na memуria й similar а uma variбvel do tipo inteiro, se nгo me engano pesam 4 bytes. Geralmente eu uso este tipo de dado em variбveis que apenas indicarгo uma verdade ou mentira, por exemplo:
Code:
new bool:usoucmd[MAX_PLAYERS];
CMD:comando(playerid)
{
if(usoucmd[playerid] == true) // se ele usou o comando
{
SendClientMessage(playerid, -1, "Vocк jб usou o comando.");
}
else if(usoucmd[playerid] == false) // se ele nгo usou o comando
{
usoucmd[playerid] = true; // ele usou, entгo assume o valor verdadeiro
SendClientMessage(playerid, -1, "Vocк usou agora o comando.");
}
return 1;
}
Quando criadas, por padrгo elas assumem o valor falso (false) e sу mudarгo caso seu valor for alterado no script.
Claro que hб como simplificar este cуdigo acima, mas fiz assim para que nгo pareзa confuso.
Vocк tambйm pode usa-las para especificar o tipo de retorno booleano em funзхes:
Code:
bool:Motorista(playerid)
{
if(GetPlayerVehicleSeat(playerid) == 0)
{
return true;
}
return false;
}
// O mesmo cуdigo tambйm poderia ser feito de modo mais simples assim:
bool:Motorista(playerid)
{
return (GetPlayerVehicleSeat(playerid) == 0);
}
Й simples, o tipo de dado booleano apenas informa se algo й verdade (true) ou mentira (false). Nada mais, portanto, vocк nгo pode fazer:
Code:
new bool:variavel1 = 1;
new bool:variavel2 = 0;
new bool:variavel3 = 3;
O compilador lhe informarб um erro, pois o tipo de dado booleano sу aceita os valores true e false.
Espero que ajude.
|
C A R A C A M E R M Г O
Consegui compreender. vou atй salvar em txt teu tutorial ae!
Valeu mesmo!
Re: O que й isso? -
Bruno13 - 04.09.2017
Quote:
Originally Posted by NathanT
Criar uma variбvel booleana no Pawn nгo hб vantagens importantes, pois o peso delas na memуria й similar а uma variбvel do tipo inteiro...
|
E й exatamente por isso que й de grande importвncia compactar strings do tipo bool declarando-as como char-arrays, que aceitam somente valores de 0 a 255, assim vocк acaba por economizar 75,000 bytes, aprox. 73 kb.
PHP Code:
new bool:variable[MAX_PLAYERS char];
E sempre que for acessar essas variбveis, vocк precisa utilizar os brackets ao invйs dos colchetes.
PHP Code:
variable{playerid} = true;
Char-arrays tambйm й vбlido para variбveis inteiras que utilizarб valores entre 0 e 255.
Re: O que й isso? -
fxckshzt - 04.09.2017
Quote:
Originally Posted by Bruno13
E й exatamente por isso que й de grande importвncia compactar strings do tipo bool declarando-as como char-arrays, que aceitam somente valores de 0 a 255, assim vocк acaba por economizar 75,000 bytes, aprox. 73 kb.
PHP Code:
new bool:variable[MAX_PLAYERS char];
E sempre que for acessar essas variбveis, vocк precisa utilizar os brackets ao invйs dos colchetes.
PHP Code:
variable{playerid} = true;
Char-arrays tambйm й vбlido para variбveis inteiras que utilizarб valores entre 0 e 255.
|
Vou levar um tempo pra desenvolver tudo isso, mas vou ir praticando!
Obrigado!!!