Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Pobranie wartosci zmiennej z natywu


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
10 odpowiedzi w tym temacie

#1 Andrzejek

    Ucze się :]

  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 12.05.2013 20:27

Witam tak jak w temacie, która z poniższych przykładów która jest poprawna:

 

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "TAKIE TAM"
#define VERSION "1.0"
#define AUTHOR "Andrzejek"

new bool:zmienna = false;

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    // Add your code here...
}

public plugin_natives()
{
    register_native("pobierz_wartosc", "pobierz_wartosc", 1);
}


public bool:pobierz_wartosc()
    return bool:zmienna;

    
czy tak?

public pobierz_wartosc()
    return zmienna;

 

Oraz żeby włączyć funkcje lepiej zostawać natyw czy  forwards, prosił bym o przykłady i doświadczenie z praktyki

 


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#2 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 12.05.2013 21:16

public bool:pobierz_wartosc()
{
    return zmienna;
}

 

Raczej tak :)


  • +
  • -
  • 0

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#3 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 12.05.2013 21:30

Obie są poprawne, gdyż zmienna i tak jest typu bool :)

 

a co do:


Oraz żeby włączyć funkcje lepiej zostawać natyw czy  forwards, prosił bym o przykłady i doświadczenie z praktyki

Możesz sprecyzować?


sebul (12.05.2013 23:42):
Obie poprawne (choć co do pierwszego to pewny nie jestem), ale jeśli mamy być drobiazgowi, to kod w poście wyżej jest najbardziej poprawny.

  • +
  • -
  • 0

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#4 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 12.05.2013 22:43

np. mamy jakiś tam public który chcemy wywołać to i to, i czym lepiej wywołać natywem(to wiem jak) czy forwardem(potrzebuje przykładu i opisu)?


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#5 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 12.05.2013 23:00

Zależy od sytuacji. Podaj jakąś.


  • +
  • -
  • 0

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#6 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 12.05.2013 23:27

np.

 

public daj_bron()    
{
    
    for(new gracz=1; gracz<=32; gracz++)
    {    
        if(is_user_connected(gracz) && is_user_alive(gracz))
        {
            if(get_user_team(gracz) == 1)
            {            
                player_strip_weapons(gracz);
                give_item(gracz, "weapon_ak47");
                cs_set_user_bpammo(gracz, CSW_AK47, 90);
            }
            else if(get_user_team(gracz) == 2)
            {        
                player_strip_weapons(gracz);
                give_item(gracz, "weapon_ak47");
                cs_set_user_bpammo(gracz, CSW_AK47, 90);
            }
        }
    }
    
}


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#7 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 13.05.2013 02:54

Chyba musisz zrozumieć do czego służą forwardy, a do czego natywy... (dla przykładu w deagles map managerze forwardy są użyte niepoprawnie - w drugą stronę...)

 

Masz plugin główny (dla przykładu główny plugin diablo) i chcesz, żeby każdy mógł sobie napisać podrzędny plugin dodający jakąś funkcjonalność do głównego (np klasy diablo). Można to zrobić na 2 sposoby:

 

Pierwszy, poprawny, wygodny, całkiem na miejscu sposób

Tworzysz w głównym pluginie odpowiednie forwardy (czyli "zaczep" który wykona funkcję odpowiednią w pluginie podrzędnym. Forwardem jest np plugin_init, client_connect...) oraz natywy (czyli funkcje dla pluginów podrzędnych, które spowodują wykonanie czegoś w głównym pluginie, natywem jest np client_print) i umieszczasz ich deklaracje w odpowiedniej bibliotece (plik .inc). Następnie załączasz bibliotekę w pluginie podrzędnym i używasz tego, co Ci jest z niej potrzebne.

 

Drugi, poprawny również, ale niewygodny i nie na miejscu sposób

Robisz zupełnie odwrotnie, niż w poprzednim. Czyli w podpluginach tworzysz forwardy i natywy, a następnie dołączasz biblioteki z podpluginów do pluginu głównego. Wymaga to modyfikacji i udziwnień w pluginie głównym i nie jest właściwym rozwiązaniem, aczkolwiek działającym.

 

Wszystko jak widzisz ma swoje zastosowanie. Zastanów się więc w którą stronę chcesz kod wykonać (czy plugin główny ma coś wykonać w podrzędnym, czy odwrotnie) i użyj odpowiednio forwardu lub natywu.

 

Opis używania forwardów (a raczej ich tworzenia, bo używać już umiesz) znajdziesz tu:

Forwardy - Nieoficjalny polski support AMX Mod X


Użytkownik GwynBleidD edytował ten post 13.05.2013 02:55

  • +
  • -
  • 0

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#8 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 980
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 13.05.2013 09:06


 

Pierwszy, poprawny, wygodny, całkiem na miejscu sposób

Tworzysz w głównym pluginie odpowiednie forwardy (czyli "zaczep" który wykona funkcję odpowiednią w pluginie podrzędnym. Forwardem jest np plugin_init, client_connect...) oraz natywy (czyli funkcje dla pluginów podrzędnych, które spowodują wykonanie czegoś w głównym pluginie, natywem jest np client_print) i umieszczasz ich deklaracje w odpowiedniej bibliotece (plik .inc). Następnie załączasz bibliotekę w pluginie podrzędnym i używasz tego, co Ci jest z niej potrzebne.

 

 

 

przykład kodu który robi to w ten sposób to np. moje diablo , basebuilder


  • +
  • -
  • 0

#9 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 13.05.2013 12:11

Tylko np. co to ma znaczyć?

ET_CONTINUE, FP_FLOAT, FP_CELL, FP_STRING
bo tego w poradniku nie ma

 

Chyba musisz zrozumieć do czego służą forwardy, a do czego natywy... (dla przykładu w deagles map managerze forwardy są użyte niepoprawnie - w drugą stronę...)

 

Wiesz pytałem się Cypisa co jest lepsze i powiedział mi że tak: forwardy służą do włączenia danego publika, a natyw tylko sprawdza wartość, coś takiego, nie pamiętam dokładnie ale jakoś tak mi to mówił

może np. coś takiego:

 

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

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

new wykonaj;

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    wykonaj = CreateMultiForward("cos_tam", ET_CONTINUE, FP_CELL);
}

//forward cos_tam();

public cos()
{
    new iRet;
    ExecuteForward(wykonaj, iRet, id_zabawa);
    
    //kod
}

  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#10 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 13.05.2013 12:12

Ależ jest to w poradniku, pierwsza stała o którą pytasz jest wystarczająco omówiona, kolejne stałe są używane przy tworzeniu forwardu do określenia ilości i typów przekazujących przez forward parametrów, po nazwach można rozpoznać typ parametru.

Zerknij sobie na te pluginy które wymienił Dark (w nowym cod modzie też sie znajdzie, a nawet w jb Cypisa)
  • +
  • -
  • 0

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#11 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 13.05.2013 13:30

Stałe te oznaczają, jakiego typu parametr zostanie do forwardu wrzucony. Ilość tych stałych wpisanych do CreatexxForward jest dowolna i przekłada się na ilość takowych zmiennych wrzuconych w forward.


  • +
  • -
  • 0

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych