Comandos -
Ts3 - 27.08.2014
Bem, toda vez que eu executo um comando ele nгo funciona da forma desejada, se eu usar no meu ID(0) Funciona normal ok? se eu usar em um outro ID(1) Ele funciona em mim tambйm, criei alguns comandos quando fui testar a metade deles estгo assim D:
Um dos comandos e esse ''/Ir''
Queria saber o que tem de errado com ele.
pawn Код:
command(ir, playerid, params[])
{
new ID;
if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, Vermelho, "[ x ] Vocк nгo tem permissгo para usar esse comando!");
if(isnull(params)) return SendClientMessage(playerid, Vermelho,"[ x ] Uso correto: /Ir [ID]");
if(!IsPlayerConnected(strval(params))) return SendClientMessage(playerid, Vermelho, "[ x ] Jogador(a) nгo estб conectado(a)!");
format(dstring, sizeof dstring ,"[Admin] O(A) administrador(a) %s foi atй vocк", Nome(playerid));
SendClientMessage(ID, Laranja, dstring);
GetPlayerPos(ID, PosX, PosY, PosZ);
SetPlayerPos(playerid, PosX, PosY, PosZ);
SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(ID));
SetPlayerInterior(playerid, GetPlayerInterior(ID));
return 1;
Re: Comandos -
Bruno_Cyra - 27.08.2014
em algum momento vocк da algum valor para a variavel ID?
pelo que eu to vendo vocк sу criou a variavel ID mas nгo deu valor a ela, tente-a deixar desse jeito
Код:
command(ir, playerid, params[])
{
new ID;
if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, Vermelho, "[ x ] Vocк nгo tem permissгo para usar esse comando!");
if(isnull(params)) return SendClientMessage(playerid, Vermelho,"[ x ] Uso correto: /Ir [ID]");
if(!IsPlayerConnected(strval(params))) return SendClientMessage(playerid, Vermelho, "[ x ] Jogador(a) nгo estб conectado(a)!");
ID = strval(params);
format(dstring, sizeof dstring ,"[Admin] O(A) administrador(a) %s foi atй vocк", Nome(playerid));
SendClientMessage(ID, Laranja, dstring);
GetPlayerPos(ID, PosX, PosY, PosZ);
SetPlayerPos(playerid, PosX, PosY, PosZ);
SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(ID));
SetPlayerInterior(playerid, GetPlayerInterior(ID));
return 1;
}
Re: Comandos -
Ts3 - 27.08.2014
funcionou obrigado +rep
Mas se no caso eu usar sscanf? й sу dar um valor a ela com vocк fez?
Olhem o cуdigo:
pawn Код:
command(kick, playerid, params[])
{
new ID, Motivo[150];
if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, Vermelho, "[ x ] Vocк nгo tem permissгo para usar esse comando!");
if(sscanf(params, "us[128]", ID, Motivo)) return SendClientMessage(playerid, Vermelho, "[ x ] Uso correto: /kickar [ID] [motivo]");
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 kickar vocк mesmo!");
ID = strval(params);
format(dstring, sizeof(dstring), "[Admin] Vocк foi kickado pelo(a) adminstrador(a) %s [Motivo: %s]", NomePlayer(playerid), Motivo);
SendClientMessage(ID, Laranja, dstring);
format(dstring, sizeof(dstring), "[Admin] O(A) adminstrador(a) %s kickou o(a) jogador(a) %s [Motivo: %s]", NomePlayer(playerid), NomePlayer(playerid), Motivo);
SendClientMessageToAll(Snow, dstring);
SetTimerEx("Kickado", 1000, false, "d", playerid);
return 1;
}
Esse nгo estб funcionando da forma desejada.. quando eu uso o comando eu que sou kickado.
Re: Comandos -
ViniBorn - 27.08.2014
Usando sscanf vocк nгo precisa colocar ID = strval(params); o sscanf jб faz isso.
No SetTimerEx vocк estб usando playerid, em vez de ID.
Re: Comandos -
Ts3 - 27.08.2014
Valeu vini arrumei
(nгo consegui dar rep)
Me tira uma dъvida, existe alguma funзгo que verifique se o player tem tal score para pode usar o comando?
Re: Comandos -
ViniBorn - 28.08.2014
Existe sim :
GetPlayerScore
Re: Comandos -
Ts3 - 28.08.2014
Eu digo, uma funзгo parecida com essa:
pawn Код:
if(PlayerInfo[playerid][pScore] < 100) return SendClientMessage(playerid, -1, "Vocк nao tem level suficiente, mнnimo 100");
Como fazer isso com GetPlayerScore. o.O
Re: Comandos -
Spectral - 28.08.2014
Й isso:
pawn Код:
if(GetPlayerScore(playerid) < 99) return SendClientMessage(playerid, -1, "Vocк nao tem level suficiente, mнnimo 100");
Explicando:
pawn Код:
GetPlayerScore(playerid) //Geta o score atual do player
< 99 //Detecta se й 99 ou menos
return SendClientMessage //Retorna uma mensagem indicando que nгo tem score maior que 99