Json Packager

Json Packager git

Нет прав для скачивания
Поддерживаемые игры
  1. CS: Source (OrangeBox)
  2. CS: Source (v34)
  3. CS: GO
  4. Team Fortress 2
  5. 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>
  • Мне нравится
Реакции: inklesspen и Stefany
Автор
nyood
Скачивания
17
Просмотры
636
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

Другие ресурсы пользователя nyood

Последние обновления

  1. Update v1.1.0

    Что нового? - Обновлены зависимости: ripext -> https://hlmod.ru/resources/sm-jansson.2041/
Сверху