[Ajuda] Comando quando usado nao identifica
#1

O tнtulo diz um pouco, porйm vou explicar melhor:
eu editei esse comando, porйm quando vai usб-lo, aparece que a mensagem de que o comando estб errado.

Se eu troco o
pawn Код:
if(strcmp(cmd, "/br", true) == 0 || strcmp(cmd, "/barreira", true) == 0)
por
pawn Код:
if(strcmp("/br", cmdtext, true, 2) == 0||strcmp("/barreira", cmdtext, true, 8) == 0)
vai funcionar normalmente, porйm, irб causar alguns bugs nos outros comandos, se eu digitar outro comando com /bALGUMACOISA vai ativar o comando da barreira.

Comando abaixo:

pawn Код:
if(strcmp(cmd, "/br", true) == 0 || strcmp(cmd, "/barreira", true) == 0)
    {
        if(gTeam[playerid] == 2  || IsACop(playerid))
        {
            new cstring[128];
            new CBar[128];
            CBar = KcmD(1, cmdtext);
            if(!strlen(CBar))
            {
            SendClientMessage(playerid, COLOR_WHITE, "Use: /barreira [id da barreira (1-5)]");
            return 1;
            }
            new CBarID = strval(CBar);
            if(CBarID > 5 || CBarID < 1)
            {
            SendClientMessage(playerid, COLOR_GRAD1, "ID mнnimo da barreira 1 e mбximo 5.");
            return 1;
            }
            new Float:BarX, Float:BarY, Float:BarZ, Float:BarA;
            GetPlayerPos(playerid, BarX, BarY, BarZ);
            GetPlayerFacingAngle(playerid, BarA);
            if(BarreiraExistente[CBarID] == 1)
            {
                SendClientMessage(playerid, COLOR_GRAD1, "Jб existe uma barreira com esse ID.");
                return 1;
            }
            Barreira[CBarID] = CreateObject(981, BarX, BarY, BarZ, 0.0, 0.0, BarA+180);
            BarreiraExistente[CBarID] = 1;
            SetPlayerPos(playerid, BarX, BarY, BarZ+4);
            GetPlayerName(playerid, nickname, sizeof(nickname));
            format(cstring, sizeof(cstring), "* Vocк implantou uma barreira (ID %d).", CBarID);
            SendClientMessage(playerid, COLOR_LIGHTBLUE, cstring);
            GetPlayerName(playerid, sendername, sizeof(sendername));
            format(string, sizeof(string), "Central: O militar %s implantou uma barreira (ID %d). Vб atй o нcone no mapa.", sendername, CBarID);
            for(new i = 0; i < MAX_PLAYERS; i++)
            {
                if(IsPlayerConnected(i))
                {
                    if(PlayerInfo[i][pMembro] == 1 || PlayerInfo[i][pLider] == 1)
                    {
                    SendClientMessage(i, TEAM_BLUE_COLOR, string);
                    }
                }
            }
        }
        else
        {
        SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo й um militar.");
        return 1;
        }
        return 1;
    }
Reply
#2

Tente:

pawn Код:
if (strcmp("/br", cmdtext, true, 10) ==0 || strcmp("/barreira ", cmdtext, true, 10) ==0)
Reply
#3

Forma correta:
pawn Код:
if(strcmp(cmd,"/br",true) == 0 || strcmp(cmd, "/barreira", true) == 0 || strcmp(cmd, "/Sougay", true) == 0)//assim por diante..
@edit
tenta ai, veja se irб funcionar da forma esperada:

pawn Код:
if(strcmp(cmd,"/br",true) == 0 || strcmp(cmd, "/barreira", true) == 0 || strcmp(cmd, "/Sougay", true) == 0)//assim por diante..
{
    if(gTeam[playerid] == 2  || IsACop(playerid))
    {
        new cstring[128];
        new CBar[128];
        CBar = KcmD(1, cmdtext);
        if(!strlen(CBar)) return SendClientMessage(playerid, COLOR_WHITE, "Use: /barreira [id da barreira (1-5)]");
        new CBarID = strval(CBar);
        if(CBarID > 5 || CBarID < 1) return SendClientMessage(playerid, COLOR_GRAD1, "ID mнnimo da barreira 1 e mбximo 5.");
        new Float:BarX, Float:BarY, Float:BarZ, Float:BarA;
        GetPlayerPos(playerid, BarX, BarY, BarZ);
        GetPlayerFacingAngle(playerid, BarA);
        if(BarreiraExistente[CBarID] == 1) return SendClientMessage(playerid, COLOR_GRAD1, "Jб existe uma barreira com esse ID.");
        Barreira[CBarID] = CreateObject(981, BarX, BarY, BarZ, 0.0, 0.0, BarA+180);
        BarreiraExistente[CBarID] = 1;
        SetPlayerPos(playerid, BarX, BarY, BarZ+4);
        GetPlayerName(playerid, nickname, sizeof(nickname));
        format(cstring, sizeof(cstring), "* Vocк implantou uma barreira (ID %d).", CBarID);
        SendClientMessage(playerid, COLOR_LIGHTBLUE, cstring);
        GetPlayerName(playerid, sendername, sizeof(sendername));
        format(string, sizeof(string), "Central: O militar %s implantou uma barreira (ID %d). Vб atй o нcone no mapa.", sendername, CBarID);
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i))
            {
                if(PlayerInfo[i][pMembro] == 1 || PlayerInfo[i][pLider] == 1)
                {
                    SendClientMessage(i, TEAM_BLUE_COLOR, string);
                }
            }
        }
    }
    else
    {
        SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo й um militar.");
        return true;
    }
    return true;
}
Reply
#4

Quote:
Originally Posted by StrondA_
Посмотреть сообщение
Forma correta..
pawn Код:
if(strcmp(cmd,"/br",true) == 0 || strcmp(cmd, "/barreira", true) == 0 || strcmp(cmd, "/Sougay", true) == 0)//assim por diante..
{
return true;
}

Na Minha Forma Tb Da Certo.
Reply
#5

Quote:
Originally Posted by ReDKiiL
Посмотреть сообщение
Na Minha Forma Tb Da Certo.
Porque acha isso? (:

Nгo й nescessбrio marcar o tamanho do comando,
Basta usar que nem o Stronda fez ali,
pawn Код:
if(strcmp(cmdtext,"/br", true) == 0 || strcmp(cmdtext,"/barreira", true) == 0)
Reply
#6

Quote:
Originally Posted by ReDKiiL
Посмотреть сообщение
Na Minha Forma Tb Da Certo.
Nem iria falar, mais o willian falo :P
Reply
#7

Segundo meu professor...

pawn Код:
if(!strcmp(cmdtext,"/br", true) || !strcmp(cmdtext,"/barreira", true))
Assim й mais profissional (REPITO: SEGUNDO MEU PROFESSOR)

mas ele й retardado entao vai saber...
Reply
#8

Vocк tem de contar quantos caracteres tem entre aspas

pawn Код:
if(strcmp("/br", cmdtext, true, 2) == 0
No caso 3. Entгo o certo й.

pawn Код:
if(strcmp("/br", cmdtext, true, 3) == 0
Reply
#9

Quote:
Originally Posted by Pharrel
Посмотреть сообщение
Segundo meu professor...

pawn Код:
if(!strcmp(cmdtext,"/br", true) || !strcmp(cmdtext,"/barreira", true))
Assim й mais profissional (REPITO: SEGUNDO MEU PROFESSOR)

mas ele й retardado entao vai saber...
sу uma dъvida, quem й seu professor ?
Reply
#10

Quote:
Originally Posted by [O.z]Caroline
Посмотреть сообщение
sу uma dъvida, quem й seu professor ?
Eu faзo faculdade de T.I., entao meu professor nгo й alguem ligado ao SA:MP , eu aprendi isso q eu postei antes em C e C++
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)