***************************MAKEADMIN.pwn(175) : error 035: argument type mismatch (argument 1) Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 1 Error.
CMD:makeadmin(playerid, params[])
{
new id, level;
if(IsPlayerAdmin(playerid))
{
if (sscanf(params, "ud", id, level)) return SendClientMessage(playerid, -1, "Syntax: /makeadmin [id] [level]");
else
{
new INI:File = INI_Open(UserPath(id));
INI_WriteInt(File, "Admin", level);
INI_Close(File);
SendClientMessage(playerid, -1, "Staff level has been set!");
new targetid[MAX_PLAYER_NAME+1];GetPlayerName(id, targetid, sizeof(targetid));
new promoter[MAX_PLAYER_NAME+1];GetPlayerName(playerid, promoter, sizeof(promoter));
new string[24+MAX_PLAYER_NAME+1];
new sTring[24+MAX_PLAYER_NAME+1];
new promoted[MAX_PLAYER_NAME+1];GetPlayerName(id, promoted, sizeof(promoted));
format(string, sizeof(string), "AdmCmd: %s has made %s admin level %d", promoter, targetid, level);
SendClientMessageToAll(0xAA3333AA, string);
format(promoted, sizeof(promoted), "You have been promoted to admin level %d by %s!", level, promoter);
SendClientMessage(promoted, 0x00CED1, sTring);
}
}
else return SendClientMessage(playerid, -1, "You are not a Staff Member!");
return 1;
}
COMMAND:makeadmin(playerid, params[])
{
if(IsPlayerAdmin(playerid))//put what admin level ur gonna be allowed to use this!
{
new targetid,integ;//or u can use Params[]
if(sscanf(params,"ui", targetid,integ)) return SendClientMessage(playerid,COLOR_0xFFFFFFAA,"Usage: /Makeadmin [playerid] [AdminLevel]");
if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,COLOR_WHITE,"Invalide Player ID"RED"(Player Is Not Connected)!");
new file[128],string[128];
new name[MAX_PLAYER_NAME];GetPlayerName(targetid, name, sizeof(name));
format(file,sizeof(file),"/LOcATION OF FILE/%s.ini",name);//make sure to hcange that !
new INI:Acc= INI_Open(file);
{
INI_WriteInt(Acc,"PlayerAdmin",PlayerInfo[targetid][PlayerAdmin] = integ);//use what ever u got for the admin level to save
INI_Close(Acc);
}
new player[MAX_PLAYER_NAME];GetPlayerName(playerid, player, sizeof(player));
format(string, sizeof(string), ""GREEN"You Have Given "BLUE"\"%s\""GREEN" level "YELLOW"%d"GREEN" Admin.", name, integ);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
return 1;
}
SendClientMessage(promoted, 0x00CED1, sTring);
CMD:makeadmin(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "You are not a Staff Member!");
new id, level;
if (sscanf(params, "ud", id, level)) return SendClientMessage(playerid, -1, "Syntax: /makeadmin [id] [level]");
if (id == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "Invalid player");
new INI:File = INI_Open(UserPath(id));
INI_WriteInt(File, "Admin", level);
INI_Close(File);
SendClientMessage(playerid, -1, "Staff level has been set!");
new targetid[MAX_PLAYER_NAME], promoter[MAX_PLAYER_NAME], string[84];
GetPlayerName(id, targetid, sizeof(targetid));
GetPlayerName(playerid, promoter, sizeof(promoter));
format(string, sizeof(string), "AdmCmd: %s has made %s admin level %d", promoter, targetid, level);
SendClientMessageToAll(0xAA3333AA, string);
format(string, sizeof(string), "You have been promoted to admin level %d by %s!", level, promoter);
SendClientMessage(id, 0x00CED1, string);
return 1;
}
|
I think MatriX is wrong. IsPlayerAdmin checks if the player id is a rcon admin, also known as if the player is logged into rcon. And it only checks for one parameter, the id of a player in this case the player typing /makeadmin, not any admin level. He maybe wanted /makeadmin to be only for rcon.
https://sampwiki.blast.hk/wiki/IsPlayerAdmin Anyways, what line is 175? |
|
pawn Код:
|