Уважаемые пользователи, прежде чем открыть новую тему ознакомьтесь пожалуйста с правилами и воспользуйтесь поиском.
проблема и пинг кикер
Oleg17-03 Дата: Среда, 2012-11-21, 17:25 | Сообщение # 1
Сообщений: 29
кароче пинг кикер выдает смс типо тралялял игроки с пингом выше 200 будут кикнуты.. но у меня оно повторяется столько раз сколько на сервер игроков напрмер есть 6 игроков и оно 6 раз высвечивает подряд ето сообщение как ето убрать? помогите..
Shaft Дата: Среда, 2012-11-21, 17:42 | Сообщение # 2
Сообщений: 351
Oleg17-03, дай исходник плагина
Лучше быть умным и немного тупить - чем быть тупым и много умничать! Если обращаетесь ко мне с просьбой помочь то: 1 - полностью опишите вашу проблему. 2 - что хотите от меня. Программирую на языках: Pawn, Delphi, C++
Oleg17-03 Дата: Четверг, 2012-11-22, 15:21 | Сообщение # 3
Сообщений: 29
#include <amxmodx> #include <amxmisc> new const PLUGIN[] = "High Ping Kicker" new const VERSION[] = "1.0" new const AUTHOR[] = "Shadow/Bo0m!" #define HPK_IMMUNE ADMIN_IMMUNITY new hpk_ping, hpk_check, hpk_tests, hpk_delay, hpk_immunity new g_Ping[33] new g_Samples[33] public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_concmd("amx_hpk","cmdHpk",ADMIN_CVAR,"- configures high ping kicker") hpk_ping = register_cvar("amx_hpk_ping","150") hpk_check = register_cvar("amx_hpk_check","10") hpk_tests = register_cvar("amx_hpk_tests","3") hpk_delay = register_cvar("amx_hpk_delay","30") hpk_immunity = register_cvar("amx_hpk_immunity","0") if(get_pcvar_num(hpk_check) < 5) set_pcvar_num(hpk_check,5) if(get_pcvar_num(hpk_tests) < 3) set_pcvar_num(hpk_tests,3) } public client_disconnect(id) remove_task(id) public client_putinserver(id) { g_Ping[id] = 0 g_Samples[id] = 0 if(!is_user_bot(id)) { new param[1] param[0] = id set_task(15.0, "showWarn", id, param, 1) if(get_pcvar_num(hpk_delay) != 0) { set_task(float(get_pcvar_num(hpk_delay)), "taskSetting", id, param , 1) } else { set_task(float(get_pcvar_num(hpk_check)), "checkPing", id, param, 1, "b") } } } public showWarn(param[]) Color_Print(0, "!y[!gПинг!y] !yИгроки с пингом больше чем !t%d!y, будут !gкикнуты!", get_cvar_num("amx_hpk_ping")) public taskSetting(param[]) { new name[32] get_user_name(param[0],name,31) set_task(float(get_pcvar_num(hpk_check)), "checkPing", param[0], param, 1, "b") } kickPlayer(id) { new name[32],authid[36] get_user_name(id,name,31) get_user_authid(id,authid,35) Color_Print(0, "!y[!gПинг!y] !yИгрок !t%s !yкикнут из за высокого пинга", name) server_cmd("kick #%d ^"Извините, но ваш пинг слишком высокий, повторите попытку позже...^"",get_user_userid(id)) log_amx("^"%s<%d><%s>^" кикнут из за высокого пинга (Средний пинг ^"%d^")", name,get_user_userid(id),authid,(g_Ping[id] / g_Samples[id])) } public checkPing(param[]) { if(get_pcvar_num(hpk_tests) < 3) set_pcvar_num(hpk_tests,3) new id = param[0] if(get_user_flags(id) & HPK_IMMUNE && get_pcvar_num(hpk_immunity) == 1) { remove_task(id) Color_Print(id, "!y[!gПинг!y] !yПроверка пинга отключена благодаря !tиммунитету!y...") return PLUGIN_CONTINUE } new ping, loss get_user_ping(id,ping,loss) g_Ping[id] += ping ++g_Samples[id] if((g_Samples[id] > get_pcvar_num(hpk_tests)) && (g_Ping[id] / g_Samples[id] > get_pcvar_num(hpk_ping))) kickPlayer(id) return PLUGIN_CONTINUE } public cmdHpk(id,level,cid) { if(!cmd_access(id,level,cid,1)) return PLUGIN_HANDLED if(read_argc() < 6) { console_print(id,"Использование: amx_hpk <макс пинг> <кол-во проверок> <время между проверками> <время перед проверкой> <1 для включения иммунитета|0 для отключения") console_print(id,"Текущие настройки:") console_print(id,"Макс. пинг: %d | Проверок пинга: %d | Частота проверок: %d | Начальная задерка: %d | Иммунитет: %d",get_pcvar_num(hpk_ping),get_pcvar_num(hpk_tests),get_pcvar_num(hpk_check),get_pcvar_num(hpk_delay),get_pcvar_num(hpk_immunity)) return PLUGIN_HANDLED } new name[32], authid[36] get_user_name(id,name,31) get_user_authid(id,authid,35) new ping_arg[5], check_arg[5], tests_arg[5], delay_arg[5], immune_arg[5] read_argv(1,ping_arg,4) read_argv(2,tests_arg,4) read_argv(3,check_arg,4) read_argv(4,delay_arg,4) read_argv(5,immune_arg,4) new ping = str_to_num(ping_arg) new tests = str_to_num(tests_arg) new check = str_to_num(check_arg) new delay = str_to_num(delay_arg) new immune = str_to_num(immune_arg) if(check < 5) check = 5 if(tests < 3) tests = 3 set_pcvar_num(hpk_ping,ping) set_pcvar_num(hpk_tests,tests) set_pcvar_num(hpk_check,check) set_pcvar_num(hpk_delay,delay) set_pcvar_num(hpk_immunity,immune) console_print(id,"Следующие параметры для НРК были установлены:") console_print(id,"Макс. пинг: %d | Проверок пинга: %d | Частота проверок: %d | Начальная задержка: %d | Иммунитет: %d",get_pcvar_num(hpk_ping),get_pcvar_num(hpk_tests),get_pcvar_num(hpk_check),get_pcvar_num(hpk_delay),get_pcvar_num(hpk_immunity)) log_amx("^"%s<%d><%s>^" применил параметры - Макс. пинг: %d | Проверок пинга: %d | Частота проверок: %d | Начальная задержка: %d | Иммунитет: %d", name,get_user_userid(id),authid,get_pcvar_num(hpk_ping),get_pcvar_num(hpk_tests),get_pcvar_num(hpk_check),get_pcvar_num(hpk_delay),get_pcvar _num(hpk_immunity)) return PLUGIN_HANDLED } stock Color_Print(const id, const input[], any:...) { new iCount = 1, iPlayers[32] static szMsg[191] vformat(szMsg, charsmax(szMsg), input, 3) replace_all(szMsg, 190, "!g", "^4") replace_all(szMsg, 190, "!y", "^1") replace_all(szMsg, 190, "!t", "^3") if(id) iPlayers[0] = id else get_players(iPlayers, iCount, "ch") for (new i = 0; i < iCount; i++) { if (is_user_connected(iPlayers[i])) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, iPlayers[i]) write_byte(iPlayers[i]) write_string(szMsg) message_end() } } }
Shaft Дата: Четверг, 2012-11-22, 15:47 | Сообщение # 4
Сообщений: 351
http://95.31.211.21:8080/FileArchive/PK.rar
Лучше быть умным и немного тупить - чем быть тупым и много умничать! Если обращаетесь ко мне с просьбой помочь то: 1 - полностью опишите вашу проблему. 2 - что хотите от меня. Программирую на языках: Pawn, Delphi, C++
Сообщение отредактировал Shaft - Четверг, 2012-11-22, 16:11
Oleg17-03 Дата: Четверг, 2012-11-22, 16:06 | Сообщение # 5
Сообщений: 29
ошибок много проверьДобавлено (2012-11-22, 16:06) --------------------------------------------- твой тоже не хочет
Shaft Дата: Четверг, 2012-11-22, 16:12 | Сообщение # 6
Сообщений: 351
Сорри http://95.31.211.21:8080/FileArchive/PK.rarДобавлено (2012-11-22, 16:12) --------------------------------------------- Пароль в л/с
Лучше быть умным и немного тупить - чем быть тупым и много умничать! Если обращаетесь ко мне с просьбой помочь то: 1 - полностью опишите вашу проблему. 2 - что хотите от меня. Программирую на языках: Pawn, Delphi, C++
Oleg17-03 Дата: Четверг, 2012-11-22, 16:16 | Сообщение # 7
Сообщений: 29
да ошибки есть : ping_kicker.sma(140) : error 017: undefined symbol "get_pcvar" ping_kicker.sma(140) : error 017: undefined symbol "_num" ping_kicker.sma(140) : error 029: invalid expression, assumed zero ping_kicker.sma(140) : fatal error 107: too many error messages on one line
Shaft Дата: Четверг, 2012-11-22, 16:20 | Сообщение # 8
Сообщений: 351
Блин тороплюсь, перезалил, скачай заново
Лучше быть умным и немного тупить - чем быть тупым и много умничать! Если обращаетесь ко мне с просьбой помочь то: 1 - полностью опишите вашу проблему. 2 - что хотите от меня. Программирую на языках: Pawn, Delphi, C++
Oleg17-03 Дата: Четверг, 2012-11-22, 16:21 | Сообщение # 9
Сообщений: 29
да не я уже зделал все спс) сча проверю на работоспособность)
Shaft Дата: Четверг, 2012-11-22, 16:23 | Сообщение # 10
Сообщений: 351
Хорошо, если что я проверил, теперь компилируется
Лучше быть умным и немного тупить - чем быть тупым и много умничать! Если обращаетесь ко мне с просьбой помочь то: 1 - полностью опишите вашу проблему. 2 - что хотите от меня. Программирую на языках: Pawn, Delphi, C++
Oleg17-03 Дата: Четверг, 2012-11-22, 17:25 | Сообщение # 11
Сообщений: 29
+))
Статистика Форума
Последние темы
Читаемые темы
Лучшие пользователи
Новые пользователи