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

Natywy


  • Zamknięty Temat jest zamknięty
15 odpowiedzi w tym temacie

#1 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 02.02.2010 00:01

Witam chciałbym zapytać was o natywy głównie interesuje mnie to po co one w ogóle są ,do czego służą no i jak się ich używa .
  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#2 Seba

    Wszechobecny

  • Zbanowany

Reputacja: 198
Profesjonalista

  • Postów:424
  • Lokalizacja:Internet
Offline

Napisano 02.02.2010 06:59

Do uruchomienia funkcji z pliku inkluda (bądź z innego pluginu), zerknij do plików .inc

Użytkownik Seba edytował ten post 02.02.2010 07:00


#3 G[o]Q

    I'm G[o]Q

  • Autor tematu
  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 02.02.2010 08:31

czyli ze rejestrujac natywy w jednym plugu i tworzac plik *.inc moge w innym pluginie uzywac funkcji z pluginu nr 1??
  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#4 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 02.02.2010 12:41

R3X tu zrobił "przykład": Przekazywanie item - Nieoficjalny polski support AMX Mod X - strona 2
Dodał do oryginalnego diablomod'a:
public plugin_natives(){
register_library("DiabloMod_Items");
register_native("diablo_send_user_item", "_diablo_send_user_item");
register_native("diablo_get_user_item", "_diablo_get_user_item");
}

wraz z odpowiednimi funkcjami które potem wykorzystał w diablo_daj_wez.sma
#include <diablomod_items>

if(error == false){
ColorChat(0, GREEN, "[^x01DiabloMod^x04]^x01 Gracz^x04 %s^x01 przekazal item graczowi^x04 %s", szName2, szName);
diablo_send_user_item(id2, id);
}

  • +
  • -
  • 0

#5 Vertricus

    Godlike

  • Przyjaciel

Reputacja: 426
Wszechobecny

  • Postów:1 549
  • Lokalizacja:.
Offline

Napisano 02.02.2010 14:11

GoQ najlepszym przykładem jest Zombie Plauge :)
Na alliedach w dziale HighTrafic Plugins masz sporo pluginów które korzystają z natyw z ZP
  • +
  • -
  • 0

#6 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 02.02.2010 14:18

GoQ najlepszym przykładem jest Zombie Plauge :)
Na alliedach w dziale HighTrafic Plugins masz sporo pluginów które korzystają z natyw z ZP


Nie, najlepszym przykładem jest to że w (prawie?) każdym pluginie korzystasz z funkcji natywnych z tą różnicą że funkcje te nie są zapisane w pluginach tylko bibliotekach.
  • +
  • -
  • 0

#7 G[o]Q

    I'm G[o]Q

  • Autor tematu
  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 02.02.2010 18:21

dobra czyli jest tak ze musze pierw zarejestrowac biblioteke poprzez

register_library("nazwa biblioteki");

i wrzucic do tego pliku naglowki funkcji ktorych bd uzywac w innym pluginie tak??

a potem rejestrowac natywy poprzez

register_native("A", "B");

Ale co dokladnie oznaczaja te parametry to sa naglowki funkcji tak??

czy oznaczaja one to ze pierwszy parametr to naglowek jaki bedziemy uzywac w innych plugach a parametr 2 to nazwa funkcji w pluginie gdzie natyw rejestrujemy??


aha no i jak powinien wygladac ten plik inc ??
bo ten co R3X zrobil wyglada tak

#if defined _DiabloMod_Items_included
    #endinput
#endif

#define _DiabloMod_Items_included // to jest nazwa biblioteki jaka dawalo sie w register_library  tak???

#pragma library "DiabloMod_Items"  // a to pewnie jest nazwa jaka uzywamy w include tak??


native diablo_get_user_item(id); //a tutaj naglowek z parametrem tak??

native diablo_send_user_item(id, item);


/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/

  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#8 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 02.02.2010 21:38

register_native("A", "B");

w pluginie, który rejestruje natywa musi być publiczna funkcja B w takiej postaci:
public B(ID_PLUGINU, LICZBA_PARAMETROW){

gdy w innym pluginie użyjesz funkcji A() to B() zajmuje się jej obsługą, dlatego masz dostęp do danych z tego pluginu w innym

co do inc`a, to pierwsze linie dbają, by nagłówek 2 razy użyty (2 linijki z #include<mojabilbioteka>) nie sprawiał problemów przy kompilaciji

#if defined _DiabloMod_Items_included 
#endinput 
#endif 
#define _DiabloMod_Items_included
znaczy: jeśli istnieje już stała "_DiabloMod_Items_included" nie idź dalej


#pragma library "DiabloMod_Items"
to jest związane z register_library();



dalej są nagłówki funkcji, informujące w jaki sposób ich używać; mile widziane komentarze jeśli nazwa i argumenty funkcji nie mówią za dużo
  • +
  • -
  • 1

#9 G[o]Q

    I'm G[o]Q

  • Autor tematu
  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 02.02.2010 21:57

ok a co dokladnie oznacza get_params(x), komenda i "x"
  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#10 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 02.02.2010 22:03

jako, że B[(id, ile_argumentow)] nie otrzymuje parametrów natywa, musisz je pobrać odpowiednimi funkcjami:
get_param() //komórka pamięci, np. int,char
get_param_byref(); //jw. z tym, że przez referencję
get_param_f(); //Float:
get_string()//tekst
get_array();//tablica komórek
get_array_f(); //tablica Float:
zależnie od typu

native test(id, Float:fValue, const szMessage[]);
ten x to pozycja parametru
Numerujemy tak:
1 - id
2 - fValue
3 - szMessage


test(0, 1.0, "Test");

uwaga: Duży skrót składni xD
get_param(1) = 0
get_param_f(2) = 1.0
get_string(3) = "Test"
  • +
  • -
  • 0

#11 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 02.02.2010 22:32

R3X moglbys to skopiowac, moze lekko rozwinac i bedzie male info dla tech co chca uzyc natyw (w tej dziedzinie spewnoscia mnie przewyzszasz).

Parametry zaczynaja sie od 1? Zawsze musza mieszac w tych jezykach, raz od zera a raz od 1...
  • +
  • -
  • 0

#12 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 02.02.2010 22:38

jeszcze nie sprawdzałem, ale przypuszczam, że get_string(0) pobierze nazwę natywu :D dlatego parametry od 1

ok, zabiorę się jutro za tutka porządnego na ten temat
  • +
  • -
  • 0

#13 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 02.02.2010 23:00

Jak ladnie napiszesz, to moze w przyszlej wersji diablo modu beda natywy :F
  • +
  • -
  • 0

#14 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 03.02.2010 00:54

http://amxx.pl/natywy-t20034.html
  • +
  • -
  • 0

#15 G[o]Q

    I'm G[o]Q

  • Autor tematu
  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 03.02.2010 13:51

dzięki :D a co do natywow w diablo to mozna sobie pisac klasy itemy a potem zalaczac zeby diablo nie edytowac :D tylko dopisac rejestracje :D

a powiedz mi jedno czy mozna uzyskac w jednym plugu wartosc zmiennej z innego pluga? np pobrac klase diablo zapisana w
player_class[33]
i uzyc jej np w diablo_wez_daj ?
  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#16 Vertricus

    Godlike

  • Przyjaciel

Reputacja: 426
Wszechobecny

  • Postów:1 549
  • Lokalizacja:.
Offline

Napisano 03.02.2010 15:15

np.

public native_klasa(index)
           return player_class[index]
Oczywiście rejestrujesz natywe w diablo robisz include i powinno zadziałać ^^ przynajmniej u mnie kuka :>
  • +
  • -
  • 0




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

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