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

Материал из ML WIKI
Строка 18: Строка 18:
 
== Список событий ==
 
== Список событий ==
 
=== Событие игрока ===
 
=== Событие игрока ===
Используется для активации кода в строчке. В некоторых событиях плейсхолдер %default% содержит не имя игрока, а имя моба или сущности.
+
Используется для активации кода в строчке в момент выполнения события.
 
==== Примеры использования ====
 
==== Примеры использования ====
 
*Игрок зашёл в игру.
 
*Игрок зашёл в игру.
Строка 24: Строка 24:
 
*Игрок передвинулся
 
*Игрок передвинулся
 
=== Функция ===
 
=== Функция ===
Используется для вызова длинной строчки, которая часто повторяется в коде или для того, чтобы продлить строчку. Также может использоваться как цикличная функция.
+
Используется для вызова длинной строчки, которая часто повторяется в коде или для того, чтобы продлить строчку. Чтобы переименовать функцию, необходимо установить текстовой переменной нужное название и кликнуть ПКМ ею по табличке функции.  
 
==== Примеры использования ====
 
==== Примеры использования ====
 
*Оптимизация места в строчках и времени.
 
*Оптимизация места в строчках и времени.
Строка 30: Строка 30:
 
*Продолжение закончившейся строчки.
 
*Продолжение закончившейся строчки.
 
=== Цикл ===
 
=== Цикл ===
Используется для регулярного повторения одного и того же действия, например, обновление скорборда. Также может использоваться для создания таймера.
+
Используется для множественного повторения одного и того же действия с указанным промежутком. Чтобы установить промежуток, необходимо взять в руки числовую переменную и установить ей нужный временной промежуток в тиках.
 +
==== Примеры использования ====
 +
*Таймер, по истечению которого происходят определённые действия.
 +
*Регулярное обновления разных способов коммуникации типа скорборда.
 +
*Выполнение однотипных игровых проверок.
 +
== Список действий ==
 +
=== Действие игрока ===
 +
Используется для манипуляций с игроком. Поддерживает интегрированную выборку.
 +
==== Примеры использования ====
 +
*Отправить сообщение.
 +
*Изменить режим игры.
 +
*Кикнуть из игры.
 +
=== Игровое действие ===
 +
Используется для изменения настроек мира, спавна сущностей и т.д.
 +
==== Примеры использования ====
 +
*Действия со скорбордами.
 +
*Изменение времени и погоды в мире.
 +
*Спавн различных сущностей и NPC.
 +
=== Установить переменную ===
 +
Используется для установки значения динамической переменной.
 +
==== Примеры использования ====
 +
*Прямо установить значение переменной.
 +
*Сгенерировать случайное число.
 +
*Изменить координату.
 +
=== Выбрать объект ===
 +
Используется для выбора объекта, с которым будет работать последующий код.
 +
==== Примеры использования ====
 +
*Выбрать всех игроков/мобов/сущностей.
 +
*Выбрать игрока/моба/сущность по условию.
 +
*Выбрать последнего заспавненного моба.
 +
=== Вызвать функцию ===
 +
Используется для вызова заранее созданной функции.
 +
==== Примеры использования ====
 +
*Продление строчки кода.
 +
*Возможно синхронного или асинхронного запуска функции.
 +
*Оптимизация места кода.
 +
== Список условий ==
 +
=== Если игрок ===
 +
Используется для установки условия игрока, при выполнении которого продолжается исполнение кода.
 +
==== Примеры использования ====
 +
*Проверяет, приседает ли игрок.
 +
*Проверяет, равно ли сообщение игрока другому значению.
 +
*Проверяет, ломает ли игрок проверяемый блок.
 +
=== Если переменная ===
 +
Используется для сравнения различных значений.
 +
==== Примеры использования ====
 +
*Проверяет, больше ли одно число другого.
 +
*Проверяет, содержит ли один текст другой.
 +
*Проверяет, существует ли переменная.
 +
=== Иначе ===
 +
Используется в том случае, если проверка перед "Иначе" не соответствует заданным сравнениям. В таком случае, работает тот код, который указан в скобках "Иначе".
 +
==== Примеры использования ====
 +
*Проверка одного значения в случае несоответствия другого.
 +
=== Если существо ===
 +
Используется подобно условию "Если игрок", но распространяется уже только на сущности.
 +
==== Примеры использования ====
 +
*Проверяет, равняется ли сущность указанному типу.
 +
*Проверяет, является ли сущность мобом/NPC/снарядом.
 +
*Проверяет, равно ли имя сущности заданному значению.
 +
=== Если игра ===
 +
Используется для проверки игровых значений.
 +
==== Примеры использования ====
 +
*Проверяет, стоит ли указанный блок на указанном месте.
 +
*Проверяет, содержит ли сундук указанный предмет.
 +
*Проверяет, содержит ли табличка указанный текст.
 +
И

Версия 02:46, 1 апреля 2022

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

Категории

Событие

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

Действие

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

Условие

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

Синтаксис

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

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

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

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

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

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

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

Функция

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

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

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

Цикл

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Если игрок

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

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

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

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

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

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

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

Иначе

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

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

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

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

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

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

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

Если игра

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

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

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

И