33 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как накрутить буйство в доте 2

Имба-пик для группы из 5 человек

Как убить всех одной кнопкой в Дота 2?

Довольно часто, игра в рейтинговых матчах, люди начинают забывать, что Dota 2 – это игра в первую очередь. А как всем известно, главная цель любой игры – это приносить радость и веселье игроку. Некоторые же относятся к играм настолько серьёзно, что могут впасть в неконтролируемую агрессию. Так как Дота 2 – это соревновательная игра против других реальных игроков, то главным источником радости, веселья и удовлетворения для любого игрока является победа в матче. Поэтому, мы решили рассказать вам про один необычный пик, который не только позволит вам с лёгкостью победить, но и доставит неимоверное количество веселья.

p, blockquote 1,0,1,0,0 –>

Этот пик мы увидели на трансляции одного из популярным стримеров по Dota 2, GoodWIN. И вот запись этой самой игры.

p, blockquote 2,0,0,0,0 –>

p, blockquote 3,1,0,0,0 –>

Основным элементом данной стратегии является Alchemist. Его задача состоит в том, чтобы накупить всей команде Aghanim’s Scepter, а также взять талант на дополнительный урон от второй способности. Напомним, что за каждый подаренный союзнику Aghanim’s Scepter, урон от заклинаний самого Алхимика увеличивается. В дальнейшем по игре, это очень сильно пригодится.

p, blockquote 4,0,0,0,0 –>

Той способностью, которой вы будете убивать вражескую команду, является вторая способность “Unstable Concoction” или Колба. Колба наносит физический урон, поэтому все остальные персонажи в вашей команде должны обладать какой-то способностью, которая снижала бы противникам броню. Например, на мид мы ставим Shadow Fiend, на третью или четвёртую позицию – Slardar, на пятую – Vengeful Spirit. Вполне подойдут и такие персонажи, как Dazzle, Elder Titan, Bristleback, Weaver и другие похожие персонажи. Настоятельно рекомендуем брать в пик Bloodseeker, так как его первая способность позволит увеличить урон от Колбы.

Статья в тему:  Как создать свою собственную онлайн игру

p, blockquote 5,0,0,1,0 –>

Предметы

Что насчёт предметов, то как вы наверняка уже поняли, нужно покупать предметы, которые также снижают броню. Например, Medallion of Courage, Assault Cuirass или им подобные артефакты.

p, blockquote 6,0,0,0,0 –>

Как только у каждого вашего союзника будет Aghanim’s Scepter, собираем Aether Lens и Octarine Core. Если вам не хватает мобильности, возьмите Blink Dagger или Force Staff. Вот и всё. Теперь ваша команда кидает на вас все возможные баффы, на противников все возможные дэбаффы, снижающие броню, а вы готовите Колбу и выстреливаете ей в противников. Скорее всего, достаточно будет одной Колбы, что убить как минимум одного игрока.

Автоматизация рутины в DotA 2 или читы?

Привет, в этой статье будут рассматриваться легальные способы получить преимущество перед противником с помощью таких простых средств, как NodeJS, Electron и React, при этом обходя бан стороной. На эксперименты меня вдохновила другая статья Визуализация времени возрождения Рошана и желание автоматизировать часть рутины. Стоит заметить что сейчас будут рассматриваться инструменты не модифицирующие каким либо нечестным способом игру – все API открыты, данные получены честным путём, никакого вмешательства в процесс игры не происходит. Под катом будет несколько картинок и немного кода.

Пример использования в демо режиме игры

Весь исходный код расположен на Github, с ним можно ознакомится, лайкнуть, форкнуть, предложить изменения. Писал его левой пяткой правой ноги, прямо во время игры, поэтому просьба не ругаться сильно за стилистику.

Статья в тему:  Что такое голда в доте

Если честно, то я ничего нового не придумал, уже всё до меня придумали и даже есть готовые приложения, которые примерно тоже самое умеют.

Дальнейшими знаниями можно пользоваться, как во имя добра – делать инструменты для студий аналитики, киберспорта, стримов Twitch, тренировок команд и т.д., так и во имя зла – написания читов, выбор за вами.

Disclaimer: Автор не несёт ответственности за применение вами знаний полученных в данной статье или ущерб в результате их использования. Вся информация здесь изложена только в познавательных целях. Особенно для компаний разрабатывающих MOBA, чтобы помочь им бороться с читерами. И, естественно, автор статьи ботовод, читер и всегда им был.

В итоге созданные инструменты умеют:

Отслеживать игровое время

Воспроизводить звуки до начала важных событий

Отображать текущие показатели золота (GPM)

Отображать статистику по герою из открытого источника OpenDota.com

Отслеживать время возрождения рошана

Собирать данные о любимых героях противника

Какие ещё можно сделать улучшения:

Отображать историю средних показателей противника

Добавить ретроспективный анализ игры по её окончанию

Добавить больше звуковых/визуальных уведомлений

Дать возможность отслеживать “ультимейты”

Добавить больше визуальных данных во время просмотра киберспортивных игр

Добавить подробнейшие руководства прямо во время игры

С чего всё начиналось

У Dota 2 неожиданно есть GSI (Game State Integration), который придумали для интеграции сторонних приложений / оверлеев (наложение картинки поверх игры) и синхронизации этих самых оверлеев с игрой в реальном времени. Это говорит о том, что можно получать состояние игры и дальше что – то с ним делать. Для интеграции с NodeJS есть готовое решение в виде библиотеки. Для работы GSI сервера, в первую очередь, нужно создать файл конфигурации в “Steamsteamappscommondota 2 betagamedotacfg”, в этом файле прописываются настройки, например, такие:

Статья в тему:  Что собирать clinkz в доте

После перезапуска игры, подтягиваются новые настройки и запускается сервер GSI, который будет отправлять данные по HTTP на localhost:3001, на котором и поднимается NodeJS сервер:

Собственно, после запускается код слушателя, который как раз и позаимствован из сторонней библиотеки NodeJS

Сервер получения данных об игровом мире готов.

Данные, которые не дают преимущества

Во время рейтингового матча в Dota 2, GSI отдаёт обрезанные данные, из полезного доступно

Прошедшее количество секунд с начала игры

Игровое время в секундах

Пример данных (в игре запущена карта с демо режимом)

Если просматривать реплей или чужую игру, то доступно гораздо больше информации – вся она описана тут. Что-ж, самая важная информация нам уже доступна – GPM, игровое время, Id героя.

После получения информации мы должны с ней что – то поделать, например, отрисовать или предупредить о наступившем моменте в игре.

UI, Оповещения, Electron

Для UI решено было использовать Electron и внутри этого электрона запускать React. Идея заключается в том, чтобы рисовать Electron приложение поверх игры (оверлей). Исходник оверлея можно найти тут, немного задержимся на нём – есть пару особенностей.

Для начала нужно настроить окно, в котором будет всё отображаться:

Сначала у меня не получалось поверх доты что – то вывести, пока не наткнулся на настройку в файле machine_convars.vcfg (Dota 2) под названием “dota_mouse_window_lock”, которую нужно выставить в “0”, а в самой игре (либо в тех же файлах конфигурации) настроить режим отображения в окне без рамки.

Статья в тему:  Почему не заходит в доту 2 через стим

UI написан с использованием React, поэтому решено его было загружать прямо с dev сервера разработки (да, я ленивый):

Если dev сервер не успел загрузиться, то мы попробуем ещё разок через 3 секунды, вот для этого и нужен setTimeout.

Всё, с overlay закончили, теперь UI часть.

Styled-Components, Typescript, Хуки, – стильно, модно, молодёжно

В UI был выбран мой любимый стек: TS, CRA (Styled только для одного/двух классов использовался – рисовать то особо нечего). После того, как GSI Dota2 отправил данные на express сервер, их нужно передать на фронт. Пишется простая GET ручка для отдачи данных. Затем на фронте пишется хук, который раз в секунду запрашивает эти данные и дальше они попадают сразу во все остальные хуки. То есть в приложении каждую секунду запускаются все хуки – это важный факт, ведь иногда понадобится хранить время запуска хука, чтобы случайно его не запустить несколько раз (если этого не делать, то у вас произойдёт в лучшем случае два оповещения подряд, в худшем случае взрыв из оповещений). Логика получения данных:

Теперь, когда есть все данные на фронте, можно написать хук для звуковых оповещений, что пора бы пойти (за 30 секунд до начала оповещает) забрать руны богатства, появляющиеся на каждой минуте кратной пяти (5, 10, 15, 20 минута):

Статья в тему:  Мобильные онлайн игры на которых можно заработать

Запись о последнем воспроизведении (setLastIntervalPlay) нужна чтобы не повторить оповещение случайно дважды.

И вот уже в игре одно преимущество, может быть оно несущественное, но как мне кажется неплохо управляет вниманием команды. Что – ж можно пойти дальше и сделать такую же кнопку возрождения рошана, как из прошлой статьи:

Хук useRoshanSpawn для кнопки

С рошаном всё немного запутаннее, чем с рунами – он может возрождаться в интервале от 9 до 12 минут. То есть у него есть состояния:

Точно мёртв (прошло до 9 минут с момента смерти)

Он жив или мёртв (прошло от 9 до 12 минут с момента смерти)

Он точно жив (прошло свыше 12 минут с момента смерти или это начало игры)

Поэтому у таймера есть три визуальных состояния:

Кнопка – для запуска таймера

Таймер тикает и сообщает о том что роша точно мёртв

Таймер тикает и сообщает о том что роша возможно жив, а возможно мёртв

И одно звуковое оповещение: Рошан будет в состоянии Шредингера через 30 секунд (то есть, и жив, и мёртв одновременно – пока не проверишь, не узнаешь). Также есть возможность сбросить таймер, ведь если мы проверили и узнали, что он жив – то таймер больше не нужен, а нужна кнопка о том чтобы сообщить о новой смерти рошана. Из минусов – иногда забываешь запускать таймер, было бы здорово в будущем это тоже автоматизировать.

Статья в тему:  Как оплатить онлайн игры

Обогащаем данные

Ещё есть информация о том, на каком герое мы играем, поэтому пускай клиент запрашивает бенчмарки с сайта OpenDota.com и отображаем их, чтобы было понятно, на сколько мы отстаём от ритма игры. Я взял перцентиль 99%, то есть мне интересно, с какими показателями отыгрывается 1% лучших игр на том или ином герое.

Бенчмарки на героя Abaddon

Вся логика описана в хуке useBenchmark:

Узнаём предпочтения игрока

Было бы здорово получать информацию о том, на каких героях вероятнее всего будет играть противник, чтобы забанить, отобрать, законтрить их у него. Для этого нужно считывать память файл игры: “server_log.txt” и дальше распарсить его регуляркой, найти там ID ваших оппонентов, затем запросить историю игр в OpenDota или Dotabuff. У этого способа есть минусы – если оппоненты сделал свой игровой профиль скрытым в Dota 2, то никакой информации о нём вы не получите. Есть ещё один момент, который я забыл учесть – данные могут быть устаревшими, но в коде это легко исправляется добавлением фильтра по времени.

Attention: код по ссылке может совершить BSoD ваших глаз.

После, будет здорово это тоже вывести, поэтому решено было сделать отдельное React приложение на localhost:3002. Без дизайна выглядит оно совсем по страшному, но это уже был просто спортивный интерес и вообще я им не пользуюсь. В нём есть информация о прошлых десяти играх. Кнопочка “Ban this id”, чтобы убирать друзей, с которыми играешь, из этой статистики и ссылка на Dotabuff профиль, если вдруг хочется подробностей.

Статья в тему:  Как играть в онлайн андройд игры на пк

Это приложение тоже можно было бы красиво оформить в виде Electron оверлея и запускать его на стадии выбора героев, но кажется я слишком много играю в игры и мало уделяю времени действительно полезным вещам 🙂

Что ещё пробовалось:

Пробовался DLL Injection из прошлой статьи и чтение памяти с помощью Rust, но там был большой изъян в том, что все найденные указатели на структуры данных жили до обновления игры, поэтому эта идея была заброшена.

Попытка создать сервис подбора героев на основе ML обучения по выгрузке игр из OpenDota.com или с тех же серверов Valve (провал – хотя мне кажется я просто не сумел правильно приготовить ML часть)

Парсинг Dota 2 реплеев – там не сложно, используется Protobuff и все структуры легко находятся на гитхабе. Вот только что дальше с этим огромным объёмом данных делать?

Вывод: интегрироваться с Dota2 не вызывает труда, можно делать быстрый анализ прямо во время игры, при просмотре киберспортивных игр можно сделать огромное количество красивого оверлея для Twitch стрима, также можно развивать эту тему в сторону ретроспективного анализа из реплеев, что скорее всего будет полезно профессионалам.

Надеюсь вам было интересно почитать про то, как я собрал на коленке читы (на самом деле хороший вопрос – читы это или нет?), да ещё и на JS, если есть орфографические или лексические ошибки, то пишите пожалуйста в ЛС, спасибо за внимание.

Статья в тему:  Как настроить warkey для доты

Читы в Dota 2 – реальны. И даже Valve не может с ними бороться

Видео NS-а о читах срезонировало на максимум и дошло до главной страницы реддита. Дальше – только дверь в кабинет самого Габена. Напомним, за 15 минут нам показали.

  • автохуки, автопрокасты инвокера, самонаводящиеся шары Io
  • мгновенное выкладывание аркан и мгновенный их подбор перед использованием Соул Ринга
  • автокликеры по рунам
  • автохексы и автосайленсы
  • настраиваемый визуальный радиус вокруг героя – отображающий, например, зону получения опыта или контроля Медведя у Лон Друида
  • постоянно подсвеченные полоски маны у врагов
  • визуально отображаемые телепорты врага в тумане войны, в любой точке карты; отображение крипинга на нейтралах

И, как говорил сам НС, читы бывают еще сложнее и эффективнее.

Пользователи отреагировали бурно. Кто-то испугался:

«Итак, меньше чем за 10 долларов в месяц вы получаете, по сути, мапхак, видите сквозь туман войны, отличаете иллюзии, мгновенно хексуете врагов и т.д. И похоже, что VAC не работает именно потому, что это дерьмо его отключает.

Я уже опасаюсь, что Valve сама не знает, как справиться с читерами. С шумихой, которая поднялась вокруг этой темы, популярность читов только возрастет. Ведь теперь куда больше людей узнают, что можно играть с ними и не получить бан».

«Да нет проблем, давайте просто не делать тп и не фармить».

Статья в тему:  Что такое твин в онлайн играх

А кто-то выдвинул закулисные теории. С пугающе правдоподобными аргументами.

«Я бью в набат уже три года, почти безуспешно. Рад, что ваше видео привлекло внимание к проблеме. Вам стоило бы опробовать также более дорогие читы с дополнительными фишками за отдельную плату. Это уже не кривоватые поделки вроде скрипта на Инвокера, там хоть игру удаляй.

Но Valve все равно.

Я повторяю годами: VAC Доты не работает не случайно. Были волны банов (всего нескольких тысяч аккаунтов), когда ensag3 запустил плагин для караша серверов, и еще один случай, когда автор анти-VAC модуля попался по своей же вине.

Моя главная мысль: Vavle прекрасно знает о существовании этих читов, но предпочла хитренькое бизнес-решение: не банить читеров, а отправлять их в скрытый пул. Заповедь Габена, 101: если мы забаним x, мы потеряем деньги. X заведет новые аккаунты, но станет реже покупать шапки, обновлять инвентарь, приобретать и улучшать компендиум – словом, каким-то образом вкладываться в важный аккаунт».

Читеров бывает сложно отличить от сильных игроков.

« – Черт, что творится. И как вообще отличить чистое мастерство или удачу от некоторых читов?

– Иногда читеры бывают сверхтупыми. Я играл со Скаймагом, у которого стоял скрипт на автокомбо за БХ, и он не мог справиться с Лотусом. Я просто подходил поближе, использовал активку на себя (выходя тем самым из инвиза) и он хексил/cайленсил себя во всех случаях».

Статья в тему:  Что значит 2045 в доте

Но даже тогда, когда читер просто плюет вам в глаза, Valve реагирует медленно. Или не реагируют совсем. Потому что – как написали в этой же ветке – у нас пока нет даже возможности репортить за читы.

Не поддерживаю читы в играх, но мне, как программисту с++, чертовски хотелось бы узнать, как им удалось осуществлять поиск и выборку без API, с динамическим адресом, плюс графический интерфейс и, конечно, все это в обход VAC.`

В комментариях отписался даже один из причастных к созданию читов людей. И заверил, что система действительно продумана до мелочей [полный комментарий можно прочитать здесь]

NS действительно сделал производителям читов рекламу. Такую возможность он полностью осознавал и отмечал как в видео, так и в посте на reddit. Несмотря на то, что англоязычное коммьюнити целиком стало на сторону Ярослава («такие вещи надо предавать огласке»), закрыть эту историю могут только Vavle и их действия. Пока же – производители читов напрямую благодарят Ярослава за пиар и передают привет Valve, словно кинозвезды на Оскаре – своим родителям.

И жалеют, что Ярослав не показал и трети потенциала читов.

Как накрутить буйство в dota 2 [07/09/2016]

Для просмотра онлайн кликните на видео ⤵

Как накрутить себе буйства в дота 2Подробнее

Как накрутить количество буйств в DOTA 2?? ЛЕГКО. Подробнее

Статья в тему:  Как оплатить онлайн игры

Накрутка любой статистики в Dota2 2018 АБУЗ+БАГ KDA 9999, WIN100%, Aegis,Cheese буйств, рампаг ,игрПодробнее

КАК НАКРУТИТЬ СТАТИСТИКУ В DOTA 2 REBORN, Абуз Статистики в Дота 2 – ТуториалПодробнее

Как без сторонних программ легально получить много буйств?|Dota 2Подробнее

Как сделать буйство|фантомкаПодробнее

Dota 2. Pugna. Астральное буйство.Подробнее

ФИШКИ DOTA 2 – МАГНУС В ПЕТЛЕ [ЭПИЗОД 16]Подробнее

Dota 2 RAMPAGE 1 vs 5| Дота 2 Буйство. 1 против 5 |faceless void 3 item. without chronosphereПодробнее

ДОТА 2 RAMPAGE ТОП 10 – МИНЁР ЖЁСТКО БОМБАНУЛПодробнее

ЭТО НЕВОЗМОЖНО | Дота 2 [УК #9]Подробнее

Дота 2 Рампага (Dota 2) Rampage TOP-10 (2016 – 2017 год)Подробнее

Dota 2. Абуз/накрутка рампаг, убийств курьеров, поедания сыра.Подробнее

ОБНОВЛЕНИЕ “БУЙСТВО”: АРКАНА, КОМПЕНДИУМ, НОВЫЙ ГЕРОЙ, ARTIFACTПодробнее

Рофлы с Аналитиками часть 3 #BostonMajorПодробнее

АБУЗ БАГ с Рубиком | Новый ПАТЧ Новый Герой в Доте | Топ моменты дота 2Подробнее

Топ 5 героев для рампаги. 5 лучших героев, чтобы сделать ремпейдж!Подробнее

голоса
Рейтинг статьи
Ссылка на основную публикацию
Статьи c упоминанием слов: