Witajcie
Użytkownik georgeml ( pewnego zagranicznego forum ) naniósł poprawki oraz dodatki w pliku amxbans'a a dokładnie w pliku amxbans_core
Lista Zmian / Poprawek:
- Wymaga AMXModX w wersji 1.8.2 bądź wyższej
- Równoczesna współpraca users.ini oraz MySQL, zależny od ustawień cvaru amxbans_use_admins_file !
- Dodawanie adminów za pomocą komendy amx_addadmin ( users.ini oraz MySQL ), zapis zależny od ustawień cvaru amxbans_use_admins_file !
- Automatyczne usuwanie / wyłączanie admina gdy wygaśnie ( users.ini oraz MySQL )
- Gdy w users.ini ręcznie dokonamy zmiany długośći czasu aktywności admina, zostanie on automatycznie przeliczony.
- Praca z hasłami kodowanymi w md5 jak i "czystymi"
- Możliwość tworzenia zrzutu tabeli adminów z MySQL ( w przypadku padnięcia serwera MySQL, admini ładowani są z zrzutu [ tkz. dump ] )
- Możliwośc połączenia z VIP Menu, itp. pluginami, wymaga dopisania np. w sma pluginu bądź pliku amxmodx.inc ( w przypadku jak chcemy tego masowo używać a nie chce nam sie dopisywać w każdym pluginie tego ) odpowiedniego natywu
native days_left_info( id );
- Możliwośc automatycznego czyszczenia MySQL oraz users.ini ( w przypadku users.ini po prostu komentuje admina aby był nie aktywny ) po określonym czasie od wygaśnięcia
Instrukcja dopisywania admina w users.ini
- Admin na czas nieokreślony ( Opcja #1 )
- Struktura
-
"name|ip|steamid" "password" "access flags" "account flags"
- Przykładowy wpis
"STEAM_0:0:123456" "password" "abcdefghijklmnopqrstu" "ce"
- Admin na czas nieokreślony ( Opcja #2 )
- Struktura
-
"name|ip|steamid" "password" "access flags" "account flags" "dni"
- Przykładowy wpis
"STEAM_0:0:123456" "password" "abcdefghijklmnopqrstu" "ce" "0"
- Admin na czas określony
- Struktura
-
"name|ip|steamid" "password" "access flags" "account flags" "dni" "data wygaśnięcia"
- Przykładowy wpis
"STEAM_0:0:123456" "password" "abcdefghijklmnopqrstu" "ce" "0" "438510885"
- Automacznie wyłączony admin przez plugin po upływie jego ważności oznaczany w users.ini w taki sposób
;"STEAM_0:0:123456" password"" "abcdefghijklmnopqrstu" "ce" "0" "438510885"
- Informacje dodatkowe!
- Jeśli w miejscu dni oraz data wygaśnięcia będzię postawione "0" admin działa na czas nieokreślony
- Jeśli w miejscu dni będzie ustawione "0" a w miejscu data wygaśnięcia będzię wartość >"0" admin działa na czas określony po upływie wyznaczonego terminu zostaje wyłączony
- Date ważności admina podajemy w "Czasie Unixowym" tkz. czas POSIX. Polecam serwis Epoch Unix Time Stamp Converter aby przeliczyć "nasz czas" na "czas unix'owy".
- Informacje dodatkowe!
Instrukcja używania komendy amx_addadmin
- Struktura komendy
amx_addadmin "Nick lub SteamID" "hasło" "flagi dostępu" typ uwierzytelniania (nazwa lub parowe)" "Liczba dni"
- Przykład użycia
- Nick
amx_addadmin "Nick" "hasło" "abcdefghijklmnopqrstu" "a" "48"
- SteamID
amx_addadmin "STEAM_0:0:123456" "" "abcdefghijklmnopqrstu" "ce" "48"
- SteamID + Hasło
amx_addadmin "STEAM_0:0:123456" "hasło" "abcdefghijklmnopqrstu" "ca" "48"
- Nick
Cvary Dodane / Zmodyfikowane
- amxbans_use_admins_file
- 0 - admini z MySQL
- 1 - admini z users.ini
- 2 - nie ładuje adminów ( lulz! )
- 3 - admini z MySQL oraz users.ini
- amxbans_dump_sql
- 0 - nie tworzy zrzutu tabeli adminów na wypadek braku odpowiedzi serwera MySQL bądź jego padnięcia
- 1 - tworzy zrzutu tabeli adminów na wypadek braku odpowiedzi serwera MySQL bądź jego padnięcia, przydatne gdy cvar amxbans_use_admins_file ma wartość 0, dla bezpieczęństwa i czystych sumieni przy używaniu wartości 3 w owym cvarze można tego też używać
- amxbans_expadmins_delete
- 0 - nie czyści wygasłych adminów
- >0 - automatycznie czyści wygasłych adminów, po upłynięciu wpisanej wartości dni w tym cvarze
- W przypadku AMXBansa połączonego z więcej niż jednym serwerem, na każdym serwerze wartość w tym cvarze musi być taka sama, w przeciwnym wypadku możemy narobić więcej szkód niż pożytku
Wyświetlanie pozostałego czasu do wygaśnięcia naszego admina w "AMX Mod X Menu"
Otwórz plik menufront.sma
Szukamy tekstu
new g_clientMenuPlugin[MAXMENUS][STRINGSIZE]
dopisujemy pod tym to ( jeśli nie dopisaliście sobie tego w pliku amxmodx.inc )
native days_left_info( id );
następnie szukamy funkcji
displayMenu(id, pos) {
w wyżej wymienionej funkcji, odnajdujemy ten kawałęk kodu
new start = pos * MENUITEMSPERPAGE
dopisujemy pod nim to
/* Dni */ new exp = days_left_info( id ); new left[ 32 ]; if ( exp == 0 ) format( left, 31, "Nigdy!" ); else num_to_str( exp, left, 31 ); /* Dni */
kolejnym krokiem jest odnaleźienie tego kawałka kodu
g_coloredMenus ? "\yAMX Mod X Menu\R%d/%d^n\w^n" : "AMX Mod X Menu %d/%d^n^n" , pos + 1, (g_menusNumber / MENUITEMSPERPAGE) + (((g_menusNumber % MENUITEMSPERPAGE) > 0) ? 1 : 0))
i zastąpienie go tym kodem
/* Zwykłe - Bez ważności admina */ //g_coloredMenus ? "\yAMX Mod X Menu\R%d/%d^n\w^n" : "AMX Mod X Menu %d/%d^n^n" , pos + 1, (g_menusNumber / MENUITEMSPERPAGE) + (((g_menusNumber % MENUITEMSPERPAGE) > 0) ? 1 : 0)) /* Zwykłe - Bez ważności admina */ /* Nowe - z ważnością admina */ g_coloredMenus ? "\yAMX Mod X Menu\R%d/%d^n^nAdmin wygasa za: %s dni.\w^n^n" : "AMX Mod X Menu %d/%d^n^nAdmin wygasa za: %s dni.^n^n" , pos + 1, (g_menusNumber / MENUITEMSPERPAGE) + (((g_menusNumber % MENUITEMSPERPAGE) > 0) ? 1 : 0), left) /* Nowe - z ważnością admina */
Zapisujemy, kompilujemy i podmieniamy plik na serwerze
W Załączniku dodałęm gotowy, zmodyfikowany menufront.sma z AMX Mod X 1.8.2
amxbans_core.sma 29,64 KB 388 Ilość pobrań
amxbans_core.amxx
menufront.sma 14,1 KB 299 Ilość pobrań
menufront.amxx