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.

