![]() |
![]() |
![]() |
#1 |
Ученый
|
![]()
Мод для MaNGOS: AntiFarm.
Данный мод не позволяет "сливать" хонор с помощью игрока-болванки (ч/р второе окно). В случае обнаружения потенциального "сливера" - обнуляет ему весь хонор и выкидывает из игры (эти же действия происходят с игроком-болванкой). Система реагирует в том случае, если игрок убивает подряд одну и ту же цель более 9 раз за 10 минут. В случае, если превышается время реагирования - все счётчики обнуляются и сканирование начинается заного. Патч подогнан под последнюю ревизию чистого MaNGOS (rev. 9851).
__________________
Галя: Вот почему когда я пуск делаю и по ярлыку две то запускается, а если вот мне к примеру надо не из пуска её то ничего и в красном показывает, а надо ведь чтобы квадратик жёлтенький открывал и там 3 кнопки должно быть? admin: О Боже! admin: Кто-нибудь, пришлите ко мне уборщицу, пусть мой мозг со стен и потолка отмоет Последний раз редактировалось Hantet; 09.05.2010 в 17:48. |
![]() |
![]() |
7 пользователя(ей) сказали cпасибо: |
![]() |
#2 |
Ученый
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
![]() ![]() ![]() |
![]() |
![]() |
![]() |
![]() |
#3 |
MaNGOS Dev
Регистрация: 07.03.2010
Сообщений: 314
Сказал(а) спасибо: 30
Поблагодарили 153 раз(а) в 83 сообщениях
![]() ![]() |
![]()
Можно кастовать на игрока http://ru.wowhead.com/spell=2479 после реса (везде, за исключением бг и инстов)
|
![]() |
![]() |
![]() |
#4 | |
Ученый
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
![]() ![]() ![]() |
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#5 |
MaNGOS Dev
Регистрация: 07.03.2010
Сообщений: 314
Сказал(а) спасибо: 30
Поблагодарили 153 раз(а) в 83 сообщениях
![]() ![]() |
![]() |
![]() |
![]() |
![]() |
#6 |
Ученый
|
![]()
Спасибо за идеи всем, но перед о мной стоит конкретная задача. Я пытаюсь сделать так, чтобы метод слива хонора не просто не работал, а чтобы за него ещё и наказание давалось (например бан).
Я сейчас соберу ядро в этом варианте и гляну что выйдет. Примерно я представляю будущие проблемы, но хочу это видеть в деле.
__________________
Галя: Вот почему когда я пуск делаю и по ярлыку две то запускается, а если вот мне к примеру надо не из пуска её то ничего и в красном показывает, а надо ведь чтобы квадратик жёлтенький открывал и там 3 кнопки должно быть? admin: О Боже! admin: Кто-нибудь, пришлите ко мне уборщицу, пусть мой мозг со стен и потолка отмоет |
![]() |
![]() |
![]() |
#7 |
Гость
Сообщений: n/a
|
![]()
Тоже поступила такая жалоба. Выдача бана/кика-это неправильно.
Надо, чтобы при убийстве одной и той же цели (читайте-игрока) 2ой раз давало в 2 раза меньше хонора, в 3ий- в 4 раза, более 3х- вообще не давало, и чтобы всё это действовало в течение 30 минут Пытался реализовать через получение гуид игрока и помещением его в массив, ничего не получилось. |
![]() |
![]() |
#8 |
Ученый
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
![]() ![]() ![]() |
![]()
Так это уже было в одном из патчей близов и работало в мангосе, копайте исходники старых ревизий.
|
![]() |
![]() |
![]() |
#9 |
Гость
Сообщений: n/a
|
![]() |
![]() |
![]() |
#10 |
Супер-модератор
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
![]() ![]() ![]() |
![]()
Null,
Кстати говоря, на офе эта система и сейчас присутствует, но начинает работать только после определенного количества убийств. А на ОЛО вообще за убийство цели в течении 3 минут после ее первого убийства не дается хонор. P.S. Null, ревизия 5711. Если сильно надо - могу отобрать у одного хорошего человека аналогичный патч к последним ревизиям. |
![]() |
![]() |
2 пользователя(ей) сказали cпасибо: | Hantet (30.04.2010) |
![]() |
#12 |
Супер-модератор
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
![]() ![]() ![]() |
![]() |
![]() |
![]() |
![]() |
#13 | |
Ученый
|
![]() Цитата:
![]() Я вот порылся сейчас в исходниках 5711 (привет, SVN). Нашёл в Player.cpp какие-то зачатки этого мода (всего одну переменную). Продолжу только вечером.
__________________
Галя: Вот почему когда я пуск делаю и по ярлыку две то запускается, а если вот мне к примеру надо не из пуска её то ничего и в красном показывает, а надо ведь чтобы квадратик жёлтенький открывал и там 3 кнопки должно быть? admin: О Боже! admin: Кто-нибудь, пришлите ко мне уборщицу, пусть мой мозг со стен и потолка отмоет Последний раз редактировалось Hantet; 30.04.2010 в 14:38. |
|
![]() |
![]() |
![]() |
#14 |
Пользователь
Регистрация: 12.03.2010
Сообщений: 64
Сказал(а) спасибо: 23
Поблагодарили 10 раз(а) в 5 сообщениях
![]() |
![]()
Данный мод не распространяется на БГ?
Например на том-же ВСГ можно убить явно больше 9раз за 10мин одного и того же чара(все мы знаем, что иногда бывают ПРО с одной стороны и нубы с другой). Если игрок создал пати(в 3,5,10 окок). Эти несколько "нехороших" человек качают хонор убивая одного по очереди. Проверку стоит сделать. |
![]() |
![]() |
![]() |
#15 | |
Новичок
|
![]() Цитата:
PHP код:
Думаю должно помочь, во вложении положил этот самый античит, реализация их таймера вполне подходит под ваши требования ![]() Не обессудьте, если не так понял, в чем вам именно требовалась помощь... |
|
![]() |
![]() |
Пользователь сказал cпасибо: | Hantet (30.04.2010) |
![]() |
#16 |
Новичок
|
![]()
Я имел ввиду обнуление счетчика через нн"ое кол-во времени
if(getMSTimeDiff(GetPlayer()->m_anti_lastalarmtime,CurTime) > sWorld.GetMvAnticheatAlarmPeriod()) |
![]() |
![]() |
![]() |
#17 | |
Ученый
|
![]() Цитата:
__________________
Галя: Вот почему когда я пуск делаю и по ярлыку две то запускается, а если вот мне к примеру надо не из пуска её то ничего и в красном показывает, а надо ведь чтобы квадратик жёлтенький открывал и там 3 кнопки должно быть? admin: О Боже! admin: Кто-нибудь, пришлите ко мне уборщицу, пусть мой мозг со стен и потолка отмоет |
|
![]() |
![]() |
Пользователь сказал cпасибо: | selector (01.05.2010) |
![]() |
#18 |
Новичок
|
![]()
Player.cpp
PHP код:
PHP код:
![]() Проверить тоже к сожалению не могу, вариант, не вариант, но хоть что то... |
![]() |
![]() |
Пользователь сказал cпасибо: | Hantet (01.05.2010) |
![]() |
#19 | |
Ученый
|
![]() Цитата:
![]() Спасибо большущее, вроде собирается. Пойду проверю. ![]()
__________________
Галя: Вот почему когда я пуск делаю и по ярлыку две то запускается, а если вот мне к примеру надо не из пуска её то ничего и в красном показывает, а надо ведь чтобы квадратик жёлтенький открывал и там 3 кнопки должно быть? admin: О Боже! admin: Кто-нибудь, пришлите ко мне уборщицу, пусть мой мозг со стен и потолка отмоет |
|
![]() |
![]() |
![]() |
#20 |
Новичок
|
![]()
Еще предлагаю немного локализировать сис сообщение, меняем кодировку на utf-8 без BOM и:
PHP код:
![]() |
![]() |
![]() |
Пользователь сказал cпасибо: | Hantet (01.05.2010) |
![]() |
#21 |
Новичок
|
![]()
Да не за что, хочу помочь чем умею
![]() ![]() |
![]() |
![]() |
![]() |
#22 | |
Ученый
|
![]() Цитата:
![]() Возможно, даже сегодня смогу это сделать. ![]()
__________________
Галя: Вот почему когда я пуск делаю и по ярлыку две то запускается, а если вот мне к примеру надо не из пуска её то ничего и в красном показывает, а надо ведь чтобы квадратик жёлтенький открывал и там 3 кнопки должно быть? admin: О Боже! admin: Кто-нибудь, пришлите ко мне уборщицу, пусть мой мозг со стен и потолка отмоет |
|
![]() |
![]() |
![]() |
#23 | |
Новичок
|
![]() Цитата:
"Еще предлагаю немного локализировать сис сообщение, преобразуем кодировку у Player.cpp на utf-8 без BOM" Еще предлагаю, если вариант рабочий, вынести временной коэффициент в конфиг: if(getMSTimeDiff(killer->antifarm_lastkilltime,CurTime) < sWorld.GetFarmsTimerPeriod()) ![]() Возможно некоторые решат подстроить патч под себя, а менять всякий раз в исходниках и компилить не каждый захочет... Конечно возможно, что я ошибаюсь... Последний раз редактировалось Lawliet; 01.05.2010 в 01:21. Причина: Дописывал мысль |
|
![]() |
![]() |
![]() |
#24 | |
Ученый
|
![]() Цитата:
Что писать в аргументах функции при её вызове? ![]() Я нашёл там класс Victim, но что он точно значит и нужен ли именно он - вопрос. ![]() Сейчас пойду рыться, может найду что. Вообщем, отпишусь. Add: Так, я включил голову и понял единственную истину. Victim - это тот, кого убили. Victim->GetOwner() - это тот, кто убил. По моему так. Сейчас пойду пересоберу. ----- Add2: Lawliet, я решил время держать не в константе. Переменную определять в начале функции а уже изменять ей значение только при обнулённых счётчиках. Кода я поудалял много, добавил таймер. Собрал...Вы не поверите, работает! ![]() Я зашёл в 2 окна и начал сливать хонор (бонально - коммандой die), после 10 смертей, мне, как и было запланированно, написалось в чат сообщение мол я такой-сякой сливер паршивый, выкинуло и меня и мою жертву. Когда я зашёл - хонор обнулился и я был мёртв. Идеально! ![]() Завтра весь день буду занят, вечером соберу код в один патч-файл и выложу.
__________________
Галя: Вот почему когда я пуск делаю и по ярлыку две то запускается, а если вот мне к примеру надо не из пуска её то ничего и в красном показывает, а надо ведь чтобы квадратик жёлтенький открывал и там 3 кнопки должно быть? admin: О Боже! admin: Кто-нибудь, пришлите ко мне уборщицу, пусть мой мозг со стен и потолка отмоет Последний раз редактировалось Hantet; 02.05.2010 в 00:26. |
|
![]() |
![]() |
Пользователь сказал cпасибо: |
![]() |
#25 | |
Новичок
|
![]() Цитата:
![]() |
|
![]() |
![]() |
![]() |
#26 | |
Новичок
Регистрация: 07.03.2010
Сообщений: 22
Сказал(а) спасибо: 33
Поблагодарили 2 раз(а) в 2 сообщениях
![]() |
![]() Цитата:
И что будет, если убить 9 раз подряд жертву, потом сделать паузу больше минуты (глотнуть чая/сходить в туалет/etc) и снова вернуться к своему "бравому" делу? Последний раз редактировалось Dragon; 03.05.2010 в 23:00. |
|
![]() |
![]() |
![]() |
#27 | |
Ученый
|
![]() Цитата:
Обойти можно будет если убить 9 раз подряд жертву (в принципе, минуты за 3 спокойно) и после этого 7+ минут отдыхать. Система не реагирует если убивать подряд одну и ту же цель с промежутком чуть более 1 минуты (А такой расклад очень не продуктивен, т.к. 1 килл/мин это очень долго и практически не отличается от БГ. Следовательно смысла сливерам не будет подвергать себя опасности наказания (как минимум - обнуления хонора)). Так же есть задумка создать таблицу в БД и каждый раз при обнаружении потенциального сливера заносить туда его аккаунт. При дальнейшей активности слива (скажем, от 3 раз) с этого аккаунта - давать бан.
__________________
Галя: Вот почему когда я пуск делаю и по ярлыку две то запускается, а если вот мне к примеру надо не из пуска её то ничего и в красном показывает, а надо ведь чтобы квадратик жёлтенький открывал и там 3 кнопки должно быть? admin: О Боже! admin: Кто-нибудь, пришлите ко мне уборщицу, пусть мой мозг со стен и потолка отмоет |
|
![]() |
![]() |
Пользователь сказал cпасибо: |
![]() |
#28 |
Ученый
|
![]()
__________________
Галя: Вот почему когда я пуск делаю и по ярлыку две то запускается, а если вот мне к примеру надо не из пуска её то ничего и в красном показывает, а надо ведь чтобы квадратик жёлтенький открывал и там 3 кнопки должно быть? admin: О Боже! admin: Кто-нибудь, пришлите ко мне уборщицу, пусть мой мозг со стен и потолка отмоет Последний раз редактировалось Hantet; 09.05.2010 в 17:49. |
![]() |
![]() |
![]() |
#29 |
Гость
Сообщений: n/a
|
![]()
Здравствуйте, спасибо за патч, но когда и как вызов функции?
Спасибо и простите за мой язык, но я французский, я использую Google клевета. |
![]() |
![]() |
#30 |
Ученый
|
![]()
Прошу прощения
![]() Файл изменил. Так и знал, что что-нибудь, да забуду! ![]()
__________________
Галя: Вот почему когда я пуск делаю и по ярлыку две то запускается, а если вот мне к примеру надо не из пуска её то ничего и в красном показывает, а надо ведь чтобы квадратик жёлтенький открывал и там 3 кнопки должно быть? admin: О Боже! admin: Кто-нибудь, пришлите ко мне уборщицу, пусть мой мозг со стен и потолка отмоет Последний раз редактировалось Hantet; 09.05.2010 в 16:34. |
![]() |
![]() |
![]() |
#31 | |
Пользователь
Регистрация: 08.03.2010
Сообщений: 47
Сказал(а) спасибо: 45
Поблагодарили 29 раз(а) в 13 сообщениях
![]() |
![]() Цитата:
Получил два краша, поэтому: PHP код:
PHP код:
Последний раз редактировалось xex; 10.05.2010 в 04:12. |
|
![]() |
![]() |
Пользователь сказал cпасибо: | Hantet (10.05.2010) |
![]() |
#32 |
Пользователь
Регистрация: 08.03.2010
Сообщений: 43
Сказал(а) спасибо: 1
Поблагодарили 1 раз в 1 сообщении
![]() |
![]()
Если после 8 киллов будет релог, killer и dier таймер обнулится?
|
![]() |
![]() |
![]() |
#33 |
Умный
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
![]() |
![]()
А почему не пойти по пути меньшего сопротивления?
Взять из базы с акками Ип и сравнить ИП того кто убил и того кого убили . Если одинаковые то бан. |
![]() |
![]() |
![]() |
#34 |
Пользователь
|
![]()
А как же люди, играющие с одного ип? Братья/сестры или люди с одного модема?
|
![]() |
![]() |
![]() |
#35 |
Умный
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
![]() |
![]()
Тогда нужно брать ИП адреса убитого и убившего , и делать таймер , если в течении 10 минут они убили другого более 15 раз , и если они не на БГ , и если они не в рейдах(если рейд на столицу тогда реально убить одного и того же более 15 раз) то тогда бан
|
![]() |
![]() |
![]() |
#36 |
YTDB Dev
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
![]() ![]() ![]() |
![]()
Чего вы к ип привязались, перечитайте свой пост вдумчиво, если разные - то убивайте на здоровье что-ли ? Просто без первой части(часть поста до первой запятой не имеет смысла)..))
Последний раз редактировалось NeatElves; 22.06.2010 в 15:19. |
![]() |
![]() |
![]() |
#37 | |
Новичок
Регистрация: 22.03.2010
Сообщений: 11
Сказал(а) спасибо: 19
Поблагодарили 0 раз(а) в 0 сообщениях
![]() |
![]() Цитата:
Появилась она в ядре гораздо раньше еще до 2864 ревы точно. |
|
![]() |
![]() |
![]() |
#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 |