SA-MP Forums Archive
[Ajuda] Bloquear comandos estando preso. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Bloquear comandos estando preso. (/showthread.php?tid=439436)



Bloquear comandos estando preso. - Maklister - 25.05.2013

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;
}



Re: Bloquear comandos estando preso. - Don_Speed - 25.05.2013

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 .



Re: Bloquear comandos estando preso. - DrTHE - 25.05.2013

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;
}



Re: Bloquear comandos estando preso. - Maklister - 25.05.2013

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 =/