26.11.2017, 15:16
You forgot to define ID, define it simple with:
in the start of the comand like that:
+1 REP if I helped
Quote:
new ID; |
PHP код:
CMD:makeadmin(playerid,params[]) {
if(IsPlayerAdmin(playerid)) //Aici pui conditia ca playerul care ofera admin sa fie logat cu RCON
{
new ID;
if(sscanf(params,"ui",ID,admin)) return SendClientMessage(playerid,COLOR_RED,"Foloseste /makeadmin [ID] [level].");//aici declari parametrii, iar daca comanda este incompleta sa iti dea mesaj cu ce sa scrii in parametri. Parametrul ID este folosit pentru jucatori, iar i pentru numere intregi. LINE 466
else if(!IsPlayerConnected(ID)) return SendClientMessage(playerid,COLOR_RED,"Playerul nu este conectat."); //Verificam daca playerul nu este conectat sa ne dea un mesaj. LINE 467
else if(admin > 7) return SendClientMessage(playerid,COLOR_RED,"Levelul maxim este 7."); //Aici compara variabila locala admin cu 7, daca admin este mai mare ca 7 sa iti dea mesajul respectiv(daca de exemplu vreti pana la admin 10, comparati cu 10). LINE 468
else //daca conditiile de mai sus sunt false ambele, se indeplineste ce e mai jos
{
new str[70],aname[MAX_PLAYER_NAME],name[MAX_PLAYER_NAME];new admin; //declaram variabila locala tip string str, iar in parantezele drepte este limita de caractere din acel string. aname[MAX_PLAYER_NAME] si name[MAX_PLAYER_NAME] sunt variabile locale care se folosesc pentru nume, MAX_PLAYER_NAME este numele maxim care il poate avea jucatorul.
PlayerInfo[playerid][pAdmin] = admin; // Aici, variabila pAdmin se egaleaza cu variabila locala admin care este folosita ca parametru pentru a preciza levelul adminului. Adica, pAdmin este egalata cu level-ul de admin care l-ai introdus.
GetPlayerName(playerid,aname,sizeof(aname)); //Aici ia numele jucatorului care executa comanda.
GetPlayerName(ID,name,sizeof(name)); //Aici ia numele jucatorului pe care se executa comanda. LINE 474
format(str,sizeof str,"I-ai lui %s admin level %i.",name,admin); //format se foloseste cand ai de precizat variabile/stringuri in mesaj. In cazul nostru, %s este folosit pentru name deoarece name este un string, %s este folosit pentru string. %i este folosit pentru a arata level-ul de admin, %i sau %d se folosesc pentru numere intregi.
SendClientMessage(playerid,COLOR_RED,str);//Trimite mesaj celui care executa comanda.
format(str,sizeof str,"%s ti-a dat admin level %i.",aname,admin);
SendClientMessage(ID,COLOR_RED,str); //Trimite mesaj celui pe care este executata comanda. LINE 478
}
}else return SendClientMessage(playerid,COLOR_RED,"Trebuie sa fi logat cu RCON.");//In cazul in care conditia IsPlayerAdmin nu se indeplineste, se va afisa acest mesaj. LINE 480
return 1;
}