23.08.2016, 13:16
This is what i tried:-
@Shinja
SaveData function:-
PHP код:
CMD:cname(playerid, params[])
{
LoginCheck(playerid);
LevelCheck(playerid, 3);
new
string[128],
id,
newname[24]
;
if(sscanf(params, "us[24]", id, newname)) return SendClientMessage(playerid, COLOR_RED, "<!> [Error] /cname [playerid] [new name]");
if(strlen(newname) < 3 || strlen(newname) > MAX_PLAYER_NAME) return SendClientMessage(playerid, COLOR_RED, "[Error] Invalid Name Length.");
if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, "[Error] Player not connected.");
if(User[playerid][accountAdmin] < User[id][accountAdmin]) return SendClientMessage(playerid, COLOR_RED, "[Error] You cannot use this command on higher admin.");
SaveData(id);
User[id][accountLogged] = false;
#if LOG == true
format(string, sizeof string, "Administrator %s has set %s's name to %s", pName(playerid), pName(id), newname);
SaveLog("account.txt", string);
#endif
new Query2[128+50];
format(Query2, 100, "DELETE FROM `users` WHERE `username` = '%s'", pName(id));
db_query(Database, Query2);
db_free_result(db_query(Database, Query2));
format(string, sizeof(string), "You have set \"%s's\" name to \"%s\".", pName(id), newname); SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "Administrator \"%s\" has set your name to \"%s\".", pName(playerid), newname); SendClientMessage(id, COLOR_YELLOW, string);
SetPlayerName(id, newname);
SendClientMessage(id, -1, "You have been logged out from your current account, Reconnecting to the server...");
return 1;
}
SaveData function:-
PHP код:
stock SaveData(playerid)
{
new
Query[700+1000]
;
format(Query, sizeof(Query), "UPDATE `users` SET `IP` = '%s', `admin` = %d, `kills` = %d, `deaths` = %d, `score` = %d, `money` = %d, `warn` = %d, `mute` = %d, `mutesec` = %d, `cmute` = %d, `cmutesec` = %d, `jail` = %d, `jailsec` = %d, `hours` = %d, `minutes` = %d, `seconds` = %d, `question` = '%s', `answer` = '%s' WHERE `username` = '%s'",
DB_Escape(User[playerid][accountIP]),
User[playerid][accountAdmin],
User[playerid][accountKills],
User[playerid][accountDeaths],
User[playerid][accountScore],
User[playerid][accountCash],
User[playerid][accountWarn],
User[playerid][accountMuted],
User[playerid][accountMuteSec],
User[playerid][accountCMuted],
User[playerid][accountCMuteSec],
User[playerid][accountJail],
User[playerid][accountJailSec],
User[playerid][accountGame][2],
User[playerid][accountGame][1],
User[playerid][accountGame][0],
DB_Escape(User[playerid][accountQuestion]),
DB_Escape(User[playerid][accountAnswer]),
DB_Escape(User[playerid][accountName])
);
db_query(Database, Query);
db_free_result(db_query(Database, Query));
return 1;
}