invaild name?
#1

pawn Код:
CMD:changename(playerid, params[])
{
    new newname[24];
    new string[128];
    new pname[MAX_PLAYER_NAME];
    if(sscanf(params, "s[24]",newname))return SendClientMessage(playerid, COLOR_RED,"Usage: /changename <New Name>");

    GetPlayerName(playerid,pname,24);
    new query1[256],escapename[24];
    mysql_real_escape_string(newname, escapename);
    format(query1, sizeof(query1), "SELECT `user` FROM `playerdata` WHERE `user` = '%s'", escapename);
    mysql_query(query1);
    mysql_store_result();
    new rows = mysql_num_rows();
    if(!rows)
    {
        new query[256];
        format(query, sizeof(query), "UPDATE `playerdata` SET `user`= '%s' WHERE `user` ='%s'",escapename,pname);
        mysql_query(query);
        SetPlayerName(playerid ,newname);
        format(string, sizeof(string),"You have changed your name to %s", newname);
        SendClientMessage(playerid, COLOR_GRAYDARK, string);
        format(string, sizeof(string),"%s has changed their name into %s", pname, newname);
        SendMessageToAllAdmins(string, COLOR_GRAYDARK);
    }
    else if(rows == 1)
    {
        SendClientMessage(playerid, COLOR_RED, "This name already exists!");
    }
    mysql_free_result();
    return 1;
}
how do I make it put like invaild name if someone does 3 letters and under?
like

SendClientMessage(playerid, COLOR_RED, "Invaild name"

But how do I make it detect if it invaild?

3 and under letters (invaild)
Reply
#2

pawn Код:
if (4 > strlen(newname) > 24) return // your message here saying their name is under 4 or over 24 and invalid
i added the check for over 24 also, even though your string is set for size 24 so really you wont need that just

pawn Код:
if (4 > strlen(newname) ) return // your message here saying their name is under 4
Reply
#3

I can still change my name to like 0
and 00000000000000000000000000000000000000000000000000 0000
Reply
#4

Bump
Reply
#5

pawn Код:
CMD:changename(playerid, params[])
{
    new newname[24];
    new string[128];
    new pname[MAX_PLAYER_NAME];
    if(isnull(params)) SendClientMessage(playerid, COLOR_RED,"Usage: /changename <New Name>");
    else if(!(3 < strlen(params) < 21)) SendClientMessage(playerid, COLOR_RED, "Invaild name");
    else{
        GetPlayerName(playerid,pname,24);
        new query1[256],escapename[24];
        mysql_real_escape_string(params, escapename);
        format(query1, sizeof(query1), "SELECT `user` FROM `playerdata` WHERE `user` = '%s' LIMIT 1;", escapename);
        mysql_query(query1);
        mysql_store_result();
        if(!mysql_num_rows())
        {
            new query[256];
            format(query, sizeof(query), "UPDATE `playerdata` SET `user`= '%s' WHERE `user` ='%s'",escapename,pname);
            mysql_query(query);
            SetPlayerName(playerid,escapename);
            format(string, sizeof(string),"You have changed your name to %s", escapename);
            SendClientMessage(playerid, COLOR_GRAYDARK, string);
            format(string, sizeof(string),"%s has changed their name into %s", pname, escapename);
            SendMessageToAllAdmins(string, COLOR_GRAYDARK);
        }
        else SendClientMessage(playerid, COLOR_RED, "This name already exists!");
        mysql_free_result();
    }
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)