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:
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
@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