ShowNameTags Question
#1

Can I use the function ShowNameTags in an admin command to show/hide everyones name tag's? Or will it not work as a command?

This is what I mean (will this work fine?):

pawn Код:
if(strcmp(cmd, "/hidealltags", true) == 0)
    {
        ShowNameTags(0);
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i))
            {
                PlayerInfo[i][pMaskuse] = 1;
                KillTimer(MaskOnTimer[i]);
                SendClientMessage(i, COLOR_WHITE, "Your mask has been turned off by an admin. If you own a mask you may turn it back off.");
            }
&
pawn Код:
if(strcmp(cmd, "/showalltags", true) == 0)
    {
        ShowNameTags(1);
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
                if(IsPlayerConnected(i))
                {
                    KillTimer(MaskOnTimer[i]);
                    PlayerInfo[i][pMaskuse] = 0;
                    SendClientMessage(i, COLOR_WHITE, "Your name has been unhidden by an admin. If you own a mask you may turn it back on now.");
                }
            }
Reply
#2

You do not need repeating timers to enable/disable nametag. Nor masks, nor any callbacks. This is a simple way to do this:
pawn Код:
new tags[MAX_PLAYERS];
if(strcmp(cmd, "/hidealltags", true) == 0)
    {
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i))
            {
                if (tags[i]==1)
                {
                ShowPlayerNameTagForPlayer(playerid, i, 0);
                SendClientMessage(i, COLOR_WHITE, "Your mask has been turned off by an admin. If you own a mask you may turn it back off.");
                tags[i]=0;
               }
               else SendClientMessage(playerid, COLOR_WHITE, "Name tags are already off.");
            }
        }
        return 1;
    }
   
if(strcmp(cmd, "/showalltags", true) == 0)
    {
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
                if(IsPlayerConnected(i))
                {
                    if (tags[i]==0)
                    {
                    ShowPlayerNameTagForPlayer(playerid, i, 1);
                    SendClientMessage(i, COLOR_WHITE, "Your name has been unhidden by an admin. If you own a mask you may turn it back on now.");
                    tags[i]=1;
                    }
                    else SendClientMessage(playerid, COLOR_WHITE, "Name tags are already on.");
                }
        }
        return 1;
    }
tags can be just tags too. without max_players.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)