- Поддерживаемые игры
-
- CS: Source (OrangeBox)
- CS: Source (v34)
- CS: GO
- Team Fortress 2
- L4D 1 & 2
Удобный гибкий инструмент для упаковки и хранения в памяти клиентских данных в JSON.
API:
enum ContextLevels {
// Игнорирование вызова pckg_OnPackageUpdate() для Setter-ов
CALL_IGNORE = -1,
// Вызов pckg_OnPackageUpdate() для Setter-ов
CALL_DEFAULT
};
#if defined UTIL_MACRO
#define STATUS_LENGTH 16
#define TEAM_LENGTH 64
#define PREFIX_LENGTH 64
#define NAME_LENGTH 128
#define MESSAGE_LENGTH 256
#define MAX_LENGTH 512
#endif
// Окружение клиента доступно для записи (в том числе 0, исключая ботов и TV)
// Выполняется на: OnClientAuthorized()
forward void pckg_OnPackageAvailable(int iClient);
// Вызывается каждый раз, когда пакет клиента изменяется (при CALL_DEFAULT)
// &level - приоритет внесения изменений
// ctx - JSONObject, который содержит:
// ctx:isArtifact (bool) - является ли это артифактом клиента
// ctx:client (int) - Клиент, для которого применяется изменение
// crx:caller (int) - Плагин
// ctx:field (string) - содежит строку-ключ на измененный JSON
// ctx:${field} (JSON) - JSON объект
forward Action pckg_OnPackageUpdate(Handle ctx, any &level);
forward void pckg_OnPackageUpdate_Post(Handle ctx, any level);
// Возвращает пакет со всеми ключами клиента (JSONObject)
// По-умолчанию доступны поля: "auth" - Steam2, "id" - UserId
native Handle pckg_GetPackage(int iClient);
// Перезаписывает пакет клиента на value (JSONObject)
// repLevel - ContextLevels (enum)
native bool pckg_SetPackage(int iClient, Handle value, any repLevel);
// Существует ли пакет для клиента
native bool pckg_HasPackage(int iClient);
// Проверка поля "auth" на валидность
native bool pckg_IsVerified(int iClient);
// Добавлет артефакт к пакету клиента по ключу (JSON)
native bool pckg_SetArtifact(int iClient, const char[] artifact, Handle value, any repLevel);
// Удаляет артефакт по ключу
native bool pckg_RemoveArtifact(int iClient, const char[] artifact, any repLevel);
// Возвращает артефакт по ключу (JSON)
native Handle pckg_GetArtifact(int iClient, const char[] artifact);
// Проверяет наличие артефакта в пакете клиента по ключу
native bool pckg_HasArtifact(int iClient, const char[] artifact);
- Требования
-
- Sourcemod 1.10
- sm-jansson
- Установка
-
- Скачать пакет:
packager-{BUILD_NUMBER}.zip
- Распаковать на сервер
- Залить плагины, которые используют<packager>