[Ajuda] O que й isso?
#1

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]; 
Reply
#2

Variavel que so tem 2 valores.

true
false
Reply
#3

Quote:
Originally Posted by IlanZ
View Post
Variavel que so tem 2 valores.

true
false
Agora entendi, valeu!!!
Reply
#4

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.
Reply
#5

Quote:
Originally Posted by NathanT
View Post
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!
Reply
#6

Quote:
Originally Posted by NathanT
View Post
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.
Reply
#7

Quote:
Originally Posted by Bruno13
View Post
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!!!
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)