Započeo Unkovic
•22. Jun 2018.• ZaključanoDinamican level komandi, promena IG
1,600
pregleda
7
postova
Underboss
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
674
Postovi:
102
Teme:
Pridružio se:Maj 2017
22. Jun 2018.
Zdravo drugari, odlucio sam da van pokazem jednu jako prostu stvar za uraditi. Sa ovim mozete menjati level komandi koji je potreban da bi se one izvrsile. Ukoliko neki admin/helper zloupotrebljava komandu, mozete promeniti level i manji leveli je vise ne mogu koristiti dok veci, i isti mogu
Potrebno:
• Bilo koji command procesor, u mom slucaju cemo koristiti Pawn.CMD koji preporucujem svima.
• Mozete koristit rBits, ali ja ga u ovom tutorijalu necu koristiti
• Jedan sistem cuvanja, u mom slucaju dini2.
Ja sam naucio da radim preko enuma i cuvanja, ukoliko ima drugi nacin, saljite.
Prvo otvorite vas text editor u kome radite s Pawn-om. Pronadjite negde prostor i napravite jedan enum u kojem ce biti vase komande.
Primer:
Zatim definisemo fajl gde ce se cuvati komande i dijalog za komande i dijalog za menjanje komandi i varijabl da bi znali koju komandu menjamo.
Nakon toga radimo cuvanje i ucitavanje komandi
Sada cemo napraviti komandu koja bi menjala levele komandi. I dijalog
Sada napravite komandu
I sada mozete isprobavati, date jednom sebi admina 3 i komandu postavite na level 4, a zatim na level 2 i vidite kako radi.
Ako nesto nije jasno, pitaj.
Potrebno:
• Bilo koji command procesor, u mom slucaju cemo koristiti Pawn.CMD koji preporucujem svima.
• Mozete koristit rBits, ali ja ga u ovom tutorijalu necu koristiti
• Jedan sistem cuvanja, u mom slucaju dini2.
Ja sam naucio da radim preko enuma i cuvanja, ukoliko ima drugi nacin, saljite.
Prvo otvorite vas text editor u kome radite s Pawn-om. Pronadjite negde prostor i napravite jedan enum u kojem ce biti vase komande.
Primer:
enum E_CMD_INFO {
primerkomanda //umesto ovog zapisite ime vase komande
};
new CMDI; //ovo bi trebalo svi da znate
Zatim definisemo fajl gde ce se cuvati komande i dijalog za komande i dijalog za menjanje komandi i varijabl da bi znali koju komandu menjamo.
#define CMDF "Put/Do/Fajla/Za/Komande.sufiks"
#define D_CMDIZMENI 0
#define D_CMD 1
new CMDMENJAJ;
Nakon toga radimo cuvanje i ucitavanje komandi
stock SaveKomande() //cuvanje
{
if(fexist(CMDF))//proverava da li postoji fajl za cuvanje
{
dini_IntSet(CMDF, "/primerkomanda", CMDI);// cuva komandu
}
return 1;
}
stock LoadKomande() //citanje
{
if(fexist(CMDF))
{
CMDI = dini_Int(CMDF, "/primerkomanda");
}
return 1;
}
Sada cemo napraviti komandu koja bi menjala levele komandi. I dijalog
CMD:menjaj(playerid, params[])
{
ShowPlayerDialog(playerid, D_CMD, DIALOG_STYLE_LIST, " Naslov", "primerkomanda", " U redu", ""); // pokazuje igracu dijalog sa komandom
return 1;
}
// zatim idemo pod ondialogresponse
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == D_CMD)//proverava da li je to taj dialog
{
if(response) // ako pritisne jedno dugme
{
if(listitem == 0)
{
SPD(playerid, D_CMDIZMENI, DIALOG_STYLE_INPUT, " Naslov", "Unesite level za komandu", " U redu", ""); //pokazuje dijalog u kome unosimo level komande
CMDMENJAJ = 1; //ovde unosite broj komande, mozete da ga definisete imenom
}
}
}
if(dialogid == D_CMDIZMENI && response) //proverava da li je dijalog taj i da li je kliknuo dugme
{
new level = strval(inputtext); // unesen text u integeru
if(CMDMENJAJ == 1) // proverava koja je komanda
{
CMDI = level; // postavlja level toj komandi
SaveKomande();
}
}
return 1;
}
Sada napravite komandu
CMD:proveri(playerid, params[])
{
if(/*provera za admina*/ >= CMDI[primerkomanda) {
// nesto po vasoj zelji
}
return 1;
}
I sada mozete isprobavati, date jednom sebi admina 3 i komandu postavite na level 4, a zatim na level 2 i vidite kako radi.
Ako nesto nije jasno, pitaj.
Enforcer
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
305
Postovi:
36
Teme:
Pridružio se:Jan. 2018
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava
