Siemka
Przedtem myślałem, że już sobie z tym freezetimem poradzę, ale plug wpleciony w drugi powoduje jego nie działanie.
Proszę o pokazanie mi, jak zablokować WSAD
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.
|
Napisano 04.07.2013 07:27
Siemka
Przedtem myślałem, że już sobie z tym freezetimem poradzę, ale plug wpleciony w drugi powoduje jego nie działanie.
Proszę o pokazanie mi, jak zablokować WSAD
Napisano 04.07.2013 09:04
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <fakemeta> new bool:g_bFreeze[33]; public plugin_init() { register_plugin("freeze", "0.1", "d0naciak") register_forward(FM_CmdStart, "fw_CmdStart"); } public client_putinserver(id) g_bFreeze[id] = false; public fw_CmdStart(id, iUc) { if(!is_user_alive(id)) return FMRES_IGNORED; if(g_bFreeze[id]) { new iButtons = get_uc(iUc, UC_Buttons); if(iButtons & IN_RUN) { set_pev(id, pev_buttons, iButtons & ~IN_RUN); } } return FMRES_IGNORED; } stock set_freeze(id, iSet) { if(iSet == 1) { g_bFreeze[id] = true; set_pev(id, pev_buttons, pev(id, pev_buttons) & ~IN_RUN); } else { g_bFreeze[id] = false; } }
Uzywaj funkcji set_freeze to ustawiania freeza
set_freeze(id, iSet) id - index gracza iSet - po ustawieniu na 1 daje freeza, na 0 przywraca mozliwosc poruszania sie
Jak dziala/nie dziala daj znac (nietestowane)
Napisano 04.07.2013 09:12
Zmiennej nie dodałeś
Zaraz przetestuje i dam znać
Napisano 04.07.2013 09:16
jest wszystko co potrzeba, tylko nie wiadomo czy zadziała
Napisano 04.07.2013 10:34
Napisano 04.07.2013 16:15
to nie brak zmiennej, to zle nawyki z mojej strony. Kod poprawiony
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <fakemeta> new bool:g_bFreeze[33]; public plugin_init() { register_plugin("freeze", "0.1", "d0naciak") register_forward(FM_CmdStart, "fw_CmdStart"); } public client_putinserver(id) g_bFreeze[id] = false; public fw_CmdStart(id, iUc) { if(!is_user_alive(id)) return FMRES_IGNORED; if(g_bFreeze[id]) { new iButtons = get_uc(iUc, UC_Buttons); if(iButtons & IN_RUN) { set_pev(id, pev_button, iButtons & ~IN_RUN); } } return FMRES_IGNORED; } stock set_freeze(id, iSet) { if(iSet == 1) { g_bFreeze[id] = true; set_pev(id, pev_button, pev(id, pev_button) & ~IN_RUN); } else { g_bFreeze[id] = false; } }
Napisano 05.07.2013 20:24
Nie działa mi
Przypisałem SB pod komende say /freeze i nic sie nie stało niestety
Napisano 07.07.2013 12:34
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <fakemeta> new const g_iKeysToBlock[5] = { IN_RUN, IN_MOVELEFT, IN_MOVERIGHT, IN_FORWARD, IN_BACK }; new bool:g_bFreeze[33]; public plugin_init() { register_plugin("freeze", "0.1", "d0naciak") register_forward(FM_CmdStart, "fw_CmdStart"); } public client_putinserver(id) g_bFreeze[id] = false; public fw_CmdStart(id, iUc) { if(!is_user_alive(id)) return FMRES_IGNORED; if(g_bFreeze[id]) { new iButtons = get_uc(iUc, UC_Buttons); for(new i = 0; i <= 4; i++) iButtons &= ~g_iKeysToBlock[i]; set_uc(iUc, UC_Buttons, iButtons); return FMRES_HANDLED; } return FMRES_IGNORED; } stock set_freeze(id, iSet) { if(iSet == 1) { g_bFreeze[id] = true; new iButtons = pev(id, pev_button); for(new i = 0; i <= 4; i++) iButtons &= ~g_iKeysToBlock[i]; set_pev(id, pev_button, iButtons); } else { g_bFreeze[id] = false; } }
Napisano 07.07.2013 12:46
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <fakemeta> new const g_iKeysToBlock[5] = { IN_RUN, IN_MOVELEFT, IN_MOVERIGHT, IN_FORWARD, IN_BACK }; new bool:g_bFreeze[33]; public plugin_init() { register_plugin("freeze", "0.1", "d0naciak") register_forward(FM_CmdStart, "fw_CmdStart"); } public client_putinserver(id) g_bFreeze[id] = false; public fw_CmdStart(id, iUc) { if(!is_user_alive(id)) return FMRES_IGNORED; if(g_bFreeze[id]) { new iButtons = get_uc(iUc, UC_Buttons); for(new i = 0; i <= 4; i++) iButtons &= ~g_iKeysToBlock[i]; set_uc(iUc, UC_Buttons, iButtons); return FMRES_HANDLED; } return FMRES_IGNORED; } stock set_freeze(id, iSet) { if(iSet == 1) { g_bFreeze[id] = true; new iButtons = pev(id, pev_button); for(new i = 0; i <= 4; i++) iButtons &= ~g_iKeysToBlock[i]; set_pev(id, pev_button, iButtons); } else { g_bFreeze[id] = false; } }
Napisano 07.07.2013 15:09
Tak gdyż nie wpływa na prędkość poruszania się tylko na przyciski które używa gracz
Napisano 07.07.2013 20:48
To tak jakby wklepać unbind klawiszów WASD - po prostu gracz ma zablokowane ich używanie - a prędkość chodu nie ma tu nic do rzeczy
0 użytkowników, 1 gości, 0 anonimowych