Quote:
Originally Posted by MyUndiesSmell
Isn't that what I have?
Код:
new adminLevel;
new PID;
new name[MAX_PLAYER_NAME], string[24+MAX_PLAYER_NAME];
GetPlayerName(PID, name, sizeof(name));
if(sscanf(params, "ud", PID, adminLevel)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setadmin [playerid] [admin-level]");
if(!IsPlayerConnected(PID)) return SendClientMessage(playerid, COLOR_WHITE, "Player is not connected");
PlayerInfo[PID][pAdmin] = adminLevel;
format(string, sizeof(string), "[ADMIN]: You have set %s's admin level to %d.", name, adminLevel);
SendClientMessage(playerid, COLOR_SERVER, string);
|
You get the name after you make the PID variabile that will be always 0 because the code it's executed line after line, so when GetPlayerName(PID, name, sizeof(name)); it's got executed PID is 0 and always 0 in that moment...
You need to put
PHP код:
GetPlayerName(PID, name, sizeof(name));
after
PHP код:
if(sscanf(params, "ud", PID, adminLevel)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setadmin [playerid] [admin-level]");
if(!IsPlayerConnected(PID)) return SendClientMessage(playerid, COLOR_WHITE, "Player is not connected");
where the PID get a new value that you specified....
So your code need to look like this:
PHP код:
new adminLevel;
new PID;
new name[MAX_PLAYER_NAME], string[24+MAX_PLAYER_NAME];
if(sscanf(params, "ud", PID, adminLevel)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setadmin [playerid] [admin-level]");
if(!IsPlayerConnected(PID)) return SendClientMessage(playerid, COLOR_WHITE, "Player is not connected");
GetPlayerName(PID, name, sizeof(name));//Here PID is specified and is valid (it's get the value that you enter for [playerid])
PlayerInfo[PID][pAdmin] = adminLevel;
format(string, sizeof(string), "[ADMIN]: You have set %s's admin level to %d.", name, adminLevel);
SendClientMessage(playerid, COLOR_SERVER, string);
I hope that i explained well, it's hard you are not a native english speaker and it's your second language
Or try a code above,they are all corect