[Help] Making a restricted name script
#1

So, I want to add a restricted name section into my script so that when a new player joins the server with a restricted name (eg name_restrictedname) it will send them a message telling them to change it, set a time for 350ms then kick the player.

pawn Код:
#include                    <a_samp>
#include                    <zcmd>
#include                    <YSI\y_ini>
#include                    <SSCANF2>
#include                    <foreach>
pawn Код:
enum pInfo
{
    pPass,
    pCash,
    pAdmin,
    pLevel,
    pKills,
    pDeaths,
    pTimezone,
    pTimezoneEU,
    pTimezoneOC,
    pTimezoneNA,
    pHelperMod,
    pHelper,
    pNMuted,
    pOOCMuted
}
The admin commands would be

/viewrestrictednames - DIALOG_STYLE_MSGBOX, showing the list of all restricted names in the server, read from a .ini file (I guess, I'm not the best with Y_INI or any INI for that matter..). The "restricted names location" would be in scriptfiles/administration/'thefolder'.

/addrestrictedname - Adds a restricted name to the list.

/removerestrictedname - Removes a restricted name from the list.

/editrestrictednames - Allows to add/remove people to the authorization list (if they are on the authorization list then will not be kicked for having the name)



I'm new to these forums, sorry if this is in the wrong place.
Reply
#2

Can't be asked making the timer or the admin command's but here's a restricted name system by me on one of my last servers.

pawn Код:
stock RPnamecheck(playerid)
{
    new pname[MAX_PLAYER_NAME],underline=0;
    GetPlayerName(playerid, pname, sizeof(pname));
    if(strfind(pname,"[",true) != (-1)) return 0;
    else if(strfind(pname,"]",true) != (-1)) return 0;
    else if(strfind(pname,"$",true) != (-1)) return 0;
    else if(strfind(pname,"(",true) != (-1)) return 0;
    else if(strfind(pname,")",true) != (-1)) return 0;
    else if(strfind(pname,"=",true) != (-1)) return 0;
    else if(strfind(pname,"@",true) != (-1)) return 0;
    else if(strfind(pname,"1",true) != (-1)) return 0;
    else if(strfind(pname,"2",true) != (-1)) return 0;
    else if(strfind(pname,"3",true) != (-1)) return 0;
    else if(strfind(pname,"4",true) != (-1)) return 0;
    else if(strfind(pname,"5",true) != (-1)) return 0;
    else if(strfind(pname,"6",true) != (-1)) return 0;
    else if(strfind(pname,"7",true) != (-1)) return 0;
    else if(strfind(pname,"8",true) != (-1)) return 0;
    else if(strfind(pname,"9",true) != (-1)) return 0;
    else if(strfind(pname,"fuck",true) != (-1)) return 0;
    else if(strfind(pname,"FUCK",true) != (-1)) return 0;
    else if(strfind(pname,"Boobies",true) != (-1)) return 0;
    else if(strfind(pname,"Tupac_Shakur",true) != (-1)) return 0;
    else if(strfind(pname,"Pussy",true) != (-1)) return 0;
    else if(strfind(pname,"Rape",true) != (-1)) return 0;
    else if(strfind(pname,"kill",true) != (-1)) return 0;
    else if(strfind(pname,"shit",true) != (-1)) return 0;
    else if(strfind(pname,"ass",true) != (-1)) return 0;
    else if(strfind(pname,"Jack_Black",true) != (-1)) return 0;
    else if(strfind(pname,"Max_Kenton",true) != (-1)) return 0;
    else if(strfind(pname,"Will_Smith",true) != (-1)) return 0;
    else if(strfind(pname,"Jaden_Smith",true) != (-1)) return 0;
    else if(strfind(pname,"Megan_Fox",true) != (-1)) return 0;
    else if(strfind(pname,"Charlie_Kenton",true) != (-1)) return 0;
    else if(strfind(pname,"Hugh_Hefner",true) != (-1)) return 0;
    else if(strfind(pname,"Paris_Hilton",true) != (-1)) return 0;
    else if(strfind(pname,"Marshall_Mathers",true) != (-1)) return 0;
    else if(strfind(pname,"Sheldon_Cooper",true) != (-1)) return 0;
    else if(strfind(pname,"Jet_Lee",true) != (-1)) return 0;
    else if(strfind(pname,"Jackie_Chan",true) != (-1)) return 0;
    else if(strfind(pname,"Chuck_Norris",true) != (-1)) return 0;
    else if(strfind(pname,"Peter_Parker",true) != (-1)) return 0;
    else if(strfind(pname,"Spider_Man",true) != (-1)) return 0;
    else if(strfind(pname,"Bat_Man",true) != (-1)) return 0;
    else if(strfind(pname,"Emma_Stone",true) != (-1)) return 0;
    else if(strfind(pname,"whore",true) != (-1)) return 0;
    else if(strfind(pname,"Hugh_Jackman",true) != (-1)) return 0;
    else if(strfind(pname,"Charles_Kenton",true) != (-1)) return 0;
    else if(strfind(pname,"Dakota_Goyo",true) != (-1)) return 0;
    else if(strfind(pname,"Harry_Potter",true) != (-1)) return 0;
    else if(strfind(pname,"Chris_Hemsworth",true) != (-1)) return 0;
    else if(strfind(pname,"Penis",true) != (-1)) return 0;
    else if(strfind(pname,"Dick",true) != (-1)) return 0;
    else if(strfind(pname,"Vagina",true) != (-1)) return 0;
    else if(strfind(pname,"Cock",true) != (-1)) return 0;
    else if(strfind(pname,"Rectum",true) != (-1)) return 0;
    else if(strfind(pname,"Sperm",true) != (-1)) return 0;
    else if(strfind(pname,"Rektum",true) != (-1)) return 0;
    else if(strfind(pname,"Pistol",true) != (-1)) return 0;
    else if(strfind(pname,"AK47",true) != (-1)) return 0;
    else if(strfind(pname,"Shotgun",true) != (-1)) return 0;
    else if(strfind(pname,"Cum",true) != (-1)) return 0;
    else if(strfind(pname,"Hitler",true) != (-1)) return 0;
    else if(strfind(pname,"Jesus",true) != (-1)) return 0;
    else if(strfind(pname,"God",true) != (-1)) return 0;
    else if(strfind(pname,"Shotgun",true) != (-1)) return 0;
    else if(strfind(pname,"Desert_Eagle",true) != (-1)) return 0;
    else if(strfind(pname,"fucker",true) != (-1)) return 0;
    else if(strfind(pname,"Retard",true) != (-1)) return 0;
    else if(strfind(pname,"Tarded",true) != (-1)) return 0;
    else if(strfind(pname,"fanny",true) != (-1)) return 0;
    else if(strfind(pname,"Daniel_Hardy",true) != (-1)) return 0;
    else if(strfind(pname,"abcdefghijklmnopqrstuvwxyz",true) != (-1)) return 0;
    new maxname = strlen(pname);
    for(new i=0; i<maxname; i++)
    {
       if(pname[i] == '_') underline ++;
    }
    if(underline != 1) return 0;
    pname[0] = toupper(pname[0]);
    for(new x=1; x<maxname; x++)
    {
        if(pname[x] == '_') pname[x+1] = toupper(pname[x+1]);
        else if(pname[x] != '_' && pname[x-1] != '_') pname[x] = tolower(pname[x]);
    }
    SetPlayerName(playerid, "New_Name");
    SetPlayerName(playerid, pname);
    return 1;
}

public OnPlayerConnect(playerid)
{
if(!RPnamecheck(playerid)) {
            ShowPlayerDialog(playerid, 911, DIALOG_STYLE_INPUT, "{CC0000}Please Enter a suitable roleplay name roleplay name", "Los Entertainment Multimod\t\t\t\tIP::~~~~~\nIt seems like you do not have a roleplay name please pick one.(No Famous Names Got a good Anti-detect for that).", "Register", "Cancel");
            SendClientMessage(playerid,COLOR_RED,"HINT: Your name must be in Firstname_Lastname format, For example Jason_Brown.");
        }
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if (dialogid == 911)
    {
        SetPlayerName(playerid,(inputtext));
        if(!RPnamecheck(playerid)) {
            ShowPlayerDialog(playerid, 911, DIALOG_STYLE_INPUT, "{CC0000}Please Enter a suitable roleplay name roleplay name", "Los Entertainment Multimod\t\t\t\tIP::~~~~~\nIt seems like you do not have a roleplay name please pick one.(No Famous Names Got a good Anti-detect for that).", "Register", "Cancel");
            SendClientMessage(playerid,COLOR_RED,"HINT: Your name must be in Firstname_Lastname format, For example Jason_Brown.");
        }
        else
        {
            new name[MAX_PLAYER_NAME], rfile[256];
            GetPlayerName(playerid, name, sizeof(name));
            format(rfile, sizeof(rfile), ROLEPLAY_USER_FILE, name);
            if (!dini_Exists(rfile)) {
                ShowPlayerDialog(playerid, 912, DIALOG_STYLE_INPUT, "{CC0000}Please Register", "Los Entertainment Multimod\t\t\t\tIP::~~~~~\nIt seems like you are not registered for the rp world, type your password to continue.", "Register", "Cancel");
            }
            if(fexist(rfile)) {
                ShowPlayerDialog(playerid, 913, DIALOG_STYLE_INPUT, "{CC0000}Please Login", "Los Entertainment Multimod\t\t\t\tIP::~~~~~\nYou are registered, type your password to login and start roleplaying.", "Login", "Cancel");
            }
        }
    }
}
This make's it so if a player has a name such as Hugh_Jacksman or has a swear like dick with in his name it ask's him to change it. Not sure if this is what you are wanting but hope it helps.

That's just a guide to help you, I will not edit it for you to allow it to work with your server so sorry, I'm a bit busy to do that, But I might edit it tomorrow if you still have problems.
Reply
#3

Thanks for trying I guess, tho i wanted it dynamic.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)