O comanda simpla de [/admins], nu este cel mai eficient mod, dar este usor de inteles pentru incepatori.
CMD:admins(playerid, params[]) { //Folosim ZCMD, daca aveti YCMD inlocuiti cu echivalentul vostru
SendClientMessage(playerid, COLOR_WHITE, "{ABABAD}--------------------{FFFFFF}Admins Online{ABABAD}--------------------"); // Trimitem un mesaj cu titlul comenzii
for(new i = 0; i <= MAX_PLAYERS; i++) { // Aici avem o bulca for, care declara o noua variabila i si se duce prin maximul de playeri
if (IsPlayerConnected(i)){ // Verificam daca jucatorul este online
if (PlayerInfo[i][pAdmin] >= 1) { // Verificam daca jucatorul are admin
new admstring[256]; //Facem un nou string
format(admstring, sizeof(admstring), "(%d) %s - Admin %d", i, GetName(i), PlayerInfo[i][pAdmin]); // Il formatam
SendClientMessage(playerid, COLOR_WHITE, admstring); // Trimitem mesajul la executorul comenzii
}// Inchidem verificarea pentru admin
}//Inchidem verificarea pentru status-ul jucatorului
}// Inchidem bucla
SendClientMessage(playerid, COLOR_WHITE, "{ABABAD}-------------------------------------------------------------");//Trimitem finalul comenzii
return 1; //Aceasta linie zice jocului ca aceasta comanda a fost executata cu succes, si ca nu ar trebuii sa arate mesajul cu Unknown Command
} // Inchidem bucla ZCMD
Asemanator putem face si o comanda de [/helpers].
Comenzi de [/goto] si [/gethere]
CMD:gethere(playerid, params[]) { // Din nou, avem ZCMD
new id; //Declaram o noua variabila numita ID.
if(sscanf(params, "u", id)) return SendClientMessage(playerid, COLOR_LIGHTRED, "Syntax: /gethere <id>"); //Scanam parametrii si daca nu avem un ID returnam un mesaj
if(PlayerInfo[playerid][pAdmin] < 3) return SendClientMessage(playerid, COLOR_LIGHTRED, "Nu esti autorizat sa folosesti aceasta comanda!"); // Verificam nivelul de admin
if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_LIGHTRED, "Acel jucator nu este conectat!"); // Verificam daca jucatorul specificat este conectat
if(id == playerid) return SendClientMessage(playerid, COLOR_LIGHTRED, "Nu poti sa iti dai /gethere singur!"); // Verificam daca id-ul specificat este al executorului
new admstring[256]; // Declaram un nou string
format(admstring, sizeof(admstring), "AdmCMD: %s a folosit /gethere pe %s.", GetName(playerid), GetName(id)); // Formatam string-ul
new Float:x, Float:y, Float:z; // Declaram 3 variabile de tip Float in care tinem pozitia executorului
GetPlayerPos(playerid, x, y, z); // Luam pozitia executorului
SetPlayerPos(id, x, y, z+1); // Setam pozitia id-ului specificat
for(new i = 0; i < MAX_PLAYERS; i++) { // O noua bucla for
if(IsPlayerConnected(i)) { // Verificam daca jucatorul este online
if(PlayerInfo[i][pAdmin] >= 1) { // Verificam daca jucatorul are admin
SendClientMessage(i, COLOR_LIGHTRED, admstring); //Trimitem mesajul la jucator
} //Inchidem verificarea de admin
} //Inchidem verificarea de status
}//Inchidem bucla
return 1; // Precizam ca aceasta comanda s-a executat cu succes
} //Inchidem bucla comenzii
CMD:goto(playerid, params[]) { // Avem ZCMD
new id; // O variabila noua de tip ID
if(sscanf(params, "u", id)) return SendClientMessage(playerid, COLOR_LIGHTRED, "Syntax: /goto <id>"); // Scanam parametrii pentru a salva id-ul
if(PlayerInfo[playerid][pAdmin] < 3) return SendClientMessage(playerid, COLOR_LIGHTRED, "Nu esti autorizat sa folosesti aceasta comanda!"); // Verificam nivelul de admin
if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_LIGHTRED, "Acel jucator nu este conectat!"); // Verificam daca jucatorul este conectat
if(id == playerid) return SendClientMessage(playerid, COLOR_LIGHTRED, "Nu poti sa iti dai /goto singur!"); // Verificam daca id-ul este id-ul executorului
new admstring[256]; // Declaram un nou string
format(admstring, sizeof(admstring), "AdmCMD: %s a folosit /goto pe %s.", GetName(playerid), GetName(id)); // Formatam string-ul
new Float:x, Float:y, Float:z; // Declaram 3 variabile noi de tip Float
GetPlayerPos(id, x, y, z); // Luam pozitia jucatorului specificat
if(IsPlayerInVehicle(id, GetPlayerVehicleID(id)) && GetPlayerVehicleSeat(id) == 0) { //verificam daca playerul este in masina si daca conduce
PutPlayerInVehicle(playerid, GetPlayerVehicleID(id), 1); // Ne setam pozitia in vehicul
}
SetPlayerPos(playerid, x, y, z+1); // Setam pozitia executorului, adaugand un offset de 1 grad pe axa z pentru a evita anumite probleme
for(new i = 0; i < MAX_PLAYERS; i++) { // Deschidem o noua bulca for
if(IsPlayerConnected(i)) { // Verificam daca jucatorul este online
if(PlayerInfo[i][pAdmin] >= 1) { // Verificam daca jucatorul are admin
SendClientMessage(i, COLOR_LIGHTRED, admstring); // Trimitem mesajul catre acel jucator
} //Inchidem verificarea de admin
} //Inchidem verificarea online
} //Inchidem bucla for
return 1; //Anuntam ca aceasta comanda a fost executata cu succes
}//Inchidem bucla ZCMD