Dinamican level komandi, promena IG

Započeo Unkovic
22. Jun 2018. Zaključano
1,562
pregleda
7
postova
Unkovic2405
5
Underboss
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:

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.
muamerkadusic
5
Godfather
22. Jun 2018.
Extra,pohvale 😁
Unkovic2405
5
Underboss
22. Jun 2018.
#Mumi wrote on June 22, 2018, 3:40 pm:
Extra,pohvale 😁


Hwala
Purda121
5
OG Legend
8. Jul 2018.
Super Stefane 😄
Muma Rascall
6
Forum Don
13. Jul 2018.
Ne znam sada koliko je neophodno, mada može koristiti, pohvale. 😄
Grebovic_Danijel
5
Godfather
13. Jul 2018.
Mislim da ovo i nije bas potrebno, ali nije lose imati
N.aMx
4
Enforcer
14. Jul 2018.
Svidja mi se, nikada nisam mislio o ovome ali necu koristit :-*

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha