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: Szuka...
Poza forum Ostatnio: wczoraj, 22:10
*****

Moje tematy

Losowy vip dla X osób

13.03.2020 18:35

opis

Plugin jest prosty w zamyśle - losuje X vipów w danej rundzie. Wylosowane vipy znikają po zmianie mapy. Plugin nie bierze do losowania botów oraz ludzi mających vipa.

 

 

instalacja

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

 

 

konfiguracja

Nie chciało mi sie cvarów dodawać do pluginów. Wszystko jest do ustawione w .sma

#define LOSOWANIE_VIP_OD 5
#define LOSOWANIE_W_KTOREJ_RUNDZIE 3
#define ILE_VIPOW_LOSOWAC 3
#define FLAGA_VIP ADMIN_LEVEL_H

Myśle, że jest to samo-tłumaczące się

Po zmianach należy skompilować ponownie i wrzucić na serwer.

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.