Обновлена BETA-версия программы Помощник.Ultra.PLUS (2030.PLUS.beta)
Добро пожаловать в начало новой скрипто-эры =) Новый виток эволюции позволит выйти на еще более гибкие возможности настройки Помощника. С дифирамбами закончил, перехожу к сути.
В программу, начиная с текущей версии, встроен движок скриптового языка Lua. Первоначальные возможности более чем скромны, но они будут расширяться.
Пример того, что можно уже сейчас, исходная ситуация. Бывают циклические задачи связанные с периодической однотипной сменой параметров на предметах либо монстрах (собрать/разобрать/продать Х шт. каких-то предметов с монстров, убить по несколько шт. монстров в рамках ежедневных заданий и проч.). Раньше вариантами решения были либо ручное выставление всех параметров (каждый раз), либо же сохранение полного набора параметров в файл, даже более не удобно. Грусть, печаль, мутота. Теперь же можно создать список, изменяющий только отдельные параметры. Сохранить его в файл и запускать по мере надобности. Соответственно можно использовать любое количество файлов-скриптов-списков действий, под разные ситуации. Их можно быстро редактировать и все такое... Понял, к черту текст переходим к слайдам)
Лишь только отважный пользователь решится вызвать это меню! =)
Моделируем ситуацию. Например, нам нужно вместо разбора начать продавать 2 вида колец и убить 10 чертей. И для реализации задуманного нам понадобятся три строчки (1 на скрине).
(картинка увеличивается при клике). После выполнения (2) данного набора строк получаем.
Смена действия на предметах ("Разбирать"=>"Продавать") и атака черта со счетчиком 10 (было "прогонять", стало "атаковать" 10шт., а затем снова автоматически выставится "прогонять").
Согласен, текст в скрипте выглядит ужасно, страшно и непонятно. Но я предусмотрел некоторые возможности как вам облегчить вашу небесную жизнь =). Сам редактор имеет ряд фишек, облегчающих пропись действий. А именно. Все доступные на данный момент функции собраны в меню в заголовке окна.
Например, "Предметы"-"Изменить параметры" (1) вставит в редактор шаблон вызова (2) со страшным названием, которое оказывается не обязательно запоминать. Дальше внизу окна (3) будет указана краткая подсказка по тому какие параметры нужно указать. Их правильный порядок, как в подсказке, строго обязателен. Первым должен идти код предмета, затем какое действие установить основным, какой счетчик вторичного действия и само вторичное действие. На этом "удобности" не заканчиваются. Перетаскивание в поле текста картинки предмета вставит в позицию ввода его код (перетаскивание названия монстра вставит код этого монстра). Действия для предмета можно выбрать из привычного списка. Кроме стандартных есть общее для всех параметров "не изменять" (то есть оставить таким как и было, если вы вдруг хотите изменить не все параметры).
В итоге весь результат "прописан" мышкой. Запоминать сочетания английских символов не обязательно. Надо только смотреть в какой позиции мигает курсор и переставлять его в нужные места по мере необходимости (текст от нажатия кнопок/меню и перетаскивания вставляется строго в то место, где мигает курсор). Кроме функций, где нужно указать сразу много параметров, можно использовать более точечные, изменяющие всего один параметр. Они принимают код, показывающий цель (предмета или монстра) и один параметр задающий новое значение.
Вот для примера. Одна функция для изменения сразу трех параметров вверху, либо 3 одиночных задающих каждая свой отдельный ниже. Можно использовать более удобный для вас или ситуации вариант.
Так же в этом меню в конце располагаются функции-действия. Они выполняют проверку сундука и продажу/разбор одного наименования в указанном вторым параметром количестве.
Например, продать одно кольцо победителя (уже находящееся в сундуке). При этом, в отличии от всех прошлых вариантов обработок, на самом предмете может быть выставлено любое действие. Функция именно продажи и именно одного указанного предмета. Она выполнит свое черное дело, не взирая на титулы и ранги.
Результат своих трудов можно: (1) сразу запустить на выполнение, (2) сохранить для потомков в отдельный файл, проявив креатив в варианте названия, (3) они (потомки) смогут его (скрипт) потом из него (файла =) ) загрузить обратно, ну а если же первый блин вышел колобком, да и вообще вдохновения нет, то (4) поможет все стереть и начать
жизнь скрипт с чистого листа.
Однако возможностью задания списков для ручного запуска герой нашего обзора (скриптовый движок) не ограничивается. Это можно сказать вершина айс-
айс-бебиберга. Вся мощь таится в возможности автоматического запуска подобных списков по некоторым событиям. Уже есть возможность задать смену режима работы, постановки программы на паузу (в том числе с автоснятием с нее, по истечению интервала), остановки, выдачи текстовых и звуковых сигналов. В дальнейшем список возможных действий будет увеличен. Добавится проверка некоторых игровых параметров, например из текущего боя, что позволит умеющим в программирование реализовывать свои личные алгоритмы ведения боя ориентируясь по "текущей" обстановке.
Уже доступны три "точки" автоматического срабатывания для запуска списка действий: это окончание вторичного счетчика на предмете (переключение на основное действие), окончание счетчика на монстре (сброс его действия) и наиболее перспективная, на мой взгляд область, - список игровых событий/медалей/достижений.
Простой пример:
жертвенные шкатулки. Надо считать убитых монстров или постоянно сверяться "
уже можно? ну а сейчас? да блин блинский, когда же уже?!?". Зеленая галочка в описании предмета в игре это событие. И на его изменение можно поставить проверку
с запуском из шахт подземного базирования в сторону вероятного противника... так, не туда понесло. С автоматическим запуском нужных нам действий. Наглядные примеры в студию!
Посмотреть какие требования предмет имеет для разбора можно в окне параметров, наведя мышку на надпись типа предмета. Смотрим коды событий, которые должны получить "зеленые галочки", чтобы надпись "Разобрать" в игровом меню предмета перестала стесняться и краснеть. Запоминаем: 8892. Дальше открываем окно "Настройки" - вкладки "Разное" - "часть 3". И наблюдаем неведомые списки в количестве двух штук.
В поиск вводим код события из параметров предмета => "искать" (можно и по тексту входящему в название/описание), хватаем нужный результат и тянем его в верхний список. Именно там текущее значение события можно сравнить с каким-либо числом и при переходе от "условие не выполняется" к "ура, и все-таки она вертится!" запустить нужные нам действия. Когда данное событие без "зеленой галочки" оно меньше либо равно нулю. Когда условия выполнены, становится равным единице. Вот с ней и будем сравнивать.
<"текущее" равно ("==") единице?> Ждем когда ответ на вопрос сменится от "нет" к "да", и дорога приключений приведет нас к колонке озаглавленной как "Действие". Надо конечно заранее кликнуть на ячейку (нужная строка, колонка "действие") и испытать дежавю.
"
Опять прописывать шоле? - Агась)" Разобрать шкатулку в количестве 1 шт.
Вторым способом задать разбор предмета является перетаскивание его картинки на ссылку шаблона.
По умолчанию вставится разбор с параметром 0 (все), его нужно будет переправить на 1.
В целом заниматься рукоделием каждый раз не обязательно, особенно если один и тот же набор действий нужно выполнять из разных "точек". В качестве выполняемого действия можно указать заранее скомпонованный скрипт сохраненный в файл.
В диалоге выбрать нужный и нажать кнопку "Открыть".
Скрипт может содержать смешанные действия. Частью прописанные явно, частью подгружаемые из файла. Например.
Разобрать таки эту мозолящую глаза шкатулку! А после еще все, что указано в файле по данному пути.
Все, все, все. Остужаем раскаленные котелки, копируем и сохраняем ссылку на пост, чтобы не раз еще к нему вернуться =) =>
https://heavengameonline.blogspot.com/2020/06/beta_14.html
Кроме того изменено с прошлого релиза:
- (Переработано) функция ведения текстового лога боя в окне статистики. С прошлым вариантом программа могла зависать через произвольное время работы логирования. Однако исправление прошлой проблемы не гарантируется, надо проверять, я у себя с данной проблемой не сталкивался. Обязательно сообщите если на данной версии беты (или старше) вы сталкиваетесь с зависанием программы, когда включен лог боя.
Для установки обновления вызовите в меню в рабочем окне "Помощь" - "Обновить beta-
версию".
Либо установите программу поверх в ту же папку (при закрытой программе) с установщика: