Wystąpiły następujące problemy:
Warning [2] call_user_func_array() expects parameter 1 to be a valid callback, class 'global_start' not found - Line: 136 - File: inc/class_plugins.php PHP 5.6.40 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/class_plugins.php 136 call_user_func_array
/global.php 100 pluginSystem->run_hooks
/showthread.php 28 require_once
Warning [2] call_user_func_array() expects parameter 1 to be a valid callback, class 'global_start' not found - Line: 136 - File: inc/class_plugins.php PHP 5.6.40 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/class_plugins.php 136 call_user_func_array
/global.php 497 pluginSystem->run_hooks
/showthread.php 28 require_once


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!


Klasa, która posiada niewidzialność zależną od inteligencji

Rozpoczęty przez _| Krzychu |_, 07.08.2016

3 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
    Siemka, pokaże wam tutaj jak zrobić klasę, która będzie miała niewidzialność zależną od ilości punktów dodanych w inteligencje. Jako iż sam miałem z tym problem lecz dzięki cierpliwości i "małym" wskazówką od @ Eryk172 xD Udało mi się :)

    1. Tworzymy podstawową/czystą klasę

    Spoiler Pokaż
    Kod:
    #include <amxmodx>
    #include <amxmisc>
    #include <codmod>
           
    new const nazwa[]   = "NiewidekNF";
    new const opis[]    = "Posiada niewidzialnosc +INT";
    new const bronie    = 0;
    new const zdrowie   = 0;
    new const kondycja  = 0;
    new const inteligencja = 0;
    new const wytrzymalosc = 0;
       
    public plugin_init()
    {
    register_plugin(nazwa, "1.0", "amxx.pl");

    cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
    }

    2. Dodajemy do niej niewidzialność
    Spoiler Pokaż
    Po kolei:
    - Do includów dodajemy "#include <engine>" & "#include <hamsandwich>"
    - Dodajemy public'i cod_class_enabled & cod_class_disabled

    Kod:
    public cod_class_enabled(id)
    {

    ma_klase[id] = true;

    }

    public cod_class_disabled(id)
    {
        ma_klase[id] = false;

    }

    - Do publica cod_class_enabled dodajemy:
    Kod:
    set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);

    Teraz dodajemy kolejny public, który ustawia niewidzialność przy spawnie [gdy gracz żyje]

    Kod:
    public Spawn(id)
    {
    if(is_user_alive(id) && ma_klase[id])
    set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
    }

    i do public plugin_int dodjamy

    Kod:
    RegisterHam(Ham_Spawn, "player", "Spawn", 1);

    Dobra teraz po wykonaniu punktu z dodaniem niewidzialności nasza klasa powinna wyglądać tak:

    Spoiler Pokaż
    Kod:
    #include <amxmodx>
    #include <amxmisc>
    #include <codmod>
    #include <engine>
           
    new const nazwa[]   = "NiewidekNF";
    new const opis[]    = "Posiada niewidzialnosc +INT";
    new const bronie    = 0;
    new const zdrowie   = 0;
    new const kondycja  = 0;
    new const inteligencja = 0;
    new const wytrzymalosc = 0;
       
    new ma_klase[33];

    public plugin_init()
    {
    register_plugin(nazwa, "1.0", "amxx.pl");

    cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);

           RegisterHam(Ham_Spawn, "player", "Spawn", 1);
    }

    public cod_class_enabled(id)
    {

    set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
    ma_klase[id] = true;

    }

    public cod_class_disabled(id)
    {
        ma_klase[id] = false;

    }

    public Spawn(id)
    {
    if(is_user_alive(id) && ma_klase[id])
    set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
    }

    Okey więc byłby by gotowa lecz nadal nie jest zależna od inteligencji teraz czas na to :)
    Spoiler Pokaż
    Kod:
    - Zmieniamy linijke w cod_class_enabled:

    To:
          set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);

    Na to:

          set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, (255 - cod_get_user_intelligence(id, 1, 0, 0)/2));

    I tak samo robimy w public Spawn

    To:
    set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);

    Na to:
    set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, (255 - cod_get_user_intelligence(id, 1, 0, 0)/2));

    Spoiler Pokaż
    No i doszliśmy do końca :D Klasa gotowa, teraz niewidzialność będzie liczona zależnie od inteligencji.
    Tutaj jest ustawione tak, klasa zaczyna od niewidzialności na poziomie 255, każdy punkt będzie ją zmniejszał. Np. gdy dodamy 50pkt w inteligencje to nasza niewidka zmniejszy się o 25 ponieważ jak w kodzie można zobaczyć inteligencja jest dzielona przez 2 oczywiście można to ustawić pod własne upodobania.

    Poradnik By @Chris
    Jeśli się gdzieś pomyliłem to wybaczcie i dajcie mi znać gdzie zrobiłem błąd.



    [Obrazek: sgtlvl.jpg]
    `Bu~zk3N` V2

    Farciarz

  • Liczba postów: 1 612
  • Sklep: RomanHardcor
  • Nick z gry: RomanHardcor
  • Stary wyga
    `Bu~zk3N` V2
    Farciarz

  • Liczba postów: 1 612
  • Sklep: RomanHardcor
  • Nick z gry: RomanHardcor
  • Reputacja: 678
    Uzależniony od NaFarcie
    Stary wyga
    #2
    Jak używasz
    RegisterHam(Ham_Spawn, "player", "Spawn", 1);
    To musisz jeszcze do include dopisać bibliotekę ;P



    [Obrazek: xh1IEGL.png]

    Chcesz się ze mną skontaktować?
    Facebook: www.facebook.com/RomanHardcor2
    Steam: http://steamcommunity.com/profiles/76561197963000979/
    GG: 17495815
    *.* *.* *.* *.* *.* *.*

    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
    (08.08.2016, 02:09)RomanHardcor napisał(a): Jak używasz
    RegisterHam(Ham_Spawn, "player", "Spawn", 1);
    To musisz jeszcze do include dopisać bibliotekę ;P

    Ahh zapomniałem, już poprawione.



    [Obrazek: sgtlvl.jpg]
    Dawniej Liczba11

    Farciarz

  • Liczba postów: 562
  • Sklep: Liczba11
  • Nick z gry: Liczba11
  • Stary wyga
    Dawniej Liczba11
    Farciarz

  • Liczba postów: 562
  • Sklep: Liczba11
  • Nick z gry: Liczba11
  • Reputacja: 270
    Fanatyk
    Stary wyga
    #4
    Dzięki akurat nie wiedziałem jak taką klasę zrobić.



    [Obrazek: bvmH2Yo.png]
    Jeśli Ci pomogłem i chcesz mi podziękować za udzieloną przeze mnie pomoc to możesz zostawić + :)

    Skocz do:

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