[PORADNIK nr.2] Jakl zainstalować Pluginy
Z pAmIÄTnIkA nIeGrZeCzNeGo AnIoĹkA
Zeby dodac plugin .sma lub .amxx nalezy :PLIK SMA
- Źródła pluginów (czyli pliki z rozszerzeniem .sma)umieszczamy w katalogu
addons/amxmodx/scripting/
//Np. chcemy skompilować/przekompilować plugin nazwa_pluginu.sma
-W zależności od posiadanego systemu operacyjnego robimy tak:
Windows
-Po prostu odpalamy plik compile.exe i czekamy aż wszystkie pluginy się skompilują. Skompilowane pliki zapisują się w podkatalogu addons/amxmodx/compiled. Teraz wystarczy wszystkie potrzebne nam pluginy przenieść do katalogu addons/amxmodx/plugins.
Linux
-Tutaj sprawa wygląda podobnie jak pod Windows, tylko że uruchamiamy plik compile.sh. Reszta wygląda identycznie jak dla Windows.
Ok. Jak już się skompilowało wchodzimy do podkatalogu compiled wynajdujemy w nim nasz plugin.amxx i kopiujemy go do katalogu plugins naszego AMXX'a. Teraz (jeżeli jest to nowy plugin) trzeba go dopisać do plugins.ini.
Przez WEBCompiler
-Znajdują sie tam dwa pola
Upload .sma file
-Jest to pole do wczytania pliku .sma od nas z dysku.
Wybieramy Przeglądaj, wybieramy plik, cykamy na Compile i po chwili mamy stronę o tytule
Your plugin successfully compiled!
a pod tym wpis, że nasz link będzie aktywny przez 10 minut. Klikamy w nasz link i ściągamy plik .amxx
-Drugie pole to:
If you want, you can also paste plugin source code into the box below:
-Jest to pole do wklejenia samego kodu interesującego nas pluginu.
-W okienku: "Plugin short name:" podajemy nazwę naszego pluginu (skrócona, nazwa pliku wyjściowego). W dużym polu wklejamy nasz kod i klikamy na Compile.
-W obu wypadkach należy zapisać pliki amxx w addons/amxmodx/plugins/
-Nie zapomnijmy dodać nowych pluginów do plugns.ini w amxx!
Dodawanie/Usuwanie Pluginów
Dodawanie pluginów
-Otwieramy do edycji plik addons/amxmodx/configs/plugins.ini i dopisujemy przeważnie na jego końcu:
nazwa_pluginu.amxx
Gdzie nazwa_pluginu to nazwa pluginu jaki chcemy dodać. Należy pamiętać żeby plugin się załadował musi się znajdować w podkatalogu plugins oraz muszą być załadowane wymagane moduły..
Wyłączanie/Usuwanie pluginów
-Szukamy nazwy pluginu który chcemy wywalić lub tylko czasowo usunąć np. antiflood.amxx. Aby tylko wyłączyć plugin na początku linijki gdzie się znajduje dopisujemy ; (średnik). Teraz tylko trzeba zapisać plik i po zmianie mapy na serwerze nie mamy pluginu. Aby go z powrotem przywrócić wywalamy sprzed jego nazwy średnik.
Kolejność pluginów
-Czasem pluginy potrafią wykonywać komendy tak, że blokują wykonywanie dalszych pluginów albo nie działają poprawnie. Najczęściej zdarza się to z pluginami reagującymi na komendy say. Zauważcie, że jeśli wstawimy plugin pausechat po pluginie floodprotect to w ostateczności nie będziemy w stanie rozmawiać podczas pauzy w meczu.
-To samo się tyczy, jeśli kilka pluginów korzysta z tej samej komendy - są dodatki logujące wykonywanie pewnych komend i nic więcej nie robiące.
-Warto czytać instrukcje wewnątrz zipów czy plików .sma, aby upewnić się czy ważna jest kolejność pluginu w plugins.ini
Pluginy a Moduły
Najnowsza wersja
-Dosyć często zdarza się że po dodaniu jakiegoś nowego pluginu ten się nie ładuje mimo iż jest dobrze dodany. Wtedy najprawdopodobniej nie mamy włączonego modułu wymaganego przez plugin.
-Gdy mamy najnowszą wersje AMX Mod X (1.71) nie ma najmniejszego problemu z określeniem jakiego modułu brakuje, wystarczy wejść do katalogu z logami amxx'a (addons/amxmodx/logs) i otwieramy ostatni log.
-Powinniśmy znaleźć coś takiego:
L 02/31/2005 - 00:00:00: [AMXX] Plugin "jakis_plugin.amxx" failed to load: Module "cstrike" required for plugin. Check modules.ini.
-W tym momencie już wiadomo, że nie mamy uruchomionego modułu cstrike. Nie pozostaje już nic poza uruchomieniem go (patrz dalej).
Starsze wersje
-Wszystko ładnie, pięknie ale co jeśli mamy nieco starszą wersje AMXX'a? Niestety w starszych wersjach trzeba się troszkę wysilić aby znaleźć brakujący moduł - trzeba zajrzeć do źródła pluginu.
-Pluginy (źródła) zbudowane są przeważnie w następujący sposób:
/*
* Tutaj jakiś komentarz odnośnie pluginu,
* jego opis, wersja, lista dostępnych komend,
* lista zmian, itp. itd.
*/
#include <amxmod>
#include <amxmisc>
właściwy kod pluginu
-Nas interesuje tylko to co znajduje się po #include. Ta nazwa pomiędzy znakami mniejszości i większości jest nazwą modułu niezbędnego do działania pluginu. Dodatkowe linie podają nam też jakiego innego modułu możemy się spodziewać.
-Oto opis jaki include odpowiada za jaki moduł:
#include <amxmodx> <<----- Plugin korzysta z standardowej biblioteki czyli amxmodx. Nie trzeba żadnego dodatkowego modułu.
#include <amxmisc> <<----- j/w
#include <file> <<----- j/w
#include <string> <<----- j/w
#include <vault> <<----- j/w (?)
#include <regex> <<----- Plugin wymaga do działania modułu regex
#include <sockets> <<----- Plugin wymaga do działania modułu sockets
#include <engine> <<----- Plugin wymaga do działania modułu engine
#include <cstrike> <<----- Plugin wymaga do działania modułu cstrike
#include <dbi> <<----- Plugin wymaga do działania któregoś z modułów mysql, pgsql, mssql lub sqlite w zależności od posiadanej wersji bazy SQL. Najcześciej jest to MySQL.
#include <fun> <<----- Plugin wymaga do działania modułu fun
#include <fakemeta> <<----- Plugin wymaga do działania modułu fakemeta
#include <geoip> <<----- Plugin wymaga do działania modułu geoip
#include <array> <<----- Plugin wymaga do działania modułu array
#include <csx> <<----- Plugin wymaga do działania modułu csx
Dodawanie/Usuwanie Modułów
-Skoro już wiemy jakie moduły są nam potrzebne do działania możemy przystąpić do pracy.
Otwieramy do edycji plik addons/amxmodx/configs/modules.ini, odszukujemy w nim sekcje z odpowiednim modułem (np. geoip)
; ---------------------------------------------
; GeoIP - determines the country of ip adresses
; ---------------------------------------------
;geoip_amxx_i386.so
;geoip_amxx.dll
;geoip_amxx_amd64.so
-Jak widać mamy przed nazwami plików z modułami średniki, oznacza to że AMXX traktuje te linie jako komentarze (czyli ignoruje je). Aby włączyć moduł trzeba usunąć średnik sprzed odpowiedniego pliku. Dla Windows będzie to plik z rozszerzeniem dll
; ---------------------------------------------
; GeoIP - determines the country of ip adresses
; ---------------------------------------------
;geoip_amxx_i386.so
geoip_amxx.dll
;geoip_amxx_amd64.so
-Dla Linuxa pracującego na zwykłym procesorze 32bitowym będzie plik *i386.so
; ---------------------------------------------
; GeoIP - determines the country of ip adresses
; ---------------------------------------------
geoip_amxx_i386.so
;geoip_amxx.dll
;geoip_amxx_amd64.so
-Dla systemu Linux pracującego na 64bitowym procesorze AMD będzie to plik *amd64.so
; ---------------------------------------------
; GeoIP - determines the country of ip adresses
; ---------------------------------------------
;geoip_amxx_i386.so
;geoip_amxx.dll
geoip_amxx_amd64.so
-Teraz po zapisaniu pliku i zmianie mapy na serwerze moduł powinien się włączyć.
Uwagi
Jeśli nie chcesz za każdym razem wchodzić w konsolę i wpisywać 'amxmodmenu' zróbmy sobie binda. Dla tych, co sami nie potrafią z jakiś powodów: Do pliku config.cfg (edytujemy w Notatniku) w folderze cstrike dopisujemy:
bind "znak" "amxmodmenu"
gdzie znak to litera/cyfra na klawiaturze, np. F12
PLIK AMXX
Wszystkie potrzebne nam pluginy dodajemy do katalogu addons/amxmodx/plugins.
Jezeli plik jest nowy trzeba go dopisać do plugins.ini.
Dodawanie pluginów
-Otwieramy do edycji plik addons/amxmodx/configs/plugins.ini i dopisujemy przeważnie na jego końcu:
nazwa_pluginu.amxx
Gdzie nazwa_pluginu to nazwa pluginu jaki chcemy dodać. Należy pamiętać żeby plugin się załadował musi się znajdować w podkatalogu plugins oraz muszą być załadowane wymagane moduły..
Wyłączanie/Usuwanie pluginów
-Szukamy nazwy pluginu który chcemy wywalić lub tylko czasowo usunąć np. antiflood.amxx. Aby tylko wyłączyć plugin na początku linijki gdzie się znajduje dopisujemy ; (średnik). Teraz tylko trzeba zapisać plik i po zmianie mapy na serwerze nie mamy pluginu. Aby go z powrotem przywrócić wywalamy sprzed jego nazwy średnik.