28.01.2015, 10:22
Quote:
Try this, You're lukey if it's work
Код:
CMD:aduty(playerid, params[]) { if(PlayerInfo[playerid][pAdmin] >= 1) { if(PlayerInfo[playerid][pAdminDuty] == 0) { new playername[MAX_PLAYER_NAME]; GetPlayerName(playerid, playername, sizeof(playername)); new string[120]; if(PlayerInfo[playerid][pAdminNameSet] == 0) { return SendClientMessage(playerid, -1, "You must set your admin name before going on duty.( /aname )"); } // SetPlayerName(playerid, PlayerInfo[playerid][pAdminName]); SetPlayerName(playerid, PlayerInfo[playerid][pAdminName]); format(string, sizeof(string), "** Administrator %s is now on admin duty. (/report for assistance) **", GetPlayerNameEx(playerid)); SendClientMessageToAllEx(COLOR_YELLOW, string); PlayerInfo[playerid][pAdminNameSet] = 1; PlayerInfo[playerid][pAdminDuty] = 1; SetPlayerHealth(playerid, 100000); SetPlayerArmour(playerid, 100000); format(string, sizeof(string), "users/%s.ini", playername); fremove(string); OnPlayerStatsUpdate(playerid); return 1; } else if(PlayerInfo[playerid][pAdminDuty] == 1) { new playername[MAX_PLAYER_NAME]; GetPlayerName(playerid, playername, sizeof(playername)); new string[120]; if(PlayerInfo[playerid][pNormalNameSet] == 0) { return SendClientMessage(playerid, -1, "You must set your player name before going off duty.( /playername )"); } format(string, sizeof(string), "** Administrator %s is now off admin duty. **", GetPlayerNameEx(playerid)); SendClientMessageToAllEx(COLOR_YELLOW, string); PlayerInfo[playerid][pNormalNameSet] = 1; PlayerInfo[playerid][pAdminDuty] = 0; SetPlayerHealth(playerid, 100); SetPlayerArmour(playerid, 100); format(string, sizeof(string), "users/%s.ini", playername); fremove(string); SetPlayerName(playerid, PlayerInfo[playerid][pNormalName]); OnPlayerStatsUpdate(playerid); return 1; } } return SendClientMessage(playerid, COLOR_GRAD2, NOTADMIN); } CMD:aname(playerid, params[]) { new string[150], name[MAX_PLAYER_NAME]; new playername[MAX_PLAYER_NAME]; if(sscanf(params, "s[24]", name)) return SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /aname [name]"); if(strlen(name) < MAX_PLAYER_NAME) { if (PlayerInfo[playerid][pAdmin] >= 1) { if(!doesAccountExist(name)) { new stringname[50]; new newname[MAX_PLAYER_NAME + 10]; GetPlayerName(playerid, playername, sizeof(playername)); format(stringname, sizeof(stringname), "users/%s.ini", playername); format(newname, sizeof(newname), "users/%s.ini", name); SendClientMessageEx(playerid,COLOR_YELLOW,"Your admin name has been set!"); format(string, sizeof(string), "%s set their admin name to \"%s\"",GetPlayerNameEx(playerid),name); Log("logs/stats.log", string); PlayerInfo[playerid][pAdminNameSet] = 1; strmid(PlayerInfo[playerid][pAdminName], name, 0, strlen(name), 32); fremove(stringname); OnPlayerStatsUpdate(playerid); return 1; } else { SendClientMessageEx(playerid, COLOR_WHITE, "That name is already registered."); } } else { SendClientMessageEx(playerid, COLOR_GRAD2, "You aren't authorised to use this command."); } } else { SendClientMessageEx(playerid, COLOR_GRAD2, "Your chosen name is too long. Please make it shorter."); } return 1; } CMD:playername(playerid, params[]) { new string[150], name[MAX_PLAYER_NAME]; new playername[MAX_PLAYER_NAME]; if(sscanf(params, "s[24]", name)) return SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /playername [name]"); if(IsPlayerConnected(playerid)) { if (PlayerInfo[playerid][pAdmin] >= 1) { if(!doesAccountExist(name)) { new stringname[50]; new newname[MAX_PLAYER_NAME + 10]; GetPlayerName(playerid, playername, sizeof(playername)); format(stringname, sizeof(stringname), "users/%s.ini", playername); format(newname, sizeof(newname), "users/%s.ini", name); SendClientMessageEx(playerid,COLOR_YELLOW,"Your player name has been set!"); format(string, sizeof(string), "%s set their player name to \"%s\"",GetPlayerNameEx(playerid),name); Log("logs/stats.log", string); PlayerInfo[playerid][pNormalNameSet] = 1; strmid(PlayerInfo[playerid][pNormalName], name, 0, strlen(name), 32); fremove(stringname); OnPlayerStatsUpdate(playerid); return 1; } else { SendClientMessageEx(playerid, COLOR_WHITE, "That name is already registered."); } } else { SendClientMessageEx(playerid, COLOR_GRAD2, "You aren't authorised to use this command."); } } else { SendClientMessageEx(playerid, COLOR_GRAD2, "Mhmm... For some reason you're not connected.."); } return 1; } |
Now i want
When the admin goes on duty, The last position, weapons , health , armor, money, stats , level, and name should be saved.
Now when the admin goes off duty, The last position, weapons , health , armor, money, stats , level and name should be loaded.
Is that possible? May i have the code.