Блоки-функции: различия между версиями

Материал из ML WIKI
Строка 95: Строка 95:
 
*Проверяет, содержит ли сундук указанный предмет.
 
*Проверяет, содержит ли сундук указанный предмет.
 
*Проверяет, содержит ли табличка указанный текст.
 
*Проверяет, содержит ли табличка указанный текст.
И
 

Версия 17:06, 1 апреля 2022

Блоки-функции - основной инструмент работы каждого разработчика, из которого состоит весь код игры.

Категории

Событие

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

Действие

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

Условие

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

Синтаксис

Синтаксисом является правильная установка блоков-функций для работоспособного кода.

  1. Блоки-функции с категорией "Событие" всегда ставятся только вначале (на голубое стекло);
  2. Блоки-функции с категорией "Условие" и "Действие" ставятся только на светло-серое стекло;
  3. Поршни - пределы условия. Если Действие нужно выполнять только при достижении определённого условия, то Действие нужно поставить между поршнями условия;
  4. Одновременных Условий может быть много, главное, чтобы при установки Условия в Условии, количество конечных скобок соответствовало количеству условий
  5. Код, который идёт после "Выбрать объект", будет выполняться над выбранным объектом;
  6. Блок-функция Иначе ставится только после поршня Условия и не может быть установлена после себя.

Список событий

Событие игрока

Используется для активации кода в строчке в момент выполнения события.

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

  • Игрок зашёл в игру.
  • Моб заспавнился.
  • Игрок передвинулся

Функция

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

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

  • Оптимизация места в строчках и времени.
  • Создание самоповторяющихся функций.
  • Продолжение закончившейся строчки.

Цикл

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

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

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

Список действий

Действие игрока

Используется для манипуляций с игроком. Поддерживает интегрированную выборку.

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

  • Отправить сообщение.
  • Изменить режим игры.
  • Кикнуть из игры.

Игровое действие

Используется для изменения настроек мира, спавна сущностей и т.д.

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

  • Действия со скорбордами.
  • Изменение времени и погоды в мире.
  • Спавн различных сущностей и NPC.

Установить переменную

Используется для установки значения динамической переменной.

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

  • Прямо установить значение переменной.
  • Сгенерировать случайное число.
  • Изменить координату.

Выбрать объект

Используется для выбора объекта, с которым будет работать последующий код.

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

  • Выбрать всех игроков/мобов/сущностей.
  • Выбрать игрока/моба/сущность по условию.
  • Выбрать последнего заспавненного моба.

Вызвать функцию

Используется для вызова заранее созданной функции.

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

  • Продление строчки кода.
  • Возможно синхронного или асинхронного запуска функции.
  • Оптимизация места кода.

Список условий

Если игрок

Используется для установки условия игрока, при выполнении которого продолжается исполнение кода.

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

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

Если переменная

Используется для сравнения различных значений.

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

  • Проверяет, больше ли одно число другого.
  • Проверяет, содержит ли один текст другой.
  • Проверяет, существует ли переменная.

Иначе

Используется в том случае, если проверка перед "Иначе" не соответствует заданным сравнениям. В таком случае, работает тот код, который указан в скобках "Иначе".

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

  • Проверка одного значения в случае несоответствия другого.

Если существо

Используется подобно условию "Если игрок", но распространяется уже только на сущности.

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

  • Проверяет, равняется ли сущность указанному типу.
  • Проверяет, является ли сущность мобом/NPC/снарядом.
  • Проверяет, равно ли имя сущности заданному значению.

Если игра

Используется для проверки игровых значений.

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

  • Проверяет, стоит ли указанный блок на указанном месте.
  • Проверяет, содержит ли сундук указанный предмет.
  • Проверяет, содержит ли табличка указанный текст.