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
 

TibacK - zdjęcie

TibacK

Rejestracja: 03.07.2013
Aktualnie: Przegląda temat Prośba o pomoc
Poza forum Ostatnio: wczoraj, 23:04
*****

Moje tematy

Nie działa mi vip z generatora - co robić?

11.01.2020 12:40

1. O czym mowa?

No dobra, wygenerowałem sobie vipa z generatora, wgrywam na serwer i NIE DZIAŁA!!!!

 

2. Jak naprawić?

Dobra, zamiast spamić zaraz na forum to najpierw spróbuj sam coś wykminić.
Są dwa główne problemy.
  • niekompatybilność wersji AMXX, vip z generatora jest robiony pod AMXX 1.9, na niższych nie ruszy, bądź będzie błąd
  • problem z kompilacją, jak wyżej, bo jak użyjesz kompilatora w wersji niższej niż 1.9 to się nie skompiluje

 

No to jazda. Zaczynamy od problemów typu 1, czyli wgrywasz na serwer i nie działa.

Co musisz sprawdzić? Wpisz w konsole serwera: 'amxx plugins' i dostaniesz listę pluginów, które działają na serwerze. Szukasz tam swojego vipa i patrzysz jaki ma status.

Przykładowy wycinek:

Spoiler

 

i widzimy na koncu listy naszego vipa. Ma status 'bad load', a poniżej (czyli na końcu listy) widzimy jaki błąd wystąpił

Błąd jest popularny i co z nim zrobić jest opisane tutaj: https://amxx.pl/topi...mat-or-version/ , ale będziesz musiał zrobić dodatkowy krok, który opiszę poniżej.

 

 

Problemy typu 2, czyli problem z kompilacją lokalną vipa z generatora (pamiętaj, żeby użyć kompilatora w wersji zgodnej z twoją wersją AMXX na serwerze - opisane w linku powyżej). Jak już mówiłem - vip z generatora jest pod AMXX 1.9, ale to nie problem przerobić go na niższe.

Najpopularniejszym błędem kompilacji jest:

//// vip.sma
// D:\Compiler_zlecenia\vip.sma(43) : error 025: function heading differs from prototype
// D:\Compiler_zlecenia\vip.sma(527) : error 088: number of arguments does not match definition
//
// 2 Errors.
// Could not locate output file compiled\vip.amx (compile failed).
//
// Compilation Time: 0.41 sec
// ----------------------------------------

najważniejsze informacje z tego płynące to: vip.sma(43) i vip.sma(527)

Rozwiązanie problemu:

Spoiler

 

Jak będą jakieś inne błędy, które są proste w naprawie to postaram się je załączyć tutaj, póki co tyle ode mnie, pozdrawiam serderznie ;)

Załączam przykładowy plik vip.sma, który był użyty do tutoriala.

Naprawa: Plugin uses an unknown function (name "xxx")

18.09.2019 19:46

A napisze sobie tutka, bo mam wolne 15 minut :D Może sie przyda komuś.

 

Przykładowy błąd:

[AMXX] Plugin "csgo_ranks_us.amxx" failed to load: Plugin uses an unknown function (name "add_user_elo") - check your modules.ini.

1. Skąd się bierze ten błąd?

 

Błąd generalnie nie jest jakiś skomplikowany. Chodzi o to, że mamy plugin csgo_ranks_us, który chce skorzystać z natywu add_user_elo, ale żaden plugin nie udostępnia takiego natywu. No i stąd ten błąd. Kompilator nie jest w stanie wychwycić tego typu błędu, ponieważ on tak naprawdę nie ma pojecia czy natyw, którego chcemy użyć istnieje. My mu dostarczamy tylko linijkę, która informuje, że zamierzamy skorzystać z jakiegoś natywu np:

native add_user_elo(id, ile);

I kompilator w tym momencie mówi - ok, ja to skompiluje, ale twoim zadaniem jest zadbanie o to, żeby inny plugin udostępniał ten natyw. Powyższą linijkę można traktować jako taką 'zapowiedź', że będzie istniał taki natyw jak add_user_elo. Jeśli jednak nie dostarczymy pluginu, który będzie obsługiwał ten natyw to dostaniemy błąd, o którym mowa.

Więcej o natywach można poczytać w tutorialu mojego serdecznego kolegi tu: https://amxx.pl/topi...e-api-w-amxxie/ lub tu: https://amxx.pl/topic/20034-natywy/

 

Warto dodać także, że może się tak zdarzyć, że wgramy plugin całkiem od innego moda i brakuje jakiegoś natywu i wtedy raczej trzeba będzie przerobić plugin, tak aby współpracował z naszym modem.

 

 

2. Jak naprawić?

 

Proste - dostarczyć plugin, który obsługuje dany natyw. No własnie, ale skąd wiadomo co wgrać? Ano tu trzeba mieć troszkę obycia i ogarnięcia, bo można się domyśleć - jeśli wywala nam coś o natywie na przykład z cod moda, to można sie domyslać, że z czymś do CoD'a jest nie tak. Najprostszy sposób to wrzucić nazwe natywu w google i po tych śladach dojść co za plugin go udostępnia. No dobra, ale nie zawsze się tak uda i co wtedy? Mogło się zdarzyć tak, że wywalił nam się silnik jakiegoś moda i wszystkie pluginy, które korzystają z natywów tegoż silnika się wywali też. Przykład? Masz:

 

Spoiler

 

Widzimy tutaj, w 3 linijce, że wywalił sie silnik cod mod i co? I poleciały wszystkie perki i klasy po kolei, więc warto czasem przeglądnąć w logu co tam sie zrobiło i wydedukować czy czasem nie jest tak, że jeden plugin sie wysypał, a reszta zaleznych od niego też. W tym przypadku należy poprawić silnik (a tak naprawdę wgrac moduł hamsandwich, ale na potrzeby tego tutoriala to uprościłem), a zależne od niego pluginy się uruchomią.

Pamiętaj, że możesz sprawdzić stan pluginów wpisując 'amxx plugins' w konsole serwera i w ostatniej kolumnie mamy status pluginu. Jeśli się nie załaduje jakiś plugin to będzie miał status 'bad load', wtedy należy się zacząć martwić, a potem naprawić go ;)

Przykładowy wydruk po wpisaniu 'amxx plugins'

Spoiler

 

 

3. Uwagi

 

Jeśli jesteś spostrzegawczy to zauważyłeś, że w błędzie jest napisane: "check your modules.ini", ale tak naprawdę nawet nie trzeba tam zaglądać. Moduły ładują się automatycznie jeśli są wymagane (bodajże od wersji 1.8.1)

 

 

 

Jeśli masz pomysł co by tu można dodać jeszcze to napisz :P

Respawn Alert - kara dla kampiacych - możliwość ustawienia własnej strefy

09.09.2019 20:44

opis

Jest to modyfikacja tego pluginu: https://amxx.pl/topi...buyzone-respie/

Z tym, że plugin ma możliwośc ustawienia stref, czyli nie jesteśmy ograniczeni przez buyzone, ale możemy sobie rozciągnąć strefy jak nam się podoba.

 

inne informacje

Z góry dziękuję autorowi Toldi za jego kod, który dostosowałem na potrzeby moich zmian. Dużo zostało przerobione.

 

cvary

// Ile sekund po starcie rundy (koniec zamrozenia) ma sprawdzac czy gracz jest na respawnie.
respawn_guard_start "30.0"

// Co ile sekund ma sprawdzac czy gracz znajduje się na respawnie
respawn_guard_interval "3.0"

// Po ilu warnach ma zaczac karac gracza
respawn_guard_max_warns "3"

// Typ kary
// 0 - Slapowanie gracza (zabiera hp + rzuca graczem)
// 1 - Zabiera pieniadze
// 2 - Zabija
// 3 - Kickuje gracza
respawn_guard_penalty_type "0"

// Ile hp ma zabierac graczowi w przypadku gdy Penatly = 0 (nie radzę dawac wiecej niz 10)
respawn_guard_hp "20"

// Ile pieniedzy $ ma zabrac graczowi gdy Penatly = 1
respawn_guard_money "2000"

// Czy admini tez maja byc sprawdzani
// 0 - Tak
// 1 - Nie
respawn_guard_admin_immunity "0"

konfiguracja

Plugin posiada możliwość ustawiania własnej strefy spawnu.

Menu kreatora stref mamy pod komendą: /strefy , a także pod klawiszami Z,X,C (radio1,2,3).

Menu jest na flage: ADMIN_RCON czyli flaga "l" (l jak lama)

Menu jest dość proste do ogarnięcia. Po zapisaniu stref stworzy nam sie plik w folderze configs/respawn_zone/nazwaMapy.ini
Możemy poustawiać sobie pare stref, w których gracz ma być karany za przebywanie

 

instalacja

https://amxx.pl/topi...-pluginów-amxx/

 

Jeśli chcesz użyć gotowej strefy spawnu to:

plik .ini wrzucamy do folderu configs/respawn_zone/  (jeśli nie istnieje folder to trzeba stworzyć)

tu jest pokazowa strefa, którą zrobiłem (jesli ktoś chce zrobić lepsze lub dla innych map to proszę wrzucić do tematu a ja dodam tu): 

 

Strefa sięga tak:

Załączony plik  1.png   1,32 MB  0 Ilość pobrań

Załączony plik  2.png   1,36 MB  0 Ilość pobrań

 

Jeśli nie chcesz używać gotowej strefy użyj kreatora wspomnianego wcześniej.

 

 

05.02.2020 - Poprawa bugu z slapowaniem po killu, ogólna poprawki, zmiana cvarów, optymalizacja paru rzeczy, usunięcie pliku .cfg

11.02.2020 - Drobne zmiany i poprawki, cvary odświeżane co runde

naprawa: fatal error 100: cannot read from file: "xxx"

06.09.2019 21:57

Z racji, że widziałem pare już takich przypadków, więc napisze to, żeby mieć gdzie odsyłać :D

 

1. O czym mowa?

 

Mowa o błędzie 'cannot read from file' podczas kompilacji. Błąd najczęściej ma postać:

 
C:\Users\user\Desktop\scripting\plugin.sma(6) : fatal error 100: cannot read from file: "stripweapons"

2. Skąd się bierze ten błąd?

 

To proste. Kompilator nie mógł znaleźć pliku stripweapons.inc w folderze include.

 

 

3. Jak naprawić?

 

Rozwiązanie jest proste. Należy znaleźć i pobrać wskazany plik .inc, a następnie wgrać do go folderu /include naszego kompilatora.

 

 

4. Gdzie szukać plików .inc?

 

  • Gdy pobieramy jakąś paczke pluginów to wymagane pliki .inc można znaleźć w paczce (prawdopodobnie folder /scripting/include)
  • Na naszej kochanej, cudownej, przewspaniałej dokumentacji https://amxx.pl/dokumentacja/  tam możemy kliknąć na nazwe modułu/biblioteki i tam przejść do pobierania
    Załączony plik  screen.png   12,24 KB  0 Ilość pobrań
  • wpisujemy następującą fraze w google: "stripweapons.inc amxx" lub "stripweapons.inc alliedmodders"  (oczywiście zamiast stripweapons podajemy nazwę pliku, którego chcemy znaleźć)

 

 

Mam nadzieje, że się komuś przyda. Pozdrawiam serdecznie.

 

 

 

 

Advanced info - w której strefie mapy znajduje się gracz, kara za kampienie na respie

19.08.2019 20:43

Plugin powstał, po wielu irytujących meczach w cska, gdzie zespół był do kasacji bo dawali albo złe info, ale nie dawali.

 

opis

Zamysł pluginu był banalny. Tworzymy strefy, a potem pokazujemy graczowi, w której strefie na mapie jest.

Plugin ma pare przydatnych rzeczy jak:

  • kreator stref, dzięki któremu możemy utworzyć sobie strefy na mapie (prosty w obsłudze)
  • kara za kampienie na respie
  • pokazywanie, kto gdzie zginął (lub z którego miejsca został zabity)
  • pokazywanie, gdzie leży paka, jeśli jakiś CT ją zauważył
  • jeśli paka leży zaplantowana i ct zobaczy pake to reszta dostanie info na ktorym BS lezy
  • paka może być zaznaczona na radarze
  • jakieś domyślne pozycje, w których jest wyświetlana informacja o strefie na ekranie
  • omijanie pierwszych kilkunastu sekund rundy, po to by nie spamować wiadomościami od początku rundy
  • natyw, którym możemy pobrać strefe, w której znajduje się jakiś gracz/entity
  • system kolejkowania wiadomosci

Załączony plik  2.png   575,66 KB  0 Ilość pobrań

 

cvary

info_display_style 2 				// czyja lokalizacje pokazywac?  0 - nikogo (wyłącz), 1 - ofiary, 2 - zabojcy
info_display_zone_only 0 			// pokazywac tylko nazwy stref czy dodatkowy tekst tez? 0 - nie, 1 - tak
info_hud_holdtime 5.0 				// jak dlugo ma byc pokazywana informacja
info_hudpos 2 					// pozycja gdzie wyswietlac wiadomosci, 0 - kolo radaru, 1 - pod death info, 2 - nizej celownika
info_hudcolor "0 200 0" 			// kolor wiadomosci
info_block_time 20.0 				// jak dlugo blokowac informacje od poczatku rundy
info_bomb_info 1 				// czy pokazywac info na temat pozycji bomby, 0 - nie, 1 - tak
info_bomb_reminder 12.0 			// odstep miedzy powiadomieniami o bombie (czyli takie jakby, jak czesto odswiezac ta wiadomosc)
info_bomb_on_radar 1 				// czy pokazywac pozycje bomby na radarze? 0 - nie, 1 - tak
info_player_zone 1 				// czy pokazywac w ktorej strefie jest gracz? 0 - nie, 1 - tak
info_hudpos_player 2 				// pozycja gdzie wyswietlac wiadomosci dla strefy gracza, 0 - pod radarem, 1 - nad death info, 2 - srodek gora, 3 - pod czatem
info_hudcolor_player "90 222 50" 		// kolor wyzej wymienionej wiadomosci
info_kill_resp_time "30.0"                      // po jakim czasie ma sprawdzic polozenie graczy (czyli ile czasu mozna stac na respie po rozpoczeciu rundy), 0.0 zeby wylaczyc

instalacja

https://amxx.pl/topi...-pluginów-amxx/

 

konfiguracja

Dobra, to teraz pare słów o konfiguracji:

 

Aby zabijało graczy na respie to strefa musi zawierać w swojej nazwie "resp" oraz "tt" (wielkość liter nie ma znaczenia). Czyli strefe od respa tt mozemy nazwac "Resp TT", "Respior tT" itd.

 

Menu kreatora stref mamy pod komendą: /strefy  , a także pod klawiszami Z,X,C (radio1,2,3).

Menu jest na flage: ADMIN_RCON czyli flaga "l" (l jak lama)

Załączony plik  1.png   992,02 KB  0 Ilość pobrań
 
No i dobra, po ustawieniu i zapisaniu strefek stworzy nam się plik w configs/info_zone/nazwaMapy.ini, gdzie nazwaMapy to nazwa obecnej mapy (a jakże by inaczej?)
Wrzucam Wam już gotowe strefki do mapy de_dust2 (download niżej), które przygotował wiktor000. Dzięki Ci za to  :blaga: . Wystarczy je wrzucić do wyżej wymienionej ścieżki.
 
Kilka porad co do ustawiania stref:
  • najlepiej jak strefy będa dość duże, a nie kilka malutkich dotyczących tego samego
  • strefy mogą mieć takie same nazwy
  • strefy nie powinny na siebie nachodzić
  • nie zapomnij zapisać stref :D
 
Reszta konfiguracji jest na początku kodu pluginu. Tam można poustawiać jakies bardziej zaawansowane rzeczy, ale nie trzeba ich ruszac w sumie.
Wyżej wymienione cvary można sobie dopisać do amxx.cfg. Cvary dotyczące kolorów odświeżają się co runde.
 
Jeśli hud by migał (mowa tu o tym, który pokazuje gdzie obecnie się znajdujemy) to można zmienić go na dhud - ale proszę o nowy wątek na forum - tam to rozwiążemy
 
 
inne informacje
Natywy:
// dodaje wiadomosc do kolejki wiadomosci dla danego teamu
// team -> 1 - TT, 2 - CT, 0 - all
// message -> wiadomośc
native info_add_message(team, message[]);


// pobiera informacje o strefie w ktorej znaduje sie byt
// ent -> identyfikator bytu (w szczegolnosci gracza)
// buffer -> tablica, do ktorej zostanie skopiowana informacja o strefie
// len -> dlugosc tablicy
// return - true jesli udalo sie znalezc strefe gracza, false gdy nie
native bool:info_get_entity_zone(ent, buffer[], len)

Radze nie napieprzać natywami w jakimś thinku czy coś.

Dzięki temu łatwo zintegrować (już zostało zrobione) takie info po śmierci, bo to domyślne jest na czacie i słabo widać, tak to jest szansa, że więcej osób zauważy dane info ;)

 

Info po śmierci w załączniku. Skorzystałem z tej wersji pluginu: https://amxx.pl/topi...ci-nowa-wersja/

Info wpisane przez gracza zostanie rozesłane do innych poprzez taki sam hud jak w przypadku informacji o bombie, strefie gracza itp.

 

 

Część kodu zakrzywiłem ze swojego starego antyrushera, który był bazowany na jakimś innym antyrusherze :D

Wszelkie sugestie mile widziane!

 

 

download

Pliki stref (wrzucamy do addons/amxmodx/configs/info_zone):

 

Jeśli ktoś chciałby/zrobiłby konfiguracje/edycje/poprawki pod inne mapki to proszę o wrzutke ;)

 

20.08.2019 - dodanie zabijania graczy kampiących na respie.

04.09.2019 - poprawiono wyświetlanie HELP_LINE

07.09.2019 - poprawka w enumie - nie wpływała na działanie pluginu, ale kłuła w oczy

11.02.2020 - dodanie natywu do pobrania pozycji, dodanie pluginu korzystającego z tego natywu (info po smierci)