rp name detecter
#1

can any one make rp name detecter filterscript for me please..
Reply
#2

pawn Код:
public OnPlayerConnect(playerid)
{
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));

    if(!IsRPName(name, 1))
    {
        SendClientMessage(playerid, 0xF96B6BFF, "SYNTAX{FFFFFF}: You don't have a roleplaying name! Please reconnect using a name in Firstname_Lastname format!");
        SendClientMessage(playerid, 0xF96B6BFF, "SYNTAX{FFFFFF}: Make sure the name you choose is realistic, one you would use in real life! (i.e. ''John_Smith'')");

        SetTimerEx("DelayedKick", 250, false, "i", playerid);

        return false;
    }
   
    return true;
}


forward DelayedKick(playerid);
public DelayedKick(playerid)
{
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));

    printf("[kick] %s (%d) has been (automated) kick(ed) by the system.", name, playerid);
    Kick(playerid);

    return true;
}

stock IsRPName(const name[], max_underscores = 1)
{
    new underscores = 0;

    if (name[0] < 'A' || name[0] > 'Z') return false; // first letter != capital

    for(new i = 1; i < strlen(name); i++)
    {
        if(name[i] != '_' && (name[i] < 'A' || name[i] > 'Z') && (name[i] < 'a' || name[i] > 'z')) return false; // a-zA-Z_
        if( (name[i] >= 'A' && name[i] <= 'Z') && (name[i - 1] != '_') ) return false; // unneeded capital letter

        if(name[i] == '_')
        {
            underscores++;
            if(underscores > max_underscores || i == strlen(name)) return false; // more than defined underline
            if(name[i + 1] < 'A' || name[i + 1] > 'Z') return false; // no capital letter after underline
        }
    }

    if (underscores == 0) return false; // no underline

    return true;
}
Reply
#3

Thanks Rep+
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)