[DUVIDA] Duvida sobre new e bool.
#1

Eu estou com uma duvida sobre new e bool referente a alguns tutoriais que eu vi sobre bloquear comando e nao entendi algumas coisas...
Por exemplo em alguns casos em alguns tutoriais tem uns que usa exemplo:
pawn Code:
//Topo do Gamemode
new Bloquearcomando[MAX_PLAYER];
ou entгo usando bool
bool:Bloquearcomando[MAX_PLAYER];

//E Colocar no comando
Bloquearcomando[playerid] = 0; //Para desbloquear
Bloquearcomando[playerid] = 1; //Para bloquear
ok atй aqui tudo bem ai vem a parte da minha duvida, vou criar um exemplo de bloquear comando de teleporte:
pawn Code:
//Comando para bloquear todos os teleportes:
CMD:bloquearteleportes(playerid, params[])
{
            Bloquearcomando = 1; // Bloqueando comandos
            return 1;
}

// agora parte da duvida. Aqui 1 comando de teleporte que ja estб bloqueado.
CMD:teleporte1(playerid, params[])
{
// Parte da duvida
             if(Bloquearcomando[playerid]) return SendClientMessage(playerid, -1, "Comando Bloqueado");
 // Porque alguns usa esse metodo e outros usam esse :
             if(Bloquearcomando[playerid] == 1) return SendClientMessage(playerid, -1, "Comando Bloqueado");
 //Nesse colocou == 1 , no outro nгo. Porque isso ? e й necessario colocar o == 1 ou sу em alguns comandos especificos?
Reply
#2

variбvel booleana, tem somente dois valores true ou false.
Reply
#3

Por exemplo no if(Bloquearcomando[playerid]) ele bloqueara o comando independentemente do valor mais ja o segundo sу ira bloquear o comando se a variavel do player for igual a 1 aqui um exemplo

pawn Code:
if(Bloquearcomando[playerid] == 1) // Se a variavel bloquear comando do player for igual a 1 ele ira bloquear

 if(Bloquearcomando[playerid]) // aqui ele ira bloquear independentemente  do valor da variavel bloquear comando do player
Se eu estiver errado por favor me corrija!
Reply
#4

'bool' й um tipo de variбvel em que vocк sу tem duas opзхes possнveis, true (1) ou false (0)

Isso й apenas uma "abreviaзгo"


pawn Code:
new bool:Variavel;

if(Variavel)
//Й o mesmo que
if(Variavel == true)


//Assim como

if(!Variavel)
//Й o mesmo que
if(Variavel == false)
Reply
#5

Amigo, sua dъvida й normal.
eu jб tive esta dъvida.

Bom, o comparador IF tem duas opзхes "SIM" ou "NГO"



pawn Code:
if(Condiзгo)
{
    // Caso a condiзгo estiver correta returna "1"
}
else{
   // Caso a condiзгo estiver incorreta returna "0"
}
Entendeu ?

seria a mesma coisa que:
PHP Code:
if(Condiзгo == 1// Se a "CONDIЗГO" estiver igual a 1  [...].
{
    
// Caso a condiзгo estiver correta returna "1"
}
if(
Condiзгo == 0// Se a "CONDIЗГO" estiver igual a 0 [...].
{
   
// Caso a condiзгo estiver incorreta returna "0"

Logo
if(CONDIЗГO) й mesma coisa que if(CONDIЗГO == 1)
e if(!CONDIЗГO) й a mesma coisa que if(CONDIЗГO == 0).




No caso de Boorlanas usamos:
PHP Code:
if(CONDIЗГO == true// "True" indica VERDADEIRA.
if(CONDIЗГO == false// "False" indica FALSO. 
Espero ter ajudado.
Reply
#6

Quote:
Originally Posted by Viniborn
View Post
'bool' й um tipo de variбvel em que vocк sу tem duas opзхes possнveis, true (1) ou false (0)

Isso й apenas uma "abreviaзгo"


pawn Code:
new bool:Variavel;

if(Variavel)
//Й o mesmo que
if(Variavel == true)


//Assim como

if(!Variavel)
//Й o mesmo que
if(Variavel == false)
Entгo significa que quando eu crio uma bool ele ja vem com 1 valor determinado como "True" ?
Reply
#7

Quote:
Originally Posted by [Full]Garfield[XDB]
View Post
Amigo, sua dъvida й normal.
eu jб tive esta dъvida.

Bom, o comparador IF tem duas opзхes "SIM" ou "NГO"



pawn Code:
if(Condiзгo)
{
    // Caso a condiзгo estiver correta returna "1"
}
else{
   // Caso a condiзгo estiver incorreta returna "0"
}
Entendeu ?

seria a mesma coisa que:
PHP Code:
if(Condiзгo == 1// Se a "CONDIЗГO" estiver igual a 1  [...].
{
    
// Caso a condiзгo estiver correta returna "1"
}
if(
Condiзгo == 0// Se a "CONDIЗГO" estiver igual a 0 [...].
{
   
// Caso a condiзгo estiver incorreta returna "0"

Logo
if(CONDIЗГO) й mesma coisa que if(CONDIЗГO == 1)
e if(!CONDIЗГO) й a mesma coisa que if(CONDIЗГO == 0).




No caso de Boorlanas usamos:
PHP Code:
if(CONDIЗГO == true// "True" indica VERDADEIRA.
if(CONDIЗГO == false// "False" indica FALSO. 
Espero ter ajudado.
Ajudou muito, eu jб estava com essa duvida a um tempo e nгo entendia o porque sobre isso. Agora com sua explicaзгo eu jб tive uma idйia . Muito Obrigado
Reply
#8

Quote:
Originally Posted by Supera
View Post
Ajudou muito, eu jб estava com essa duvida a um tempo e nгo entendia o porque sobre isso. Agora com sua explicaзгo eu jб tive uma idйia . Muito Obrigado
Й muito simples de entender.

Aconselho vocк estudar algumas coisas antes de partir para programaзгo.

Como:
- Fluxograma;
- Pseudocуdigo;
- Lуgica da programaзгo.


Cheers,
Reply
#9

Exemplo 1:

PHP Code:
new Bloquear[MAX_PLAYERS];
public 
OnPlayerCommandText(playeridcmdtext[])
{
    if(
Bloquear[playerid] == 1) return SendClientMessage(playerid, -1"Vocк nгo pode usar tal comando!");
    return 
1;
}
    
CMD:teste(playeridparams[])
    {
        
Bloquear[playerid] = 1;
        
SetPlayerPos(playerid123);
        return 
1;
    }
public 
OnPlayerDeath(playeridkilleridreason)
{
    
Bloquear[playerid] = 0;
    return 
1;

Exemplo 2:

PHP Code:
bool:Bloquear[MAX_PLAYERS];
public 
OnPlayerCommandText(playeridcmdtext[])
{
    if(
Bloquear[playerid]) return SendClientMessage(playerid, -1"Vocк nгo pode usar tal comando!");
    return 
1;
}
    
CMD:teste(playeridparams[])
    {
        if(
Bloquear[playerid])
        
SetPlayerPos(playerid123);
        return 
1;
    }
public 
OnPlayerDeath(playeridkilleridreason)
{
    if(!
Bloquear[playerid])
    return 
1;

Entгo no caso destes cуdigos, o mais cabнvel seria usar o com variбvel bool: (Exemplo 2) ?

O cуdigo do bool: estб errado, mas criei apenas para exemplo mesmo.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)