GameCMS API

Плагин АМХХ GameCMS API 5.6.3

Нет прав для скачивания
C++:
5.3.2
        * Изменение нативов
            * cmsapi_get_user_services
            * cmsapi_service_timeleft
           
            Добавлен параметр *    @part    Совпадение наименования услуги (флагов): true - частичное совпадение, false - полное совпадение
           
            Пример:
            *    cmsapi_service_timeleft(id, szDate, charsmax(szDate), "abcd", false)
                вернет срок действия услуги с флагами (или названием) "abcd"
           
            *    cmsapi_service_timeleft(id, szDate, charsmax(szDate), "abcd", true)
                вернет срок действия первой попавшейся услуги, в которой присутствуют флаги "abcd"
  • Like
Реакции: OutSideR, JustGamer и zeka
  • FIX работы натива cmsapi_reload_wallet
  • в инклуд вынесены константы от плагин GagManager
  • Like
Реакции: OutSideR
C++:
5.3.0
        * Настройка имен столбцов в БД (для разных версий движка, после изменения таблиц базы данных при обновлении движка) находится в файле gamecms5.inc
        * Перезагрузка вошедших пользователей при отсутствии соединения с БД (когда игроки зашли на сервер, а связь с БД еще не установлена)
        * Переписана функция деактивации админа
        * Переписана функция добавления админа
        * Добавлен параметр AdminService в enum _:AdminInfo для хранения номера услуги `admin_service`.`id`
        * Переписаны многие нативы, другие правки кода
        
        * Исправление работы при добавлении аккаунтов в базу (функция addadmin)
            + При наличии услуги, к ней будет добавлено время, введенное при отправке команды.
            + Если услуга существует и выдана на не ограниченный срок, аккаунт добавлен не будет.
            + Если услуга существует, но не имеет хоть один флаг, введенный командой при отправке команды, то будет добавлен новый аккаунт.
            !!! Добавляемые флаги должны соответствовать флагам услуги на сайте, созданной для данного сервера. Иначе, аккаунт не будет добавлен.
            + Привязка услуги к аккаунту пользователя для отображения в профиле (если игрок является Зарегистрированным)
            + Поддержка префикса VALVE_

        * Добавление флагов группы вынесено в конфиг
            cms_add_user_group 1        "abcdefijlmntu"        //1     Гл. админ
            cms_add_user_group 3        "abcdefijmnprtu"    //3     Админ
            cms_add_user_group 11        "abiprt"            //11     VIP игрок
            //номер группы "флаги"
            //номер группы - (колонка `id` из таблицы `users`.`groups`), "флаги" для выдачи (НЕ из таблицы, а которые нужно выдать игроку)

        * Изменен натив cmsapi_set_user_flags
            *    Добавление флагов пользователю на текущую сессию до смены карты
            *
            *    @index                Индекс игрока
            *    @szFlags[]            Флаги доступа
            *    @iTime                Срок действия флагов, секунд (-1 - на карту)
            *    @szServiceName[]    Название услуги (например, "вип за стим", "ночной вип" и т.п.)
            *    @bSilentCheck        Тихое добавление без вызова форварда OnAPIAdminConnected
            *    @bAuthorize            Авторизовать пользователя сразу
            *   
            *    @note                Добавляет данные в массив аккаунтов, для последующей авторизации игрока
            *                        Если bAuthorize = false, то авторизацию для выдачи флагов необходимо произвести через cmsapi_reaccess_admin(index)
            *
            *    @return                индекс ячейки, добавленной в массив админов (Array:cmsapi_get_alladmins), -1 - если услуга с этими флагами уже есть.
            native cmsapi_set_user_flags(index, const szFlags[], iTime = -1, const szServiceName[] = "", bSilentCheck = false, bAuthorize = true)

        * Вынесены в конфиг настройки:
            cms_hltv_flags                "ab"            //выдать флаги HLTV серверу.
            cms_cmd_group_menu            "say /group"    //команда для открытия меню групп пользователей
            cms_cmd_group_menu_access    "l"                //флаг доступа для открытия меню групп
C++:
5.2.9
    + //#define USE_USERS_SETTINGS    //Использовать сохранение настроек пользователя
    + добавлены нативы:
        * Получение настроек пользователя из базы данных
        *    @iClient - индекс игрока
        *    @sszSettingName[] - идентификатор настройки (название)
        *    @value[] - массив для записи значения настройки
        *    @value_length - размер массива для записи значения настройки
        *    @return:
        *    - размер записанного массива, если передается массив для записи значения;
        *    - цифровое значение настройки, если массив не передан
        *    - -1, если идентификатор настройки не найден

        native cmsapi_get_user_setting(iClient, szSettingName[], value[] = "", value_length = 0)

        * Сохранение настроек пользователя в базу данных
        *    @iClient - индекс игрока
        *    @sszSettingName[] - идентификатор настройки (название)
        *    @value[] - массив со значением настройки
        *    @delete - удалить настройку
        *    @return: true - при успешном изменении (удалении), false- при неудаче

        native bool:cmsapi_set_user_setting(iClient, szSettingName[], value[], bool:delete = false)

Требования: AMX 1.8.3 и выше
Не забывайте обновлять инклуды своего компилятора
Настройки сохраняются в БАЗУ только для зарегистрированных игроков!

Для остальных игроков настройки сохраняются до смены карты.
Для корректной работы, после установки плагина сменить карту 2 раза при наличии на сервере не менее 1-го игрока.

Пример
использования в плагине Информер:
C++:
    public OnAPIMemberConnected(id, memberId, memberName[])
    {
        //получаем настройку информера из БД при подключении игрока
        HUD_Setup[id][hud_active] = cmsapi_get_user_setting(id, "amx_game_informer");
    }

    //Переключаем режим показа
    public HUD_Off(id)
    {
        if(HUD_Setup[id][hud_active])
        {
            HUD_Setup[id][hud_active] = 0
            //записываем значение настройки (ВЫКЛ)
            cmsapi_set_user_setting(id, "amx_game_informer", "0");
        }
        else
        {
            HUD_Setup[id][hud_active] = 1
            //записываем значение настройки (ВКЛ)
            cmsapi_set_user_setting(id, "amx_game_informer", "1");
        }
    }
* добавлены указатели на таблицы БД (для автоматического определения таблиц дополнительными плагинами)
  • Like
Реакции: slovo
* Устранение ошибок для "не желающих" читать инструкции
* Устранение ошибок для сторонних плагинов, авторы которых также не желают читать инструкции
* Фикс присвоения флагов группы

Заменить файл gamecms_users_groups.inl в своем компиляторе
C++:
* изменение работы с флагами группы
        //пример!!!
        new const szFlags[][] =
        {
            //{номер группы, "флаги"}
            //номер группы - (колонка `id` из таблицы `users`.`groups`), "флаги" - для выдачи (НЕ из таблицы, а которые нужно выдать игроку)
            {1, "abcdefijlmntu"},        //1     Гл. админ
            {3, "abcdefijmntu"},        //3     Админ сервера
            {4, "abiqt"},                //4     Леди
            {8, "abqw"}                    //8     ВИП игрок
        }
* регистрация библиотеки gamecms_api для удобства проверки сторонними плагинами

Не забывайте обновлять папку include в своем компиляторе
Hotfix удвоения баланса при смене карты
  • Like
Реакции: John Dilinger
Назад
Сверху