Блоки-функции

Материал из ML WIKI

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

Категории

Событие

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

Действие

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

Условие

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

Синтаксис

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

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

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

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

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

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

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

Функция

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

Функция.png

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

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

Цикл

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

Цикл.png

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Продление строчки кода;
  • Синхронный или асинхронный запуск функции;
  • Создание рекурсивнй функции.

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

Если игрок

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

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

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

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

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

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

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

Иначе

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

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

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

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

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

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

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

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

Если игра

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

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

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