1. Jak ktoś wbija ustawia mu interp i uprate.
2. Gdy ktoś spróbuje zmienić interp (używając komendy ex_interp wartość) i poda inną wartość niż 0.01 zmienia mu na 0.01.
3. Co dwie rundy wymusza ex_interp i uprate.
4. Gdy ktoś wpisze ex_interp (bez wartości) wyświetla "Wymagany ex_interp na serwerze to 0.01".
5. Adminowi nie wymusza uprate.
Jakieś propo? : P Może plugin handled przy komendzie pierw? : <
Kodzik:
#include <amxmodx> #include <amxmisc> #define PLUGIN "Interp 0.01 Forever" #define VERSION "1.0" #define AUTHOR "Sn!ff3r" new enable new round public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) // register_event("HLTV","interp","a", "1=0", "2=0") register_logevent("interp", 2, "1=Round_Start") register_concmd("ex_interp", "niewolnozmieniac", ADMIN_USER, "Wymagany ex_interp na serwerze to 0.01"); enable = register_cvar("amx_interp_forever", "1") } public niewolnozmieniac(id, level, cid) { if(!cmd_access(id, level, cid, 3)) return PLUGIN_HANDLED; new arg1[5]; read_argv(1,arg1,4); new nick[33] get_user_name(id, nick[id], 32); new Float:interp = str_to_float(arg1); if(interp != 0.01) { client_print(0, print_console, "[CRC] Gracz: %s próbował zmienić interp na: %.1f", nick[id], interp) return PLUGIN_CONTINUE; } return PLUGIN_CONTINUE; } public client_putinserver(id) { if(get_user_flags(id) & ADMIN_IMMUNITY) console_cmd(id,"cl_updaterate 101; wait; wait; ex_interp 0.01") else console_cmd(id,"ex_interp 0.01") } public interp() { if(!get_pcvar_num(enable)) return round++ new players[32],count get_players(players,count) for (new i = 1; i <= count; i++) if(round == 2) { round = 0 if(get_user_flags(i) & ADMIN_IMMUNITY) console_cmd(i,"cl_updaterate 101; wait; wait; ex_interp 0.01") else console_cmd(i,"ex_interp 0.01") } }
@EDIT Zaspany byłem
Użytkownik camilost edytował ten post 18.08.2010 12:42