29.12.2012, 23:27
Well first of all, you are using the sscanf parameter 'u' to retrieve a string such as 'on' and 'off'. The u parameter is specifically used for playerids/parts of player names.
You need to change this to s.
You need to change this to s.
pawn Код:
CMD:name(playerid, params[])
{
new string[5];
if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You need to login first before using any command.");
if(PlayerInfo[playerid][pLevel] < 3) return SendClientMessage(playerid, COLOR_GREY, "You must be level 3+ to use this command.");
if(sscanf(params, "s", string)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /name [on]/[off]");
if(strcmp(string, "on", true) == 0)
{
SendClientMessage(playerid,COLOR_LIME,"[NAME] Your name has been successfully hidden !");
GameTextForPlayer(playerid,"~r~showname off",3000,1);
for(new i = 0; i != MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
ShowPlayerNameTagForPlayer(i, playerid, 0);
}
}
}
else if(strcmp(string, "off", true) == 0)
{
SendClientMessage(playerid,COLOR_LIME,"[NAME] Your name has been successfully unhidden !");
GameTextForPlayer(playerid,"~g~showname on",3000,1);
for(new i = 0; i != MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
ShowPlayerNameTagForPlayer(i, playerid, 1);
}
}
}
else return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /name [on]/[off]");
return 1;
}