03.03.2012, 13:29
now i get some problem with "That name is registered by someone"
pawn Код:
CMD:setname(playerid, params[])
{
new name[24];
GetPlayerName(playerid,Nam,sizeof(Nam));
if(Logged[playerid] == 0)return SCM(playerid,orange,"Please login before using this command.");
if(sscanf(params,"s[24]",name))return SCM(playerid,grey,"USAGE: /setname [new name]");
if(strlen(name) < 3) return SCM(playerid,orange,"Your name cannot be less than 3 characters.");
if(strlen(name) > 20) return SCM(playerid,orange,"Your name cannot be more than 20 characters.");
format(str,sizeof(str),"SELECT * FROM accounts WHERE Name = '%s'",name);
mysql_query(str);
if(mysql_num_rows() != 0)
{
SCM(playerid,red,"ERROR: That Name is already Used by someone!");
}
if(mysql_num_rows() == 0)
{
if(strfind(name, "!", true) != -1 || strfind(name, "@", true) != -1 || strfind(name, "#", true) != -1 || strfind(name, "$", true) != -1 || strfind(name, "^", true) != -1 || strfind(name, "&", true) != -1 || strfind(name, "'", true) != -1)return SCM(playerid,red,"Please do not use symbols in your name.");
if(strfind(name, " ", true) != -1)return SCM(playerid,red,"Don't use spaces in your name.");
GetPlayerName(playerid,Nam,sizeof(Nam));
format( str, sizeof( str ), "UPDATE `accounts` SET `Name` = '%s' WHERE `Name` = '%s'",name,Nam);
mysql_query(str);
//Achievement Change
format(query,sizeof(query),"UPDATE `Achievement` SET `Name` = '%s' WHERE `Name` = '%s'",name,Nam);
mysql_query(query);
//Business Change
format(str,sizeof(str),"SELECT * FROM `Business` WHERE `Owner` = '%s'",Nam);
mysql_query(str);
if(PlayerData[playerid][OwnBus] == 1)
{
format(str,sizeof(str),"UPDATE `Business` SET `Owner` = '%s'",name);
mysql_query(str);
}
//TcR Name
if(strfind(name,"[TcR]",true) != -1)
{
format(str,sizeof(str),"SELECT `Name` FROM `clanmembers` WHERE `Name` = '%s'",Nam);
mysql_query(str);
mysql_store_result();
new rows = mysql_num_rows();
mysql_free_result();
if(!rows) SCM(playerid,red,"ERROR: Your not in the [TcR] Clan");
else{
format(str,sizeof(str),"UDPATE `clanmembers` SET `Name` = '%s' WHERE `Name` = '%s'",name,Nam);
mysql_query(str);
}
}
//Org Change
format(str,sizeof(str),"SELECT * FROM orgs WHERE Orgid = %d",PlayerData[playerid][Member]);
mysql_query(str);
if(PlayerData[playerid][Leader] == 1)
{
GetPlayerName(playerid,Nam,sizeof(Nam));
mysql_store_result();
format(str,sizeof(str),"UPDATE orgs SET Leader = '%s' WHERE Orgid = '%d'",name,PlayerData[playerid][Member]);
mysql_query(str);
mysql_free_result();
format(OrgInfo[PlayerData[playerid][Member]][LName],24,"%s",name);
mysql_query(str);
}
format(str,sizeof(str),"You have changed your name to {FF0000}%s.",name);
SCM(playerid,lightyellow,str);
format(str,sizeof(str),"{FF0000}%s{FFFFFF} has changed his name to {8080FF}%s",Nam,name);
SendClientMessageToAll(-1,str);
SetPlayerName(playerid,name);
}
return 1;
}