[Mod] Anti-Farm
Вложений: 1
Мод для MaNGOS: AntiFarm.
Данный мод не позволяет "сливать" хонор с помощью игрока-болванки (ч/р второе окно). В случае обнаружения потенциального "сливера" - обнуляет ему весь хонор и выкидывает из игры (эти же действия происходят с игроком-болванкой). Система реагирует в том случае, если игрок убивает подряд одну и ту же цель более 9 раз за 10 минут. В случае, если превышается время реагирования - все счётчики обнуляются и сканирование начинается заного. Патч подогнан под последнюю ревизию чистого MaNGOS (rev. 9851). |
Цитата:
|
Можно кастовать на игрока http://ru.wowhead.com/spell=2479 после реса (везде, за исключением бг и инстов)
|
Цитата:
|
Цитата:
|
Спасибо за идеи всем, но перед о мной стоит конкретная задача. Я пытаюсь сделать так, чтобы метод слива хонора не просто не работал, а чтобы за него ещё и наказание давалось (например бан).
Я сейчас соберу ядро в этом варианте и гляну что выйдет. Примерно я представляю будущие проблемы, но хочу это видеть в деле. |
Тоже поступила такая жалоба. Выдача бана/кика-это неправильно.
Надо, чтобы при убийстве одной и той же цели (читайте-игрока) 2ой раз давало в 2 раза меньше хонора, в 3ий- в 4 раза, более 3х- вообще не давало, и чтобы всё это действовало в течение 30 минут Пытался реализовать через получение гуид игрока и помещением его в массив, ничего не получилось. |
Цитата:
|
Цитата:
|
Null,
Кстати говоря, на офе эта система и сейчас присутствует, но начинает работать только после определенного количества убийств. А на ОЛО вообще за убийство цели в течении 3 минут после ее первого убийства не дается хонор. P.S. Null, ревизия 5711. Если сильно надо - могу отобрать у одного хорошего человека аналогичный патч к последним ревизиям. |
Цитата:
|
Цитата:
|
Цитата:
Я вот порылся сейчас в исходниках 5711 (привет, SVN). Нашёл в Player.cpp какие-то зачатки этого мода (всего одну переменную). Продолжу только вечером. |
Данный мод не распространяется на БГ?
Например на том-же ВСГ можно убить явно больше 9раз за 10мин одного и того же чара(все мы знаем, что иногда бывают ПРО с одной стороны и нубы с другой). Если игрок создал пати(в 3,5,10 окок). Эти несколько "нехороших" человек качают хонор убивая одного по очереди. Проверку стоит сделать. |
Вложений: 1
Цитата:
PHP код:
Думаю должно помочь, во вложении положил этот самый античит, реализация их таймера вполне подходит под ваши требования :secret: Не обессудьте, если не так понял, в чем вам именно требовалась помощь... |
Я имел ввиду обнуление счетчика через нн"ое кол-во времени
if(getMSTimeDiff(GetPlayer()->m_anti_lastalarmtime,CurTime) > sWorld.GetMvAnticheatAlarmPeriod()) |
Цитата:
|
Test-Patch
Player.cpp
PHP код:
PHP код:
Проверить тоже к сожалению не могу, вариант, не вариант, но хоть что то... |
Цитата:
Спасибо большущее, вроде собирается. Пойду проверю. :) |
Еще предлагаю немного локализировать сис сообщение, меняем кодировку на utf-8 без BOM и:
PHP код:
|
Да не за что, хочу помочь чем умею :thank_you: мне ведь и самому не помешает эта система, в рабочем виде, отпишите пожалуйста о результате, буду ждать :lazy:
|
Цитата:
Возможно, даже сегодня смогу это сделать. :to_clue: |
Идея
Цитата:
"Еще предлагаю немного локализировать сис сообщение, преобразуем кодировку у Player.cpp на utf-8 без BOM" Еще предлагаю, если вариант рабочий, вынести временной коэффициент в конфиг: if(getMSTimeDiff(killer->antifarm_lastkilltime,CurTime) < sWorld.GetFarmsTimerPeriod()) =) Возможно некоторые решат подстроить патч под себя, а менять всякий раз в исходниках и компилить не каждый захочет... Конечно возможно, что я ошибаюсь... |
Цитата:
Что писать в аргументах функции при её вызове? :) Я нашёл там класс Victim, но что он точно значит и нужен ли именно он - вопрос. :pardon: Сейчас пойду рыться, может найду что. Вообщем, отпишусь. Add: Так, я включил голову и понял единственную истину. Victim - это тот, кого убили. Victim->GetOwner() - это тот, кто убил. По моему так. Сейчас пойду пересоберу. ----- Add2: Lawliet, я решил время держать не в константе. Переменную определять в начале функции а уже изменять ей значение только при обнулённых счётчиках. Кода я поудалял много, добавил таймер. Собрал...Вы не поверите, работает! :) Я зашёл в 2 окна и начал сливать хонор (бонально - коммандой die), после 10 смертей, мне, как и было запланированно, написалось в чат сообщение мол я такой-сякой сливер паршивый, выкинуло и меня и мою жертву. Когда я зашёл - хонор обнулился и я был мёртв. Идеально! :) После чего попробывал убивать жертву с большим промежутком времени (более 1 минуты за одно убийство) - всё опять гладко, меня не выкинуло при 15 убийств. Завтра весь день буду занят, вечером соберу код в один патч-файл и выложу. |
Цитата:
|
Цитата:
И что будет, если убить 9 раз подряд жертву, потом сделать паузу больше минуты (глотнуть чая/сходить в туалет/etc) и снова вернуться к своему "бравому" делу? |
Цитата:
Обойти можно будет если убить 9 раз подряд жертву (в принципе, минуты за 3 спокойно) и после этого 7+ минут отдыхать. Система не реагирует если убивать подряд одну и ту же цель с промежутком чуть более 1 минуты (А такой расклад очень не продуктивен, т.к. 1 килл/мин это очень долго и практически не отличается от БГ. Следовательно смысла сливерам не будет подвергать себя опасности наказания (как минимум - обнуления хонора)). Так же есть задумка создать таблицу в БД и каждый раз при обнаружении потенциального сливера заносить туда его аккаунт. При дальнейшей активности слива (скажем, от 3 раз) с этого аккаунта - давать бан. |
Вложений: 1
|
Здравствуйте, спасибо за патч, но когда и как вызов функции?
Спасибо и простите за мой язык, но я французский, я использую Google клевета. |
Прошу прощения :)
Файл изменил. Так и знал, что что-нибудь, да забуду! :) |
Цитата:
Получил два краша, поэтому: PHP код:
PHP код:
|
Если после 8 киллов будет релог, killer и dier таймер обнулится?
|
А почему не пойти по пути меньшего сопротивления?
Взять из базы с акками Ип и сравнить ИП того кто убил и того кого убили . Если одинаковые то бан. |
А как же люди, играющие с одного ип? Братья/сестры или люди с одного модема?
|
Тогда нужно брать ИП адреса убитого и убившего , и делать таймер , если в течении 10 минут они убили другого более 15 раз , и если они не на БГ , и если они не в рейдах(если рейд на столицу тогда реально убить одного и того же более 15 раз) то тогда бан
|
Чего вы к ип привязались, перечитайте свой пост вдумчиво, если разные - то убивайте на здоровье что-ли ? Просто без первой части(часть поста до первой запятой не имеет смысла)..))
|
Цитата:
Появилась она в ядре гораздо раньше еще до 2864 ревы точно. |
До 2.4.0 на оффе была система под названием Honor Diminishing, принцип работы такой же как и у других диминишингов. А в 2.4.0 ее дропнули, близы заявили в блу посте, мол, мы научились отслеживать сливщиков и эта система более не нужна => дропнули в мангосе. А для некоторых случаев а-ля диминишинг были созданы ауры
Система эта чистый сервер-сайд, так что при желании можно восстановить |
Текущее время: 21:05. Часовой пояс GMT +3. |
ru-mangos.ru - Русское сообщество MaNGOS