|
Регистрация | Файлы | Правила | Альбомы | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
Запросы Запросы |
|
Опции темы | Поиск в этой теме | Опции просмотра |
29.04.2010, 16:14 | #1 |
Ученый
|
[Mod] Anti-Farm
Мод для MaNGOS: AntiFarm.
Данный мод не позволяет "сливать" хонор с помощью игрока-болванки (ч/р второе окно). В случае обнаружения потенциального "сливера" - обнуляет ему весь хонор и выкидывает из игры (эти же действия происходят с игроком-болванкой). Система реагирует в том случае, если игрок убивает подряд одну и ту же цель более 9 раз за 10 минут. В случае, если превышается время реагирования - все счётчики обнуляются и сканирование начинается заного. Патч подогнан под последнюю ревизию чистого MaNGOS (rev. 9851).
__________________
Галя: Вот почему когда я пуск делаю и по ярлыку две то запускается, а если вот мне к примеру надо не из пуска её то ничего и в красном показывает, а надо ведь чтобы квадратик жёлтенький открывал и там 3 кнопки должно быть? admin: О Боже! admin: Кто-нибудь, пришлите ко мне уборщицу, пусть мой мозг со стен и потолка отмоет Последний раз редактировалось Hantet; 09.05.2010 в 17:48. |
7 пользователя(ей) сказали cпасибо: |
29.04.2010, 17:36 | #2 |
Ученый
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
|
|
29.04.2010, 17:58 | #3 |
MaNGOS Dev
Регистрация: 07.03.2010
Сообщений: 314
Сказал(а) спасибо: 30
Поблагодарили 153 раз(а) в 83 сообщениях
|
Можно кастовать на игрока http://ru.wowhead.com/spell=2479 после реса (везде, за исключением бг и инстов)
|
29.04.2010, 21:35 | #4 | |
Ученый
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
|
Цитата:
|
|
29.04.2010, 22:21 | #5 |
MaNGOS Dev
Регистрация: 07.03.2010
Сообщений: 314
Сказал(а) спасибо: 30
Поблагодарили 153 раз(а) в 83 сообщениях
|
|
30.04.2010, 02:13 | #6 |
Ученый
|
Спасибо за идеи всем, но перед о мной стоит конкретная задача. Я пытаюсь сделать так, чтобы метод слива хонора не просто не работал, а чтобы за него ещё и наказание давалось (например бан).
Я сейчас соберу ядро в этом варианте и гляну что выйдет. Примерно я представляю будущие проблемы, но хочу это видеть в деле.
__________________
Галя: Вот почему когда я пуск делаю и по ярлыку две то запускается, а если вот мне к примеру надо не из пуска её то ничего и в красном показывает, а надо ведь чтобы квадратик жёлтенький открывал и там 3 кнопки должно быть? admin: О Боже! admin: Кто-нибудь, пришлите ко мне уборщицу, пусть мой мозг со стен и потолка отмоет |
30.04.2010, 09:09 | #7 |
Гость
Сообщений: n/a
|
Тоже поступила такая жалоба. Выдача бана/кика-это неправильно.
Надо, чтобы при убийстве одной и той же цели (читайте-игрока) 2ой раз давало в 2 раза меньше хонора, в 3ий- в 4 раза, более 3х- вообще не давало, и чтобы всё это действовало в течение 30 минут Пытался реализовать через получение гуид игрока и помещением его в массив, ничего не получилось. |
30.04.2010, 09:40 | #8 |
Ученый
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
|
Так это уже было в одном из патчей близов и работало в мангосе, копайте исходники старых ревизий.
|
30.04.2010, 10:59 | #9 |
Гость
Сообщений: n/a
|
|
30.04.2010, 12:12 | #10 |
Супер-модератор
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
|
Null,
Кстати говоря, на офе эта система и сейчас присутствует, но начинает работать только после определенного количества убийств. А на ОЛО вообще за убийство цели в течении 3 минут после ее первого убийства не дается хонор. P.S. Null, ревизия 5711. Если сильно надо - могу отобрать у одного хорошего человека аналогичный патч к последним ревизиям. |
2 пользователя(ей) сказали cпасибо: | Hantet (30.04.2010) |
30.04.2010, 13:00 | #12 |
Супер-модератор
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
|
|
30.04.2010, 13:30 | #13 | |
Ученый
|
Цитата:
Я вот порылся сейчас в исходниках 5711 (привет, SVN). Нашёл в Player.cpp какие-то зачатки этого мода (всего одну переменную). Продолжу только вечером.
__________________
Галя: Вот почему когда я пуск делаю и по ярлыку две то запускается, а если вот мне к примеру надо не из пуска её то ничего и в красном показывает, а надо ведь чтобы квадратик жёлтенький открывал и там 3 кнопки должно быть? admin: О Боже! admin: Кто-нибудь, пришлите ко мне уборщицу, пусть мой мозг со стен и потолка отмоет Последний раз редактировалось Hantet; 30.04.2010 в 14:38. |
|
30.04.2010, 21:21 | #14 |
Пользователь
Регистрация: 12.03.2010
Сообщений: 64
Сказал(а) спасибо: 23
Поблагодарили 10 раз(а) в 5 сообщениях
|
Данный мод не распространяется на БГ?
Например на том-же ВСГ можно убить явно больше 9раз за 10мин одного и того же чара(все мы знаем, что иногда бывают ПРО с одной стороны и нубы с другой). Если игрок создал пати(в 3,5,10 окок). Эти несколько "нехороших" человек качают хонор убивая одного по очереди. Проверку стоит сделать. |
30.04.2010, 21:31 | #15 | |
Новичок
|
Цитата:
PHP код:
Думаю должно помочь, во вложении положил этот самый античит, реализация их таймера вполне подходит под ваши требования Не обессудьте, если не так понял, в чем вам именно требовалась помощь... |
|
Пользователь сказал cпасибо: | Hantet (30.04.2010) |
30.04.2010, 21:34 | #16 |
Новичок
|
Я имел ввиду обнуление счетчика через нн"ое кол-во времени
if(getMSTimeDiff(GetPlayer()->m_anti_lastalarmtime,CurTime) > sWorld.GetMvAnticheatAlarmPeriod()) |
30.04.2010, 23:25 | #17 | |
Ученый
|
Цитата:
__________________
Галя: Вот почему когда я пуск делаю и по ярлыку две то запускается, а если вот мне к примеру надо не из пуска её то ничего и в красном показывает, а надо ведь чтобы квадратик жёлтенький открывал и там 3 кнопки должно быть? admin: О Боже! admin: Кто-нибудь, пришлите ко мне уборщицу, пусть мой мозг со стен и потолка отмоет |
|
Пользователь сказал cпасибо: | selector (01.05.2010) |
01.05.2010, 00:39 | #18 |
Новичок
|
Test-Patch
Player.cpp
PHP код:
PHP код:
Проверить тоже к сожалению не могу, вариант, не вариант, но хоть что то... |
Пользователь сказал cпасибо: | Hantet (01.05.2010) |
01.05.2010, 00:41 | #19 | |
Ученый
|
Цитата:
Спасибо большущее, вроде собирается. Пойду проверю.
__________________
Галя: Вот почему когда я пуск делаю и по ярлыку две то запускается, а если вот мне к примеру надо не из пуска её то ничего и в красном показывает, а надо ведь чтобы квадратик жёлтенький открывал и там 3 кнопки должно быть? admin: О Боже! admin: Кто-нибудь, пришлите ко мне уборщицу, пусть мой мозг со стен и потолка отмоет |
|
01.05.2010, 00:43 | #20 |
Новичок
|
Еще предлагаю немного локализировать сис сообщение, меняем кодировку на utf-8 без BOM и:
PHP код:
|
Пользователь сказал cпасибо: | Hantet (01.05.2010) |
01.05.2010, 00:45 | #21 |
Новичок
|
Да не за что, хочу помочь чем умею мне ведь и самому не помешает эта система, в рабочем виде, отпишите пожалуйста о результате, буду ждать
|
01.05.2010, 00:47 | #22 | |
Ученый
|
Цитата:
Возможно, даже сегодня смогу это сделать.
__________________
Галя: Вот почему когда я пуск делаю и по ярлыку две то запускается, а если вот мне к примеру надо не из пуска её то ничего и в красном показывает, а надо ведь чтобы квадратик жёлтенький открывал и там 3 кнопки должно быть? admin: О Боже! admin: Кто-нибудь, пришлите ко мне уборщицу, пусть мой мозг со стен и потолка отмоет |
|
01.05.2010, 01:13 | #23 | |
Новичок
|
Идея
Цитата:
"Еще предлагаю немного локализировать сис сообщение, преобразуем кодировку у Player.cpp на utf-8 без BOM" Еще предлагаю, если вариант рабочий, вынести временной коэффициент в конфиг: if(getMSTimeDiff(killer->antifarm_lastkilltime,CurTime) < sWorld.GetFarmsTimerPeriod()) Возможно некоторые решат подстроить патч под себя, а менять всякий раз в исходниках и компилить не каждый захочет... Конечно возможно, что я ошибаюсь... Последний раз редактировалось Lawliet; 01.05.2010 в 01:21. Причина: Дописывал мысль |
|
01.05.2010, 14:35 | #24 | |
Ученый
|
Цитата:
Что писать в аргументах функции при её вызове? Я нашёл там класс Victim, но что он точно значит и нужен ли именно он - вопрос. Сейчас пойду рыться, может найду что. Вообщем, отпишусь. Add: Так, я включил голову и понял единственную истину. Victim - это тот, кого убили. Victim->GetOwner() - это тот, кто убил. По моему так. Сейчас пойду пересоберу. ----- Add2: Lawliet, я решил время держать не в константе. Переменную определять в начале функции а уже изменять ей значение только при обнулённых счётчиках. Кода я поудалял много, добавил таймер. Собрал...Вы не поверите, работает! Я зашёл в 2 окна и начал сливать хонор (бонально - коммандой die), после 10 смертей, мне, как и было запланированно, написалось в чат сообщение мол я такой-сякой сливер паршивый, выкинуло и меня и мою жертву. Когда я зашёл - хонор обнулился и я был мёртв. Идеально! После чего попробывал убивать жертву с большим промежутком времени (более 1 минуты за одно убийство) - всё опять гладко, меня не выкинуло при 15 убийств. Завтра весь день буду занят, вечером соберу код в один патч-файл и выложу.
__________________
Галя: Вот почему когда я пуск делаю и по ярлыку две то запускается, а если вот мне к примеру надо не из пуска её то ничего и в красном показывает, а надо ведь чтобы квадратик жёлтенький открывал и там 3 кнопки должно быть? admin: О Боже! admin: Кто-нибудь, пришлите ко мне уборщицу, пусть мой мозг со стен и потолка отмоет Последний раз редактировалось Hantet; 02.05.2010 в 00:26. |
|
Пользователь сказал cпасибо: |
02.05.2010, 14:05 | #25 | |
Новичок
|
Цитата:
|
|
03.05.2010, 22:58 | #26 | |
Новичок
Регистрация: 07.03.2010
Сообщений: 22
Сказал(а) спасибо: 33
Поблагодарили 2 раз(а) в 2 сообщениях
|
Цитата:
И что будет, если убить 9 раз подряд жертву, потом сделать паузу больше минуты (глотнуть чая/сходить в туалет/etc) и снова вернуться к своему "бравому" делу? Последний раз редактировалось Dragon; 03.05.2010 в 23:00. |
|
04.05.2010, 00:13 | #27 | |
Ученый
|
Цитата:
Обойти можно будет если убить 9 раз подряд жертву (в принципе, минуты за 3 спокойно) и после этого 7+ минут отдыхать. Система не реагирует если убивать подряд одну и ту же цель с промежутком чуть более 1 минуты (А такой расклад очень не продуктивен, т.к. 1 килл/мин это очень долго и практически не отличается от БГ. Следовательно смысла сливерам не будет подвергать себя опасности наказания (как минимум - обнуления хонора)). Так же есть задумка создать таблицу в БД и каждый раз при обнаружении потенциального сливера заносить туда его аккаунт. При дальнейшей активности слива (скажем, от 3 раз) с этого аккаунта - давать бан.
__________________
Галя: Вот почему когда я пуск делаю и по ярлыку две то запускается, а если вот мне к примеру надо не из пуска её то ничего и в красном показывает, а надо ведь чтобы квадратик жёлтенький открывал и там 3 кнопки должно быть? admin: О Боже! admin: Кто-нибудь, пришлите ко мне уборщицу, пусть мой мозг со стен и потолка отмоет |
|
Пользователь сказал cпасибо: |
08.05.2010, 23:24 | #28 |
Ученый
|
__________________
Галя: Вот почему когда я пуск делаю и по ярлыку две то запускается, а если вот мне к примеру надо не из пуска её то ничего и в красном показывает, а надо ведь чтобы квадратик жёлтенький открывал и там 3 кнопки должно быть? admin: О Боже! admin: Кто-нибудь, пришлите ко мне уборщицу, пусть мой мозг со стен и потолка отмоет Последний раз редактировалось Hantet; 09.05.2010 в 17:49. |
09.05.2010, 15:37 | #29 |
Гость
Сообщений: n/a
|
Здравствуйте, спасибо за патч, но когда и как вызов функции?
Спасибо и простите за мой язык, но я французский, я использую Google клевета. |
09.05.2010, 16:28 | #30 |
Ученый
|
Прошу прощения
Файл изменил. Так и знал, что что-нибудь, да забуду!
__________________
Галя: Вот почему когда я пуск делаю и по ярлыку две то запускается, а если вот мне к примеру надо не из пуска её то ничего и в красном показывает, а надо ведь чтобы квадратик жёлтенький открывал и там 3 кнопки должно быть? admin: О Боже! admin: Кто-нибудь, пришлите ко мне уборщицу, пусть мой мозг со стен и потолка отмоет Последний раз редактировалось Hantet; 09.05.2010 в 16:34. |
10.05.2010, 00:55 | #31 | |
Пользователь
Регистрация: 08.03.2010
Сообщений: 47
Сказал(а) спасибо: 45
Поблагодарили 29 раз(а) в 13 сообщениях
|
Цитата:
Получил два краша, поэтому: PHP код:
PHP код:
Последний раз редактировалось xex; 10.05.2010 в 04:12. |
|
Пользователь сказал cпасибо: | Hantet (10.05.2010) |
14.05.2010, 10:37 | #32 |
Пользователь
Регистрация: 08.03.2010
Сообщений: 43
Сказал(а) спасибо: 1
Поблагодарили 1 раз в 1 сообщении
|
Если после 8 киллов будет релог, killer и dier таймер обнулится?
|
21.06.2010, 23:36 | #33 |
Умный
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
|
А почему не пойти по пути меньшего сопротивления?
Взять из базы с акками Ип и сравнить ИП того кто убил и того кого убили . Если одинаковые то бан. |
22.06.2010, 00:04 | #34 |
Пользователь
|
А как же люди, играющие с одного ип? Братья/сестры или люди с одного модема?
|
22.06.2010, 15:06 | #35 |
Умный
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
|
Тогда нужно брать ИП адреса убитого и убившего , и делать таймер , если в течении 10 минут они убили другого более 15 раз , и если они не на БГ , и если они не в рейдах(если рейд на столицу тогда реально убить одного и того же более 15 раз) то тогда бан
|
22.06.2010, 15:17 | #36 |
YTDB Dev
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
|
Чего вы к ип привязались, перечитайте свой пост вдумчиво, если разные - то убивайте на здоровье что-ли ? Просто без первой части(часть поста до первой запятой не имеет смысла)..))
Последний раз редактировалось NeatElves; 22.06.2010 в 15:19. |
08.09.2010, 04:10 | #37 | |
Новичок
Регистрация: 22.03.2010
Сообщений: 11
Сказал(а) спасибо: 19
Поблагодарили 0 раз(а) в 0 сообщениях
|
Цитата:
Появилась она в ядре гораздо раньше еще до 2864 ревы точно. |
|
08.09.2010, 08:57 | #38 |
Модератор
|
До 2.4.0 на оффе была система под названием Honor Diminishing, принцип работы такой же как и у других диминишингов. А в 2.4.0 ее дропнули, близы заявили в блу посте, мол, мы научились отслеживать сливщиков и эта система более не нужна => дропнули в мангосе. А для некоторых случаев а-ля диминишинг были созданы ауры
Система эта чистый сервер-сайд, так что при желании можно восстановить |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
MaNGOS под Cataclysm (разработка) | KiriX | Корзина | 578 | 19.02.2013 18:38 |
[10821] Restore anti-cheating check work at buy item | newsbot | CMaNGOS Commits | 0 | 04.12.2010 01:15 |
[git] Командная разработка | Hantet | Новичкам | 3 | 06.07.2010 09:01 |
[patch/dev] Anti-Magic zone (Зона антимагии) | Insider42 | Патчи | 5 | 23.06.2010 14:40 |
Глобальный FAQ (разработка) | Konctantin | Новичкам | 6 | 14.03.2010 10:46 |