Here you go, works as it supposed to.
pawn Код:
enum pInfo
{
pAdmin,
AdminName[24],
PlayerName[24],
bool:HasSetAdminName,
OnDuty
}
new PlayerInfo[MAX_PLAYERS][pInfo];
CMD:setadmin(playerid, params[])
{
new
lvl,
a_string[65],
name[MAX_PLAYER_NAME]
;
if(sscanf(params, "i", lvl))
{
return SendClientMessage(playerid, -1, "USAGE: /setadmin [level]");
}
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
PlayerInfo[playerid][PlayerName] = name;
PlayerInfo[playerid][pAdmin] = lvl;
format(a_string, 65, "You are now admin level %d.", lvl);
SendClientMessage(playerid, -1, a_string);
return 1;
}
CMD:setadminname(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 1)
{
return SendClientMessage(playerid, -1, "You are not an admin.");
}
new
adminname[24],
a_string[65]
;
if(sscanf(params, "s[24]", adminname))
{
return SendClientMessage(playerid, -1, "USAGE: /setadminanme [name]");
}
PlayerInfo[playerid][AdminName] = adminname;
format(a_string, 65, "Your admin name is %s.", PlayerInfo[playerid][AdminName]);
SendClientMessage(playerid, -1, a_string);
PlayerInfo[playerid][HasSetAdminName] = true;
return 1;
}
CMD:adminduty(playerid, params[])
{
if(!PlayerInfo[playerid][pAdmin])
{
return SendClientMessage(playerid, -1, "You are not an admin.");
}
if(PlayerInfo[playerid][OnDuty])
{
SetPlayerName(playerid, PlayerInfo[playerid][PlayerName]);
PlayerInfo[playerid][OnDuty] = false;
}
else
{
if(!PlayerInfo[playerid][HasSetAdminName])
{
return SendClientMessage(playerid, -1, "You haven't set an admin name yet.");
}
SetPlayerName(playerid, PlayerInfo[playerid][AdminName]);
PlayerInfo[playerid][OnDuty] = true;
}
return 1;
}