Хелпер умер, да здраствует Ассистент!
Фух,ну и неделька.
Не буду томить вас длинными вступлениями, да и я особо-то не умею.
За последние 72 часа передо мной стояла задача предоставить игрокам Wasteland Wars инструмент, идентичный принципам работы Wasteland Wars Helper и как минимум с функционалом не уступающим ему. Также при этом я старался учесть субъективные недостатки которые имеются у Wasteland Wars Helper, и изебажить появления оных.
Для понимая, отмечу - мой бот-ассистент именует себя Wasteland Wars Assistant.
Helper - старое. Assistant - новое.
Я ещё размышляю над ренеймом канала и перезда бота на новый @юзернейм, сейчас это не приоритетно.
Прежде чем я перейду к описанию функционала моего бота-ассистента, я хотел бы подробней о наиболее "болючих" недостатках бота-хелпера, потому что в основном я был сконцентрирован над избежением повторения похожех у моего бота:
- Автоматизация. Автоматизирован лишь процес по мобам и гигантам. Экипировка, боссы, ачивки и припасы приходилось добавлять и обновлять;
- Юзабилити. Не удобный форвард по мобу. Если вы форвраднули результат битвы с мобом и ваши статы уже более "новые" в сравнении с теми которые есть в базе с вашим пипоп вы видели собщение "
Ваш профиль устарел". Вам нужно было скинуть "свежий" пип-бой. И опять скинуть результат битвы с тем же мобом; - "Ручной" побег. Данные о "побеге" от моба можно было добавить в базу только вручную.;
- Недостаточость данных о мобах.Нет никакой другой информации о мобе кроме как о его уроне, и иногда - побеге;
- Отсутствие информации о километрах.
И конечно-же - это только то, что лежало на поверхности. Теперь я думаю будет логичным рассказать о том каким образом я попытался решить эти проблемы. В таком же порядке.
Автоматизация
Потенциальной информации, которую можно получить с ваших форвардов - уйма.
Юзабилити
Не смотря на то что мой бот также умеет принимать "одиночный" форвард я решил пойти ещё дальше. Мой бот умеет принимать неограниченное (почти) количество форвардов. И умеет их обрабатывать. Кнопочка которая начинает эту магию называется [Скинуть лог 🏃]
Вы можете забить хуй и форвардить вместе с командами которые отправляли вы, например: [Идти дальше], [Дать отпор]. А можете попотеть и скинуть ему сообщения-ответы только от бота Wasteland Wars.
Моему боту вообще похую. Он, сука, умный как стая математиков - отделит правду от истины, проигнорирует форварды с сообщением-командой от вас и также форварды от игрового бота, которые ему не интересны.
Однако, и у данного подхода есть некоторые ньансы которые вынудили меня ввести следующие ограничения для данного режима:
- Бот-ассистент ожидает форварды от вас, которые начинаються с выхода в пустошь и заканчиваются либо возвращением лагерь либо доходом до "дальнего" километра. То есть форварды вида: "
1км-Лагерь", "15км-Лагерь", "15км-40км" и "36км-Лагерь" - просто идеальны. А вот "1км-Лагерь-10км" и "15км-6км" - не подходят - Бот-ассистент не будет обрабатывать сообщения которые вы ему скинули после смерти вашего персонажа.
Эти ограничения я ввёл потому что сложно "следить" за вашим бип-боем. Куда прощё с ним (пип-боем) иметь дело, если мы говорим в контексте "одной" вылазки.
Вы можете резонно заявить - "А не будет ли дохуя сообщений которые нужно переслать боту-ассистенту?!". И будете правы. Также из неприятных моментов - Телеграм позволяет выделить до 100 сообщений за один раз.
Я лишь могу посоветовать пересылать сообщения по мере продвижения по пустоши. Это избавит вас от излишнего выделения всей кучи сообщений за вылазку.
Конечно это не окончательное решение - я буду стараться упростить и этот процесс.
Но несмотря на всю эту магию, самые внимательные из вас заметили что это слабо решает проблему о необходимости переслать свежий пип-бой если ваши статы из форвардов отличаются от тех что есть в базе.
Однако у нас уже есть одно из решений этой проблемы - скорее всего за форварды которые вы кидали боту-ассистенту проскакивал ваш пип-бой 😏. И с моей стороны было бы смертным грехом этим не воспользоваться.
Другими словами - если в ваших форвардах проскакивает пип-бой - результаты битвы с мобами, успешные и не успешные побеги будут "подкреплятся" его данными.
Очевидно, назревает вопрос - а что если в этих форвардах ни единого пип-боя не было? Вот скажите - вы меня совсем за дебила держите, да?
Ровно таким же образом каким я проверяю наличие пип-боя - я "узнаю" о его отсутсвии. И поступая в сложившейся ситуации как истинный джентельмен - предложу вам два варианта.
Вам будет предложено скинуть "свежий" пип-бой. И если вы на это согласитесь и таки скинете его - бот "применит" на ваши форварды автоматически - вам не нужно будет отправлять ваши сообщения заново, возрадуйтесь 🙌
Также вам будет предложено отказаться от отправки "свежего" пип-боя. Если вы откажетесь - бот сохранит только те данные, которые не "зависят" от вашего пип-боя. А таких данных не так уж и много :с
Конечно подобная система сработает когда вы перешлёте результат битвы с мобом. Если бот увидит что ваш пип "устарел" - он предложит скинуть свежий. Если скинете - форвард о результате боя автоматичски обновиться. Не скините - ваше право,хуй с этим форвардом.
"Ручной" побег
Как было описано выше - бот будет следить за вашим пип-боем в форвдах. И при его наличии в них - будет автоматически обновлять информацию о побеге - как удачном, так и провальном.
Теперь информация о мобе про побег будет добавлятся в базу как только бот получит форвард с результатом побега. И доступна эта информация будет сразу же.
Вот такая красота, да.
Недостаточость данных о мобах
О мобе можно получить информацию о том сколько крышек и материалов с него выпадает. А также какие ресурсы можно с него получить.
Возможно, данные эти для вас не будут сильно полезными. Но с их помощью я, и другие желающие могли бы найти им приминение для функционала о котором я рассказывал тут. И конечно как только у меня будут эти данные - я планирую занятся обещанными фичами.
Ах да, чуть не забыл - мобы из подземелий тоже обрабатываются 🙌
Отсутствие информации о километрах
Ну вот это прям вообще пиздец, почему подобного не было в хеплере я понять не могу.
Помимо тех же крышек, материалов и ресурсов можно получить ещё кучу других данных. Например "хороший", "плохой" или "нейтральный" километр - то есть, ограбят ли вас рейдеры, найдёте ли вы сункдуком со скарбом либо же не произойдёт ничего.
Можно отслеживать появления старьевщика и хламосборщика. И выдавать информацию на каких километрах он чаще всего встречаеться. А вдруг там не простой рандом. Или простой.
Можно выдавать информацию с какого по какой километр выпадает определённый ресурс. Либо же просто на каких километрах его можно найти. Или с какого километра он "попадается".
В общем уйму всякого полезного можно с этой инфой придумать. Чем я и планирую занятся.
О поиске по мобу
Скидывая заветное "Во время вылазки на тебя напал..." бот-ассистент постарается сделать следующее - он вернёт вам привычную информацию о мобе, если его найдёт. Вот только с информацией о стычках с этим мобом есть некоторые новшества.
Бот-ассистент попробует вам вернуть информацию о его уроне наиболее близкую к вашим статам, учитывая вашу броню. В противном случае вы увидите всю информацию о уронах от моба.
Также у вас всегда будет возможность посмотреть информацию по всему урону от моба.
Ещё о коё-чём важном
Так как бот-ассистент был создан в связи с обновой ВВ - бот будет игнорировать форварды, абсолютное время которых "меньше" за время внедрения обновы Wasteland Wars.
Также бот может обидеться на форварды не от Wasteland Wars. Причём настолько сильно что может и забанить.
Так как я не научился красиво "определять" переход в подземелье - боты из него будут привязаны к километру на котором находится подземелье. В пул обычных мобов они не попадут, так бот-ассистент умеет определять их как данжевых.
Информации о гигантах не будет до тех пор пока не будет патча, который их "вылечит"
Вывод всех мобов пока что не будет отображатся так, как в старом боте-хелпере. Дело в том, что на первых порах процес добавления мобов будет очень хаотичным. На первое время я буду выдавать список мобов, отсортированных в порядке ближайшего километра на котором их можно встретить.