[Ajuda] Bloquear comandos estando preso.
#1

Olб,

Estou com um problema, esse meu code estб fail e nгo estб bloqueando os comandos, pois mesmo que adicione eles nas excessoes, apos eu colocar o params da erro,

Exemplo o comando /Reportar й uma excessгo, se eu digitar somente /Reportar, Ok, mais quando digito, /Reportar 1 teste, jб da erro por causa dos params,

Comandos em exceзгo

/Reportar - /Sos - /PedirAdvogado - /F - /P

pawn Код:
new ComandosBlocked[][60] =
    {
        "/perdiradvogado",
        "/f",
        "/p",
        "/sairafk",
        "/comandos",
        "/regras",
        "/sos",
        "/reportar",
        "/help"
    };


public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
    if(PlayerInfo[playerid][pPreso] == 1 || PlayerInfo[playerid][pPresoAdmin] == 1)
    {
        if(PlayerInfo[playerid][pAdmin] == 0)
        {
            for(new i; i < sizeof ( ComandosBlocked ); i++)
            {
                if(strcmp(cmdtext, ComandosBlocked[i], true) != 0)
                {
                    SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Vocк estб preso й pode usar somente ( /Reportar - /Sos - /PedirAdvogado - /F - /P )");
                    return 0;
                }
            }
        }
    }
    return 1;
}
Reply
#2

pawn Код:
if(strcmp(cmdtext, ComandosBlocked[i], true) != 0)
Ja tentou inverter o cmdtext com o ComandosBlocked

PS: Meu modo de vista o ComandosBlock teria que ser o primeiro ja que e o comando .
Reply
#3

pawn Код:
public OnPlayerCommandPerformed(playerid, cmdtext[], success) {
    if(PlayerInfo[playerid][pPreso] == 1 || PlayerInfo[playerid][pPresoAdmin] == 1) {
        if(PlayerInfo[playerid][pAdmin] == 0) {
            new bool:erro = false;
            for(new i; i < sizeof(ComandosBlocked); i++) {
                if(strfind(cmdtext, ComandosBlocked[i], true) != -1)
                {
                    erro = true;
                    break;
                }
            }
            return erro;
        }
    }
    return 1;
}
Reply
#4

Quote:
Originally Posted by Don_Speed
Посмотреть сообщение
pawn Код:
if(strcmp(cmdtext, ComandosBlocked[i], true) != 0)
Ja tentou inverter o cmdtext com o ComandosBlocked

PS: Meu modo de vista o ComandosBlock teria que ser o primeiro ja que e o comando .
Ok irei inverter

Quote:
Originally Posted by DrTHE
Посмотреть сообщение
pawn Код:
public OnPlayerCommandPerformed(playerid, cmdtext[], success) {
    if(PlayerInfo[playerid][pPreso] == 1 || PlayerInfo[playerid][pPresoAdmin] == 1) {
        if(PlayerInfo[playerid][pAdmin] == 0) {
            new bool:erro = false;
            for(new i; i < sizeof(ComandosBlocked); i++) {
                if(strfind(cmdtext, ComandosBlocked[i], true) != -1)
                {
                    erro = true;
                    break;
                }
            }
            return erro;
        }
    }
    return 1;
}
Assim retorna o comando do mesmo jeito =/
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)