format(Query, sizeof Query, "SELECT * FROM `accounts` WHERE `Name` = '%s' LIMIT 1", pName);
"UPDATE `accounts` SET `Name` = '%s' WHERE `Name` = '%s' LIMIT 1"
CMD:changename(playerid, params[])
{
new targetid,name[128];
if(PInfo[playerid][Level] < 2 || !IsPlayerAdmin(playerid)) return 0;
else if (sscanf(params,"us",targetid,name))SendClientMessage(playerid,RED,"Usage: /changename [Playerid] [New name]");
else if(!IsPlayerConnected(targetid))SendClientMessage(playerid,RED,"Error: Player is not connected!");
else {
new string[128],n[MAX_PLAYER_NAME];
GetPlayerName(targetid,n,sizeof(n));
SetPlayerName(targetid,name);
format(string,sizeof(string),"Admin %s [ID:%d] Has set %s [ID:%d] name to %s",Name(playerid),playerid,n,targetid,name);
SendClientMessageToAll(YELLOW,string);
format(string,sizeof(string),"Your Name has been set to %s by Admin %s[ID:%d]",Name(targetid),n,playerid);
SendClientMessage(playerid,GREEN,string);
}
return 1;
}
CMD:changename(playerid, params[])
{
new targetid,name[128],query[100];
if(PInfo[playerid][Level] < 2 || !IsPlayerAdmin(playerid)) return 0;
else if (sscanf(params,"us",targetid,name))SendClientMessage(playerid,RED,"Usage: /changename [Playerid] [New name]");
else if(!IsPlayerConnected(targetid))SendClientMessage(playerid,RED,"Error: Player is not connected!");
else {
new string[128],n[MAX_PLAYER_NAME];
GetPlayerName(targetid,n,sizeof(n));
format(query,sizeof(query),"UPDATE `accounts` SET `Name` = '%s' WHERE `Name` = '%s'",name,n);
mysql_query(query);
SetPlayerName(targetid,name);
format(string,sizeof(string),"Admin %s [ID:%d] Has set %s [ID:%d] name to %s",Name(playerid),playerid,n,targetid,name);
SendClientMessageToAll(YELLOW,string);
format(string,sizeof(string),"Your Name has been set to %s by Admin %s[ID:%d]",Name(targetid),n,playerid);
SendClientMessage(playerid,GREEN,string);
}
return 1;
}
CMD:changename(playerid, params[])
{
new targetid,name[MAX_PLAYER_NAME];
if(PInfo[playerid][Level] < 2 || !IsPlayerAdmin(playerid)) return 0;
if (sscanf(params,"us[24]",targetid,name))SendClientMessage(playerid,RED,"Usage: /changename [Playerid] [New name]");
if(!IsPlayerConnected(targetid))SendClientMessage(playerid,RED,"Error: Player is not connected!");
new string[128],n[MAX_PLAYER_NAME];
GetPlayerName(targetid,n,sizeof(n));
SetPlayerName(targetid,name);
format(string,sizeof(string),"Admin %s [ID:%d] Has set %s [ID:%d] name to %s",Name(playerid),playerid,n,targetid,name);
SendClientMessageToAll(YELLOW,string);
format(string,sizeof(string),"Your Name has been set to %s by Admin %s[ID:%d]",Name(targetid),n,playerid);
SendClientMessage(playerid,GREEN,string);
format(string, sizeof string, "UPDATE `accounts` SET `Name` = '%s' WHERE `Name` = '%s' LIMIT 1", name, n);
//mysql_query(string); // Non-threaded queries
//mysql_tquery( connectionHandle, string, "", "" ); // Threaded queries
return 1;
}
You use use the size on "s" specifier in sscanf.
pawn Код:
|
Originally Posted by ******
Note that disabling prints is a VERY bad idea when developing code as you open yourself up to unreported buffer overflows when no length is specified on strings less than 32 cells (the default length).
|