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

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

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

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

Категории

Событие

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

Действие

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

Условие

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

Синтаксис

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

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

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

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

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

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

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

Функция

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

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

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

Цикл

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Если игрок

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

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

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

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

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

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

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

Иначе

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

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

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

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

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

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

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

Если игра

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

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

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