Плейсхолдеры: различия между версиями

Материал из ML WIKI
(Разбил на разделы, чтобы в будущем дополнить различными примечаниями.)
 
(не показаны 4 промежуточные версии этого же участника)
Строка 3: Строка 3:
 
Присутствует 2 типа использования плейсхолдеров:
 
Присутствует 2 типа использования плейсхолдеров:
 
*'''Интегрированный''' - буквально вшитый в блоки-функции. Чтобы выбрать игрока для действий или проверки условий, необходимо нажать по табличке блока-функции '''ШИФТ + ПКМ'''.
 
*'''Интегрированный''' - буквально вшитый в блоки-функции. Чтобы выбрать игрока для действий или проверки условий, необходимо нажать по табличке блока-функции '''ШИФТ + ПКМ'''.
*'''Внешний''' - используется в названии динамических переменных или в текстовых значениях, вставляя значения подобные '''%player%''' или '''%selected'''%
+
*'''Внешний''' - используется в названии динамических переменных или в текстовых значениях, вставляя значения подобные '''%player%''' или '''%selected%'''
 
== Список внешних плейсхолдеров ==
 
== Список внешних плейсхолдеров ==
=== %player% - игрок по умолчанию ===
+
=== <big>'''%player%''' - игрок по умолчанию</big> ===
 
Плейсхолдер %player% выбирает в событии игрока по умолчанию. Поддерживает только имена игроков.
 
Плейсхолдер %player% выбирает в событии игрока по умолчанию. Поддерживает только имена игроков.
=== %damager% - атакующая сущность ===
+
===<big>'''%damager%''' - атакующая сущность</big>===
Плейсхолдер %damager% выбирает в событиях нанесения и получения урона сущность, которая нанёсла урон. Поддерживает имена всех типов сущностей.
+
Плейсхолдер %damager% выбирает в событиях нанесения урона сущность, которая нанёсла урон. Поддерживает имена всех типов сущностей.
=== %victim% - сущность-жертва ===
+
===='''Примечание №1''' - Не работает в событии получения урона====
Плейсхолдер %victim% выбирает в событиях нанесения и получения урона сущность, которая получила урон. Поддерживает имена игроков и мобов.
+
Плейсхолдер %damager% не выбирает атакующую сущность в событиях получения урона.
=== %killer% - игрок-убийца ===
+
===='''Примечание №2''' - Событие получения урона снарядом====
 +
Плейсхолдер %damager% выбирает имя снаряда в событиях получения урона снарядом.
 +
===<big>'''%victim%''' - сущность-жертва</big>===
 +
Плейсхолдер %victim% выбирает в событиях нанесения и получения урона сущность, которая получила урон. Поддерживает имена всех типов сущностей.
 +
===<big>'''%killer%''' - сущность-убийца</big>===
 
Плейсхолдер %killer% выбирает в событиях убийства сущность, которая убила другую. Поддерживает имена игроков и мобов.
 
Плейсхолдер %killer% выбирает в событиях убийства сущность, которая убила другую. Поддерживает имена игроков и мобов.
=== %selected% - сущность, выбранный выборкой ===
+
===<big>'''%selected%''' - сущность, выбранный выборкой</big>===
 
Плейсхолдер %selected% выбирает сущности, которые были выбраны блоком-функцией "Выбрать объект" или интегрированной выборкой. Поддерживает имена всех типов сущостей.
 
Плейсхолдер %selected% выбирает сущности, которые были выбраны блоком-функцией "Выбрать объект" или интегрированной выборкой. Поддерживает имена всех типов сущостей.
=== %selection% - все сущности одновременно, выбранные выборкой ===
+
===<big>'''%selection%''' - все сущности одновременно, выбранные выборкой</big>===
 
Плейсхолдер %selection% выбирает все сущности одновременно, которые были выбраны блоком-функцией "Выбрать объект" или интегрированной выборкой. Поддерживает имена всех типов сущостей и может использоваться только в названии динамической переменной.
 
Плейсхолдер %selection% выбирает все сущности одновременно, которые были выбраны блоком-функцией "Выбрать объект" или интегрированной выборкой. Поддерживает имена всех типов сущостей и может использоваться только в названии динамической переменной.
=== %shooter% - сущность-стрелок ===
+
===<big>'''%shooter%''' - сущность-стрелок</big>===
 
Плейсхолдер %shooter% выбирает сущность, которая в событиях нанесения и получения урона снарядом или запускает его. Поддерживает имена игроков и мобов.
 
Плейсхолдер %shooter% выбирает сущность, которая в событиях нанесения и получения урона снарядом или запускает его. Поддерживает имена игроков и мобов.
=== %default% - сущность по умолчанию ===
+
===<big>'''%default%''' - сущность по умолчанию</big>===
 
Плейсхолдер %default% выбирает в событии сущность по умолчанию. Поддерживает имена всех типов сущностей.
 
Плейсхолдер %default% выбирает в событии сущность по умолчанию. Поддерживает имена всех типов сущностей.
=== %entity% - энтити по умолчанию ===
+
===='''Примечание №1''' - Отличие от %player%====
 +
В событиях игрока %player% и %damager% одинаковы, но в событиях сущностей, плейсхолдер %default% может выбирать имена сущностей.
 +
===<big>'''%entity%''' - энтити по умолчанию</big> ===
 
Плейсхолдер %entity% выбирает в событии энтити по умолчанию. Поддерживает только имена энтити.
 
Плейсхолдер %entity% выбирает в событии энтити по умолчанию. Поддерживает только имена энтити.
=== %random% - случайный игрок ===
+
===<big>'''%random%''' - случайный игрок</big>===
 
Плейсхолдер %random% выбирает случайного игрока в мире. Поддерживает только имена игроков.
 
Плейсхолдер %random% выбирает случайного игрока в мире. Поддерживает только имена игроков.
 
+
==Примеры использования==
== Примеры использования ==
 
 
Поскольку плейсхолдеры содержат в себе никнеймы выбранных игроков, они широко используются в названии динамических переменных, обновлении средств коммуникации через цикл, а также разного рода сообщениях.
 
Поскольку плейсхолдеры содержат в себе никнеймы выбранных игроков, они широко используются в названии динамических переменных, обновлении средств коммуникации через цикл, а также разного рода сообщениях.
=== Динамическая переменная ===
+
===Динамическая переменная===
 
У динамической переменной есть два типа:
 
У динамической переменной есть два типа:
 
*'''Глобальная''' - содержит в названии плейсхолдер.
 
*'''Глобальная''' - содержит в названии плейсхолдер.
 
*'''Локальная''' - не содержит в названии плейсхолдер.
 
*'''Локальная''' - не содержит в названии плейсхолдер.
 
 
Глобальная переменная существует одна на весь мир, с одним значением. Локальная же хранит в своём названии плейсхолдер, то есть, никнейм выбранного игрока, что означает уникальность каждой созданной
 
Глобальная переменная существует одна на весь мир, с одним значением. Локальная же хранит в своём названии плейсхолдер, то есть, никнейм выбранного игрока, что означает уникальность каждой созданной
 
динамической переменной.
 
динамической переменной.
Строка 39: Строка 43:
  
 
Если в локальной переменной установить плейсхолдер '''%victim%''' и изменять его при нанесении урона, то будет изменяться локальная переменная сущности-жертвы.
 
Если в локальной переменной установить плейсхолдер '''%victim%''' и изменять его при нанесении урона, то будет изменяться локальная переменная сущности-жертвы.
=== Средства коммуникации ===
+
===Скорборд===
Чтобы объяснить новичку правила игры, сообщить о нововведениях или создать цикличное повторение сообщений-напоминаний, необходимо использовать "'''Средства коммуникации'''".
 
==== Скорборд ====
 
 
У скорборда есть два типа распространения:
 
У скорборда есть два типа распространения:
 
*'''Локальный скорборд''' - скорборд, который создаётся для одного игрока, поскольку плейсхолдер в названии создаваемого скорборда делает его уникальным.
 
*'''Локальный скорборд''' - скорборд, который создаётся для одного игрока, поскольку плейсхолдер в названии создаваемого скорборда делает его уникальным.
Строка 48: Строка 50:
 
*'''Обновление циклом''' - цикл регулярно обновляет скорборд. В цикле по умолчанию выбраны все игроки, поэтому, стоит использовать плейсхолдер '''%selected%''' в названии скорборда, если обновляются локальные скорборды.
 
*'''Обновление циклом''' - цикл регулярно обновляет скорборд. В цикле по умолчанию выбраны все игроки, поэтому, стоит использовать плейсхолдер '''%selected%''' в названии скорборда, если обновляются локальные скорборды.
 
*'''Обновление функцией''' - после изменения каких-либо данных, содержащихся в скорборде, вызывается функция, которая обновляет скорборд. Поскольку вызываемая функция не содержит в себе выборку всех игроков, рекомендуется использовать в обновлении плейсхолдер '''%selected''', поскольку таким образом, перед вызовом функции можно установить "'''Выбрать объект'''", чтобы указать игрока, скорборд которого следует обновить.
 
*'''Обновление функцией''' - после изменения каких-либо данных, содержащихся в скорборде, вызывается функция, которая обновляет скорборд. Поскольку вызываемая функция не содержит в себе выборку всех игроков, рекомендуется использовать в обновлении плейсхолдер '''%selected''', поскольку таким образом, перед вызовом функции можно установить "'''Выбрать объект'''", чтобы указать игрока, скорборд которого следует обновить.
==== Оповещение об убийстве ====
 
С помощью плейсхолдеров можно создавать оповещения, содержащие в себе никнеймы жертвы и убийцы. Создать подобные сообщения можно несколькими способами:
 
*'''Сообщения в чате''' - всем игрокам будет присылаться сообщение об убийстве.
 
*'''Экшн-бар''' - всем игрокам будет появляться над инвентарём сообщение об убийстве.
 
*'''Босс-бар''' - всем игрокам будет появляться в верху экрана сообщение об убийстве.
 

Текущая версия на 03:30, 3 мая 2022

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

Присутствует 2 типа использования плейсхолдеров:

  • Интегрированный - буквально вшитый в блоки-функции. Чтобы выбрать игрока для действий или проверки условий, необходимо нажать по табличке блока-функции ШИФТ + ПКМ.
  • Внешний - используется в названии динамических переменных или в текстовых значениях, вставляя значения подобные %player% или %selected%

Список внешних плейсхолдеров

%player% - игрок по умолчанию

Плейсхолдер %player% выбирает в событии игрока по умолчанию. Поддерживает только имена игроков.

%damager% - атакующая сущность

Плейсхолдер %damager% выбирает в событиях нанесения урона сущность, которая нанёсла урон. Поддерживает имена всех типов сущностей.

Примечание №1 - Не работает в событии получения урона

Плейсхолдер %damager% не выбирает атакующую сущность в событиях получения урона.

Примечание №2 - Событие получения урона снарядом

Плейсхолдер %damager% выбирает имя снаряда в событиях получения урона снарядом.

%victim% - сущность-жертва

Плейсхолдер %victim% выбирает в событиях нанесения и получения урона сущность, которая получила урон. Поддерживает имена всех типов сущностей.

%killer% - сущность-убийца

Плейсхолдер %killer% выбирает в событиях убийства сущность, которая убила другую. Поддерживает имена игроков и мобов.

%selected% - сущность, выбранный выборкой

Плейсхолдер %selected% выбирает сущности, которые были выбраны блоком-функцией "Выбрать объект" или интегрированной выборкой. Поддерживает имена всех типов сущостей.

%selection% - все сущности одновременно, выбранные выборкой

Плейсхолдер %selection% выбирает все сущности одновременно, которые были выбраны блоком-функцией "Выбрать объект" или интегрированной выборкой. Поддерживает имена всех типов сущостей и может использоваться только в названии динамической переменной.

%shooter% - сущность-стрелок

Плейсхолдер %shooter% выбирает сущность, которая в событиях нанесения и получения урона снарядом или запускает его. Поддерживает имена игроков и мобов.

%default% - сущность по умолчанию

Плейсхолдер %default% выбирает в событии сущность по умолчанию. Поддерживает имена всех типов сущностей.

Примечание №1 - Отличие от %player%

В событиях игрока %player% и %damager% одинаковы, но в событиях сущностей, плейсхолдер %default% может выбирать имена сущностей.

%entity% - энтити по умолчанию

Плейсхолдер %entity% выбирает в событии энтити по умолчанию. Поддерживает только имена энтити.

%random% - случайный игрок

Плейсхолдер %random% выбирает случайного игрока в мире. Поддерживает только имена игроков.

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

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

Динамическая переменная

У динамической переменной есть два типа:

  • Глобальная - содержит в названии плейсхолдер.
  • Локальная - не содержит в названии плейсхолдер.

Глобальная переменная существует одна на весь мир, с одним значением. Локальная же хранит в своём названии плейсхолдер, то есть, никнейм выбранного игрока, что означает уникальность каждой созданной динамической переменной.

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

Если в локальной переменной установить плейсхолдер %victim% и изменять его при нанесении урона, то будет изменяться локальная переменная сущности-жертвы.

Скорборд

У скорборда есть два типа распространения:

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

И два типа обновления:

  • Обновление циклом - цикл регулярно обновляет скорборд. В цикле по умолчанию выбраны все игроки, поэтому, стоит использовать плейсхолдер %selected% в названии скорборда, если обновляются локальные скорборды.
  • Обновление функцией - после изменения каких-либо данных, содержащихся в скорборде, вызывается функция, которая обновляет скорборд. Поскольку вызываемая функция не содержит в себе выборку всех игроков, рекомендуется использовать в обновлении плейсхолдер %selected, поскольку таким образом, перед вызовом функции можно установить "Выбрать объект", чтобы указать игрока, скорборд которого следует обновить.