Действие «Изменить поле профиля игрока»
Важно! В названиях полей игроков поддерживаются только маленькие латинские буквы, цифры и нижнее подчеркивание, остальное удаляется. Максимальная длина названия поля профиля 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/
Функция {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"]}.
Собственно на этом все. С дополнительным полями игрока вы сможете обладать поистине безграничными возможностями для ваших проектов. Творческих взлётов и успешного внедрения.
Вернуться к списку инструкций