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

Гайд на Pudge в Доте 2

Гайд на Pudge в Доте 2

Пудж – это едва ли не самый популярный герой во второй Доте.

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

Чтобы научиться хорошо играть за Pudge, вам может потребоваться не один десяток матчей.

Можете сами убедиться, «Видео гайд на Пуджа Дота 2» — один из самых часто встречающихся запросов в поисковиках русских игроков, что лишний раз доказывает: научиться играть за этого героя гораздо сложнее, чем за многих других.

Конечно, ни один гайд не поможет полностью «прочувствовать» Пуджа так, как это будет происходить в игре.

Но этот материал – те базовые элементы теории, которые нужно знать любому, кто собрался выбрать Pudge как своего героя.

Крайне рекомендуется как новичкам, так и опытным игрокам!

Основные плюсы Pudge в Dota 2:

  • Огромный прирост силы
  • Не нуждается в дорогостоящих артефактах
  • Очень серьезный гангер, едва ли не самый опасный в игре
  • Отлично стоит мид
  • Крайне силен на ранних уровнях и в мидл-гейме
  • В умелых руках способен убить практически любого

Минусы Пуджа в Дота 2:

  • Отсутствие брони и низкая скорость передвижения часто делают героя хорошей мишенью
  • Нет эскейп-скиллов
  • Если не фармить в начале, к лейту Пудж будет представлять собой весьма жалкое зрелище
  • Не самый большой прирост интеллекта и ловкости

Источники развеивания [ ]

Базовое развеивание [ ]

  • Alchemist — Chemical Rage
  • Chaos Knight — Phantasm
  • Chen — Holy Persuasion 1
  • Doom — Doom
  • Enchantress — Enchant (при выборе врага)
  • Enchantress — Enchant (при выборе нейтрального крипа) 1
  • Invoker — Tornado
  • Juggernaut — Omnislash
  • Lifestealer — Infest 1
  • Morphling — Morph
  • Naga Siren — Mirror Image
  • Oracle — Fortune’s End
  • Pangolier — Rolling Thunder
  • Phantom Lancer — Doppelganger
  • Shadow Demon — Demonic Purge 2
  • Sven — Storm Hammer 3
  • Templar Assassin — Refraction 3
  • Troll Warlord — Battle Trance
  • Eul’s Scepter of Divinity — Cyclone
  • Guardian Greaves — Mend
  • Helm of the Dominator — Dominate 1
  • Lotus Orb — Echo Shell
  • Manta Style — Mirror Image
  • Nullifier — Nullify
  • Necronomicon Archer — Purge 4
  • Сатир-колдун — Purge
  • Воин шторма — Dispel Magic
Статья в тему:  Как играть джойстиком в онлайн игры

1 Действует как на баффы, так и на дебаффы независимо от того, кто является целью или источником эффектов.

2 Развеивание применяется в течении всей длительность способности.

3 Доступно при выборе таланта

4 Доступно только на 3-ем уровне Necronomicon Archer.

Развеивание от иммунитета к заклинаниям [ ]

  • Black King Bar — Avatar
  • Huskar — Life Break
  • Juggernaut — Blade Fury
  • Legion Commander — Press The Attack 1
  • Lifestealer — Rage

1 Требует наличия Aghanim’s Shard

Сильное развеивание [ ]

  • Abaddon — Aphotic Shield
  • Abaddon — Borrowed Time
  • Legion Commander — Press the Attack
  • Omniknight — Heavenly Grace
  • Oracle — False Promise
  • Phoenix — Supernova
  • Slark — Dark Pact
  • Tidehunter — Kraken Shell
  • Troll Warlord — Battle Trance 1
  • Ursa — Enrage
  • Weaver — Time Lapse
  • Chen — Hand of God 2
  • Aeon Disk — Combo Breaker

1 Доступно при выборе таланта

2 Требует наличия Aghanim’s Scepter

Смерть [ ]

Когда юнит умирает, большинство баффов и дебаффов на нем убираются. Реинкарнация приравнивается к смерти для большинства развеиваемых эффектов.

Как получить буст-систему в Dota 2

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

  1. Вы должны играть в несколько раз лучше своих оппонентов. Выражаться это будет в нескольких характеристиках, но главное – это стрик побед и К/Д/А.
  2. Особое внимание уделите разнице килов и смертей. Чтобы подсесть на буст-систему, вы должны несколько матчей закончить со счетом фрагов, начиная от 20+.
  3. Сесть на буст-систему можно буквально за пару игр. Для этого сыграйте 3 игры с разгромным счетом и вы увидите, что уже за 4 игру вы получите на порядок больше ММР.
  4. По-началу вы сядете на первый уровень буст-системы, т.е. за игру вы будете получать 30-60 ММР.
  5. Чтобы поднять уровень буст-системы вы должны играть еще лучше, т.е. делать еще больше киллов. Мы советуем прибавлять вам по 10-15 убийств за игру, т.е. за игру убивать 25/35/45/55/65 раз. Да, это не так-то и просто, но ведь никто и не говорил, что будет легко.
  6. Играть нужно исключительно на керри-позициях (мид и легкая).
Статья в тему:  Как сделать доту 1 на русском

Помните, что на количество очков очень влияет стрик. Конечно, шанс на проигрыш у вас будет, при этом с системы вы не слетите. И да, вы потеряете максимум очков 10 ММР. Но с этим нужно быть аккуратнее, т.к. разгромное поражение даже в одной игре может вас сбросить с буст-системы. На обычные проигрыши, обычно дается 2-3 шанса. Обычно буст-система пропадает после 3 поражения, считая, что вы достигли своего максимума.

Именно поэтому вы должны играть на керри-героях, т.к. только они могут в соло заканчивать игры. Кроме того, можно играть и в команде с кем-то. Не стесняйтесь брать имбалансных героев в текущем патче, не стесняйтесь брать имбалансные связки. У каждого из вас есть сильные герои. Абузьте их по максимуму, тогда вы точно сумеете присесть на буст-систему.

Вот так, дорогие читатели, и набиваются 11-12К ММР, вот так про-игроки обладают 3-4 фейками, с огромными рангами. Вот именно поэтому, в прежние времена, различные Badman’ы не попадали в про-команды, хоть и возглавляли таблицу рейтинга. Им просто удалось вовремя подсесть на буст-систему.

На этом мы заканчиваем нашу статью. Всем удачи и успехов, в поисках буст-системы. Мы же прощаемся с вами, до новых встреч.

А я вот вижу информацию про обновление с обучением от Valve

Да, Valve выпустила четырехуровневое обучение, режим Limited Heroes с маленьким пулом героев для новичков, заданиями и улучшенными ботами. Новичкам также выдают 2 месяца Dota+, возможность получить тренера, модерируемый чат и все остальное.

Насколько это увеличивает шансы освоить Доту? На 1%. На 2 процента вместе с курсом от SirActionSlacks в Мастерской. В смысле, яснее игра не станет, но появится мотивация играть за награды.

Руны в Dota 2

Гайд Дота 2 был бы неполным без информации о рунах. Это магические знаки, которые на короткое время дают персонажу те или иные преимущества.

Чтобы получить особый эффект руны, ее нужно подобрать — кликнуть по ней, пока это не сделал кто-то другой (противник или союзник).

Руна активируется сразу, если в инвентаре героя нет «банки» (предмет Bottle). Если бутыль есть, руна автоматически перемещается в него и активируется, когда герой использует Bottle.

В «бутылке» может храниться только один усилитель — при попытке взять две руны, первая используется и исчезнет. Если руну в Bottle не применить в течение 2-х минут, она активируется самостоятельно.

Какие бывают руны:

  • Волшебство. На 50 секунд снижает расход маны и время перезарядки способностей на 30 %.
  • Двойной урон. 45 секунд герой наносит на 100 % больше урона от обычной атаки.
  • Ускорение. В течение 22 секунд персонаж движется с максимальной скоростью.
  • Невидимость. Герой исчезает с поля зрения противников на 45 секунд. Действие руны прекращается, если атаковать, использовать умение или предмет.
  • Иллюзии. Создает 2 управляемые иллюзии персонажа, которые существуют 75 секунд или пока их не уничтожат. Иллюзии наносят меньше урона, а получают больше. Они могут атаковать, но не могут применять способности
  • Регенерация. В течение 30 секунд восстанавливает 6 % здоровья и маны в секунду.
Статья в тему:  Игры для малышей угадай чей звук 3-4 лет онлайн играть бесплатно

Кроме рун, дающих особые эффекты, в игре есть руна богатства, которая дает дополнительное золото всем членам команды.

Дополнительная информация! Каждая руна имеет уникальный звук активации, который слышен всем, кто находится поблизости. Так что опытный игрок даже без обзора может узнать, какую руну подобрал противник.

Где и когда появляются

Руны богатства появляются одновременно в 4 местах на карте в самом начале боя, а затем — каждые 5 минут.

Руны-усилители можно найти в одной из двух точек на реке на 4-й минуте матча, и далее — каждые 2 минуты. После 40-й минуты эти руны появляются сразу в обеих точках.

Если руну не забрали до появления следующей, она пропадет.

Понимание игры приходит с опытом — не все получится сразу. Но не следует опускать руки, не нужно обращать внимание на «токсичных» игроков. Изучение теории, и ее применение на практике начнет приводить к победам, и скоро читатель сам станет автором Дота гайда.

Хардлейнер (оффлейнер) — это игрок, который стоит на сложной линии. Понятие «сложной» сейчас немного неактуально. Раньше крипы на одной из боковых линий встречались гораздо ближе к вражеской вышке. Получать опыт и золото в такой ситуации было крайне сложно, особенно учитывая что стоять нередко приходилось сразу против троих вражеских персонажей.

В таких условиях играть мог герой только с наличием «эскейпа» (невидимости, уклонения, быстрого перемещения) или крайне живучий «толстый» персонаж. В современной Доте баланс линий лучше, и играть на «сложной» проще. К тому же на помощь хардлейнеру иногда отправляют героя поддержки.

Как поднять свой ммр в Dota 2 в 2021

Как выиграть в Dota 2? Никак не можете выйти с 2к рейтинга? Надоело выигрывать игры через раз? Не знайте, как апнуть ммр? Наша редакция составили список главных правил и советов. Мы обещаем, что следуя им, вы перестанете стоять на месте и увеличите ваш показатель рейтинга.

Не имеет значение, сколько именно у вас ММР: на любом уровне стоит придерживаться главных принципов, тем более на профессиональном.

Совет

Выберите одну роль для игры. Да, Valve для оптимизации рейтинговой системы добавила систему жетонов, по которой у игроков больше нет возможностей играть постоянно на первых трёх позициях. Тем не менее их можно заработать или найти саппорта в чате.

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

Совет

Выбирайте сильных (метовых) героев. Мета возникает не просто так, с выходом обновлений в Dota 2, которые затрагивают не только героев, но, иногда, и саму механику игры, меняется винрейт героев. Одни становиться сильнее, другие уходят на второй план, а некоторые и вовсе забываются.

Метовых героев можно определить просматривая статистику DotaBuff. Там можно узнать процент побед определённого героя на вашем рейтинге. Как вариант, выбрать лучших своих героев, исходя из текущей меты. И выбирать их, смотря на пик противоположной команды.

Совет

Коммуницируйте с командой. Общайтесь! Просто общайтесь, возьмите на себя роль капитана, если нужно. Для этого вовсе не надо “пройти игру”, достаточно минимальное понимание того, что происходит на карте. Зачастую, особенно на низком ммр, если команда не коммуницирует, игра протекает в пассивном ключе – игроки просто фармят и пытаются делать соло убийства, и каждый играет сам за себя.

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

Совет

Не будьте токсичным. Пожалуй, одно из самых главных правил. Зачастую игроки могут проиграть игру ещё на стадии пиков и вовсе не из-за взятых героев. Если кто-то сильно ошибся, необязательно критиковать: это не приведёт к победе в матче. Всё что вы можете сделать – это подбодрить. Но, как выйти из ситуации, если тиммейт попался чересчур токсичным и портит игру? Просто замутьте или попытайтесь успокоить, если это возможно. Самый легкий способ – это не провоцировать агрессивного тиммейта, так как вам это тоже испортит настроение и скорее всего понизит шансы на победу в игре.

Совет

Выигрывайте линии. В нынешней мете очень важно выигрывать лайн. Это не всегда получается, тем не менее нужно взять на заметку, что даже, если ваш герой идеально подходит против вражеской команды, надо предположить, какой будет лайн у вас. Такая тактика гарантирована на более низких рангах. Всё что нужно – это выиграть лайны. Но, если у вас не фулл пати – это не всегда получится. Поэтому берите друга и пробуйте разные связки героев, чтобы выиграть линию. Или вы сами можете взять персонажа, который будет чувствовать себя комфортно.

Соблюдая эти простые простые правила можно значительно улучшить свою игру и сделать её намного комфортнее и приятнее.

Как поднять свой ранг в Dota 2?

Практически любая онлайн-игра имеет свою рейтинговую систему, которая позволяет игрокам видеть кто играет лучше, а кто хуже. Dota 2 не является исключением.

p, blockquote 1,0,0,0,0 —>

p, blockquote 2,0,0,0,0 —>

Интересно то, что в первой доте (Dota AllStars) рейтинга не было. В связи с этим нельзя было определить хорошо играет игрок или плохо – это приводило к тому, что команды были не сбалансированы. Ситуация изменилась с выходом Dota 2 в 2013 году. В новой версии игры была предоставлена рейтинговая система MMR. Со временем система рейтинга дорабатывалась и в 2017 году в игре появились ранги.

p, blockquote 3,0,1,0,0 —>

Если у игрока новый аккаунт (на котором раньше не играли в доту), то перед тем как узнать свой рейтинг ему придётся отыграть 100 часов в доте. В учёт идёт время, проведённое непосредственно в самих матчах. После этого ему станет доступна калибровка, состоящая из 10-ти игр. По завершению калибровки игрок получит соответствующий ранг.

p, blockquote 4,0,0,0,0 —>

Какие ранги есть в доте?

p, blockquote 5,0,0,0,0 —>

На сегодняшний день рейтинг Dota 2 включает в себя 7 рангов: Рекрут, Страж, Рыцарь, Герой, Легенда, Властелин и Божество. Каждый из рангов может иметь от 1 до 5 звёзд. Когда набирается 5 звезда игрок автоматически переходит на следующий ранг. Одна звезда соответствует примерно 125 ммр. Исходя из этого можно сказать, что для получения одной звезды необходимо выиграть примерно 5 игр подряд.

p, blockquote 6,1,0,0,0 —>

Система рангов постоянно меняется и с каждым обновлением она всё больше становится похожей на систему рангов в League of Legends. Вместе с рангами в игру были добавлены сезоны, продолжительность которых составляет 6 месяцев. Кроме этого, в Dota 2 теперь можно искать матч по определённой роли (например, саппорт или мидер).

p, blockquote 7,0,0,0,0 —>

Ч то нужно знать для того, чтобы поднять свой ранг?

p, blockquote 8,0,0,0,0 —>

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

p, blockquote 9,0,0,1,0 —>

  1. Для буста рейтинга подходят не все герои. Кроме этого, на некоторых персонажах, например сларке, легче поднимать ранг на рейтингах до 4 к ммр. После 4 к ммр опытные геймеры рекомендуют переходить на саппортов.
  2. Для того, чтобы быстро поднимать свой ранг необходимо много играть, особенно начинающим игрокам.
  3. В игре побеждает не та команда, которая совершила больше убийств, а так, которая первой снесла трон противника. По этой причине не стоит зацикливаться на одних убийствах. Иногда команда может снести вражеский трон и со счётом 10-30.
  4. Скорость поднятия соло рейтинга зависит только от самого игрока (поэтому он и называется соло), а не от его союзников.
  5. Игра включает в себя два этапа: ранний и поздний (лейт). На начальных стадиях игры доминируют персонажи со способностями, наносящими большой магический урон (саппорты, нюкеры и др). В лейте же лучше себя показывают герои с большим физическим уроном (керри). Поэтому при игре на саппорте нужно пытаться закончить игру как можно раньше, а на керри наоборот – тянуть матч до поздних минут.
  6. Для того, чтобы проанализировать свои матчи, следует сделать свой дотабафф. Там можно будет бесплатно посмотреть статистику своих матчей, а также произвести анализ своих ошибок.
  7. Все матчи доты можно поделить на 3 типа: где команда быстро выигрывает, где она быстро проигрывает, а также матчи с равными силами. Игроку нужно стараться побеждать в 1 и 3 случаях.

Что нужно делать, чтобы побеждать?

p, blockquote 10,0,0,0,0 —>

Для того чтобы повысить свой винрейт (процент побед), игрок должен:

p, blockquote 11,0,0,0,0 —>

  1. Научиться играть на нескольких героях. Для того, чтобы хорошо изучить героя и его особенности, следует сначала поиграть несколько игр с ботами, а затем пару матчей в обычном режиме. Когда игрок почувствует, что уже достаточно хорошо играет на персонаже, можно переходить на рейтинг.
  2. Разобраться в предметах. Для каждого героя есть несколько предметов, которые следует покупать в обязательном порядке – как правило, их не больше 2. Остальные предметы приобретаются в зависимости от противников, а также стиля игры команды (быстрая игра, расчёт на лейт и т. д).
  3. Минимально изучить особенности всех персонажей. Достаточно запомнить примерную перезарядку, дальность действия, а также оказываемый эффект всех способностей.
  4. Обучиться макро- и микроконтролю. Макроконтроль – использование особенностей карты (проход по коротким путям, уход в тень за деревья и др). Микроконтроль же подразумевает управление курьером, иллюзиями, своевременное использование телепорта или какой-нибудь способности.
  5. Убивать меньше, чем умирать, а также научиться пушить (уничтожать вражеские постройки).
  6. Помогать своей команде во время сражения. Для этого нужно всегда иметь при себе телепорт, чтобы при нападении на союзника можно было телепортироваться к нему и вовремя оказать ему помощь.
  7. При выборе героя учитывать пик противников. Перед тем как выбрать персонажа нужно обратить своё внимание на пик противника. Исходя из этого следует выбирать такого героя, который смог бы законтрить вражеских героев, а затем спушить вышку или трон.
  8. Изучать обновления. Часто обновления включают в себя изменения некоторых героев. Кто-то становится сильнее, а кто-то слабее. Выбор персонажа, который был усилен после недавней обновы, даст некоторое преимущество в бою.

p, blockquote 12,0,0,0,1 —>

Многие игроки при поднятии своего ранга считают, что они играют лучше всех. Такие “геймеры” постоянно критикуют и дизморалят свою команду. Делать так не нужно, так как это лишь ухудшит игровую ситуацию.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

После перезапуска игры, подтягиваются новые настройки и запускается сервер 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», а в самой игре (либо в тех же файлах конфигурации) настроить режим отображения в окне без рамки.

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, если есть орфографические или лексические ошибки, то пишите пожалуйста в ЛС, спасибо за внимание.

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