[Ajuda] Erro no If
#1

Tava querendo fazer tipo assim - se o playerid nao for maior ou igual a 9 nao continuasse e mostrasse a mensagem "Voce nao й lider da organizaзao.". puis o codigo assim:

if(PlayerInfo[playerid][Cargo] <= 9) return SendClientMessage(playerid, COR_ERRO, "Voce nao й lider da organizaзao.");

Sempre que uso o comando in-game aparece a mensagem mesmo sendo Cargo igual ou maior que 9!


codigo completo:
pawn Код:
COMMAND:promover(playerid, params[])
{
    new PlayerB, pCargo;
    new Nome[MAX_PLAYER_NAME];
    new String[100];
    GetPlayerName(PlayerB, Nome, sizeof(Nome));
    new Lider[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Lider, sizeof(Lider));
    if(sscanf(params, "d", PlayerB, pCargo)) return SendClientMessage(playerid,COR_ERRO,"Digite: /Promover [id][cargo]");
    if(PlayerInfo[playerid][Cargo] <= 9) return SendClientMessage(playerid, COR_ERRO, "Voce nao й lider da organizaзao.");
    if(PlayerInfo[PlayerB][Org] != PlayerInfo[playerid][Org]) return SendClientMessage(playerid, COR_ERRO, "O player nao й de sua organizaзao.");
    PlayerInfo[PlayerB][Cargo] = pCargo;
    format(String, sizeof(String),"O Lider %s alistou %s para Organizaзao : %s",Lider, Nome, Nomeorgs[PlayerInfo[playerid][Org]]);
    SendClientMessageToAll(COR_AVISOADM,String);
    return true;
}
Reply
#2

Tenta

pawn Код:
COMMAND:promover(playerid, params[])
{
    new PlayerB, pCargo;
    new Nome[MAX_PLAYER_NAME];
    new String[100];
    GetPlayerName(PlayerB, Nome, sizeof(Nome));
    new Lider[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Lider, sizeof(Lider));
    if(sscanf(params, "ud", PlayerB, pCargo)) return SendClientMessage(playerid,COR_ERRO,"Digite: /Promover [id][cargo]");
    if(PlayerInfo[playerid][Cargo] < 9) return SendClientMessage(playerid, COR_ERRO, "Voce nao й lider da organizaзao.");
    if(PlayerInfo[PlayerB][Org] != PlayerInfo[playerid][Org]) return SendClientMessage(playerid, COR_ERRO, "O player nao й de sua organizaзao.");
    PlayerInfo[PlayerB][Cargo] = pCargo;
    format(String, sizeof(String),"O Lider %s alistou %s para Organizaзao : %s",Lider, Nome, Nomeorgs[PlayerInfo[playerid][Org]]);
    SendClientMessageToAll(COR_AVISOADM,String);
    return true;
}
Reply
#3

pawn Код:
if(PlayerInfo[playerid][Cargo] < 9) return SendClientMessage(playerid, COR_ERRO, "Voce nao й lider da organizaзao.");
OBS: "<=" Isso vai checar se ele й cargo 9 e se й menor nгo vai funcionar se ele for cargo 9 caso queira checar se ele й menor que cargo 9 sу use "<" uma dica de operadores ai:

<=Checa se й igual e menor
>= Verifica se й maior e igual
> Sу verifica se й maior
< Verifica se й menor
== Verifica se й igual
!= Verifica se й diferente
Reply
#4

Cara, й logico..

Vocк usou o sinal <= que quer dizer MENOR DO QUE O VALOR OU IGUAL.
O sinal correto seria < que quer dizer MENOR DO QUE O VALOR.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)