Making Admin Name (+REP and REWARDS WHO CAN HELP ME)
#7

Quote:
Originally Posted by ShadeWalker
Посмотреть сообщение
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;
}
Nice BRO nice one!

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.
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 2 Guest(s)