[HELP] Mask with random number [+REP]
#1

Hi , i have a mask system , the problem is admins can not ban them , cause they don't know their names (whene they put mask) , so i want to set a random number for the player whene he puts the mask like :

Stranger_0451214 whene he speak or something ,

so admins can do /ban 0451214

i hope you help me
the Mask command :
pawn Код:
if(strcmp(cmd, "/mask", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(PlayerInfo[playerid][pMaskuse] == 0)
            {
                if(PlayerInfo[playerid][pMask] == 0)
                {
                     SendClientMessage(playerid, COLOR_GRAD1, "you don't have any mask!");
                     return 1;
                }
                if(PlayerInfo[playerid][pLevel] < 9)
                {
                    SendClientMessage(playerid, COLOR_GRAD1, "mask only for level 9!");
                    return 1;
                }
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(IsPlayerConnected(i))
                    {
                        ShowPlayerNameTagForPlayer(i, playerid, 0);
                    }
                }
                PlayerInfo[playerid][pMaskuse] = 1;
                SendClientMessage(playerid, COLOR_WHITE, "you've put your mask in your head [/mask to remove it].");
                GetPlayerName(playerid, sendername, sizeof(sendername));
                format(string, sizeof(string), "* %s puts his mask.", sendername);
                ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
            }
            else
            {
                if(PlayerInfo[playerid][pMask] == 0)
                {
                    SendClientMessage(playerid, COLOR_GRAD1, "you don't have any mask");
                    return 1;
                }
                if(PlayerInfo[playerid][pLevel] < 9)
                {
                    SendClientMessage(playerid, COLOR_GRAD1, "you can not remove a mask");
                    return 1;
                }
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(IsPlayerConnected(i))
                    {
                       ShowPlayerNameTagForPlayer(i, playerid, 1);
                    }
                }
                PlayerInfo[playerid][pMaskuse] = 0;
                SendClientMessage(playerid, COLOR_WHITE, "you removed your mask [/masque to wear it].");
                GetPlayerName(playerid, sendername, sizeof(sendername));
                format(string, sizeof(string), "* %s puts off his mask.", sendername);
                ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
            }
        }
        return 1;
    }
the Ban CMD :
pawn Код:
if(strcmp(cmd, "/ban", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /ban [ID] [Reason]");
                return 1;
            }
            giveplayerid = ReturnUser(tmp);
            if (PlayerInfo[playerid][pAdmin] >= 4)
            {
                if(IsPlayerConnected(giveplayerid))
                {
                    if(giveplayerid != INVALID_PLAYER_ID)
                    {
                        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        new length = strlen(cmdtext);
                        while ((idx < length) && (cmdtext[idx] <= ' '))
                        {
                            idx++;
                        }
                        new offset = idx;
                        new result[80];
                        while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
                        {
                            result[idx - offset] = cmdtext[idx];
                            idx++;
                        }
                        result[idx - offset] = EOS;
                        if(!strlen(result))
                        {
                            SendClientMessage(playerid, COLOR_GRAD2, "[CMD]: /ban [ID] [Reason]");
                            return 1;
                        }
                        new year, month,day;
                        getdate(year, month, day);
                        format(string, sizeof(string), "[INFO] %s has banned %s, reason: %s (%d-%d-%d)", giveplayer, sendername, (result),month,day,year);
                        BanLog(string);
                        format(string, sizeof(string), "[INFO]%s quits the server by an Administrateur, raison: %s", giveplayer, (result));
                        SendClientMessageToAll(COLOR_LIGHTRED, string);
                        PlayerInfo[giveplayerid][pLocked] = 1;
                        Ban(giveplayerid);
                        return 1;
                    }
                }//not connected
            }
            else
            {
                format(string, sizeof(string), "   %d isn't connected.", giveplayerid);
                SendClientMessage(playerid, COLOR_GRAD1, string);
            }
        }
        return 1;
    }
i know that it takes a long time but please i need a help badly...
Reply
#2

I never experienced in it., but i can help you by giving an idea.You used an for loop which the players connected cannot see the name tag . put if(!IsPlayerAdmin(i)).
this will help the admin only can view the name tag so it's simple.right ah..
Reply
#3

Great idea ! i will think about it , thank u
Reply


Forum Jump:


Users browsing this thread: