Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature currently requires accessing the site using the built-in Safari browser.
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"
- FIX работы натива
cmsapi_reload_wallet
- в инклуд вынесены константы от плагин GagManager
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"); } }
* добавлены указатели на таблицы БД (для автоматического определения таблиц дополнительными плагинами)
* Устранение ошибок для "не желающих" читать инструкции
* Устранение ошибок для сторонних плагинов, авторы которых также не желают читать инструкции
* Фикс присвоения флагов группы
Заменить файл 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 в своем компиляторе