Przeróbka TEST NA 32 bit
Egbert
08.08.2011
Witam, tym razem chciałbym zaproponować przeróbkę testu na 32 bity.
W oryginalnej formie test włącza się po pierwszej śmierci gracza. Według graczy grających na moim serwerze jest to strasznie uciążliwym wynalazkiem. I pewnie rację mają, bo ideą gry nie jest atakowanie graczy testami a w roli admina jest to, żeby wykryć 16 bit. Jak wiemy jest to ciężko wykonalne... Dla tego wpadłem na pomysł aby przerobić plugin tak, że jeśli są podejrzenia, że jakiś gracz używa 16 bit, admin wskazuje delikwenta który ma przejść test.
Plugin: Test na 32bity v2.0 - AMXX.pl: Support AMX Mod X
Pozdrawiam!
W oryginalnej formie test włącza się po pierwszej śmierci gracza. Według graczy grających na moim serwerze jest to strasznie uciążliwym wynalazkiem. I pewnie rację mają, bo ideą gry nie jest atakowanie graczy testami a w roli admina jest to, żeby wykryć 16 bit. Jak wiemy jest to ciężko wykonalne... Dla tego wpadłem na pomysł aby przerobić plugin tak, że jeśli są podejrzenia, że jakiś gracz używa 16 bit, admin wskazuje delikwenta który ma przejść test.
Plugin: Test na 32bity v2.0 - AMXX.pl: Support AMX Mod X
Pozdrawiam!
Załączone pliki
MarWit
08.08.2011
Łap, dodana komenda amx_32bit "nick" na flagę ADMIN_SLAY.
Użytkownik MarWit edytował ten post 08.08.2011 14:58
Załączone pliki
Użytkownik MarWit edytował ten post 08.08.2011 14:58
Egbert
08.08.2011
Dziękuję, tak sobie pomyślałem... Czy można jeszcze dodać jakieś menu do wyboru graczy? Jest to możliwe?
speedkill
08.08.2011
Możesz dodać w amxmodmenu
otwórz folder configs plik clcmds.ini
i dodaj na koncu
otwórz folder configs plik clcmds.ini
i dodaj na koncu
"32 Bit test" "amx_32bit #%userid%" "bd" "u"Zapisz teraz masz to w amxmodmenu pod numerem 8 i pokazuje liste graczy na którym chcesz to wykonać ;]
Egbert
08.08.2011
Wrzuciłem na serwer, działa pięknie dzięki wielkie ogromne plusy!
Dodano 09 sierpień 2011 - 20:51:
Panowie, niestety plugin nie działa. Przepraszam, za wcześnie potwierdziłem jego poprawność. Obecnie osoba, na której próbowałem działanie pluginu powiedziała mi, że się nie dogadaliśmy a plugin nie zadziałał.
Oto co zrobiłem:
1. menufront.sma - Przemieściłem z pozycji 8 na pozycję 4 i odwrotnie opcje menu.
Wchodzę do amxmodmenu wybieram 4 (komedy klientow), wybieram 8 cztery razy. Pokazuje się 32 Bit test - wybieram gracza, nic się nie dzieje.
Sprawdzałem w logach - żadnych śladów.
Warto by było stworzyć informację dla admina od razu po rozpoczęciu testu i informację z jakim wynikiem przeszedł test gracz.
Bardzo proszę o pomoc, pozdrawiam!
Użytkownik Egbert edytował ten post 09.08.2011 19:52
Dodano 09 sierpień 2011 - 20:51:
Panowie, niestety plugin nie działa. Przepraszam, za wcześnie potwierdziłem jego poprawność. Obecnie osoba, na której próbowałem działanie pluginu powiedziała mi, że się nie dogadaliśmy a plugin nie zadziałał.
Oto co zrobiłem:
1. menufront.sma - Przemieściłem z pozycji 8 na pozycję 4 i odwrotnie opcje menu.
AddDefaultMenus() { new flags; AddMenuLang("KICK_PLAYER", "amx_kickmenu", get_clcmd_flags("amx_kickmenu", flags) ? flags : ADMIN_KICK , "Players Menu") AddMenuLang("BAN_PLAYER", "amx_banmenu", get_clcmd_flags("amx_banmenu", flags) ? flags : ADMIN_BAN, "Players Menu") AddMenuLang("SLAP_SLAY", "amx_slapmenu", get_clcmd_flags("amx_slapmenu", flags) ? flags : ADMIN_SLAY, "Players Menu") AddMenuLang("CLIENT_COM", "amx_clcmdmenu", get_clcmd_flags("amx_clcmdmenu", flags) ? flags : ADMIN_KICK, "Players Menu") AddMenuLang("CHANGEL", "amx_mapmenu", get_clcmd_flags("amx_mapmenu", flags) ? flags : ADMIN_MAP, "Maps Menu") AddMenuLang("VOTE_MAPS", "amx_votemapmenu", get_clcmd_flags("amx_votemapmenu", flags) ? flags : ADMIN_VOTE, "Maps Menu") AddMenuLang("SPECH_STUFF", "amx_speechmenu", get_clcmd_flags("amx_speechmenu", flags) ? flags : ADMIN_MENU, "Commands Menu") AddMenuLang("TEAM_PLAYER", "amx_teammenu", get_clcmd_flags("amx_teammenu", flags) ? flags : ADMIN_LEVEL_A, "Players Menu") AddMenuLang("SERVER_COM", "amx_cmdmenu", get_clcmd_flags("amx_cmdmenu", flags) ? flags : ADMIN_MENU, "Commands Menu") AddMenuLang("CVARS_SET", "amx_cvarmenu", get_clcmd_flags("amx_cvarmenu", flags) ? flags : ADMIN_CVAR, "Commands Menu") AddMenuLang("CONFIG", "amx_cfgmenu", get_clcmd_flags("amx_cfgmenu", flags) ? flags : ADMIN_MENU, "Commands Menu") AddMenuLang("LANG_SET", "amx_langmenu", get_clcmd_flags("amx_langmenu", flags) ? flags : ADMIN_CFG, "Multi-Lingual System") AddMenuLang("STATS_SET", "amx_statscfgmenu", get_clcmd_flags("amx_statscfgmenu", flags) ? flags : ADMIN_CFG, "Stats Configuration") AddMenuLang("PAUSE_PLUG", "amx_pausecfgmenu", get_clcmd_flags("amx_pausecfgmenu", flags) ? flags : ADMIN_CFG, "Pause Plugins") AddMenuLang("RES_WEAP", "amx_restmenu", get_clcmd_flags("amx_restmenu", flags) ? flags : ADMIN_CFG, "Restrict Weapons") AddMenuLang("TELE_PLAYER", "amx_teleportmenu", get_clcmd_flags("amx_teleportmenu", flags) ? flags : ADMIN_CFG, "Teleport Menu") }2. clcmds.ini - dodałem zgodnie z poleceniem speedkill123
; Menu configuration file ; Default File location: $moddir/addons/amxmodx/configs/clcmds.ini ; To use with Players Menu plugin ; NOTE: By default in all settings the access level is set to "u". ; However you can change that, to limit the access to some settings. ; Client Commands Menu: ; < description > < command > < flags > < access level > ; "a" - execute from server console ; "b" - execute from admin console ; "c" - execute on selected player ; "d" - back to menu when executed "Kick player" "amx_kick #%userid%" "b" "u" "Slay player" "amx_slay #%userid%" "bd" "u" "Slap with 1 dmg." "amx_slap #%userid% 1" "bd" "u" "Ban for 5 minutes" "amx_ban #%userid% 5" "b" "u" "32 Bit test" "amx_32bit #%userid%" "bd" "u"
Wchodzę do amxmodmenu wybieram 4 (komedy klientow), wybieram 8 cztery razy. Pokazuje się 32 Bit test - wybieram gracza, nic się nie dzieje.
Sprawdzałem w logach - żadnych śladów.
Warto by było stworzyć informację dla admina od razu po rozpoczęciu testu i informację z jakim wynikiem przeszedł test gracz.
Bardzo proszę o pomoc, pozdrawiam!
Użytkownik Egbert edytował ten post 09.08.2011 19:52
Egbert
11.08.2011
Spróbowałem przez chwilą przez HLSW...
Konsola:
Proszę aby wprawne oko sprawdziło kod .sma załączony przez MarWit.
Konsola:
12:19:03 amx_32bit "Chrzescijan" 12:19:03 L 08/11/2011 - 12:20:38: Rcon: "rcon 140....4674 "XXXXXXXX" amx_32bit "Chrzescijan"" from "85.XXX.94.53:7130"Chat:
12:20:01 PL | TP [ UnionTM.pl ] 500FPS | (amx_psay): To Chrzescijan: miales test na 32 bit? 12:20:06 Chrzescijan (amx_chat): nie
Proszę aby wprawne oko sprawdziło kod .sma załączony przez MarWit.
MarWit
14.08.2011
Łap poprawione, działające w 100 %. Jezeli gracz dobrze zrobi test wyskoczy napis "Gracz nick przeszedl test POZYTYWNIE", jezeli nie, wyskoczy menu z wyborem opcji:
1. Kick
2. Ban 5 min.
3. Slay
4. Ponowne uruchomienie testu
0. Nic
Jak chcesz miec w menu, dodajesz tak jak napisał speedkill.
Użytkownik MarWit edytował ten post 14.08.2011 17:51
1. Kick
2. Ban 5 min.
3. Slay
4. Ponowne uruchomienie testu
0. Nic
Jak chcesz miec w menu, dodajesz tak jak napisał speedkill.
Załączone pliki
Użytkownik MarWit edytował ten post 14.08.2011 17:51
hary 15.08.2011
Zrobiłem test na graczu po chwili pojawiło się menu z kara dla niego wybrałem kicka i mnie też wyrzuciło.
speedkill
16.08.2011
Coś odemnie jeśli plugin jest sprawny teraz wystarczy w clcmd.ini dodać
"32 Bit test" "amx_32bit #%userid%" "bd" "u"
i już mamy w amxmodmenu ;]
"32 Bit test" "amx_32bit #%userid%" "bd" "u"
i już mamy w amxmodmenu ;]
Egbert
16.08.2011
MarWit, to mi się wyświetla centralnie na srodku ekranu:
Co prawda usunąłem "Gracz %s przeszedl test POZYTYWNIE" bo mam gościa o nicku Gracz~[cośtam] i śmiesznie by wyglądało: "Gracz Gracz~[cośtam] przeszedl...", ale to nie może być przyczyna.
Sprawdzałem opcje menu i tak na przykład wybieram jednego z graczy do testu, przechodzi negatywnie, otwiera się menu, wybieram ponowne uruchomienie testu i po chwili pokazuje mi, że inny gracz (nie ten pierwotny) nie przeszedł testu.
Drugim razem:
Wybieram jednego z graczy do testu, przechodzi negatywnie, otwiera się menu, wybieram kicknij i po chwili pokazuje mi, że inny gracz (nie ten pierwotny) zostal kickiniety.
Wygląda tak, jakby gubił ID gracza.
Użytkownik Egbert edytował ten post 16.08.2011 19:22
public test_passed(id){ client_print(id,print_chat,"[TEST] %L",LANG_PLAYER,"TEST_OK"); new nick[33]; get_user_name(id, nick, 32); client_print(his_tester[id], print_center, "Gracz %s przeszedl test POZYTYWNIE", nick); his_tester[id] = 0; } public test_failed(id){ new nick[33]; get_user_name(id, nick, 32); client_print(his_tester[id], print_center, "Gracz %s przeszedl test NEGATYWNIE", nick); CoZrobic(his_tester[id], id); his_tester[id] = 0; }
Co prawda usunąłem "Gracz %s przeszedl test POZYTYWNIE" bo mam gościa o nicku Gracz~[cośtam] i śmiesznie by wyglądało: "Gracz Gracz~[cośtam] przeszedl...", ale to nie może być przyczyna.
Sprawdzałem opcje menu i tak na przykład wybieram jednego z graczy do testu, przechodzi negatywnie, otwiera się menu, wybieram ponowne uruchomienie testu i po chwili pokazuje mi, że inny gracz (nie ten pierwotny) nie przeszedł testu.
Drugim razem:
Wybieram jednego z graczy do testu, przechodzi negatywnie, otwiera się menu, wybieram kicknij i po chwili pokazuje mi, że inny gracz (nie ten pierwotny) zostal kickiniety.
Wygląda tak, jakby gubił ID gracza.
Sprawdza się, dziękuję PLUSIK+Coś odemnie jeśli plugin jest sprawny teraz wystarczy w clcmd.ini dodać
"32 Bit test" "amx_32bit #%userid%" "bd" "u"
i już mamy w amxmodmenu ;]
Użytkownik Egbert edytował ten post 16.08.2011 19:22
Emulov. 16.08.2011
public test_passed(id){ client_print(id,print_chat,"[TEST] %L",LANG_PLAYER,"TEST_OK"); new nick[33]; get_user_name(id, nick, 32); client_print(his_tester[id], print_center, "Gracz %s przeszedl test POZYTYWNIE", nick); his_tester[id] = 0; } public test_failed(id){ new nick[33]; get_user_name(id, nick, 32); client_print(his_tester[id], print_center, "Gracz %s przeszedl test NEGATYWNIE", nick); CoZrobic(his_tester[id], id); his_tester[id] = 0; }
Co do wyświetlania na środku, to wystarczy zmienić chyba :
client_print(his_tester[id], print_center, "Gracz %s przeszedl test POZYTYWNIE", nick);
na
client_print(his_tester[id], print_chat, "Gracz %s przeszedl test POZYTYWNIE", nick);
I tak w obu przypadkach. Co do drugiego to nie wiem.
Egbert
17.08.2011
Jeżeli w dokumentacji wyczytałem, że:
get_user_name <<< KLIK
Jeśli dobrze zrozumiałem, get_user_name ( index, name[], len )zamiast:
get_user_name <<< KLIK
Jeśli dobrze zrozumiałem, get_user_name ( index, name[], len )zamiast:
get_user_name(id, nick, 32);powinno wyglądać tak:
get_user_name(id, name[nick], 31);Dobrze mówię? HELP ME
MarWit
17.08.2011
Źle rozumiesz, to jest dobrze : get_user_name(id, nick, 32);
Dla przypomnienia składnia: get_user_name(index, name[], len) czyli wypelniamy tak:
tworzymy tablice o wielkosci 33: new tabilca[33]
a następnie kopiujemy do niej nick;
get_user_name(id, tablica, wielkosc_tablicy-1)
Dla przypomnienia składnia: get_user_name(index, name[], len) czyli wypelniamy tak:
tworzymy tablice o wielkosci 33: new tabilca[33]
a następnie kopiujemy do niej nick;
get_user_name(id, tablica, wielkosc_tablicy-1)
Egbert
17.08.2011
Ok, ja się nie znam:P Ale ciągle staram sie zrozumieć
BTW, Jaka może być przyczyna takiego zachowania?
BTW, Jaka może być przyczyna takiego zachowania?
Sprawdzałem opcje menu i tak na przykład wybieram jednego z graczy do testu, przechodzi negatywnie, otwiera się menu, wybieram ponowne uruchomienie testu i po chwili pokazuje mi, że inny gracz (nie ten pierwotny) nie przeszedł testu.
Drugim razem:
Wybieram jednego z graczy do testu, przechodzi negatywnie, otwiera się menu, wybieram kicknij i po chwili pokazuje mi, że inny gracz (nie ten pierwotny) zostal kickiniety.
Drzanas
20.08.2011
Też się dołączam do prośby wyżej o poprawienie.
I mam propozycje aby zrobić tak że można sprawdzić gracza raz podczas mapy. Tego samego gracza oczywiście.
I mam propozycje aby zrobić tak że można sprawdzić gracza raz podczas mapy. Tego samego gracza oczywiście.
Egbert
20.08.2011
Nie rozumiem. W przyszłości? Jeśli tak, to raczej ciężko będzie to wykonać.I mam propozycje aby zrobić tak że można sprawdzić gracza raz podczas mapy. Tego samego gracza oczywiście.
Aha, właśnie zrozumiałem, że przy oryginalnej wersji pluginu gracz dostaje kicka bo i tak jeśli wejdzie następny raz to znów go dostanie. Czyli nie ma możliwości, żeby ktokolwiek grał z 16-bit.
Po przerobieniu powinno banować się permem, żeby nie wrócił pod zmienionym nickiem na 16-bit.
No i oczywiście proszę, proszę, bardzo proszę o poprawki
Pozdrawiam!