24.08.2016, 00:38
This is what I have in my script. You can have a few ideas. If you need me to explain anything just message me.
PHP код:
CMD:setname(playerid,params[])
{
new Query[128],id;
if(PlayerInfo[playerid][pAdmin] < 3) return 0;
if(sscanf(params,"is[30]",id,params)) return SendClientMessage(playerid,-1,"Usage: /setname [PlayerID] [New Name]");
if(strlen(params) < 3) return SendClientMessage(playerid,COLOR_RED,"Error: Your new name must be longer than 3 characters");
mysql_format(mysql, Query, sizeof(Query), "SELECT * FROM Users WHERE Name = '%s' LIMIT 1",GetName(id));
mysql_tquery(mysql, Query, "OnAccountSetName", "iis",playerid,id,params);
return 1;
}
PHP код:
forward OnAccountSetName(playerid, id, newname[]);
public OnAccountSetName(playerid,id, newname[])
{
new query[512],string[128];
if(!cache_num_rows())
{
return SendClientMessage(playerid, COLOR_RED, "Error: No account exists");
}
else
{
mysql_format(mysql,query, sizeof(query), "UPDATE Users SET Name='%s' WHERE Name = '%s'",newname,GetName(id));
mysql_tquery(mysql, query,"", "");
format(string,sizeof(string),"Admin Log: %s has changed %s account name to %s",GetName(playerid),GetName(id),newname);
ABroadCast(COLOR_ADMIN,string,1);
SetPlayerName(id,newname);
SendClientMessage(id,-1,"An Admin has changed your account name");
}
return 1;
}