Действие «Изменить поле профиля игрока»

Обзор действия и много полезностей
Важно! В названиях полей игроков поддерживаются только маленькие латинские буквы, цифры и нижнее подчеркивание, остальное удаляется. Максимальная длина названия поля профиля 30 символов. Если название больше 30 символов, то будет ахтунг и поле не запишется.

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

Пример действия:
Пример действия:

Рассмотрим действие подробнее:

1) Поле профиля игрока — содержит название поля. Поддерживаются стандартные переменные Автопилота, по умолчанию autopilot. Если поле профиля игрока не содержит ничего то действие выключено.

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

2) Переключатель действий со значением поля профиля игрока (3). Содержит следующие значения:

  • сделать равным— присваивает значение указанное в параметре (3) полю игрока с названием, указанным в параметре (1).
  • дополнить текстом— дополнить значением указанным в параметре (3) полю игрока с названием, указанным в параметре (1).
  • увеличить как число на— увеличивает поле игрока (1) на значение указанное в параметре (3).
  • уменьшить как число на— уменьшить поле игрока (1) на значение указанное в параметре (3).
  • удалить— удаляет поле игрока (свойство или объект), указанное в параметре (1).
  • очистить— очистить поле игрока (свойство или объект), указанное в параметре (1).
  • дополнить строками— дополнить строками указанными в параметре (3) полю игрока с названием, указанным в параметре (1).

Для того, чтобы получить значение дополнительного поля autopilot пишем следующую конструкцию:
%player.autopilot%

Допустим, конструкция %player.fields%выведет все дополнительные поля игрока.

Вы также можете вставить в поле профиля игрока (3) уже JSON — объект.

Важно! Если после перетаскивания блоков у вас перестали вставляться в поля профиля переменные, то просто сохраните и переоткройте команду.

Примеры:

Допустим у вас есть форумная игра и есть JSON — объект

{
"plane": [
{
"id": "1",
"firstName": "Tom",
"lastName": "Cruise",
"fuel": 100
}

]
}

Допустим , вам надо получить значение fuelнет ничего проще %player.plane.0.fuel%

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

Если вам нужно быстро создать JSON — объект можно воспользоваться сайтом https://jsonformatter.org/

Видеодемонстрация быстрого создания JSON объектов

Функция {fields} для полей игрока

Данная функция позволяет передавать значение поля с помощью переменных.

Важно! Если вы напишите название поля с большой буквы, то Автопилот автоматически его преобразует в маленькие буквы.
Функция{fields}autopilot{/fields} абсолютно идентична переменной %player.autopilot%

Формат функции:

{fields}Название поля|аргумент функции|поиск по диапазону значений{/fields}

Здесь:

  • Название поля
  • Аргумент функции: (count, sum).
    count для вывода количества игроков с этим полем, sum ддя вывода суммы всех значений
  • Поиск по диапазону значений

Если вы будете искать число, то в функции добавляем 4 аргумент num
По умолчанию ищет часть значения, если нужно точное совпадение, то в функции добавляем 4 аргумент equal

Примеры будут ниже (достаем значение из поля Autopilot, но название поля можно указать переменной: %autopilot%):

Значение поля Autopilot: {fields}autopilot{/fields}
Количество человек с заданным полем: {fields}Autopilot|count{/fields}
Сумма всех значений заданного поля всех игроков: {fields}Autopilot|sum{/fields}
Сумма всех конр. значений: {fields}Autopilot|sum|Значение|equal{/fields} = 24
Количество диапазона значений (от 3 до 12): {fields}autopilot|count|3-12|num{/fields}
Количество диапазона значений (до 12): {fields}autopilot|count|-12|num{/fields}
Количество диапазона значений (от 3): {fields}autopilot|count|3-|num{/fields}

Полезные переменные игрока:

%player% - возвращает весь массив JSON объекта пользователя.
%player.id% - ID пользователя в Автопилоте
%player.vkid% - VK ID пользователя
%player.email% - Электронная почта
%player.phone% - Телефон
%player.api_id% - ID игрока в другой CRM
%field_value% - новое значение поля

Чтобы достать значение поляgame, пишем:→ %player.game%

Названия переменных пишите только в нижнем регистре с использованием букв, цифр и символа: _ (остальное удаляется)

Однако ВНУТРИ game могут содержаться другие поля! То есть вложенность полей полностью поддерживается! По факту это обеспечивается поддержкой JSON объектов и массивов внутри полей.
Объем одного поля 65000 символов, как в теле ресурса.

То есть, если %player.game% = {"level":"100"}, то
%player.game.level% будет = 100 !
Или еще такой пример:
%player.game.bag.0% = hammer
%player.game.bag.1% = axe
Что означает:
- Первый предмет в сумке - молоток
- Второй предмет в сумке - топор
Внутри Автопилота это хранится так:
%player.game% = {"level":"100", "bag":["hammer","axe"]}.

Собственно на этом все. С дополнительным полями игрока вы сможете обладать поистине безграничными возможностями для ваших проектов. Творческих взлётов и успешного внедрения.

Вернуться к списку инструкций
1123 views·41 shares