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

Материал из ML WIKI
Строка 4: Строка 4:
 
Событием является те блоки-функции, с которых начинается последующий код. Большим отличием от других категорий является то, что блоки-функции из этой категории ставятся только на голубое стекло, то есть в начало строчки.
 
Событием является те блоки-функции, с которых начинается последующий код. Большим отличием от других категорий является то, что блоки-функции из этой категории ставятся только на голубое стекло, то есть в начало строчки.
 
=== Действие ===
 
=== Действие ===
Действия являются неотъемлемой частью любого кода, поскольку только блоки-функции этой категории способны совершать какие-либо действия над игроками
+
Действия являются неотъемлемой частью любого кода, поскольку только блоки-функции этой категории способны совершать какие-либо действия над игроками и игрой.
 
=== Условие ===
 
=== Условие ===
 
Условием является требование, только при выполнении которого продолжится работа кода. Также используется  условием для выбора объекта специальным действием.
 
Условием является требование, только при выполнении которого продолжится работа кода. Также используется  условием для выбора объекта специальным действием.
Строка 24: Строка 24:
 
*Игрок передвинулся.
 
*Игрок передвинулся.
 
=== Функция ===
 
=== Функция ===
Используется для вызова длинной строчки, которая часто повторяется в коде или для того, чтобы продлить строчку. Чтобы переименовать функцию, необходимо установить текстовой переменной нужное название и кликнуть ПКМ ею по табличке функции.  
+
Используется для вызова заранее заготовленного кода, который часто повторяется в коде или для того, чтобы продлить строчку. Чтобы переименовать функцию, необходимо установить текстовой переменной нужное название и кликнуть ПКМ ею по табличке функции.  
 
==== Примеры использования ====
 
==== Примеры использования ====
 
*Оптимизация места в строчках и времени;
 
*Оптимизация места в строчках и времени;
*Создание самоповторяющихся функций;
+
*Создание рекурсивной функции;
 
*Продолжение закончившейся строчки.
 
*Продолжение закончившейся строчки.
 
=== Цикл ===
 
=== Цикл ===
Строка 37: Строка 37:
 
== Список действий ==
 
== Список действий ==
 
=== Действие игрока ===
 
=== Действие игрока ===
Используется для манипуляций с игроком. Поддерживает интегрированную выборку.
+
Используется для манипуляций над игроком. Поддерживает интегрированную выборку.
 
==== Примеры использования ====
 
==== Примеры использования ====
 
*Отправить сообщение;
 
*Отправить сообщение;
Строка 51: Строка 51:
 
Используется для установки значения динамической переменной.
 
Используется для установки значения динамической переменной.
 
==== Примеры использования ====
 
==== Примеры использования ====
*Прямо установить значение переменной;
+
*Установить значение переменной;
 
*Сгенерировать случайное число между двумя числами;
 
*Сгенерировать случайное число между двумя числами;
 
*Изменить координату.
 
*Изменить координату.
Строка 64: Строка 64:
 
==== Примеры использования ====
 
==== Примеры использования ====
 
*Продление строчки кода;
 
*Продление строчки кода;
*Возможно синхронного или асинхронного запуска функции;
+
*Синхронный или асинхронный запуск функции;
*Оптимизация места кода.
+
*Создание рекурсивнй функции.
 
== Список условий ==
 
== Список условий ==
 
=== Если игрок ===
 
=== Если игрок ===
Строка 80: Строка 80:
 
*Проверяет, существует ли переменная.
 
*Проверяет, существует ли переменная.
 
=== Иначе ===
 
=== Иначе ===
Используется в том случае, если проверка перед "Иначе" не соответствует заданным сравнениям. В таком случае, работает тот код, который указан в скобках "Иначе".
+
Активирует код в скобках "Иначе", если предыдущее условие не соответствует заданным значениям.
 
==== Примеры использования ====
 
==== Примеры использования ====
 
*Проверка одного значения в случае несоответствия другого.
 
*Проверка одного значения в случае несоответствия другого.

Версия 16:11, 7 апреля 2022

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

Категории

Событие

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

Действие

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

Условие

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

Синтаксис

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

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

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

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

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

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

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

Функция

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

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

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

Цикл

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Если игрок

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

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

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

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

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

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

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

Иначе

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

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

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

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

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

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

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

Если игра

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

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

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