AntiRusher
Spis treści |
Opis
Antirusher jest pluginem AMX Moda albo AMX Mod X. Stosowany jest na mapach aby uniknąć tzw rush'u.
Rush, z języka angielskiego oznacza po prostu wzmożony ruch. W grze oznacza, że gracz albo gracze szybko przeprowadzają atak, jednakże dotyczy to w głównej mierze drużyny 'broniącej'.
Oznacza to, że na mapach z bombą drużyną broniącą jes CT a na mapach z zakładnikami Terro. Osoba 'raszuje' jeśli należy do drużyny broniącej i agresywnie stara się zaatakować drużynę wroga na samym początku rundy, poprzez wybiegnięcie jej na przeciw, zamiast pozostać na miejscu aby bronić pozycji.
Oczywiście najlepszą obroną jest atak, jednakże na niektórych mapach powoduje to, że przejścia są tak skonstruowane, że drużyna broniąca ma dostatecznie dużo czasu aby zająć dogodne pozycje aby zaczekać i rozstawić się i czekać na przyjście drużyny atakującej. Jednakże zamiast czekać mogą wykorzystać ten czas na zmianę pozycji i zaatakowanie przeciwnika w miejscu bardziej dogodnym. Niestety często mapy są tak konstruowane, że jeśli druzyna atakująca zostanie zaskoczona to właściwie nie ma miejsca aby się schować i często giną jak kaczki :P
Dlategoteż powstał plugin który zmusza drużynę broniącą aby nie przekraczała pewnych granic. Sprowadza to rozgrywkę w grze do oryginalnego założenia twórców gry jak i poszczególnych map. Osoba która przekroczy granicę przeważnie traci punkty zdrowia , jeśli przebywa za długo - będzie trupem. Oczywiście mogą być wyjątki jak administrator serwera ale to już inna kwestia.
W niektórych grach tai plugin jest bardzo użyteczny, gdyż daje szansę drużynie atakującej podjąć równą walkę - szczególnie widoczne jest to w Day Of Defeat, gdzie poprzez przejmowanie flag i punków pojawiania się graczy można w końcu zepchnąć jedną drużynę do podstawowego miejsca pojawiania się graczy. Jednakże jeśli to miejsce jest otoczone przez wroga, a pojawiający się co pewien czas gracze nie mają szansy na oddanie strzału bo giną na miejscu. Nazywa się to potocznie 'spawn killing' i osoby nadużywające tej opcji są przeważnie dość ostro karane przez graczy i administratorów.
Linki
Instalacja i uruchomienie
- Pobieramy plugin zgodny z naszą wersją AMX Moda czy AMX Mod X.
- Patrzymy co jest w pakiecie - przeważnie jest tam plik .sma, z którego możemy zrobić plik .amx(x), zdarza się że już jest dostępny plik .amx ale nie oznacza to że będzie działać, ostatecznie powinny byc pliki konfiguracyjne z koorydnatami stref oraz plik readme z instrukcją obsługi.
Plik .sma wrzucamy do katalogu gdzie siedzą inne pliki .sma (poszukaj w katalogu addons/amx/examples/source czy też w addons/amxmodx/scripting ), można oczywiście skompilować (i postępować zgodnie z opisem instrukcji standardowych pluginów).
Plik .amx możemy od razu wrzucic do katalogu z innymi .amx(x) ( addons/amx/plugins czy addons/amxmodx/plugins ) i dodac odpowiednią linijkę do pliku confgiuracyjnego ammxod(x)/config(s)/plugins.ini
Wrzucamy plik .cor do stworzonego pzez nas ręcznie katalogu addons/amxmodx/configs/antirusher/
Do pliku amx.cfg warto dodac takie zmienne
amx_antirusher 1 // 0 - deaktywuje, 1 - aktywuje plugin amx_antirusher_slap 100 // sila uderzenia jesli ktos wejdzie na teren zakazany, 100 oznacza przeważnie smierc na miejscu amx_antirusher_time 60.0 // czas po którym wejscie na teren zakazany nie jest zunawane za rush (czyli nic sie nie stanie) amx_antirusher_eco 1 // pozwalaj wbiegac osobom na tzn eco mode (tylko osoby ktore maja malo kasy moga wbiec) amx_antirusher_money 3500 // ponizej tylu pieniedzy gracz raszujący jest w w eco mode
Uruchomienie
Po 2 zmianach mapy powinien plugin działać na mapach takich jak:
cs_estate cs_italy cs_militia cs_office de_aztec de_cbble de_dust de_dust2 de_inferno de_nuke de_piranesi de_prodigy de_train de_vertigo cs_assault_upc de_bahrain de_clan1_mill de_dust2_cz de_kabul
Jeśli nie działa upewnijcie się, że plugin jest uruchomiony (rcon amx list), ewentualnie twardy restart serwera gry (rcon quit). Jak to nie pomaga - przeanalizujcie jescze raz instalację i upewnijcie się, że macie amx_antirusher 1
Dodawanie stref - trochę teorii
Nasuwa się pytanie - jak stworzyc strefy anty raszu dla innych map albo zmienić istniejące?
Najpierw mały wstęp. Bez matematyki się nie obejdzie, ale spokojnie, nie jest to aż tak trudne.
- Jak wiadomo biegając w mapie jesteśmy w trówymiarowej przestrzeni gry - przeważnie w zakresach mapy.
Jak się poruszamy, to zmieniamy swoje współrzędne - x,y,z które jednoznacznie odzwierciedlają nasze położenie na mapie.
- Często jak korzystamy z jakiegoś programu do edycji map albo wglądu mapy, czy też pluginu, który w grze podaje nasze współrzędne, uzyskujemy dane w formacie (X, Y, Z) gdzie te trzy wartości mogą być wartościami z zakresu (-9999,9999)
- Antirusher podczas gry sprawdza pozycję gracza, czy jego wartości x, y, z znajdują się w dozwolonych zakresach.
A dokładniej to sprawdzają czy koordynaty gracza nie zawierają się w jednej ze zdefiniwanych, zakazanych stref.
Dlatego aby zdefiniować zakazaną strefę potrzebujemy dwóch punktów które w zupełności wystarczą do jednoznacznego określenia zakresu 1 strefy zakazanej. Tak naprawdę bardzo często zauważycie, że potrzebujemy nie tyle co dokładnych pozycji x,y,x danego punktu, co tylko jednej z tych trzech.
- Akurat autor pluginu tak koreślił format zapisu danych do pliku .cor, że trochę łatwiej to wyjaśnić na płaszczyznach przecinających przestrzeń mapy
Format dla tylko jdnej strefy wygląda tak:
NAZWA_TEAMU nazwa_mapy X1 X2 Y1 Y2 Z1 Z2
- NAZWA_TEAMU oznacza drużynę i może mieć wartośc CT albo T.
- nazwa_mapy oznacza nazwę mapy do której mają się dane strefy odwoływać, na przykład de_dust.
- X1 X2 Y1 Y2 Z1 Z2 oznaczają kordynaty kunktów definujących zakres strefy, punkt początkowy ma współrzędne (X1, Y1, Z1) a punkt drugi ma współrzędne (X2, Y2, Z2)
Ważne żeby X1 < X2, Y1 < Y2, Z1 < Z2.
Teoretycznie łatwiej byłoby podawać współrzędne w innym formacie : xyz xyz a nie xx yy zz. Jednak jak się zastanowaimy, trochę łatwiej będzie nam zrozumieć logikę jaką kierował się autor.
Jak gracz wchodzi do strefy to jego współrzędne będą się zawierać w zakresach czyli X1 < Xp < X2 i tak dalej.
Tak więc łatwiej nam będzie określić płaszczyny prostopadłe do danej osi . Oznacza to, że jeśli dane mamy w formacie xx yy zz to podajemy przedziały, w których strefa się znajduje.
Popatrzmy na rysunek, dla łatwiejszego zrozumienia dałem tylko współrzędne x i y. Na większści map i tak zmienna z nie będzie nas interesować.
Dla większej ilości stref dane w pliku .cor ulegają zmianie, ale dość prostej - po prostu dodajemy kolejne współrzędne strefy w formacie X1 X2 Y1 Y2 Z1 Z2 itd.
Przykład dla dwóch stref, Pierwsza strefa ma punkty z literką a, drugi z literką b
NAZWA_TEAMU nazwa_mapy X1a X2a Y1a Y2a Z1a Z2a X1b X2b Y1b Y2b Z1b Z2b
Jeśli dodamy jescze dwie strefy - c oraz d - to w efekcie uzykamy pełną linię (bo maks są 4 strefy)
NAZWA_TEAMU nazwa_mapy X1a X2a Y1a Y2a Z1a Z2a X1b X2b Y1b Y2b Z1b Z2b X1c X2c Y1c Y2c Z1c Z2c X1d X2d Y1d Y2d Z1d Z2d
Dodawanie stref - praktyka
Skąd wziąć koordynaty?
Istnieje kilka metod:
- w grze korzystając z pluginych standardowych wbudowanych w AMX - teleport menu.
- programem do edycji map (np QuARK, Valve Hammer Editor, WorldCraft, BSP Viewer)
- w grze korzystając z pluginów specjalnych jak amx_origin, ale to tylko jeśli ktomuś nie odpowaida inna metoda.
Metoda pierwsza:
Przykład dla mapy de_dust. Tutaj druzyną broniącą jest CT, więc to oni nie mogą raszować.
- Teleport menu, oczywiście trzeba mieć prawa admina aby wywołać teleport menu, oraz trzeba mieć aktywny ten plugin.
- Najwygodniej będzie nam przeprowadzic zadanie będąc spectatorem w trybie Free Look.
- Najpierw idziemy do miejsca gdzie chcemy umieścić strefę raszu.
- Następnie wybieramy Teleport menu i z niego Zapisz Lokację.
- Klikamy opcję Aktualana Lokacja aż pojawią się nam liczby - to są nasze koordynaty X Y Z.
- Warto teraz wykonać parę ruchów do przodu i na boki (np ze 4 kroki) oraz w chwili zatrzymania się z menu teleporta wybrać Zapisz Lokację - powinny się zmienic koordynaty.
- Warto wtedy zrobić screenshoty - albo zapisac je na karteczce i jak sie ruszaliśmy - przyda się za chwilę.
Tak naprawdę starczy zrobic jeden krok w dowolnym kierunku i zapisać koordynaty.
Przykład:
Teraz łapiemy za kartkę i ołówek, najlepiej w kratkę i rysujemy sobie te dwa punkty na prowizorycznej siatce 2d. Skala tu nie ma absolutnie znaczenia, chcę tylko pokazać strałkę, czyli jak sie ruszyliśmy na mapie.
Teraz warto aby mieć widok z lotu ptaka mapy - overview. Jak nie mamy obrazka, to nie szkodzi, możemy narysowac prowizoryczny plan mapy na kartce.
Następnie, na planie mapy znajdujemy gdzie żeśmy chcieli umieścic rush zone i tak obracamy kartką ze strzałką aby pokryło się nam to z ruchem jaki wykonaliśmy na mapie. No raczej to jest podobne do pozycjonowania mapy względem kompasu... :D
Zielona strzałka pokazuje tę samą strzałkę co na rysunku wyżej, ale względem położenia mapy.
Widać więc, że wygodniej będzie nam obrócic obrazek mapy o 90 stopni w lewo.
Teraz z wyznaczaniem strefy zakazanej jest bardzo proste:
Zauważmy, że CT mogą raszowac tylko dwiema drogami - przejsciem prze trupiarnię alobo pod galerią. Będzie najłatwiej to wyznaczyć.
Ponieważ nasz CT jak wejdzie w teren oznaczony na czerwono jego koordynaty będą się zmieniać tak:
- x1=-9999 , x2=9999 gdyż może dowonlie sie poruszać wg rysunku na prawo i lewo
- y1=-9999 , y2=2000 gdyż może dojść w zakazanej strefie do spawnu Terro, ale koniec strefy jest w przejściach
- z1=-9999 , z2=9999 gdzyż może się poruszać wszędzie w pionie.
Trzeba przygotować naszą linijkę do pliku .cor
CT de_dust -9999 9999 -9999 2000 -9999 9999
Koniec jak dla jednej strefy.
Dodawanie stref - więcej stref
No dobra, zdarza się, że mapa nie jest taka prosta i przydałoby się dodać na przykład jeszcze jedną strefę.
Wtedy każdą strefę rozpatrujemy oddzielnie, tylko trzeba dodac kolejne 6 koordynatów na strefę.
- Jeszcze jedno słowo o przedziałach - wartości 9999 oraz -9999 oznaczają odpowiednio limity całej mapy w grze.
- Jest możliwe aby storzyc na przykład strefę zakazaną jako wybrane przestrzenie na mapie, sczególnie jest to ważne w bardzo pionowych mapach jak de_vertigo. Jeśli źle ustawimy przedziały to może się okazać że przez niektóre miejsca gracze nie przeją bez naruszania strefy rushu. Albo pomimo względnej bliskości miejsc na mapie w przestrzeni (np pokój jeden obok drugiego) to jednak okazuje się że przejście z jednego pokoju do drugiego jest czasochłonne i nie jesteśmy w stanie zrashować tak szybko (bo np jest bardzo zawiły tunel).
Tak więc zwracajmy uwagę przy zaokrąglaniu wyników aby nie wyszło nagle, że osoba przytulona w rogu pokoju nagle jest w strefie rusha - tutaj przykładem jest de_cpl_fire i wybieg na wprost.
Jeśli dokładnie i starannie wykonacie pomiary to uda wam się strefy ustawić za jednym uruchomieniem mapy. W innym przypadku trzeba będzie sprawdzic w grze czy przypadkiem strefy nie są żle ustawione - ale o tym raczej gracze nam szybko doniosą.