Перейти к основному содержимому

Игрок

Взаимодействие с игроками в GamePush происходит с помощью Менеджера игрока gp.player. Менеджер управляет состоянием игрока и его синхронизацией с сервером. Менеджер игрока наследуется от Player и расширяет его, позволяет работать с состоянием, полями и данными игроков.

Управление данными​

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

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

У игрока есть основные поля и настраиваемые поля:

Типы полей:

  • Service - Служебное поле, доступно только для чтения.
  • Number - Числовое поле (float).
  • String - Строковое поле с поддержкой JSON.
  • Flag - Булевое поле.

Основные поля​

КлючТипОписание
idnumberИдентификатор игрока в рамках сервиса
credentialsstringИдентификатор игрока на площадке
secretCodestringУникальный код, по которому можно авторизовать игрока
activebooleanАктивный игрок - доступ игроку не заблокирован / не забанен.
removedbooleanАккаунт удален на сервисе (в GamePush SDK не доступен).
testbooleanИгрок находится на тестовом сайте.
scorenumberОчки игрока. По-умолчанию 0.
namestringИмя игрока. По-умолчанию пустое.
avatarstringИмя игрока. По-умолчанию пустой.

В SDK после синхронизации также доступно gp.player.location (RU, EU, NA, APAC). Это не основное и не настраиваемое поле из таблицы: его нет в разделе Игроки, оно не сохраняется с прогрессом и игра не может его записать. См. Состояние игрока.

Настраиваемые поля​

Вы можете расширить модель игрока, добавив любое поле в панели управления GamePush.

В форме добавления вы можете указать:

  • Название. Вы можете указать название для нескольких языков, изменяя язык в селекте "Язык".
  • Ключ для обращения к полю в GamePush SDK. Вы не можете:
    • Вы не можете использовать служебные поля;
    • Разрешена только латиница A-aZ-Z и цифры, доступны спецсимволы _,-;
  • Тип. Доступны: число, строка, булевое.
  • Умолчательное значение. При первом входе в профиль игрока будет записано именно это значение.
  • Ограничивать диапазоном (только число) . Можно указать минимальное и максимальное значение поля.
  • Автоначисляемая переменная (только число) . Можно указать интервал начислений и значение, которое нужно начислять каждый период.
  • Перечисляемые значения (только число/строка) . Всем игрокам или только в режиме тестирования.
  • Публичное поле. Поле будет доступно остальным игрокам при поиске. Например для создания арен вы можете включить инвентарь и характеристики игрока в публичный доступ, чтобы экипировать соперника. При этом не показывать валюту или прогресс игрока.
  • Важное поле. При конфликте сохранений это поле будет показано игроку, чтобы он решил с каким профилем продолжить игру.

Ограничение диапазона поля​

Доступно только для числовых полей.

Вы можете на уровне схемы ограничить минимальное и максимальное значение поля.

Если включен тумблер, то поле будет огранчено указанными пределами.

  • Минимальное значение. Ниже этой отметки нельзя установить значение игрока. При попытке установить значение меньше - автоматически установится указанное минимальное значение.
  • Максимальное значение. Выше этой отметки нельзя установить значение игрока. При попытке установить значение больше - автоматически установится указанное максимальное значение.
  • Можно установить значение выше максимального. В таком случае при установке поля вручную ограничение будет проигнорировано, но при автоматическом начислении ограничение работает.

Автоначисляемая переменная​

Доступно только для числовых полей.

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

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

  • Интервал начислений (сек.). Как часто нужно добавлять значение к переменной игрока.
  • Количество. Насколько нужно увеличить значение переменной игрока за одну итерацию.

Перечисляемые значения​

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

Это также полезно при указании перевода поля в таблице лидеров.

Оставайтесь на связи​

С другими разделами документации вы можете ознакомиться здесь. Для начала работы вы можете ознакомиться с нашими туториалами.

Сообщество GamePush в Telegram: @gs_community.

Для ваших обращений e-mail: official@gamepush.com

Желаем вам успехов!