[AJUDA] 2 Comandos em UM problema.
#1

Olб, estou com um simples problema, nгo sei o local correto onde por um retorno no comando abaixo, no caso eu uso 2 comandos em 1 й:

/giveweap [id do player] [id da arma] e no mesmo comando uso um "ids" no caso /giveweap ids , para ver ids das armas.

Porem quando executo o /giveweap ids , ele resonhece o /giveweap tambem, e recebo no caso as duas mensagens

Admin CMD: %s usou o comando /GIVEWEAP
Admin CMD: %s usou o comando /GIVEWEAP IDS

Como faзo sу para executar 1 comando por vez?


pawn Код:
COMMAND:giveweap(playerid,params[])
{
    if(PlayerAcc[playerid][AdminLevel] >= 2)
    {
        if(PlayerLogged[playerid] == 1)
        {
        new string[128];
        new pnamee[MAX_PLAYER_NAME];
        GetPlayerName(playerid, pnamee, MAX_PLAYER_NAME);
        format(string, sizeof(string), "Admin CMD: %s usou o comando /GIVEWEAP.", pnamee);
        SendMessageToAdmins(COLOR_ROSA, string);
        //
            new Target;
            new Weapid;
            if(!sscanf(params, "ui", Target, Weapid))
            {
                if(Target == INVALID_PLAYER_ID) return SendClientMessage(playerid,red,"ERRO: ID jogador errado");
                if(Weapid > 46) return SendClientMessage(playerid,red,"ERRO: IDs de armas de 0 atй 46");
                GivePlayerWeapon(Target,Weapid,6000);
                new tname[MAX_PLAYER_NAME];
                GetPlayerName(Target,tname,sizeof(tname));
                new pname[MAX_PLAYER_NAME];
                GetPlayerName(playerid,pname,sizeof(pname));
                new tstring[256];
                new pstring[256];
                format(tstring,sizeof(tstring),"Vocк recebeu arma(ID:%d) com muniзгo 6 Mil em muniзгo de %s",Weapid,pname);
                format(pstring,sizeof(pstring),"Vocк deu arma(ID:%d) com 6 mil em muniзгo para %s(%d)",Weapid,tname,Target);
                SendClientMessage(Target,COLOR_BLUE,tstring);
                SendClientMessage(playerid,COLOR_BLUE,pstring);
            }
            else SendClientMessage(playerid,COLOR_YELLOW,"USO: /giveweap <playerid> <weapid>");
        }
        else SendClientMessage(playerid,red,"ERRO: Vocк precisa estar logado para usar este comando!");
    }
    SendClientMessage(playerid,red,"ERRO: Vocк deve ser um Nнvel Admin 2 ou superior para executar este comando!");

if(!strcmp(params, "ids", true))
{
    if(PlayerAcc[playerid][AdminLevel] >=1)
    {
        if(PlayerLogged[playerid] == 1)
        {
        new string[2000];
        strcat(string,"{FFFFFF}1(Soco Inglкs) 2(Taco Golf) 3(Cassetete) 4(Faca) 5(Taco Baseball) 6(Pб) 7(Taco Sinuca) 8(Katana) 9(Moto-Serra) 10-13(Dildo) 14(Flores)\n");
        strcat(string,"{FFFFFF}15(Cane) 16(Granadas) 17(Tear Gas) 18(Molotovs) 22(Pistol) 23(SPistol) 24(Eagle) 25(shotgun) 26(Sawn-Off) 27(Combat) 28(Uzi) \n");
        strcat(string,"{FFFFFF}29(MP5) 30(AK47) 31(M4) 32(Tec) 33(Rifle) 34(Sniper) 35(RPG) 36(HS Rocket) 37(Lanзa-Chamas) 38(Minigun)\n");
        strcat(string,"{FFFFFF}39(Explosivos) 40(Detonador) 41(spray) 42(extintor) 43(Camera) 44(Oculos) 45(Oculos2) 46(Paraquedas)\n");
        ShowPlayerDialog(playerid,WeapidsCmdsDialog,DIALOG_STYLE_MSGBOX,"{FF002B}NOME E ID's ARMAS:",string,"OK","");
                //
        new pnamee[MAX_PLAYER_NAME];
        GetPlayerName(playerid, pnamee, MAX_PLAYER_NAME);
        format(string, sizeof(string), "Admin CMD: %s usou o comando /GIVEWEAP IDS.", pnamee);
        SendMessageToAdmins(COLOR_ROSA, string);
        }
        else SendClientMessage(playerid,red,"ERRO: Vocк precisa estar logado para executar este comando!");
    }
    else SendClientMessage(playerid, red, "ERRO: Vocк tem que ter um nнvel de administrador 1 ou superior para executar este comando!");
    return 1;
    }
return 0;
}
Reply
#2

mano, nao entendi por que quer que os 2 seja de uma vez '-' й bem melhor separado pq, o cara vai ver os ids antes de dar a arma, nao dar a arma e dps ve os ids '-----'
Reply
#3

Mano, o negocio й o espaзo no comando.

Tipo se eu por separado COMMAND:giveweap ids(playerid,params[]) dб erro.


jб com "ids" eu posso usalo com espaзo /giveweap ids

Intendeu?
Reply
#4

use sscanf =]
Reply
#5

isso nгo da para fazer acho '-'
Reply
#6

Quote:
Originally Posted by [R] ousenber [K]
Посмотреть сообщение
isso nгo da para fazer acho '-'
aff vceis tao pior que eu em pawn, como nao da, veja no Xtremeadmin2...

.-.
Reply
#7

Creio que tenha como sim!

Tente usar este cуdigo, nгo dou certeza que irб funcionar pois ъltimamente estou muito ruim em Pawn:

pawn Код:
COMMAND:giveweap(playerid,params[])
{
    if(PlayerAcc[playerid][AdminLevel] >= 2)
    {
        if(PlayerLogged[playerid] == 1)
        {
            if(!strcmp(params, "ids", true))
            {
                new string[2000];
                strcat(string,"{FFFFFF}1(Soco Inglкs) 2(Taco Golf) 3(Cassetete) 4(Faca) 5(Taco Baseball) 6(Pб) 7(Taco Sinuca) 8(Katana) 9(Moto-Serra) 10-13(Dildo) 14(Flores)\n");
                strcat(string,"{FFFFFF}15(Cane) 16(Granadas) 17(Tear Gas) 18(Molotovs) 22(Pistol) 23(SPistol) 24(Eagle) 25(shotgun) 26(Sawn-Off) 27(Combat) 28(Uzi) \n");
                strcat(string,"{FFFFFF}29(MP5) 30(AK47) 31(M4) 32(Tec) 33(Rifle) 34(Sniper) 35(RPG) 36(HS Rocket) 37(Lanзa-Chamas) 38(Minigun)\n");
                strcat(string,"{FFFFFF}39(Explosivos) 40(Detonador) 41(spray) 42(extintor) 43(Camera) 44(Oculos) 45(Oculos2) 46(Paraquedas)\n");
                ShowPlayerDialog(playerid,WeapidsCmdsDialog,DIALOG_STYLE_MSGBOX,"{FF002B}NOME E ID's ARMAS:",string,"OK","");
                //
                new pnamee[MAX_PLAYER_NAME];
                GetPlayerName(playerid, pnamee, MAX_PLAYER_NAME);
                format(string, sizeof(string), "Admin CMD: %s usou o comando /GIVEWEAP IDS.", pnamee);
                SendMessageToAdmins(COLOR_ROSA, string);
                return 1;
            }
            new string[128];
            new pnamee[MAX_PLAYER_NAME];
            GetPlayerName(playerid, pnamee, MAX_PLAYER_NAME);
            format(string, sizeof(string), "Admin CMD: %s usou o comando /GIVEWEAP.", pnamee);
            SendMessageToAdmins(COLOR_ROSA, string);
            //
            new Target;
            new Weapid;
            if(!sscanf(params, "ui", Target, Weapid))
            {
                if(Target == INVALID_PLAYER_ID) return SendClientMessage(playerid,red,"ERRO: ID jogador errado");
                if(Weapid > 46) return SendClientMessage(playerid,red,"ERRO: IDs de armas de 0 atй 46");
                GivePlayerWeapon(Target,Weapid,6000);
                new tname[MAX_PLAYER_NAME];
                GetPlayerName(Target,tname,sizeof(tname));
                new pname[MAX_PLAYER_NAME];
                GetPlayerName(playerid,pname,sizeof(pname));
                new tstring[256];
                new pstring[256];
                format(tstring,sizeof(tstring),"Vocк recebeu arma(ID:%d) com muniзгo 6 Mil em muniзгo de %s",Weapid,pname);
                format(pstring,sizeof(pstring),"Vocк deu arma(ID:%d) com 6 mil em muniзгo para %s(%d)",Weapid,tname,Target);
                SendClientMessage(Target,COLOR_BLUE,tstring);
                SendClientMessage(playerid,COLOR_BLUE,pstring);
            }
            else SendClientMessage(playerid,COLOR_YELLOW,"USO: /giveweap <playerid> <weapid>");
        }
        else SendClientMessage(playerid,red,"ERRO: Vocк precisa estar logado para usar este comando!");
    }
    SendClientMessage(playerid,red,"ERRO: Vocк deve ser um Nнvel Admin 2 ou superior para executar este comando!");
    return 0;
}
Reply
#8

Amigo marcelodell deu certo, porйm acho que alguma return ou local estб errado, unico problema й, mesmo eu sendo level 5, estou recenbendo a mensagem: ERRO: Vocк deve ser um Nнvel Admin 2 ou superior para executar este comando!
Reply
#9

Faz tempo que nгo mecho com SA:MP, entгo nгo sei se o cуdigo que usei й o correto:

pawn Код:
COMMAND:giveweap(playerid,params[])
{
    if(PlayerAcc[playerid][AdminLevel] >= 2)
    {
        if(PlayerLogged[playerid] == 1)
        {
            if(!strcmp(params, "ids", true))
            {
                new string[2000];
                strcat(string,"{FFFFFF}1(Soco Inglкs) 2(Taco Golf) 3(Cassetete) 4(Faca) 5(Taco Baseball) 6(Pб) 7(Taco Sinuca) 8(Katana) 9(Moto-Serra) 10-13(Dildo) 14(Flores)\n");
                strcat(string,"{FFFFFF}15(Cane) 16(Granadas) 17(Tear Gas) 18(Molotovs) 22(Pistol) 23(SPistol) 24(Eagle) 25(shotgun) 26(Sawn-Off) 27(Combat) 28(Uzi) \n");
                strcat(string,"{FFFFFF}29(MP5) 30(AK47) 31(M4) 32(Tec) 33(Rifle) 34(Sniper) 35(RPG) 36(HS Rocket) 37(Lanзa-Chamas) 38(Minigun)\n");
                strcat(string,"{FFFFFF}39(Explosivos) 40(Detonador) 41(spray) 42(extintor) 43(Camera) 44(Oculos) 45(Oculos2) 46(Paraquedas)\n");
                ShowPlayerDialog(playerid,WeapidsCmdsDialog,DIALOG_STYLE_MSGBOX,"{FF002B}NOME E ID's ARMAS:",string,"OK","");
                //
                new pnamee[MAX_PLAYER_NAME];
                GetPlayerName(playerid, pnamee, MAX_PLAYER_NAME);
                format(string, sizeof(string), "Admin CMD: %s usou o comando /GIVEWEAP IDS.", pnamee);
                SendMessageToAdmins(COLOR_ROSA, string);
                return 1;
            }
            new string[128];
            new pnamee[MAX_PLAYER_NAME];
            GetPlayerName(playerid, pnamee, MAX_PLAYER_NAME);
            format(string, sizeof(string), "Admin CMD: %s usou o comando /GIVEWEAP.", pnamee);
            SendMessageToAdmins(COLOR_ROSA, string);
            //
            new Target;
            new Weapid;
            if(!sscanf(params, "ui", Target, Weapid))
            {
                if(Target == INVALID_PLAYER_ID) return SendClientMessage(playerid,red,"ERRO: ID jogador errado");
                if(Weapid > 46) return SendClientMessage(playerid,red,"ERRO: IDs de armas de 0 atй 46");
                GivePlayerWeapon(Target,Weapid,6000);
                new tname[MAX_PLAYER_NAME];
                GetPlayerName(Target,tname,sizeof(tname));
                new pname[MAX_PLAYER_NAME];
                GetPlayerName(playerid,pname,sizeof(pname));
                new tstring[256];
                new pstring[256];
                format(tstring,sizeof(tstring),"Vocк recebeu arma(ID:%d) com muniзгo 6 Mil em muniзгo de %s",Weapid,pname);
                format(pstring,sizeof(pstring),"Vocк deu arma(ID:%d) com 6 mil em muniзгo para %s(%d)",Weapid,tname,Target);
                SendClientMessage(Target,COLOR_BLUE,tstring);
                SendClientMessage(playerid,COLOR_BLUE,pstring);
            }
            else return SendClientMessage(playerid,COLOR_YELLOW,"USO: /giveweap <playerid> <weapid>");
        }
        else return SendClientMessage(playerid,red,"ERRO: Vocк precisa estar logado para usar este comando!");
    }
    else return SendClientMessage(playerid,red,"ERRO: Vocк deve ser um Nнvel Admin 2 ou superior para executar este comando!");
    return 0;
}
Reply
#10

Vlw mano agora deu certim, + rep pra vc.!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)