What's wrong with this name on/off cmd
#1

It doesnt give errors, just doesnt work.

pawn Код:
CMD:name(playerid, params[])
{
    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, "u", playerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /name [on]/[off]");
    if(!strcmp(params, "on", true))
    {
        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++)
        {
            ShowPlayerNameTagForPlayer(i, playerid, 0);
        }
    }
    else if(!strcmp(params, "off", true))
    {
        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++)
        {
            ShowPlayerNameTagForPlayer(i, playerid, 1);
        }
    }
    return 1;
}
Reply
#2

Quote:
Originally Posted by Fiore
Посмотреть сообщение
It doesnt give errors, just doesnt work.

pawn Код:
CMD:name(playerid, params[])
{
    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, "u", playerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /name [on]/[off]");
    if(!strcmp(params, "on", true))
    {
        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++)
        {
            ShowPlayerNameTagForPlayer(i, playerid, 0);
        }
    }
    else if(!strcmp(params, "off", true))
    {
        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++)
        {
            ShowPlayerNameTagForPlayer(i, playerid, 1);
        }
    }
    return 1;
}
Try this:

Код:
CMD:name(playerid, params[])
{
    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, "ui", playerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /name [on]/[off]");
    if(!strcmp(params, "on", true))
    {
        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++)
        {
            ShowPlayerNameTagForPlayer(i, playerid, 0);
        }
    }
    else if(!strcmp(params, "off", true))
    {
        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++)
        {
            ShowPlayerNameTagForPlayer(i, playerid, 1);
        }
    }
    return 1;
}
Reply
#3

Doesn't work, any suggestions?
Reply
#4

Quote:
Originally Posted by Fiore
Посмотреть сообщение
Doesn't work, any suggestions?
Sorry don't know
Reply
#5

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.
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;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)