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

Материал из ML WIKI
Строка 3: Строка 3:
 
Присутствует 2 типа использования плейсхолдеров:
 
Присутствует 2 типа использования плейсхолдеров:
 
*'''Интегрированный''' - буквально вшитый в блоки-функции. Чтобы выбрать игрока для действий или проверки условий, необходимо нажать по табличке блока-функции '''ШИФТ + ПКМ'''.
 
*'''Интегрированный''' - буквально вшитый в блоки-функции. Чтобы выбрать игрока для действий или проверки условий, необходимо нажать по табличке блока-функции '''ШИФТ + ПКМ'''.
*'''Внешний''' - используется в названии динамических переменных или в текстовых значениях, вставляя значения подобные "'''%player%'''" или "'''%selected'''%
+
*'''Внешний''' - используется в названии динамических переменных или в текстовых значениях, вставляя значения подобные '''%player%''' или '''%selected'''%
 
== Список внешних плейсхолдеров ==
 
== Список внешних плейсхолдеров ==
На данный момент, в редакторе игр присутствует 10 внешних плейсхолдеров:
+
В редакторе игр присутствует 10 внешних плейсхолдеров:
 
#'''%player%''' - Выбирает игрока, от лица которого сработало событие. Поддерживает только имя игрока.
 
#'''%player%''' - Выбирает игрока, от лица которого сработало событие. Поддерживает только имя игрока.
 
#'''%damager%''' - Выбирает атакующую сущность в событиях нанесения урона. Поддерживает имена всех сущностей.
 
#'''%damager%''' - Выбирает атакующую сущность в событиях нанесения урона. Поддерживает имена всех сущностей.
Строка 24: Строка 24:
 
*'''Локальная''' - не содержит в названии плейсхолдер.
 
*'''Локальная''' - не содержит в названии плейсхолдер.
  
Глобальная переменная существует одна на весь мир, с одним значением. Локальная же хранит в своём названии плейсхолдер, то есть, никнейм выбранного игрока, что значит уникальность каждой созданной
+
Глобальная переменная существует одна на весь мир, с одним значением. Локальная же хранит в своём названии плейсхолдер, то есть, никнейм выбранного игрока, что означает уникальность каждой созданной
 
динамической переменной.
 
динамической переменной.
  
 
Локальная динамическая переменная может хранить личные данные игрока, типа баланса или статистики, а глобальная некие игровые данные, типа времени в таймере, количество сделанных действий всеми игроками или количество игроков.
 
Локальная динамическая переменная может хранить личные данные игрока, типа баланса или статистики, а глобальная некие игровые данные, типа времени в таймере, количество сделанных действий всеми игроками или количество игроков.
  
Если в локальной переменной установить плейсхолдер "%victim" и изменять его при нанесении урона, то будет изменяться локальная переменная сущности-жертвы.
+
Если в локальной переменной установить плейсхолдер '''%victim%''' и изменять его при нанесении урона, то будет изменяться локальная переменная сущности-жертвы.
 
=== Средства коммуникации ===
 
=== Средства коммуникации ===
 
Чтобы объяснить новичку правила игры, сообщить о нововведениях или создать цикличное повторение сообщений-напоминаний, необходимо использовать "'''Средства коммуникации'''".
 
Чтобы объяснить новичку правила игры, сообщить о нововведениях или создать цикличное повторение сообщений-напоминаний, необходимо использовать "'''Средства коммуникации'''".
 
==== Скорборд ====
 
==== Скорборд ====
У скорборда есть даа типа распространения:
+
У скорборда есть два типа распространения:
 
*'''Локальный скорборд''' - скорборд, который создаётся для одного игрока, поскольку плейсхолдер в названии создаваемого скорборда делает его уникальным.
 
*'''Локальный скорборд''' - скорборд, который создаётся для одного игрока, поскольку плейсхолдер в названии создаваемого скорборда делает его уникальным.
 
*'''Глобальный скорборд''' - скорборд, в названии которого отсутствует какой-либо плейсхолдер, что делает его одним на всю игру и одинаковым для отображения всем игрокам.
 
*'''Глобальный скорборд''' - скорборд, в названии которого отсутствует какой-либо плейсхолдер, что делает его одним на всю игру и одинаковым для отображения всем игрокам.
 
И два типа обновления:
 
И два типа обновления:
*'''Обновление циклом''' - цикл регулярно обновляет скорборд. В цикле по умолчанию выбраны асе игроки, поэтому, стоит использовать плейсхолдер "'''%selected%''' в названии скорборда, если обновляются локальные скорборды.
+
*'''Обновление циклом''' - цикл регулярно обновляет скорборд. В цикле по умолчанию выбраны все игроки, поэтому, стоит использовать плейсхолдер '''%selected%''' в названии скорборда, если обновляются локальные скорборды.
*'''Обновление функцией''' - после изменения каких-либо данных, содержащихся в скорборде, вызывается функция, которая обновляет скорборд. Поскольку вызываемая функция не содержит в себе выборку всех игроков, советуется использовать в обновлении плейсхолдер "'''%selected'''", поскольку таким образом, перед вызовом функции можно установить "'''Выбрать объект'''", чтобы указать игрока, скорборд которого следует обновить.
+
*'''Обновление функцией''' - после изменения каких-либо данных, содержащихся в скорборде, вызывается функция, которая обновляет скорборд. Поскольку вызываемая функция не содержит в себе выборку всех игроков, рекомендуется использовать в обновлении плейсхолдер '''%selected''', поскольку таким образом, перед вызовом функции можно установить "'''Выбрать объект'''", чтобы указать игрока, скорборд которого следует обновить.
 
==== Оповещение об убийстве ====
 
==== Оповещение об убийстве ====
 
С помощью плейсхолдеров можно создавать оповещения, содержащие в себе никнеймы жертвы и убийцы. Создать подобные сообщения можно несколькими способами:
 
С помощью плейсхолдеров можно создавать оповещения, содержащие в себе никнеймы жертвы и убийцы. Создать подобные сообщения можно несколькими способами:

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

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

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

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

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

В редакторе игр присутствует 10 внешних плейсхолдеров:

  1. %player% - Выбирает игрока, от лица которого сработало событие. Поддерживает только имя игрока.
  2. %damager% - Выбирает атакующую сущность в событиях нанесения урона. Поддерживает имена всех сущностей.
  3. %victim% - Выбирает сущность-жертву в событиях нанесения, получения урона и убийства. Поддерживает имена игроков и мобов.
  4. %killer% - Выбирает сущность-убийцу в событиях убийства. Поддерживает имена игроков и мобов.
  5. %selected% - Выбирает сущностей после выбора объекта. Поддерживает имена всех сущностей.
  6. %selection% - Выбирает сущностей подобно плейсхолдеру "%selected%", но вместо изменения отдельных динамических переменных, создаёт одну переменную с именами всех выбранных игроков (%selection% var = Player1, Player2, Player3 var). Поддерживает имена всех сущностей.
  7. %shooter% - Выбирает сущность-стрелка в событиях выпуска снаряда и нанесения им урона. Поддерживает имена игроков и мобов.
  8. %default% - Выбирает сущность подобно плейсхолдеру "%player%", но поддерживает имя всех сущностей.
  9. %entity% - Выбирает энтити, который присутствует в событии. Поддерживает только имя энтити.
  10. %random% - Выбирает случайного игрока. Поддерживает только имя игрока.

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

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

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

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

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

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

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

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

Средства коммуникации

Чтобы объяснить новичку правила игры, сообщить о нововведениях или создать цикличное повторение сообщений-напоминаний, необходимо использовать "Средства коммуникации".

Скорборд

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

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

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

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

Оповещение об убийстве

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

  • Сообщения в чате - всем игрокам будет присылаться сообщение об убийстве.
  • Экшн-бар - всем игрокам будет появляться над инвентарём сообщение об убийстве.
  • Босс-бар - всем игрокам будет появляться в верху экрана сообщение об убийстве.