26.11.2017, 14:53
I have problem with this error:
Script:
Help please!
Код:
(466)error 017: undefined symbol "ID" (467) : error 017: undefined symbol "ID" (468)error 017: undefined symbol "admin" (474) : error 017: undefined symbol "ID" (478) : error 017: undefined symbol "ID" warning 217: loose indentation
Код:
CMD:makeadmin(playerid,params[]) { if(IsPlayerAdmin(playerid)) //Aici pui conditia ca playerul care ofera admin sa fie logat cu RCON { 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; }