Hacks detector |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
|
Hacks detector |
Subb98
|
20.8.2012, 17:55
Сообщение
|
![]() |
Мы с mazdan'om писали данные фикс на этой же основе, но у нас не получилось и потом вообще вылетело из головы. Нужно тестить. Я на свой серв уже поставил, щас там наши админы будут тестить, единственное, можно увеличить задержку с 3-х секунд до 5-6, к примеру, на тот случай, если игрок станет зажимать. И данный фикс не будет работать, если баг проявит себя не с первого раза (то есть, не с первого выстрела).
Отредактировал: subb98, - 20.8.2012, 17:57
|
|
|
|
faktor.fatal1ty
|
20.8.2012, 17:59
Сообщение
|
|
|
Я на свой серв уже поставил, щас там наши админы будут тестить, единственное, можно увеличить задержку с 3-х секунд до 5-6, к примеру, на тот случай, если игрок станет зажимать. И данный фикс не будет работать, если баг проявит себя не с первого раза (то есть, не с первого выстрела). А я вообще на HD забил, т.к там очень много багов, хоть и много функций. CSF-AC больше нравится. |
|
|
|
Subb98
|
20.8.2012, 18:02
Сообщение
|
![]() |
|
|
|
|
faktor.fatal1ty
|
20.8.2012, 18:06
Сообщение
|
|
|
Я ставил CSF, единственное, что он блочит - так это нажатие клавиш, больше я от него пользы никакой не увидел. А как же: bhop, speedhack, wallhack, cheat names, name spam, cheat list, fighterfx - Был назван список, без ложных банов. От спидхака защищаюсь плагином от mazdan'a, отдельное спасибо ему. |
|
|
|
Subb98
|
20.8.2012, 18:08
Сообщение
|
![]() |
А как же: bhop, speedhack, wallhack, cheat names, name spam, cheat list, fighterfx - Был назван список, без ложных банов. От спидхака защищаюсь плагином от mazdan'a, отдельное спасибо ему. Нет, конечно же, в описании античита всё это есть. Но я и сам заходил на серв с opengl, бана не получал, и не видел, чтобы кого-то забанило, кроме как за нажатие кнопок. Давно это правда было... |
|
|
|
faktor.fatal1ty
|
20.8.2012, 18:15
Сообщение
|
|
|
Нет, конечно же, в описании античита всё это есть. Но я и сам заходил на серв с opengl, бана не получал, и не видел, чтобы кого-то забанило, кроме как за нажатие кнопок. Давно это правда было... На каждой карте , одна дллка проверяется , поэтому у тебя не спалилась она. Ты думаешь у HD не так? |
|
|
|
Subb98
|
20.8.2012, 18:27
Сообщение
|
![]() |
|
|
|
|
mazdan
|
20.8.2012, 18:46
Сообщение
|
![]() ![]() |
Обновил плагин, тестируем (надеюсь, будет нормально работать): нож не стреляет ;) Я на свой серв уже поставил, щас там наши админы будут тестить, единственное, можно увеличить задержку с 3-х секунд до 5-6, к примеру, на тот случай, если игрок станет зажимать. И данный фикс не будет работать, если баг проявит себя не с первого раза (то есть, не с первого выстрела). Этот event хукается на каждый выстрел, при зажиме будет всю обойму хукаться.В итоге task-и будут один за другим создаваться, предлагаю Код switch(g_bAttack[id]) { case true: return PLUGIN_HANDLED case false: set_task(3.0, "attackReset", id) } => Код if(g_bAttack[id]) return PLUGIN_HANDLED else { g_bAttack[id]=true set_task(3.0, "attackReset", id) } Я в таких тонкостях не разбираюсь, но может return HAM_IGNORED; вместо return LUGIN_HANDLED? Аналогично не знаю насчет task-ов, может они перезатираться будут? т.е. set_task(1.0,"test",23) set_task(2.0,"test",23) test(23) 2 раза выполнится? Тогда в случае зажима не сможет потом стрелять 3 секунды, если перезатирается (выполнится 1 раз через 2 секунды), то task не выполниться вообще, т.к. будет хукаться attack(weapon) постоянно - стрельба то залипла :D
Отредактировал: mazdan, - 20.8.2012, 18:47
![]() Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
|
|
|
|
Subb98
|
20.8.2012, 18:56
Сообщение
|
![]() |
нож не стреляет ;) Эмм, да, наверное, надо добавить... ) Этот event хукается на каждый выстрел, при зажиме будет всю обойму хукаться. В итоге task-и будут один за другим создаваться Это явление должно происходить не более одного раза, то есть, мы же отлавливаем первый выстрел, несмотря на зажим, и будет обработан лишь первый таск, а второй заблочит булевая. Код if(g_bAttack[id]) return PLUGIN_HANDLED else { g_bAttack[id]=true set_task(3.0, "attackReset", id) } Хм, надо попробовать... Я в таких тонкостях не разбираюсь, но может return HAM_IGNORED; вместо return LUGIN_HANDLED? Аналогично не знаю насчет task-ов, может они перезатираться будут? Эмм, да, наверное правильней будет HAM_IGNORED... Вот насчёт самого залипания, тут действительно надо тестить, так что-либо сказать трудно. Я пробовал зайти и зажать, через 3 секунды оружие само прекращало стрелять, так что, по идее, и с залипанием должно работать... Сейчас обновлю исходник, может, что и выгорит...
Отредактировал: subb98, - 20.8.2012, 19:04
|
|
|
|
mazdan
|
20.8.2012, 19:02
Сообщение
|
![]() ![]() |
RegisterHam(Ham_Weapon_PrimaryAttack, szWeaponConst[i], "attack") событие срабатывает на каждый вылетающий патрон, а так же на щелчок магазина с пустым патронником. Сделайте тест на сервере - логгируйте каждое срабатывание и зажмите (тестировать не пистолетом надо)
попробую иначе объяснить. У вас игрок зашел - стрельба залипла выстрел - хук, создание таска выстрел - хук, создание таска выстрел - хук, создание таска выстрел - хук, создание таска выстрел - хук, создание таска выстрел - хук, создание таска и так пока таск не выполнится и не станет g_bAttack[id]=true ![]() Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
|
|
|
|
Subb98
|
20.8.2012, 19:11
Сообщение
|
![]() |
попробую иначе объяснить. У вас игрок зашел - стрельба залипла выстрел - хук, создание таска выстрел - хук, создание таска выстрел - хук, создание таска и так пока таск не выполнится и не станет g_bAttack[id]=true Всё-всё, уже дошло, вот очередной код (заколебал уже всех этими тестовыми кодами, наверное... xD). Исходный код Код /******************** * ________________________ * ___/ Hacks Detector Fix 1.0 \__________ * ======================================= * Описание: * Данный плагин предотвращает баг с залипанием стрельбы в Hacks Detector * * Модули: * Fakemeta * Ham Sandwich * * История изменений: * 1.0 от 20.08.2012 * - первый релиз * * Авторские права: * © Subb98, 2012 * * Оригинальная идея: * © mazdan, 2012 * ********************/ #include <amxmodx> #include <fakemeta> #include <hamsandwich> #define PLUGIN "Hacks Detector Fix" #define VERSION "1.0" #define AUTHOR "Subb98" new bool:g_bAttack[33] public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) new szWeaponConst[][] = { "weapon_knife", "weapon_glock18", "weapon_usp", "weapon_p228", "weapon_deagle", "weapon_elite", "weapon_fiveseven", "weapon_m3", "weapon_xm1014", "weapon_mac10", "weapon_tmp", "weapon_mp5navy", "weapon_ump45", "weapon_p90", "weapon_galil", "weapon_famas", "weapon_ak47", "weapon_m4a1", "weapon_scout", "weapon_sg552", "weapon_aug", "weapon_awp", "weapon_g3sg1", "weapon_sg550", "weapon_m249" } for(new i = 0; i < sizeof szWeaponConst; i++) RegisterHam(Ham_Weapon_PrimaryAttack, szWeaponConst[i], "attack") } public client_connect(id) { remove_task(id) g_bAttack[id] = false } public client_disconnect(id) { remove_task(id) g_bAttack[id] = false } public attack(weapon) { new id = pev(weapon, pev_owner) switch(g_bAttack[id]) { case true: return HAM_IGNORED case false: { g_bAttack[id] = true set_task(5.0, "attackReset", id) } } return HAM_HANDLED } public attackReset(id) { if(is_user_connected(id)) client_cmd(id, "-attack") return PLUGIN_HANDLED }
Отредактировал: subb98, - 20.8.2012, 19:23
|
|
|
|
mazdan
|
20.8.2012, 19:16
Сообщение
|
![]() ![]() |
Код if(!is_user_connected(id)) return PLUGIN_HANDLED client_cmd(id, "-attack") return PLUGIN_HANDLED тоже загадка для меня... Почему не Код if(is_user_connected(id)) client_cmd(id, "-attack") ![]() Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
|
Поблагодарили 1 раз
|
|
Subb98
|
20.8.2012, 19:24
Сообщение
|
![]() |
|
|
|
|
mazdan
|
20.8.2012, 19:29
Сообщение
|
![]() ![]() |
ну это не ошибка была, просто излишний код на мой взгляд =)
Вообще вы очень грамотно пишете, хорошо получается. ![]() Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
|
Поблагодарили 1 раз
|
|
Subb98
|
20.8.2012, 19:32
Сообщение
|
![]() |
Thanx.
|
|
|
|
GopnikStyle
|
20.8.2012, 20:16
Сообщение
|
|
|
Все определились?) какой норм фикс?) терь дайте его ...)
|
|
|
|
samthugg
|
20.8.2012, 20:22
Сообщение
|
![]() ![]() |
Все определились?) какой норм фикс?) терь дайте его ...) Нет.. Еще немного.. Вооот почти.. а нет. Извини. "Норм" - видимл последний. Да вон же он сверху! Бери его полностью! ![]() |
|
|
|
Subb98
|
20.8.2012, 20:27
Сообщение
|
![]() |
Все определились?) какой норм фикс?) терь дайте его ...) https://c-s.net.ua/forum/topic31056.html?vi...st&p=326871 - последний на сей момент. )
Отредактировал: subb98, - 20.8.2012, 20:28
|
Поблагодарили 1 раз
|
|
![]() ![]() |