Command /Pm -
Ts3 - 19.07.2014
pawn Код:
command(pm, playerid, params[])
{
new string[230];
if(isnull(params)) return SendClientMessage(playerid, Vermelho, "[ x ] Uso correto: /Pm [ID] [Texto]");
if(!IsPlayerConnected(strval(params))) return SendClientMessage(playerid, Vermelho, "[ x ] Jogador(a) nгo estб conectado(a)!");
//if(strval(params) == playerid)return SendClientMessage(playerid, Vermelho, "[ x ] Vocк nгo pode usar esse comando em si prуprio!");
format(string,sizeof(string),"(PM)(E) %s [%d] {FFFFFF}%s", Nome(playerid), playerid, params);
SendClientMessage(playerid,Cinza,string);
format(string,sizeof(string),"(PM)® %s [%d] {FFFFFF}%s", Nome(playerid), playerid, params);
SendClientMessage(playerid,Cinza,string);
GameTextForPlayer(playerid, "~y~PM RECEBIDA!", 3000, 5);
PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
return 1;
}
Bem, Meu comando /pm ta bugado nao consegui corrigir..
eu digito /pm [id] [texto]
entao envio a mensagem (PM)® Nick [0] 0 texto
antes do texto ta saindo um zero ''0'' nao sei de onde estб vindo em outros comando tambйm estб saindo, mas nao sei o por que, alguйm ajuda.
+Rep pra quem ajudar!
Re: Command /Pm -
ViniBorn - 19.07.2014
0 й o valor de params, que й justamente o ID que vocк digitou...
Tente usar sscanf, e o problema acaba
Re: Command /Pm -
PT - 19.07.2014
esta condicao so й usada quando o comando tem 1 parametro, quando sao parametros multiplos como ID e Texto seguidos, vc tem de usar sscanf, caso contrario o comando nao funciona e retorna a 0.
pawn Код:
if(sscanf(params, "us[128]", params[0], params[1]))
return SendClientMessage(playerid, -1, "Uso: /PM [id] [Msg]");
ja tens ai a base.
Re: Command /Pm -
Ts3 - 19.07.2014
PT nгo tem como fazer isso de outra forma sem ser com sscanf?
Re: Command /Pm -
ViniBorn - 19.07.2014
Hб outra forma com strtok, que comparando com sscanf й pior em todos os sentidos.
Re: Command /Pm -
Ts3 - 19.07.2014
Sim vini eu vi no wiki, prefiro nao usar... essas sao as ъnicas formas?
tentei fazer assim mas deu erro..
pawn Код:
command(pm, playerid, params[])
{
if(isnull(params)) return SendClientMessage(playerid, Vermelho, "[ x ] Uso correto: /Pm [ID] [Texto]");
new texto[150];
texto = strval(params[0]);
if(!IsPlayerConnected(strval(params))) return SendClientMessage(playerid, Vermelho, "[ x ] Jogador(a) nгo estб conectado(a)!");
//if(strval(params) == playerid)return SendClientMessage(playerid, Vermelho, "[ x ] Vocк nгo pode usar esse comando em si prуprio!");
format(dstring,sizeof(dstring),"(PM)(E) %s [%d] {FFFFFF}%s", Nome(playerid),playerid,texto);
SendClientMessage(playerid,Cinza,dstring);
format(dstring,sizeof(dstring),"(PM)® %s [%d] {FFFFFF}%s", Nome(playerid),playerid,texto);
SendClientMessage(playerid,Cinza,dstring);
GameTextForPlayer(playerid, "~y~PM RECEBIDA!", 3000, 5);
PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
return 1;
}
Re: Command /Pm -
ViniBorn - 19.07.2014
Por que vocк prefere nгo usar sscanf se й o caminho mais fбcil e prбtico?
Re: Command /Pm -
Ts3 - 19.07.2014
Porquк eu tive um problema com a sscanf o cmd nгo pegava entгo tirei ela, mas antes de tirar pesquisei, atualizei a sscanf2 e o plugin e nгo funcionou. :/
Re: Command /Pm -
ViniBorn - 19.07.2014
Й melhor eu te ajudar a arrumar esse problema...
Usa o ъltimo plugin junto com a include sscanf2
Re: Command /Pm -
Ts3 - 19.07.2014
fiz o que disse, continua.. Tento usar o cmd /pm
Aparece: Use /pm id texto
Sendo q estou digitando certo.
.-.
sscanf error: system not initialised.