Salut, incearca asta dar o sa iti trebuiasca urmatoarele:
- include u
// adauga asta langa celelalte includuri
#include <YSI\y_iterate>
#include <foreach>
- iteratorul si variabila
// acesta este iteratorul
new Iterator:server_admins<MAX_PLAYERS>;
// aceasta este variabila
new admin_hidden[MAX_PLAYERS];
- la onplayerconnect o adaugi
// onplayerconnect(..
admin_hidden[playerid] = 0;
- la onplayerdisconnect adaugi iteratorul
// onplayerdisconnect(..
if(Iter_Contains(server_admins, playerid)) Iter_Remove(server_admins, playerid);
- dupa ce se logheaza playerul verifici daca are admin, acesta sa fie pus pe lista cu iteratori
// functia ta(..
if(PlayerInfo[playerid][pAdmin]) Iter_Add(server_admins, playerid); // de modificat variabila de admin, daca este nevoie
- stock ul pentru nume
// il poti pune oriunde
stock GetName(playerid) {
new name[20];
GetPlayerName(playerid, name, sizeof(name));
return name;
}
- comanda de ascuns si de test
// o poti pune unde vrei, mai poti adauga daca crezi ca este insuficient
YCMD:ahidden(playerid, params[], help) {
if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, COLOR_GREY, "nu ai nivelul necesar de admin"); // de modificat variabila de admin, daca este nevoie
admin_hidden[playerid] = 1;
SendClientMessage(playerid, COLOR_WHITE, "esti ascuns din lista de admini");
return true;
}
// test?
YCMD:debug(playerid, params[], help) {
admin_hidden[playerid] = 0;
return true;
}
- comanda de facut admin?
YCMD:makeadmin(playerid, params[], help) {
Iter_Add(server_admins, playerid);
return true;
}
- comanda de vazut admini
// comanda, o pui unde doresti
YCMD:admins(playerid, params[], help) {
if(Iter_Count(server_admins) == 0) return SendClientMessage(playerid, COLOR_WHITE, "no admins online");
foreach(new i : server_admins) {
switch(admin_hidden[i]) {
case 0: {
new litstr[50]; format(litstr, 50, "%s - admin level %d", GetName(i), PlayerInfo[i][pAdmin]); // aici ai nevoie sa modifici doar variabila de admin, daca este nevoie
SendClientMessage(playerid, COLOR_WHITE, litstr);
}
case 1: return true;
}
}
return true;
}
Cam asta este, am facut cu ce stiam ca e mai bine iar in legatura cu comanda, sunt 95% sigur ca merge, daca intampini probleme, imi spui.