UWAGA
W związku z upgrade'em Forum Wiaderko do vB 4.x ewentualne błędy i nieprawidłowości proszę zgłaszać w tym temacie
Serwery Counter Strike 1.6 wiaderko.com

HashJama [TP] 193.33.176.148:27015 status serwera HashJama [TP] połącz

HashJama [FFA] 193.33.176.188:27015status serwera HashJama [FFA] połącz

HashJama [DM] 193.33.176.53:27015status serwera HashJama [DM] połącz

HashJama [Aim Hs] 193.33.176.15:27015status serwera HashJama [Aim Hs] połącz

HashJama [Flags] 193.33.176.111:27015status serwera HashJama  [Flags] połącz

HashJama [AWP/HG DM] 193.33.176.50:27015status serwera HashJama [AWP/HG DM] 193.33.176.50:27015 połącz

HashJama [TP #2] 193.33.176.54:27015status serwera HashJama [TP #2] 193.33.176.54:27015 połącz

wiaderko.com [Ventrilo] v1.svoice.pl:6416status serwera wiaderko.com [Ventrilo]

SPONSOR:
pukawka.pl

Wątek: Podstawy pisania pluginów AMXX

Strona 1 z 2 1 2 OstatniOstatni
Pokaż wyniki od 1 do 20 z 21
  1. #1 Podstawy pisania pluginów AMXX 
    Adminus pospolitus
    Dołączył
    Jan 2008
    Wiek
    20
    Posty
    9,225
    Wstep
    Poradnik ten pisałem dawno temu, gdy sam umiałem tyle co zawarte w tym poradniku. Jest to poradnik dla ludzi, którzy nie znają programowania w żadnym języku. Jeśli znasz inny język, ten poradnik na mało Ci się przyda
    Na początku należy ściągnąć AMXX Pro Studio, jest on w każdej paczce AMXX, można go też ściągnąć tutaj AMXX Studio
    Pluginy AMXX są pisane w języku o nazwie pawn


    W poradniku tym, będę opisywał rzeczy bezpośrednio w kodzie używając komentarzy. Komentarze w kodzie są bardzo przydatne szczególnie jeśli nie tworzysz dla siebie.

    Komentarzy używa się w następujący sposób
    Kod php:
    zwykły kod
    //komentarz jedno-liniowy
    zwykły kod
    /* a oto komentarz wielo-liniony
    pierwsza linia komentarza
    druga linia komentarza

    trzecia
    czwarta
    */ 

    Otwierając AMXX Studio otrzymujemy taki kod:
    Kod php:
    /* Plugin generated by AMXX-Studio */

    #include <amxmodx>
    #include <amxmisc>

    #define PLUGIN "new plugin"    //definiujemy tutaj nazwę...
    #define VERSION "1.0"        //...wersję...
    #define AUTHOR "author"        //... oraz autora pluginu, będą one się wyświetlać w konsoli po wpisaniu amx_plugins
                                //warto też wspomnieć, iż tekst który ma przed sobą "//" jest komentarzem- jest ignorowany przez kompilator, można to również zastąpić 2 innymi znakami: "/*"- początek komentowanego tekstu, "*/"- koniec komentarza
    public plugin_init() {         //jedna z ważniejszych części pluginu, tutaj 'mówimy' kompilatorowi co będzie robił plugin.
        
    register_plugin(PLUGINVERSIONAUTHOR)
        
        
    // Add your code here... tutaj dodajemy dowolny kod, o tym dalej :)

    Jak widać wszystyko jest ustawione domyślnie, można to zmienić w ustawieniach: tools/settings/misc


    Co oznacza #define?
    Przykład:
    Kod php:
    #define AUTHOR "naven" 
    wartość AUTHOR w cudzysłowiu(naven) będzie zastępować AUTHOR w poniższym kodzie- jako autor pluginu będzie podany naven
    Kod php:
        register_plugin(PLUGINVERSIONAUTHOR
    Funkcje
    Funkcje są zawsze przypisane do jakiejś komendy lub eventa(DeathMsg itd.)
    Oto przykład rejestrowania funkcji:
    Kod php:
    register_clcmd("komenda""funkcja"
    Co jest czym
    register_clcmd- client command, czyli komenda wykonywana przez klienta(gracza) np say /admin czy znany z serwerów pokemod +pokeskill
    register_concmd- komenda w konsoli, np amx_kick, amx_ban itd.
    Jest tego znacznie więcej, dochodzą do tego także eventy, być może opiszę je w innym poradniku.


    Kiedy mam dawać cudzysłów?
    Cudzysłowów używa się, gdy coś nie ma wartości string(string to wartość zmienna ale ma ograniczone wartości), lub id gracza
    Przykładem jest client_print(pokazuje wiadomość graczowi):
    Kod php:
    client_print(idprint_chat"wiadomosc w cudzyslowiu"//id oraz wartość string print_chat nie sa w cudzyslowiu, natomiast wiadomosc- nie jest string i musi go mieć 
    Wartości string client_printa
    print_chat - wiadomość na czacie,
    print_console - wiadomość w konsoli,
    print_notify - wiadomość konsoli w dev,
    print_center - napis na środku ekranu.

    Czym jest id?
    id mówi właściwie na czym ma wykonać komendę(na jakim graczu, 0= na wszystkich)

    Przykład
    Powiedzmy, że chcemy, aby graczowi po wpisaniu na czacie siema wyświetlała się na czacie odpowiedź- witamy cię!
    Kod php:
    //nie potrzebujemy tutaj autora, wersji oraz co to będzie za plugin, dlatego to ignorujemy
    //jednak potrzebne nam są moduły z których będziemy korzystać:
    #include <amxmodx>         //to są 2 moduły podstawowe
    #include <amxmisc>        //jeśli chcesz korzystać z bardziej zaawansowanych musisz dodać inne moduły

    public plugin_init() {
        
    register_plugin("test""1.0""naven")         //jako że zignorowaliśmy defines, możemy zarejestrować plugin teraz
        
    register_clcmd("say siema""funkcja_siema")    //rejestrujemy client command dla gracza dla funkcji funkcja_siema
        
    }                                                //nie zapomnij zamknąć plugin_init klamrą(to bardzo ważne, ponieważ kompilator pomyśli, że jeszcze nie skończyłeś tego)
    //teraz naciskamy na magiczny przycisk public function u górze kompilatora(można pisac, ale tak szybciej;p), pojawia nam się to:
    //public Function() //tutaj musi być nazwa naszej funkcji oraz id gracza(w nawiasie)- id jest pobierane z wykonaniem clcmd say siema
    //{
                //tutaj będzie to, co chcemy zrobić graczowi
    //}
    // będzie to wyglądać następująco:
    public funkcja_siema(id//mówimy kompilatorowi, że teraz ma zająć się funkcją funkcja_siema, oraz pobieramy id
    {
        
    client_print(idprint_chat"Witamy cie!"//musimy podac id! to samo id, które wcześniej pobralismy, print_chat opisane wyżej, trzecim argumentem jest wiadomość wyświetlana graczowi

    Podam również przykład, że gdy jeden gracz coś napisze, widzą go wszyscy(plugin_init taki sam jak wyżej)
    Kod php:
    public funkcja_siema()        //nie musimy pobierać id, bo będzie to dla wszystkich graczy
    {
        
    client_print(0print_chat"Witamy cie!")// w tym przypadku id to liczba 0- wiadomość ta wyświetla się wszystkim graczom



    Podsumowanie
    jak pewnie zaważyłeś, użyłem funkcji client_print, jest wiele takich funkcji i to właśnie na tym opiera się pisanie pluginów AMXX

    Wszystkie wartości string funcji znajdziesz tutaj: AMX Mod X Documentation
    Wszystyko o pisaniu pluginów(po angielsku) znajdziesz tutaj: AMX Mod X Documentation

    Poradnik napisany przez naven dla wiaderko.com. Zakaz kopiowania na inne fora!
    Ostatnio edytowane przez naven ; 09-07-2010 o 11:00 Powód: literówka
    Najlepszy hosting www tutaj
    Konfiguracja amxx, instalacja pluginów, pisanie pluginów AMXX. Więcej info na www.naven.com.pl
    Jebać steama.
    Odpowiedz z cytatem  
     

  2. #2 Odp: Podstawy pisania pluginów AMXX 
    V.I.P.
    Dołączył
    May 2008
    Wiek
    18
    Posty
    1,891
    string funkcji to tu: AMXX.pl :: Nieoficjalny polski support AMX Mod X :: Dokumentacja ... sry za linka ale tu jest po PL
    Odpowiedz z cytatem  
     

  3. #3 Odp: Podstawy pisania pluginów AMXX 
    Junior Mod Awatar powerman3
    Dołączył
    May 2009
    Posty
    531
    Przyda się :)
    Odpowiedz z cytatem  
     

  4. #4 Odp: Podstawy pisania pluginów AMXX 
    Lamka
    Dołączył
    Nov 2008
    Posty
    13
    Jest to po prostu zedytowany język C++ lub C.
    Sam programuje w Delphi (troszkę lepsze jak dla mnie :P )
    Zaproszenia Lockerz : http://lockerz.kenobi.cba.pl/
    http://img4.imageshack.us/img4/2331/userbarkenobics.png
    Odpowiedz z cytatem  
     

  5. #5 Odp: Podstawy pisania pluginów AMXX 
    Spamer
    Dołączył
    Jun 2009
    Wiek
    21
    Posty
    112
    Jak mam już kod
    #include <amxmodx>

    /*---------------EDIT ME------------------*/
    #define ADMIN_CHECK ADMIN_KICK

    static const COLOR[] = "^x04" //green
    static const CONTACT[] = ""
    /*----------------------------------------*/

    new maxplayers
    new gmsgSayText

    public plugin_init() {
    register_plugin("Admin Check", "1.51", "OneEyed")
    maxplayers = get_maxplayers()
    gmsgSayText = get_user_msgid("SayText")
    register_clcmd("say", "handle_say")
    register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER)
    }

    public handle_say(id) {
    new said[192]
    read_args(said,192)
    if( ( containi(said, "who") != -1 && containi(said, "admin") != -1 ) || contain(said, "/admin") != -1 || contain(said, "/adm") != -1 )
    set_task(0.1,"print_adminlist",id)
    return PLUGIN_CONTINUE
    }
    //pobrano z cs-puchatek.pl
    public print_adminlist(user)
    {
    new adminnames[33][32]
    new message[256]
    new contactinfo[256], contact[112]
    new id, count, x, len

    for(id = 1 ; id <= maxplayers ; id++)
    if(is_user_connected(id))
    if(get_user_flags(id) & ADMIN_CHECK)
    get_user_name(id, adminnames[count++], 31)

    len = format(message, 255, "%s Admini w grze: ",COLOR)
    if(count > 0) {
    for(x = 0 ; x < count ; x++) {
    len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")
    if(len > 96 ) {
    print_message(user, message)
    len = format(message, 255, "%s ",COLOR)
    }
    }
    print_message(user, message)
    }
    else {
    len += format(message[len], 255-len, "Brak adminow online.")
    print_message(user, message)
    }

    get_cvar_string("amx_contactinfo", contact, 63)
    if(contact[0]) {
    format(contactinfo, 111, "%s Kontakt z adminem serwera -- %s", COLOR, contact)
    print_message(user, contactinfo)
    }
    }

    print_message(id, msg[]) {
    message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
    write_byte(id)
    write_string(msg)
    message_end()
    }
    to, wystarczy ten tekst wkleić zamiast tamtego ??
    Odpowiedz z cytatem  
     

  6. #6 Odp: Podstawy pisania pluginów AMXX 
    Adminus pospolitus
    Dołączył
    Jan 2008
    Wiek
    20
    Posty
    9,225
    Musisz skompilować od nowa i wrzucić na nowo
    Najlepszy hosting www tutaj
    Konfiguracja amxx, instalacja pluginów, pisanie pluginów AMXX. Więcej info na www.naven.com.pl
    Jebać steama.
    Odpowiedz z cytatem  
     

  7. #7 Odp: Podstawy pisania pluginów AMXX 
    Spamer Awatar wesner
    Dołączył
    Jul 2009
    Posty
    159
    Tego mi trzeba bylo. Dzieki!!!
    Odpowiedz z cytatem  
     

  8. #8 Odp: Podstawy pisania pluginów AMXX 
    Lamka Awatar assfaairzzz
    Dołączył
    Apr 2010
    Posty
    16
    Stawiasz budynek bez fundamentów. Skąd świeżak ma wiedzieć, żę // to komentarz jedno linijkowy i skąd w ogóle ma wiedzieć co to komentarz? Niestety można go rozumieć na kilka sposobów. W tym przypadku oznacza fragment tekstu nie brany pod uwagę przez kompilator.
    Kod php:
    /*
    Komentarz
    wielo
    linijkowy
    brany pod uwage od znaku / i*
    do znaku * i /
    */ 
    Kod php:
    // komentarz, który zajmuje jedną linie 
    Wszystko w komentarzach jest brane jako tekst, który ma zostać pominięty oprócz */ w komentarzu wielolinijkowym.
    Odpowiedz z cytatem  
     

  9. #9 Odp: Podstawy pisania pluginów AMXX 
    Adminus pospolitus
    Dołączył
    Jan 2008
    Wiek
    20
    Posty
    9,225
    Pisałem to dawno temu, a że to są komentarze ująłem chyba w którymś poradniku.
    Najlepszy hosting www tutaj
    Konfiguracja amxx, instalacja pluginów, pisanie pluginów AMXX. Więcej info na www.naven.com.pl
    Jebać steama.
    Odpowiedz z cytatem  
     

  10. #10 Odp: Podstawy pisania pluginów AMXX 
    Lamka Awatar assfaairzzz
    Dołączył
    Apr 2010
    Posty
    16
    Podstawy pisania pluginów AMXX to pierwsze do czego zajrzy świeżak :) Mimo wszystko prosiłbym o dodanie wzmianki o komentarzach.
    Odpowiedz z cytatem  
     

  11. #11 Odp: Podstawy pisania pluginów AMXX 
    Adminus pospolitus
    Dołączył
    Jan 2008
    Wiek
    20
    Posty
    9,225
    Dodane.
    Najlepszy hosting www tutaj
    Konfiguracja amxx, instalacja pluginów, pisanie pluginów AMXX. Więcej info na www.naven.com.pl
    Jebać steama.
    Odpowiedz z cytatem  
     

  12. #12 Odp: Podstawy pisania pluginów AMXX 
    Spamer
    Dołączył
    May 2009
    Posty
    124
    Dzięki
    Mam jednak pytanie / problem
    Kod php:
    /* Plugin generated by AMXX-Studio */

    #include <amxmodx>
    #include <amxmisc>

    #define PLUGIN "Vipy"
    #define VERSION "1.0"
    #define AUTHOR "StormRage"


    public plugin_init() {
        
    register_plugin(Vipy1.0StormRage)
        
        
    // Add your code here...
    }
    register_clcmd("say /vips""funkcja"
    Co mam w funkcji wpisać żeby wyświetlało listę osób z wybraną flagą ( vipowską^^ )

    Oraz jakie linijki dodać czy coś aby wgrać modele, które będą tylko dla vipów?

    Chcę aby tt mieli taki model
    http://www.fpsbanana.com/models/1316
    A CT taki
    http://www.fpsbanana.com/models/1407

    Proszę o odpowiedź ;)

    Oraz: zrobiłem sobie /zasady , wszystko śmiga ale jak robie plik tekstowy, to tam nie zalicza spacji nawet jak robie te fajne kwadraciki <3
    Ostatnio edytowane przez StormRage ; 13-11-2010 o 21:28
    Odpowiedz z cytatem  
     

  13. #13 Odp: Podstawy pisania pluginów AMXX 
    Super Mod Awatar peku33
    Dołączył
    Oct 2008
    Posty
    7,256
    register_plugin(Vipy, 1.0, StormRage)

    wszystkie stałe owijamy w "costam"
    cs_set_user_model(id, "modelname"); - zmiana modelu
    if(get_user_flags(id) & ADMIN_LEVEL_H) - sprawdzenie czy vip
    {
    }
    PISANIE DO MNIE NA GG Z PROŚBĄ O JAKĄKOLWIEK POMOC NIE JEST MILE WIDZIANE! Numer: 6374959
    Odpowiedz z cytatem  
     

  14. #14 Odp: Podstawy pisania pluginów AMXX 
    Adminus pospolitus
    Dołączył
    Jan 2008
    Wiek
    20
    Posty
    9,225
    No i register_clcmd do inita...
    Najlepszy hosting www tutaj
    Konfiguracja amxx, instalacja pluginów, pisanie pluginów AMXX. Więcej info na www.naven.com.pl
    Jebać steama.
    Odpowiedz z cytatem  
     

  15. #15 Odp: Podstawy pisania pluginów AMXX 
    Spamer
    Dołączył
    May 2009
    Posty
    124
    Kod:
    if(get_user_flags(id) & ADMIN_LEVEL_H) - sprawdzenie czy vip
    {
    }
    W nawiasie mam podać, jaką flagę musi mieć osoba, a id zostawić puste/0 czy jak? &admin_level też ma być skopiowane/coś tam muszę wpisać?
    Odpowiedz z cytatem  
     

  16. #16 Odp: Podstawy pisania pluginów AMXX 
    Adminus pospolitus
    Dołączył
    Jan 2008
    Wiek
    20
    Posty
    9,225
    ADMIN_LEVEL_H to już flaga adminowa, jak wpiszesz 0 zamiast id gracza to nic tym nie zrobisz
    Najlepszy hosting www tutaj
    Konfiguracja amxx, instalacja pluginów, pisanie pluginów AMXX. Więcej info na www.naven.com.pl
    Jebać steama.
    Odpowiedz z cytatem  
     

  17. #17 Odp: Podstawy pisania pluginów AMXX 
    Spamer
    Dołączył
    Nov 2010
    Posty
    211
    neven ja pisałem z innego poradnika nie mogę go zmienić na amxx. plik jakieś błedy mi wychodza sprawdziłbyś mi go?


    Oto on to mam w programie AMXX Studia


    Kod:
    /* Plugin generated by AMXX-Studio */
    
    #include <amxmodx>
    #include <amxmisc>
    
    #define PLUGIN "Sterydy"
    #define VERSION "1.0"
    #define AUTHOR "krejzoL"
    
    
    public plugin_init() {
    	register_plugin(PLUGIN, VERSION, AUTHOR)
    	
    	register_clcmd("say /moc", "steroids"
    }
    
    
    public steroids(id)
    {
    	set_user_health(id, 200)
    	
    	set_user_gravity(id,0.50)
    	
    	client_print(id, print_chat,"Właśnie zażyłeś sterdy")
    
    	
    }
    
    new plugin_on
    new price
    
    public plugin_init() 
    {
    	register_plugin(PLUGIN, VERSION, AUTHOR)
    	register_clcmd("say /moc", "steroids")
    	plugin_on = register_cvar("amx_tutorial_plugin", "1")
    	price = register_cvar("amx_tutorial_price", "4000")
    	
    }
    
    public steroids(id)
    {
    	 
    	 
    	 
    	 new money = cs_get_user_money(id)
    	 
    	 
    	 
    	 
    	 
    	 
    	 if (plugin_on == 1)
    	 {
    	 	set_user_health(id, 150)
    		set_user_gravity(id,0.50)
    		client_print(id, print_chat,"You just purchased some steroids, dude!")
    		
    		
    		
    		
    		
    		
    		cs_set_user_money(id, money - price)
    	}
    
    }
    Odpowiedz z cytatem  
     

  18. #18 Odp: Podstawy pisania pluginów AMXX 
    Spamer
    Dołączył
    May 2009
    Posty
    124
    To co w ID mam wpisać? ^^^^

    ---------- Post dodany 14-11-2010 o godzinie 22:44 ----------

    Aa a jak chce żeb yct i tt mieli inny model?
    Odpowiedz z cytatem  
     

  19. #19 Odp: Podstawy pisania pluginów AMXX 
    Adminus pospolitus
    Dołączył
    Jan 2008
    Wiek
    20
    Posty
    9,225
    Musisz pobrać id pętlą np.
    Zamiana modeli graczy, terrorystów oraz CT

    Krejzol, nie zaincludowałeś bibliotek z których korzystasz(fun i cstrike), zamykaj nawiasy, plugin_init może być tylko jeden
    Najlepszy hosting www tutaj
    Konfiguracja amxx, instalacja pluginów, pisanie pluginów AMXX. Więcej info na www.naven.com.pl
    Jebać steama.
    Odpowiedz z cytatem  
     

  20. #20 Odp: Podstawy pisania pluginów AMXX 
    Spamer
    Dołączył
    Nov 2010
    Posty
    211
    A mógłbyś mi to bardziej wytłumaczyć zrobiłbyś mi dobrze i bym luknął co i jak? Po prostu porównałbym sobie
    Odpowiedz z cytatem  
     

Strona 1 z 2 1 2 OstatniOstatni

Podobne wątki

  1. Odpowiedzi: 3
    Ostatni post / autor: 30-01-2011, 22:05
  2. [AMXX] Dużo przydatnych pluginów
    By Knnube in forum Przydatne pluginy AMX i AMXX
    Odpowiedzi: 103
    Ostatni post / autor: 27-04-2010, 07:49
  3. Dużo ciekawych pluginów AMXX
    By seba in forum Przydatne pluginy AMX i AMXX
    Odpowiedzi: 76
    Ostatni post / autor: 28-08-2009, 19:25
  4. Mega Pack Pluginów AMXX :)
    By krzysiekgame in forum Archiwum forum
    Odpowiedzi: 2
    Ostatni post / autor: 31-07-2009, 21:18
  5. Poszukuje paczek Pluginów amxx
    By JaKuBoOo in forum Szukam pluginu AMX/AMXX
    Odpowiedzi: 5
    Ostatni post / autor: 11-02-2009, 19:07
  6. Kilka pluginów do AMXX
    By Zohan in forum Szukam pluginu AMX/AMXX
    Odpowiedzi: 13
    Ostatni post / autor: 08-01-2009, 17:02
  7. Kurs pisania pluginów do AMX
    By Luksor in forum Amx Mod X
    Odpowiedzi: 6
    Ostatni post / autor: 21-09-2008, 20:49
  8. Błędy pluginów w AMXX
    By tosiek in forum Amx Mod X
    Odpowiedzi: 26
    Ostatni post / autor: 04-05-2008, 09:40
  9. szukam 2 pluginów do amxx
    By juras91 in forum Szukam pluginu AMX/AMXX
    Odpowiedzi: 1
    Ostatni post / autor: 14-03-2008, 05:51

Odwiedzający znaleźli tę stronę szukając:

jak pisać pluginy do cs

jak pisac pluginy cs

jak pisać pluginy cs

jak pisac pluginy do cs 1.6

program do pisania pluginow

kurs amxx

kurs pisania pluginow

kurs pisania pluginów cs

cs pisanie pluginównauka pisania pluginówamxx studio spis include i definepodstawy amxcs 1.6 pisanie pluginownauka pisania pluginów w canauka pisanie pluginówpisanie pluginów amxxamxx studio pisanie pluginowkurs amxpisanie pluginów cscs amx od podstawpodstawy amxxporadnik pisania pluginowjak napisac plugin do cs1.6jak pisać pluginy do cs 1.6program do pisania pluginów cs
Uprawnienia umieszczania postów
  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •