//Con pNick dice que el comando NO EXISTE
COMMAND:congelar(playerid,params[])
{
if(Informacion[playerid][Admin] >= 1)
{
new id;
if(sscanf(params,"d",id))
{
if(Informacion[id][Idioma]==0) SendClientMessage(playerid,-1,"Usa: {FF0000}/congelar {FFFFFF}[ID/Nombre]");
if(Informacion[id][Idioma]==1) SendClientMessage(playerid,-1,"Use: {FF0000}/freeze {FFFFFF}[ID/Name]");
return 1;
}
if(!IsPlayerConnected(id)) return SendClientMessage(playerid,0xFF0000FF,"Jugador no conectado");
TogglePlayerControllable(id,0);
new st[128 char];
if(Informacion[id][Idioma]==0) format(st,128,"Has congelado a {FF0000}%s (%d)",pNick(id),id);
if(Informacion[id][Idioma]==1) format(st,128,"You freeze {FF0000}%s (%d)",pNick(id),id);
SendClientMessage(playerid,-1,st);
if(Informacion[id][Idioma]==0) SendClientMessage(id,-1,"Has sido congelado por {FF0000}un admin");
if(Informacion[id][Idioma]==1) SendClientMessage(id,-1,"You was freeze by{FF0000} admin");
return 1;
}
return 1;
}
//Pero si saco el pNick y pongo por ej: "id"
COMMAND:congelar(playerid,params[])
{
if(Informacion[playerid][Admin] >= 1)
{
new id;
if(sscanf(params,"d",id))
{
if(Informacion[id][Idioma]==0) SendClientMessage(playerid,-1,"Usa: {FF0000}/congelar {FFFFFF}[ID/Nombre]");
if(Informacion[id][Idioma]==1) SendClientMessage(playerid,-1,"Use: {FF0000}/freeze {FFFFFF}[ID/Name]");
return 1;
}
if(!IsPlayerConnected(id)) return SendClientMessage(playerid,0xFF0000FF,"Jugador no conectado");
TogglePlayerControllable(id,0);
new st[128 char];
if(Informacion[id][Idioma]==0) format(st,128,"Has congelado a {FF0000}%s (%d)",id,id);
if(Informacion[id][Idioma]==1) format(st,128,"You freeze {FF0000}%s (%d)",id,id);
SendClientMessage(playerid,-1,st);
if(Informacion[id][Idioma]==0) SendClientMessage(id,-1,"Has sido congelado por {FF0000}un admin");
if(Informacion[id][Idioma]==1) SendClientMessage(id,-1,"You was freeze by{FF0000} admin");
return 1;
}
return 1;
}
//el comando anda PERFECTO (obviamente no muestra el nombre)
stock pNick(playerid)
{
new nick[MAX_PLAYER_NAME];
GetPlayerName(playerid, nick, MAX_PLAYER_NAME);
return nick;
}
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,24);
Anduve probando con GetPlayerName
pawn Код:
|
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof (name));
new name[24];
GetPlayerName(playerid, name, 24);
Por que definis con MAX_PLAYER_NAME si despuйs usas 24.
Podes probar de 2 formas: pawn Код:
pawn Код:
|
Estas causando un overflow, el tamaсo de st deberia ser 128, no 128 chars.
(...) |