Komanda /setadmin uz pomoc ZCMD i sscanf

Započeo Deken
22. Dec. 2018. Zaključano
1,431
pregleda
6
postova
Deken
5
Underboss
22. Dec. 2018.
Zdravo danas cu pokazati kako na veoma lak nacin napraviti komandu da date igracu bilo koji level admina : Napomena igrac da bi mu se sacuvao admin i da bi mogao da ga koristi mora da izadje i da opet udje na server!
Pa krecemo ovako:
Prvo sto uradite je sastavite enum player info a to bi trebalo da izgleda ovako
 

enum pInfo
{
pAdmin,
Ulogovan

}
new PlayerInfo;

takodje  ispod include kao define upisete

#undef MAX_PLAYERS
#define MAX_PLAYERS 100

I krecemo sa komandom
Na zeljeno mesto na skripti ja bar radim na dnu skripte pisete ovako
  CMD:setadmin(playerid,params[]) // to vam je ono sto ce vlasnik servera ukucati kada bude zeleo da da nekom admina 

a zatim radite ovo
 {
new targetid,alevel,string,name; // to vam predstavlja ono sto ce igrac koristiti u toj komandi targetid je id igraca koji dobija admina alevel je level admina string je poruka koja ce da se ispise adminu igracu i ako vi zelite serveru ja sam stavio a name je ime admina igraca koji dobija admina zavisi

Onda stavljate ovo
 if(PlayerInfo == 0) return SendClientMessage(playerid,-1,""CRVENA"[BD:RP]"BELA"Niste mozete koristiti ovu komandu jer niste ulogovani."); // ovo vam predstavlja proveru da li je igrac ulogovan  ako nemate register sistem ubacen u skriptu izbrisite ovo ne treba vam 

Zatim stavljate sledecu varijantu
 if(PlayerInfo >=7) // to znaci da niko osim vlasnika ne moze dati admina igracu
{

Prelazimo na centar komande sad pazljivo pratite sta pricam ovo je najvazniji deo
 if(sscanf(params,"ui",targetid,alevel)) return SendClientMessage(playerid,-1,""CRVENA"[BD:RP]"BELA"Koristi /setadmin [LEVEL ADMINA]"); // ovo predstavlja komandu koju igrac koristi znaci ako igrac upise samo /giveadmin id  a ne upise alevel nece se izvrisiti komanda 
if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,-1,""CRVENA"[BD:RP]"BELA"Igrac kome zelite da postavite admina nije online!"); // ovo je provera kojom igrac proverava  da li je zeljeni korisnik na serveru ili ne ako je na serveru komanda ce se izvrisiti ako nije nece
GetPlayerName(playerid,name,sizeof(name)); // dobija ime od igraca koji daje admina
GetPlayerName(targetid,name,sizeof(name)); // dobija ime od igraca koji dobija admina
PlayerInfo = alevel; // ovo u vasu bazu podataka tj enum koji smo gore naveli upisuje alevel koji je igrac dobio
if(targetid == playerid) return SendClientMessage(playerid,-1,""CRVENA"[BD:RP]"BELA"Ne mozete sebi dati admina!"); // ovo vam predstavlja ako je igrac koji prima admina isto i igrac koji je admin to ga sprecava i komanda se ne izvrsava
format(string,sizeof(string), ""CRVENA"[BD:RP]"BELA"Dali ste igracu [%d]%s admina level %i!",targetid,name,alevel); // ovo vam je takozvani string to jeste poruka koja se ispisuje vlasniku jer sadrzi playerid sto znaci id igraca koji daje admina
SendClientMessage(playerid,-1,string); // ovo je obavezno pisati da bi se string ispisao
format(string,sizeof(string), ""CRVENA"[BD:RP]"BELA"Cestitam! Dobili ste admina level %i od strane Vlasnika %s,Ne nateraj Vlasnika da ti ga skine! Srecno u poslu!",alevel,name); // ovo predstavlja poruku koja stize igracu koji je primio admina jer sadrzi u sebi targetid sto znaci id igraca koji prima admina
SendClientMessage(targetid,-1,string); // takodje ko i za prvo
format(string,sizeof(string), ""CRVENA"[BD:RP]"BELA"Cestitamo igracu %s koji je dobio Admina level %i!",name,alevel); // ovo ce da ispisuje svim igracima na serveru da je igrac taj i taj dobio taj admin level mislim ovo sam stavio radi reda vama ne treba
SendClientMessageToAll(playerid,string); // ovo salje poruku svima sa zadnjeg stringa (Napome ovo vam ne treba ako necete da svi igraci vide da je igrac taj i taj dobio admina)

{
i za kraj dopisujete ovo

}
else return SendClientMessage(playerid,-1,""CRVENA"[BD:RP]"BELA"Niste ovlasteni da korisite ovu komandu!"); // naravno ovo sluzi sa if(PlayerInfo >= 7) jer to kaze igracu koji nije admin uopste ili je manji admin level od admina 7 da mu se poruka ispisuje
  }
return 1; // ovo uspesno izvrsava komandu
}

To je to sto se tice komande ja sam je licno pravio i ove poruke slobodno izmenite jer to sam ja svom serveru prilagodjavao to bi bilo to za ovu komandu
muamerkadusic
5
Godfather
22. Dec. 2018.
GJ 😁
Deken
5
Underboss
22. Dec. 2018.
Mumi.je. wrote on December 22, 2018, 7:05 pm:
GJ 😁

hvala brate trudio sam se ajde trebace im nekad jer nisam do sad video ovaj tutorial
Deken
5
Underboss
22. Dec. 2018.
Deken wrote on December 22, 2018, 6:19 pm:
Zdravo danas cu pokazati kako na veoma lak nacin napraviti komandu da date igracu bilo koji level admina : Napomena igrac da bi mu se sacuvao admin i da bi mogao da ga koristi mora da izadje i da opet udje na server!
Pa krecemo ovako:
Prvo sto uradite je sastavite enum player info a to bi trebalo da izgleda ovako
 

enum pInfo
{
pAdmin,
Ulogovan

}
new PlayerInfo;

takodje  ispod include kao define upisete

#undef MAX_PLAYERS
#define MAX_PLAYERS 100

zatim napravite ovako dva falja

new name, string[24+MAX_PLAYER_NAME];
GetPlayerName(targetid,name,sizeof(name));

new playername, string[24+MAX_PLAYER_NAME];
GetPlayerName(playerid,playername,sizeof(playername));

I krecemo sa komandom
Na zeljeno mesto na skripti ja bar radim na dnu skripte pisete ovako
  CMD:setadmin(playerid,params[]) // to vam je ono sto ce vlasnik servera ukucati kada bude zeleo da da nekom admina 

a zatim radite ovo
 {
new targetid,alevel,string,name; // to vam predstavlja ono sto ce igrac koristiti u toj komandi targetid je id igraca koji dobija admina alevel je level admina string je poruka koja ce da se ispise adminu igracu i ako vi zelite serveru ja sam stavio a name je ime admina igraca koji dobija admina zavisi

Onda stavljate ovo
 if(PlayerInfo == 0) return SendClientMessage(playerid,-1,""CRVENA"[BD:RP]"BELA"Niste mozete koristiti ovu komandu jer niste ulogovani."); // ovo vam predstavlja proveru da li je igrac ulogovan  ako nemate register sistem ubacen u skriptu izbrisite ovo ne treba vam 

Zatim stavljate sledecu varijantu
 if(PlayerInfo >=7) // to znaci da niko osim vlasnika ne moze dati admina igracu
{

Prelazimo na centar komande sad pazljivo pratite sta pricam ovo je najvazniji deo
 if(sscanf(params,"ui",targetid,alevel)) return SendClientMessage(playerid,-1,""CRVENA"[BD:RP]"BELA"Koristi /setadmin [LEVEL ADMINA]"); //  // ovo predstavlja komandu koju igrac koristi znaci ako igrac upise samo /giveadmin id  a ne upise id i alevel  nece se izvrisiti komanda 
if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,-1,""CRVENA"[BD:RP]"BELA"Igrac kome zelite da postavite admina nije online!");
GetPlayerName(playerid,playername,sizeof(playername)); // dobija ime igraca  koji daje komandu
GetPlayerName(targetid,name,sizeof(name));
PlayerInfo = alevel;  //updajtuje faljove na scriptfiles korisnici to jeste enum koji smo gore spomenuli
format(string1,sizeof(string1), ""CRVENA"[BD:RP]"BELA"Dali ste igracu [%d]%s admina level %i!",targetid,name,alevel); // predstavlja poruku adminu da je igracu tom i tom dao admina
SendClientMessage(playerid,-1,string1); // ispisuje poruku
format(string2,sizeof(string2), ""CRVENA"[BD:RP]"BELA"Cestitam! Dobili ste admina level %i od strane Vlasnika %s,uradi relog da bi ti se admin uspesno sacuvao!",alevel,playername); // salje poruku igracu tom i tom da je dobio admina
SendClientMessage(targetid,-1,string2); // ispisuje poruku
format(string3,sizeof(string3), ""CRVENA"[BD:RP]"BELA"Cestitamo igracu %s koji je dobio Admina level %i!",name,alevel); // salje poruku svim igracima da je on dobio admina level taj i taj
SendClientMessageToAll(playerid,string3); // ispisuje poruku

{
i za kraj dopisujete ovo

}
else return SendClientMessage(playerid,-1,""CRVENA"[BD:RP]"BELA"Niste ovlasteni da korisite ovu komandu!"); // naravno ovo sluzi sa if(PlayerInfo >= 7) jer to kaze igracu koji nije admin uopste ili je manji admin level od admina 7 da mu se poruka ispisuje
  }
return 1; // ovo uspesno izvrsava komandu
}

To je to sto se tice komande ja sam je licno pravio i ove poruke slobodno izmenite jer to sam ja svom serveru prilagodjavao to bi bilo to za ovu komandu

izmena za komandu malu sam gresku napravio ne bi se fino ispisalo
inace izmenjeno je vec samo uradite ovo sto gore pise i radice
Deken
5
Underboss
4. Jan. 2019.
Takodje igrac ne mora raditi relog napravite onplayerupdate  na svaki minut
Emo
7
Kingpin
🔥60
4. Jan. 2019.
Nisi definisao boje (bela crvena itd)
Lose

graph designer

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha