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

Дратути: что значит новый мем

Если говорить именно про сам мем, то какой-то интернет-пользователь выложил фотографию фанеры, на которой рисунок из сучков образует что-то похожее на любопытную морду. Одни говорят, что это собака, другие видят чёртика, но даже и объяснения не требуются — рисунок на самом деле выглядит забавно, а подпись «дратути», что значит «здравствуйте», вызывает здоровый добродушный смех.

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

1 позиция в доте: керри

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

Игрок на керри включается в командную игру поздно — минуты с 15-20. В отличие от других ролей, он не так быстро получает опыт в начале игры (вынужден делить его с союзными героями), его способности раскрываются при наличии хороших артефактов, а сам он весьма уязвим на первых минутах.

Практически любой ветеран Dota 2 подтвердит – настоящего обучения в игре нет. Но ведь есть сообщество, которое готово прийти на помощь в тяжелую минуту и объяснить некоторые механики, показать фишки и рассказать про героев. Наверно. Например, обучение от местного кибержурналиста и организатора турниров SirActionSlacks. Оно приблизительно в 100 раз дельнее любых руководств от разработчиков, но даже его нельзя назвать полным и исчерпывающим.

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

С удовольствием и концентрацией на игровом процессе. На освоение базовых принципов игры уйдет от 20 до 30 часов. В игре множество переменных, но самые важные – линии, герои, артефакты.

Значение мема

Так как мем предназначен для нестандартного приветствия, то картинку используют именно для этого. В дальнейшем голову собаки начали вырезать и перемещать на другие изображения. Например, приветствие Windows обзавелось подписью «дратути» и лицом собаки вместо логотипа компании. «Появилась» новая передача «Атнака дратути», вместо ведущего Леонтьева добавили все тот же кусок фанеры.

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

Не обошлось и без абсурдных изображений. В одном из мемов Елену Малышеву «превратили» в собаку, так как она всегда здоровается очень эмоционально.

Руны в Dota 2

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

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

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

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

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

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

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

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

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

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

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

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

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

Уровни буст-системы

Опять-таки, буст система имеет несколько уровней. На данный момент известно 5 ее уровней. Эти уровни влияют на то, сколько очков рейтинга вы будете получать за победу. Ниже мы приведем вам цифры этих уровней, а потом все подробно расскажем на примерах. И да, чтобы подсесть на буст-систему, у вас должен быть не просто нулевой аккаунт, у вас там должны быть игры, сыгранные на лоу-рейтинге, примерно с их скиллом (К/Д/А и другие характеристики).

  1. Первый уровень буст-системы позволит вам поднимать до 60 ММР за игру. Уже лучше, но далеко не самый сильный результат. Обычно работает с игроками 4К ммр, начинающих новые аккаунты.
  2. Второй уровень буст-системы позволит вам поднимать от 70 до 120 ММР за игру. Обычно это работает с игроками 5-6К ММР.
  3. Третий уровень буст-системы поднимает от 120 до 190 ММР за игру. Это работает, в основном, у игроков 6000-6500 ММР.
  4. Четверный уровень буст-системы поднимает от 190 до 280 ММР за игру. Это уже большая часть про-игроков.
  5. Пятый уровень буст-системы поднимает 280 и больше ММР за игру. На данный момент известно о 350 ММР, поднятых за один матч.
Статья в тему:  Как создать карту в игре танки онлайн

Итак, что же это значит. Возьмем, например, всем известного Dendi, бывшего игрока Na`Vi. Как известно, большинство бустеров обладают 5-7К ММР. Допустим, игрок с 5К заводит новый аккаунт. Калибровка пройдена и допустим, ему не повезло и он откалибровался на 1К. Т.к. скилл его на 5К, то соответственно, выигрывать он там будет любой матч в соло, даже против руинеров и фидеров. Аналогичным образом всякие Мираклы, с 11К ММР, бустят свои фейки до максимального ранга за пару дней.

Однако подниматься по +25 – невероятно долго. Представьте, чтобы с 1000 ММР вернуть 5000 ММР, нужно выиграть минимум 160 матчей, при этом, не факт, что игра вам всегда будет подсчитывать эти 25. Может быть и 20, и 10, и 15. И это не говоря уже о возможных поражениях.

Но если вы подсядете на буст-систему, то свои 5000 ММР вы сможете вернуть игр за 10-15.

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

-Что случилось? — спрашиваю я.

-Моя мама хочет дать нам денег на первоначальный взнос! — на радостях отвечает муж.

Обговорили сумму первоначального взноса. Приступили к поискам квартиры. Нашли хороший для нас вариант. Так как муж работает не официально, было принято решение оформлять ипотеку на меня. Подала заявку. Я заёмщик, он созоемщик. Банк все одобрил. Решили обрадовать свекровь.

-А почему именно этот район? Мне подруга сказала что там не очень все хорошо. Там все школы плохие. Давайте поближе ко мне. Я хочу брачный договор. Я хочу что бы у сына доля была больше.

Начали узнавать про брачный договор и разделение долей. 2/3 мужа, 1/3 моя с ребёнком.

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

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

-Давайте вы оплатите перваком 1/2 долю мужа, а я на свою 1/2 долю с ребёнком ипотеку возьму, сама платить буду. — её даже этот вариант не устроил. Уперлась она что у сына должно быть больше и все тут.

Вариантов то остаётся не много.

Хочу предложить развод. Думаю свекровь согласится.

Варианты получения Аркан в Дота 2

Купить Арканы Дота 2 дешево можно на независимых площадках. Хотя есть более официальный путь – покупка через уже упомянутую собственную площадку Valve, большинство игроков предпочитают делать это на «вторичном рынке». Дело в том, что Стим берет значительный процент с каждой транзакции, поэтому игрок, покупающий Аркану, гарантировано переплачивает. А тот, кто продает набор, получает совсем не столько, сколько мог бы.

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

Возникает вопрос: неужели Аркану можно только купить? Конечно, нет! Есть два варианта бесплатного получения Арканы во время The International.

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

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

Если купить Аркану на ВР Дота 2 вполне реально, как и на большинство других персонажей, то с Ио, Шейкером, Врэйс Кингом и Квопой все не так просто. Арканы на этих персонажей не могут выпасть во время матча, их невозможно ни купить, ни продать. То есть из 18 существующих аркановых наборов доступны только 13 – их можно получить любым из выше указанных способов. 5 наборов на упомянутых героев получить нельзя никак, они выдавались за определенный уровень компендиума Боевого Пропуска.

Почему Арканы есть не у всех героев?

С 2013 года Valve ввели процедуру голосования во время The International. Все игроки, имеющие баттл-пасс, могут голосовать за героя, который получит свою Аркану на следующем турнире. Однако некоторые персонажи (например, Ио) получили наборы, несмотря на то, что уступили кому-то первое место в голосовании. То есть иногда Valve принимает решение выпустить в год не одну Аркану, а больше, если сразу несколько персонажей получили большое количество голосов, и разрыв между ними в итоге получился минимальный.

Автоматизация рутины в 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, то никакой информации о нём вы не получите. Есть ещё один момент, который я забыл учесть — данные могут быть устаревшими, но в коде это легко исправляется добавлением фильтра по времени.

Статья в тему:  Что нужно собирать вайперу в доте 1

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