Witaj gościu na NaFarcie.pl! Zarejestruj się i dołącz do nas!

Witaj gościu! Zaloguj się lub Zarejestruj, aby móc w pełni korzystać z naszego forum!


Proste menu

Rozpoczęty przez _| Krzychu |_, 26.02.2016

4 odpowiedzi w tym temacie
*.* *.* *.* *.* *.* *.*

Farciarz

  • Liczba postów: 944
  • Sklep: Christopher
  • Nick z gry: Chris
  • Z nami od 3 lat
    *.* *.* *.* *.* *.* *.*
    Farciarz

  • Liczba postów: 944
  • Sklep: Christopher
  • Nick z gry: Chris
  • Reputacja: 682
    Uzależniony od NaFarcie
    Z nami od 3 lat
    #1
    Pokaże wam jak zrobić proste menu na wasz serwer :)

    Więc zacznijmy :)

    1. Początek [Czysty "Plugin"]




    Kod:
    /* Plugin generated by AMXX-Studio */

    #include <amxmodx>
    #include <amxmisc>

    #define PLUGIN "New Plug-In"
    #define VERSION "1.0"
    #define AUTHOR "author"


    public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)

    // Add your code here...
    }

    2. Zaczniemy od zarejestrowania publica więc po register_plugin(PLUGIN, VERSION, AUTHOR), dodajemy register_clcmd("say /komenda","nafarcie");

    komenda - czyli co gracz musi wpisać w tym przypadku na say by wyświetliło mu się menu gdy damy po prostu "komenda" po wpisaniu komenda w console graczowi otworzy się menu.

    nafarcie - nazwa naszego publica, który będzie otwierany po wpisaniu komendy

    3. Teraz dodajemy public nafarcie




    Kod:
    public nafarcie(id){
    new nafarcie=menu_create("Proste Menu^nNafarcie","nafarcie2");

    menu_additem(nafarcie,"Jestem Kozak");
    menu_additem(nafarcie,"Jestem Parowka");
    menu_display(id, nafarcie,0);
    return PLUGIN_HANDLED;
    }

    Tak wygląda public menu, ta część kodu odpowiada za rzeczy wyświetlane w menu "menu_additem(nafarcie,"Jestem Kozak");"
    Teraz rzeczy, które zostały przez nas dodane u góry nie będą nic robić, więc musimy dodać kolejnego publica odpowiadającego za ich używanie :)



    Kod:
    public nafarcie2(id, menu, item){
    switch(item){
    case 0:{
    client_cmd(id, "say Jestem Kozak");
    }
    case 1:{
    client_cmd(id, "say Jestem Parowka");
    }
    }
    menu_destroy(menu);
    return PLUGIN_HANDLED;
    }

    Teraz tak, w tym publicu dodajemy "case", które odpowiadają za działanie menu, w sensie po wciśnięciu wyświetli się nam to.
    Więcej tutaj nie ma nic do tłumaczenia, może jeszcze to "menu_destroy(menu);" odpowiada za zamykanie się menu po użyciu, jednej z funkcji dodanych w pierwszym publicu.

    4. Cały kod

    Kod:
    /* Plugin generated by AMXX-Studio */

    #include <amxmodx>
    #include <amxmisc>

    #define PLUGIN "New Plug-In"
    #define VERSION "1.0"
    #define AUTHOR "author"


    public plugin_init() {
       register_plugin(PLUGIN, VERSION, AUTHOR)
    register_clcmd("say /komenda","nafarcie");
       }
    public nafarcie(id){
    new nafarcie=menu_create("Proste Menu^nNafarcie","nafarcie2");
       
       menu_additem(nafarcie,"Jestem Kozak");
       menu_additem(nafarcie,"Jestem Parowka");    
       menu_display(id, nafarcie,0);
       return PLUGIN_HANDLED;
    }
    public nafarcie2(id, menu, item){
       switch(item){
           case 0:{
               client_cmd(id, "say Jestem Kozak");
           }
           case 1:{
               client_cmd(id, "say Jestem Parowka");
           }
       }
       menu_destroy(menu);
       return PLUGIN_HANDLED;
    }

    Tutaj fotki:
    [Obrazek: 93206F35526E94F66FDE3AE94883D9839D5FBBB7]

    [Obrazek: 9EBBCDA0028C18689844B0F94DDFA21C2F390FF2]

    [Obrazek: C96414018ED0772AA88DF72B04F9DC5C759B3426]





    Poradnik napisany w 100% Przez @Christopher dla NaFarcie.pl
    Zakaz Kopiowania na inne fora!



    [Obrazek: sgtlvl.jpg]
    Przeszłość czy przyszłość?

    Farciarz

  • Liczba postów: 2 968
  • Sklep: Paranormal Activity`
  • Nick z gry: Police - Paranormal
  • Stary wyga
    Przeszłość czy przyszłość?
    Farciarz

  • Liczba postów: 2 968
  • Sklep: Paranormal Activity`
  • Nick z gry: Police - Paranormal
  • Reputacja: 898
    Farciarz
    Stary wyga
    #2
    Poradnik dobrze napisany, całkiem estetycznie aczkolwiek jest łatwiejszy sposób i lepszy sposób, który napisałem na 4FUN czy też DR.

    Kod:
    public plugin_init() {
        register_plugin(PLUGIN, VERSION, AUTHOR)
      
      
        register_clcmd ("say /menu", "pokaz_menu")
    }
    public pokaz_menu(id)
    {
        new menu = menu_create("[4FUN] NaFarcie.pl","menu_wybor")
        
        menu_additem(menu,"\r4FUNSklep \y- Sklep 4FUN.","1",0)
        
        menu_additem(menu,"\rSklepSMS \y- Sklep 4FUN za SMS.","2",0)

        menu_additem(menu,"\rMUTEMENU \y- Zmutuj gracza!","3",0)
        
        menu_additem(menu,"\rVOTEBAN \y- Zbanuj gracza!","4",0)
            
        menu_additem(menu,"\rRTV \y- Zaglosuj na zmiane mapy!","5",0)
        
        menu_additem(menu,"\rRANGI \y- Zobacz rangi na serwerze.","6",0)
        
        menu_additem(menu,"\rRESET \y- Zresetuj swoje statystyki!","7",0)
        
        menu_additem(menu,"\rRANK \y- Zobacz swoje statystyki!","8",0)
        
        menu_additem(menu,"\rTOP15 \y- Zobacz TOP15 najlepszych!","9",0)
        
        menu_additem(menu,"\rVIP \y- Sprawdz co posiada VIP.","10",0)

        menu_additem(menu,"\rSVIP \y- Sprawdz co posiada SVIP.","11",0)
        
        menu_additem(menu,"\rSERWERY \y- Zobacz nasze inne serwery.","12",0)

        menu_display(id,menu,0)
      
    }

    public menu_wybor(id,menu,item)
    {
      
        if(item==MENU_EXIT)
        {
            menu_destroy(menu)
            return PLUGIN_HANDLED
        }
      

        new data[6], iName[64]
        new access, callback
      

        menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
      

        new key = str_to_num(data)

      

        switch(key)
        {
    case 1 : {
    client_cmd(id, "say /sklep")
    }
    case 2 : {
    client_cmd(id, "say /sklepsms")
    }
    case 3 : {
    client_cmd(id, "say /mute")
    }
    case 4 : {
    client_cmd(id, "say /voteban")
    }
    case 5 : {
    client_cmd(id, "say rtv")
    }
    case 6 : {
    client_cmd(id, "say /rangi")
    }
    case 7 : {
    client_cmd(id, "say /resetscore")
    }
    case 8 : {
    client_cmd(id, "say /rank")
    }
    case 9 : {
    client_cmd(id, "say /top15")
    }
    case 10 : {
    client_cmd(id, "say /vip")
    }
    case 11 : {
    client_cmd(id, "say /svip")
    }
    case 12 : {
    client_cmd(id, "say /server")
    }

        }
        return PLUGIN_HANDLED
       }

    Dodam że jeśli chcemy zmienić coś w menu, lub dodać jest to troszkę uciążliwe, gdyż każdy numer trzeba zmieniać, dlatego może jednak twój sposób jest lepszy :D



    *.* *.* *.* *.* *.* *.*

    Farciarz

  • Liczba postów: 944
  • Sklep: Christopher
  • Nick z gry: Chris
  • Z nami od 3 lat
    *.* *.* *.* *.* *.* *.*
    Farciarz

  • Liczba postów: 944
  • Sklep: Christopher
  • Nick z gry: Chris
  • Reputacja: 682
    Uzależniony od NaFarcie
    Z nami od 3 lat
    #3
    Cóż twój sposób też spoko, tylko tam utrudniasz sobie życie przez "cyfry" w pierwszym publicu, które wskazują case'a.



    [Obrazek: sgtlvl.jpg]
    Przeszłość czy przyszłość?

    Farciarz

  • Liczba postów: 2 968
  • Sklep: Paranormal Activity`
  • Nick z gry: Police - Paranormal
  • Stary wyga
    Przeszłość czy przyszłość?
    Farciarz

  • Liczba postów: 2 968
  • Sklep: Paranormal Activity`
  • Nick z gry: Police - Paranormal
  • Reputacja: 898
    Farciarz
    Stary wyga
    #4
    Dodam że mój kod mimo iż jest "uciążliwy", jest lepszy, np z powodu czytania parametrów z pluginu i na pewno nie będzie żadnych błędów, aczkolwiek z twoim nie powinno też być :)
    Dobra ja się już zamykam :D



    W chacie mam półki w kolorze kurzu.

    zbanowany

  • Liczba postów: 503
  • Sklep: wiN?//
  • Nick z gry: Z!EL0NY
  • Stary wyga
    W chacie mam półki w kolorze kurzu.
    zbanowany

  • Liczba postów: 503
  • Sklep: wiN?//
  • Nick z gry: Z!EL0NY
  • Reputacja: 172
    Ekspert
    Stary wyga
    #5
    Poradnik kozak, leci plusik.



    [Obrazek: gIgWTcG.gif]
    Odszedł, tym razem permanentnie.
    Spędziłem tutaj piękne chwilę, poznałem wspaniałych ludzi.
    Strzałaaa! ;>

    Skocz do:

    Użytkownicy przeglądający ten wątek: 1 gości