invaild name? - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: invaild name? (
/showthread.php?tid=348823)
invaild name? -
sanrock - 06.06.2012
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)
Re: invaild name? -
Jonny5 - 06.06.2012
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
Re: invaild name? -
sanrock - 07.06.2012
I can still change my name to like 0
and 00000000000000000000000000000000000000000000000000 0000
Re: invaild name? -
sanrock - 07.06.2012
Bump
Re: invaild name? -
Jefff - 07.06.2012
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;
}