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

8 простых вопросов о Доте, которые вы хотели задать, но боялись чата

8 простых вопросов о Доте, которые вы хотели задать, но боялись чата

Зачем нужен Еул, почему важна башня в центре и что такое треугольник.

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

Патч 7.28 Mistwoods

Описание у патча гигантское. Масса изменений на опубликованном рулоне пугает размером, смущает и вызывает недоумение. Что вообще произошло в Dota 2? Если рассуждать здраво, то изменений не так много.

  • Введен новый герой-белка, похожий на смесь персонажа-белки из Heroes of Newerth, Sniper и Windranger.
  • Добавлены новые предметы, удалены некоторые старые, изменен баланс ВСЕХ героев по лекалам старых патчей, выпущено давно требуемое игроками улучшение Blink Dagger.
  • Все герои получили возможность получить новую способность или улучшить имеющуюся с помощью расходуемого осколка Аганима.
  • Слегка исправлен интерфейс, а игра отныне начинается в ночное время.
  • Outworld Devourer выплюнул кашу изо рта и стал Outworld Destroyer.

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

Статья в тему:  Дота лион что собирать

Undying – это довольно странный персонаж, и многие не понимают, зачем он вообще нужен, так что и его наличие во вражеским команде не вызывает ни капли волнения. Это происходит ровно до тех пор, пока не начинаются массовые драки, в которых и раскрывается вся сила Андаинга.

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

Этот герой способен вызвать массу проблем, и самое настоящее горение пятой точки у любого уравновешенного игрока.

С самых первых минут игры, Андаинг будет лишать вас драгоценной Силы, при этом становясь всё толще и сильнее, что не позволяет драться с ним наравне. Его Томба – это самый настоящий ад в любом замесе. Стоит лишь ненадолго забыть об этих маленьких зомби, и вы гарантированно отправитесь в таверну.

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

Как же контрить эту тушу гнилого мяса? Сегодня мы попробуем разобраться в этом вопросе, и начнем с его слабых сторон:

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

  1. Его основные способности эффективны только против целей с небольшим запасом здоровья.
  2. Нету надёжного замедления или стана.
  3. Не имеет сильного прокаста и высокого периодического урона.
  4. Недостаточно мобильный.

Кого пикать против Андаинга?

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

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

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

  • Благодаря своей второй способности, Вивер может легко выйти из радиуса действия Томбы. Кроме того, как только он активирует вторую способность, все преследующие его зомби умирают.

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

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

  • Высокая скорость передвижения и инвиз позволяют не бояться толпы зомбей. Ну а ещё, благодаря своим огненным стрелам и первой способности, он может очень быстро уничтожить Томбу.

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

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

  • Этому герою абсолютно всё равно на Томбу Андаинга, так как находясь в форме волка, Ликана невозможно замедлить, а значит Андаинг ничего толком не сможет сделать. Да и убить Томбу вместе с баффом и волками будет совсем несложно.

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

p, blockquote 13,0,0,0,0 —>

  • Благодаря своему ультимэйту Эмбер Спирит обладает отличной мобильностью, а значит уйти от зомбей не составит труда. Но помимо этого, благодаря второй способности он может в считанные секунды убить сразу всех зомби в большом радиусе.
Статья в тему:  Как создать свой сайт рулетку дота 2

Что покупать против Андаинга?

p, blockquote 14,0,0,0,0 —>

p, blockquote 15,0,0,0,0 —>

Force Staff

p, blockquote 16,0,0,0,0 —>

  • Благодаря нему вы сможете заметно быстрее покинуть зону действия Томбы, потому как вас слишком сильно замедлят.

p, blockquote 17,0,0,0,0 —>

Shadow Blade

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

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

p, blockquote 19,0,0,0,0 —>

Eul’s Scepter of Divinity

p, blockquote 20,0,0,0,0 —>

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

p, blockquote 21,0,0,0,0 —>

Ghost Scepter

p, blockquote 22,0,0,0,0 —>

  • За время пока вы находитесь в астрале, вас нельзя будет бить, в том числе и маленьким зомби. Также за это время с вас спадут все накопленные стаки замедления, что позволит спастись без особого труда.

Как играть против Андаинга?

При игре против Андаинга следуйте нескольким простым правилам:

p, blockquote 23,0,0,0,0 —>

  1. На линии, не стойте слишком близко со своим союзником.
  2. Не деритесь, если вы находитесь под большим количеством эффектов Decay.
  3. Старайтесь не драться в радиусе Tombstone.

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

Еул дота 2

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

Dota 2 — сложная, с точки зрения стратегии, игра. В ней есть большое количество персонажей с уникальными способностями, а также множество предметов. Это, в свою очередь, добавляет в игровой процесс ровно то, что жаждут другие пользователи — неожиданность и динамичность. Так, например, можно сказать про предмет Eul’s Scepter of Divinity.

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

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

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

Eul dota 2

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

Eul’s Scepter of Divinity — предмет, который пользователи способны приобретать за 2725 золота. Интересен он и тем фактом, что для его сборки не понадобятся каких-либо вещей из потайной лавки. Вещь способна давать персонажу следующие характеристики:

Статья в тему:  Как сделать 1000 кликов в секунду дота 2

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

  • 10 дополнительных единиц интеллекта;
  • 5 к восстановлению маны;
  • 20 дополнительные скорости передвижения.

Eul’s Scepter of Divinity, в основном, покупается для того, чтобы обрести эффект Cyclone. Он позволяет поднимать выбранного персонажа в воздух. Во время того, как цель будет находиться в воздухе, она неуязвима к получаемому урону на 2.5 секунды. Такую способность можно использовать не только на врагов, но и на себя.

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

В основном, такой предмет можно будет использовать для следующих целей:

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

  • Для того, чтобы поймать врага. Используя Eul, пользователь сумеет поймать врага и становить его до того момента, пока он уйдет в тень. То есть, EUL — отличный инструмент контроля.
  • Для того, чтобы сбрасывать с себя негативные эффекты. Cyclone, как способность, сбрасывает с персонажа какие-либо эффекты. Например, Queen of Pain, которая покупает этот предмет, очень сильно зависит от способностей. Многие враги, понимая этот факт, покупают Orchid и запрещают ей использовать способности. EUL, в свою очередь, сбрасывает негативный эффект.
  • Для того, чтобы выживать в драках. Eul’s Scepter of Divinity — предмет, который поможет определенному персонажу выживать в драках. Например, QOP, которая покупает этот предмет, может его использовать во время атаки на себя и сделать Blink.
  • Для того, чтобы контролировать врага в драках. Например, EUL могут покупать против Enigma для того, чтобы запрещать ей использовать Black Hole.

То есть, Eul’s Scepter of Divinity — интересный и универсальный предмет, который может быть использован в самых разных сценариях. Поэтому он точно будет окупать свою стоимость, которую пользователь готов за него заплатить.

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

Еул дота

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

Теперь можно поговорить о тех персонажах, которые предпочитают покупать Eul’s Scepter of Divinity. Список, в большинстве своем, будет состоять из магов, учитывая то, какие характеристики он дает.

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

Какие персонажи покупают этот предмет:

Статья в тему:  Что дает кинетический самоцвет дота 2

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

  • Ancient Apparition;
  • Batrider;
  • Death Prophet;
  • Dark Willow;
  • Earth Spirit;
  • Grimstroke;
  • Invoker;
  • Leshrac;
  • Pangolier;
  • Shadow Fiend;
  • Puck;
  • Queen of Pain;
  • Razor;
  • Void Spirit.

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

Эти персонажи и покупают такой предмет для того, чтобы достичь успеха в Dota 2. Стоит учесть, что этот фактор всегда может быть изменен. Дело в том, что Dota 2, как игра, постоянно обновляется и обновляет персонажей, способности и умения. То есть, рано или поздно, этот список может быть изменен. Некоторые персонажи перестанут покупать Eul’s Scepter of Divinity, а другие, наоборот, начнут это делать. Это цикличная игра и на предметах такой фактор виден намного яснее, где-либо еще.

Квиккаст

Квиккаст — это довольно спорная настройка, тем не менее, она очень удобна, ведь экономит вам много времени.

Единственный минус квиккаста — это то, что к нему нужно долго привыкать, так как это довольно необычно.

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

Бесплатный сыр только у Рошана

Корнем этого зла является бесплатная модель распространения. Игру не нужно покупать, просто скачайте клиент — и уже можно соревноваться в размере клешней. Любой школьник без денег устремляется в этот виртуальный ад, смешиваясь в единую биомассу с такими же, как он. Этот бульон поглотил огромное количество хороших ребят. Остановитесь, выйдите на улицу, подышите свежим воздухом. Перед вами целый мир. Хватит прожигать жизнь за бессмысленным продавливанием клавиш.

Как очистить Dota 2 от ненужных файлов?

В редакцию StatDota поступил вопрос, как удалить старые обновления в доте, рассказываем как избавиться от ненужных файлов в игре. Но для начала ответим: старые обновления нельзя удалить из игры, они не хранятся в отдельных папках, все обновления которые Steam спускает на нас обновляют и дополняют существующие файлы, а ненужные файлы удаляются автоматически с установкой обновления. Файлы игры по умолчанию хранятся в папке Steamsteamappscommondota 2 beta.

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

Очистка Steam и Dota 2 от ненужных файлов

Очищаем кэш Steam и Dota 2

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

  • Steamappcache
  • Steamsteamappsshadercache
  • Steamsteamappsdownloading
  • Steamsteamappstemp

В некоторых конфигурациях ПК могут возникать проблемы совместимости и создаваться дамп файлы: .dmp и .mdmp (Windows Minidump File). Накапливаясь их размер достигает нескольких гигабайт, проверьте папки dota 2 betagamebinwin64 (win32) и удалите дамп-файлы при наличии.

Очищаем записи игр Dota 2

Средний размер реплея порядка 100мб, периодически загружая записи игр, за год размер папки с реплями может достигать десятков гигабайт. Все скачанные реплеи сохраняются в папке Steamsteamappscommondota 2 betagamedotareplays, просто удалите их.

Папка с кастомками в Дота 2

Кастомные карты Dota 2 находятся в папке Steamsteamappsworkshopcontent570 и крадут свободное место на диске. Например, популярная дота кастом хиро чаос занимает 400мб, а Custom Universe Defense целых полтора гигабайт. Поиграв в различные дота кастомки, размер папки с файлами этих карт может оказаться пугающим.

Папка с кастомками в Dota 2

Чтобы удалить все кастомки в дота 2 откройте папку Steam и перейдите в steamappsworkshopcontent570 – всё содержимое, файлы кастомок, отправляйте в корзину. Названия каталогов в папке с кастомками есть их ID в Steam Workshop. В папке с каждой кастомкой есть файл publish_data.txt в котором записано название, таким образом позволяя Вам выборочно удалить кастомки не заходя в Dota 2.

Удаляем скриншоты из игр

Скриншоты из каток сохраняются на вашем жёстком диске, частенько хоткей скриншота нажимается случайно и со временим у нас сотки ненужных картинок. Скриншоты хранятся по адресу Steamuserdata102938000760remote570screenshots, где выделенный номер это ваш Steam ID.

Удаляем пользовательские данные

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

Статья в тему:  Рарки дота 2 что это

Небольшой лайфхак тем, кто переустанавливал игру чтобы сбросить настройки Dota 2 – так не работает, пользовательские настройки хранятся в userdata, измените или удалите свои конфиги (cfg фалйы) если требуется.

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

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

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

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

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

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

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

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

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

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

Статья в тему:  Что такое шедоу бан в дота 2 класс

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

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

Отображать текущие показатели золота (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 героя.

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

Статья в тему:  Как забиндить читы в дота 2

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) нужна чтобы не повторить оповещение случайно дважды.

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

Статья в тему:  Как вытащить руну из вещи дота 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Статья в тему:  Кто контрит сфа дота 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