HelpDesk Помощь в каждом кубике!
Основы скриптинга

В этом гайде будут описаны основы мода Macro/Keybind mod

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

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

Первый, наиболее используемый экран - экран кнопок.

Кнопки

Тут расположены все используемые в игре кнопки клавиатуры и мыши.

  • Красные - уже занятые кнопки. На них уже стоит функция управления, их лучше не использовать для макросов, это может вызывать конфликты.
  • Жёлтые - кнопки с уже назначенными макросами. Тут всё понятно
  • Серые - пустые кнопки, куда можно "забиндить" ваш макрос! Они-то нам и нужны

Второй, довольно важный экран - экран событий

Экран событий

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

На панели с кнопками выбираем любую свободную, и там уже прописываем нужную нам команду

Кнопки 2

Ну и далее прописываем нам нужную команду в чат в строке Редактирование макроса для <>. Например /home. Нажимаем Сохранить, закрываем окно. Бинд клавиши готов: теперь при нажатии клавиши N вас будет телепортировать домой.

​ Одно но: всё же можно ставить свои макросы на уже занятые игрой клавиши, в таком случае, при нажатии этой клавиши будет выполняться то действие, которое на неё назначено, а чтобы сработал сам макрос, нужно нажимать на неё с зажатым Ctrl. В таком случае клавиша, на которой есть и занятое действие, и макрос будет подсвечиваться оранжевым цветом.

На скриншоте выше оранжевым шрифтом указаны дополнительные параметры макросов. Их использование облегчает работу с длинными командами.

Кратко о каждом из них:

$$ пишет текст из указанного текстового файла $$m Выдаёт окно с существующими текстовыми файлами $$? или $$[name] Позволяет ввести параметр с указанным name $$0-$$9 Выдаёт окно с заготовленными параметрами $$w Выдаёт окно с варпами $$f Окно с друзьями $$u Окно с людьми в онлайне $$h Окно с домами $$! Команда, которая возвращает курсор в поле ввода.

Основы скриптинга

Любой скрипт в данном моде для срабатывания должен быть заключен в такие скобки: $${ }$$ Пример простых скриптов: - echo() - Выводит сообщение в чат. Аналогичен обычному написанию текста без использования скрипта - log() - Выводит информационное сообщение в чат, оно выделяется голубым цветом и видно только вам. Можно использовать для получения какой-либо информации - achievementget() - Выводит выпадающее окошко, как при получении достижения. Можно так же использовать для вывода информации. Внутри круглых скобок указываются параметры, необходимые для данного скрипта. В случае echo и log это обычный текст, в случае achievementget нужно прописать текст, и при желании изменить иконку через запятую указывается itemid

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

$${echo(Всем привет)}$$ - Данный скрипт просто напишет "Всем привет" в чат. $${log(Всем привет)}$$ - Данный скрипт выведет сообщение "Всем привет" в чат, которое увидите только вы. $${achievementget(Я это сделаль!,paper)}$$ - При использовании скрипта вы получите достижение "Я это сделаль!" с иконкой бумаги Если нужно выполнить сразу несколько скриптов, разделяем их с помощью ";" $${echo(Раз);log(Два)}$$

Также на одну кнопку можно биндить сразу несколько команд, но если переусердствовать то может кикнуть за флуд командами. Чтобы их разделить используется вертикальная черта "|"

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

Для начала нужно создать сам файл в редакторе, который вызывается на кнопку "Текст. редактор" в правом нижнем углу окна определения клавиш(Shift+~).

BDm0Eue.png

Откроется окно с текстовыми файлами, если их нет, можно создавать свой (или скинуть в папку ...\instantes\altiore\minecraft\liteconfig\common\macros\).

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

Окно редактора

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

Итак, после создания файла осталось записать его на клавишу: $$<Название.txt>

Если в файле будет много скриптов, то чтобы не путаться со скобками можно при записи файла на клавишу заключить всё содержимое в скобки вызова скриптов: $${$$<Название.txt>}$$. При этом внутри файла можно обходиться уже без этих скобок:

log(Чат очистится через 1 секунду); wait(1); clearchat();

GUI, кнопки

​ Если забиндить все действия на клавиши на клавиатуре, со временем будет очень неудобно. Да и запоминать, что находится на какой из всех клавиш довольно сложно. Поэтому можно воспользоваться созданием своих кнопок на экране. По дефолту в моде существует 3 GUI: default, ingame, inchat.

Default экран мы наблюдаем при нажатии "~" (По умолчанию)

ingame экран - во время процесса игры

inchat экран - при вызове чата.

​ Добавление кнопок на ingame экран не имеет смысла т.к. там нет курсора и мы не сможем нажать на кнопку. Служит для остлеживания времени работы тех или иных макросов и для их принудительной остановки. Поэтому лучше добавлять кнопки на default либо inchat экраны.

​ Экран можно сделать и свой, он должен иметь имя из латинских букв. Очень удобно для перемещения кнопок на отдельный экран и вызове макросов нажатием мышки. Для этого открываем редактор GUI, и в верхнем верхнем меню выбираем пункт "Создать новый экран".

​ В меню редактирования слева внизу есть значёк с плюсом "Команды панели кнопок". Тут расположено несколько элементов, которые помогут вывести нужную информацию/украсить панельки и так далее.

Кнопка - основной элемент, такой же функционал, как и у кнопок клавиатуры. Можно биндить команды, либо вызывать макросы из файлов.

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

Метка - окошко вывода информации. Может работать с переменными из ранее написанных скриптов, для этого нужно задать имя элемента латинницей, а внутри макроса setlabel(<название метки>, %переменная, которую нужно вывести%)

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

Статус макроса - элемент, отображающий в рамке состояние всех запущенных в данный момент макросов, время их запуска и время работы.

Индикатор - работает примерно по такому же принципу, как и метка, но вместо текстовой информации выводит числа в виде заполненной шкалы. Хорошее решение для отображения прочности предметов в копыте/надетой брони, процесса работы макроса и так далее.

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

Подробнее о переменных/массивах/условиях/циклах предлагаю узнать в следующей статье, посвящённой именно этому (+примеры нескольких полезных макросов)

Last modified 2018-10-09