SA-MP Forums Archive
[Ajuda] Passar Zcmd + sscanf para strtok - 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] Passar Zcmd + sscanf para strtok (/showthread.php?tid=468330)



Passar Zcmd + sscanf para strtok - BaianoIn - 07.10.2013

Queria passar esse comando que esta em zcmd para strtok

pawn Код:
CMD:irpresente(playerid, params[])
{
    new LePresente;
    new Float:OP1[3], Float:OP2[3], Float:OP3[3], Float:OP4[3], Float:OP5[3];
    GetObjectPos(Presentes[0], OP1[0], OP1[1], OP1[2]);
    GetObjectPos(Presentes[1], OP2[0], OP2[1], OP2[2]);
    GetObjectPos(Presentes[2], OP3[0], OP3[1], OP3[2]);
    GetObjectPos(Presentes[3], OP4[0], OP4[1], OP4[2]);
    GetObjectPos(Presentes[4], OP5[0], OP5[1], OP5[2]);
    if(!IsPlayerAdmin(playerid)) return Msg(playerid, -1, "[FaiL] Vocк nгo й um Admin!");
    if(sscanf(params, "d", LePresente)) return Msg(playerid, -1, "Use: /irpresente [1-5]");
    if(LePresente < 1 || LePresente > 5) return Msg(playerid, -1, "Use: /irpresente [1-5]");
    if(PresentesON == false) return Msg(playerid, -1, "[FaiL] Desculpe, mas nгo foram dados presentes ainda");
    if(LePresente == 1)
    {
        if(Presente1 == true) return Msg(playerid, -1, "[FaiL] Este presente jб foi pego");
        SetPlayerPos(playerid, OP1[0], OP1[1], OP1[2]);
    }
    else if(LePresente == 2)
    {
        if(Presente2 == true) return Msg(playerid, -1, "[FaiL] Este presente jб foi pego");
        SetPlayerPos(playerid, OP2[0], OP2[1], OP2[2]);
    }
    else if(LePresente == 3)
    {
        if(Presente3 == true) return Msg(playerid, -1, "[FaiL] Este presente jб foi pego");
        SetPlayerPos(playerid, OP3[0], OP3[1], OP3[2]);
    }
    else if(LePresente == 4)
    {
        if(Presente4 == true) return Msg(playerid, -1, "[FaiL] Este presente jб foi pego");
        SetPlayerPos(playerid, OP4[0], OP4[1], OP4[2]);
    }
    else if(LePresente == 5)
    {
        if(Presente5 == true) return Msg(playerid, -1, "[FaiL] Este presente jб foi pego");
        SetPlayerPos(playerid, OP5[0], OP5[1], OP5[2]);
    }
    return 1;
}
й necessitaria as linhas :

pawn Код:
if(sscanf(params, "d", LePresente)) return Msg(playerid, -1, "Use: /irpresente [1-5]");
        if(LePresente < 1 || LePresente > 5) return Msg(playerid, -1, "Use: /irpresente [1-5]");



Re: Passar Zcmd + sscanf para strtok - TheKoDaK - 07.10.2013

Troque:
pawn Код:
if(sscanf(params, "d", LePresente)) return Msg(playerid, -1, "Use: /irpresente [1-5]");
        if(LePresente < 1 || LePresente > 5) return Msg(playerid, -1, "Use: /irpresente [1-5]");
Por:
pawn Код:
tmp = strtok(cmdtext, idx);
LePresente = ReturnUser(tmp);
if(LePresente < 1 || LePresente > 5) return Msg(playerid, -1, "Use: /irpresente [1-5]");



Re: Passar Zcmd + sscanf para strtok - BaianoIn - 07.10.2013

Ta repitindo a mensagem:
pawn Код:
Use: /irpresente [1-5]



Re: Passar Zcmd + sscanf para strtok - TheKoDaK - 07.10.2013

Coloque no Comando
pawn Код:
if(!strlen(tmp)) return SendClientMessage(playerid, -1, "{FFFFFF}/irpresente [1-5]");



Re: Passar Zcmd + sscanf para strtok - PT - 07.10.2013

n aconselho a fazer isso, vai perder desempenho


Re: Passar Zcmd + sscanf para strtok - BaianoIn - 07.10.2013

Continua repetindo a mensagem
pawn Код:
Use: /irpresente [1-5]
@PT todos meus comandos jб estгo em strtok


Re: Passar Zcmd + sscanf para strtok - PT - 07.10.2013

passe-os para sscanf, ganhara muito mais com isso...


Re: Passar Zcmd + sscanf para strtok - P1c4550 - 07.10.2013

deveria passa todos os comandos pra sscanf e zcmd
eles ficariao mas rapidos strtok e obsoleta


Re: Passar Zcmd + sscanf para strtok - TheKoDaK - 07.10.2013

Sim eu aconcelho tambйm usar ZCMD & sscanf.

Pois o processamento dos seus comandos ficara mais rapido


Re: Passar Zcmd + sscanf para strtok - PT - 07.10.2013

y_commands e sscanf se quiser melhorar ainda mais