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.4.8 * фикс добавления недостающих столбцов в БД при самом первом подключении плагина к сайту 5.4.9 * сброс колонки `member_online` при старте карты, для случаев нештатного выключения сервера.
C++:5.4.7 * фикс обработки квара cms_use_cmd_add_admin на лету * фикс добавления админа по флагам при отсутствии назначенной услуги (имя услуги будет отображаться как Неизвестно) * фикс поиска услуги по нику при добавлении аккаунтов + добавлен форвард forward OnAPIPreAdminCheck(const id); * Выполняется перед проверкой наличия услуг игрока * @param id id игрока * @return PLUGIN_HANDLED, если нужно пропустить проверку имеющихся услуг. В этом случае, игроку будут выданы дефолтные флаги.
C++:5.4.5 * фикс создания столбца member_online, при включенном кваре cms_use_member_online Для принятия изменения, установить плагин, зайти на сервер и сменить карту.
C++:5.4.4 * фикс проверки пароля в нативе cmsapi_check_service_password
C++:5.4.3 * фикс выдачи дополнительной услуги в виде флагов доступа
C++:5.4.0 ============= - убран инклуд gamecms_admin_remove.inl ============= - полностью убрана поддержка АМХ 1.8.2 - удалены нативы Array:cmsapi_get_all_purchases и Array:cmsapi_get_alladmins. Все услуги теперь хранятся в одном массиве Array:cmsapi_get_all_services. * фикс повторной авторизации при выдаче флагов группы * native Trie:cmsapi_get_admin_info(aID) заменен на native cmsapi_get_info_by_admin_id(iAdminIndex, aAdminData[eAdminInfo]); //Получение данных по индексу админа //@iAdminIndex ID администратора в БД сайта //@aAdminData массив для записи данных * изменены уровни логирования работы плагина, квар "cms_debug" 1- информационные сообщения о выполнении действий 2- отладочные сообщения о выполнении действий 3- работа нативов (проверенные в работе нативы не логируются) 4- работа с БД, запросы (можно не включать, т.к. все запросы проверены в работе) //при включении высокого уровня нижние уровни также выполняются //пример: при включении 3-го уровня уровни 1 и 2 также выполняются //некоторые обязательные сообщения работы плагина не отключаются! * изменен натив cmsapi_set_user_flags(index, const szFlags[], iTime = -1, const szServiceName[] = "", bSilentCheck = false, bAuthorize = true); - убран параметр bSilentCheck * форвард OnAPIAdminConnected теперь вызывается для всех, но только если у игрока изменился набор флагов * настройки, которые не придется часто менять, вынесены в файл "gamecms.ini" * настройки базы данных вынесены в файл "gamecms.ini", чтобы их не "украли через консоль" злые дядьки )) + добавлен режим работы плагина eApiStatus: UseGameCmsGroups //используется группа пользователя на сайте для выдачи флагов админа + добавлен квар "cms_service_auto_remove" //удаление истекших услуг автоматически: 1- сразу после окончания, 0- при смене карты их удалит движок + добавлен квар "cms_use_cmd_add_admin" //разрешить добавления услуг в базу сайта командой amx_addadmin, 0- запретить + добавлен квар cms_use_group_flags //использовать группы пользователей для выдачи флагов доступа, //0- отключить //1- взять данные о флагах группы из конфига (cms_add_user_group) //2- взять данные о флагах группы из БД сайта + добавлен квар cms_use_admins //использовать загрузку и управление админами с сайта GameCMS, 0- не использовать админов + добавлен native cmsapi_get_info_by_admin_service(iAdminService, aAdminData[eAdminInfo] = ""); //Получение данных об услуге по индексу услуги //@iAdminService ID услуги в БД сайта //@aAdminData массив для записи данных + добавлен native bool:cmsapi_set_user_group(id, iGroupId, bool:bSetFlags = true); //Установка группы пользователя на сайте //@id id игрока //@iGroupId Номер (индекс) группы //@bool:bSetFlags Выдать флаги группы + добавлен native bool:cmsapi_remove_user_service(const iClient, iServiceId); //Удаление услуги из массива по ее номеру у онлайн-игрока //@iClient id игрока //@iServiceId Номер услуги //@Note Можно использовать для удаления временных услуг, у которых нет автоудаления + добавлено Состояние услуги enum _:eServiceStatus { SERVICE_NOT_FOUND = -2, //Услуга не найдена SERVICE_NONE, SERVICE_INACTIVE, //Услуга не активна SERVICE_ACTIVE, //Услуга активна SERVICE_STOPPED //Услуга приостановлена } + добавлено Время окончания действия услуги enum _:eServiceTime { TIME_TRACKING_STOPPED = -2, //Услуга остановлена, неактивна TIME_MAP_END_EXPIRING, //В конце карты TIME_NOT_EXPIRING //Время не ограничено } + добавлен отлов события изменения квара "amx_password_field" При изменении все игроки будут авторизованы на сервере заново, с добавлением/удалением имеющихся флагов. Например, если значение квара отличается от "z", то игрокам будут выданы соответствующие флаги (и наоборот) + добавлен native cmsapi_get_plugin_version(&iMajorVersion, &iMinorVersion); //Получение версии плагина //@iMajorVersion Мажор версии //@iMinorVersion Минор версии 5.4.1 - убраны элементы массива * Float:MemberMoneyCurr * MemberGameTimeCurr * MemberGameMoneyCurr + добавлен квар cms_use_member_online "1" //записывать в БД метку, что игрок находится на сервере (`users`.`member_online`) * при изменение кваров cms_use_admins и amx_default_access на лету производится перепроверка прав доступа игроков (например, при изменении квара amx_default_access с "z" на "abc" всем игрокам будут выданы соответствующие флаги) * сохранение данных зарегистрированного игрока (деньги, время и т.п.) производится сразу после выхода с сервера, а не в конце карты * фикс учета времени `game_time` при перезагрузке/обновлении кошелька пользователя (cmsapi_reload_wallet) * изменение назначения параметра bool:send натива cmsapi_reload_wallet (https://cs-games.club/index.php?threads/gamecms-api.9/page-17#post-4651) * @param send Отправить запрос в БД для обновления баланса * true - да, будет произведена полная перезагрузка данных пользователя, в т.ч. баланс * false - нет, изменение будет учтено в базе, но новый баланс загружаться не будет - убран квар "cms_cmd_group_menu_access" //флаг доступа для открытия меню групп (настройка флага ддоступа производится в файле cmdaccess.ini, по умолчанияю - "l") * дополнены коды возврата натива cmsapi_service_timeleft * @return Время окончания в формате UNIX * TIME_MAP_END_EXPIRING - до смены карты * TIME_NOT_EXPIRING - нет ограничений * SERVICE_NOT_FOUND услуга не найдена * TIME_TRACKING_STOPPED - услуга не активна, остановлена + добавлена консольная команда cms_reloadmember * команда перезагружает все данные пользователя сайта по его ID номеру (НАПРИМЕР, cms_reloadmember "1520") 5.4.2 * фикс сохранения/удаления нескольких настроек пользователя (szUserSettings) + добавлен квар cms_use_game_money "1" //использовать игровые деньги, колонка `game_money` (1- да, 0- нет) + добавлен native cmsapi_check_service_password(iClient, szServiceName[]); (https://cs-games.club/index.php?threads/gamecms-api.9/page-16#post-4582) * Проверка доступа игрока к услуге (проверка пароля, если она предсмотрена типом авторизации) * @param iClient Индекс игрока * @param szService Название услуги * @return 1- при наличии доступа, иначе- 0
Важные моменты!
* файлы настроек изменены. Теперь их 2: gamecms.cfg и gamecms.ini
* все настройки из gamecms.cfg могут меняться "на лету" без смены карты
* если зависымые плагины перестануть работать корректно, необходимо заново скомпилировать с новым инклудом gamecms5.inc (желательно, сделать это сразу)
* исходный код будет предоставляться на условиях компенсации времени, затреченного на написание, тестирование и оказание всесторонней поддержки.
* если "что-то" не так, создается тема в разделе Помощи с подробным, пошаговым описанием проблемы
* фикс загрузки плагина при недоступности БД
C++:5.3.5 * fix установки флагов игрокам, зашедшим на сервер До соединения с БД
C++:5.3.4 * обновление времени для автоматического удаления услуги после перезагрузки списка админов (amx_reloadadmins) * fix учета игровых денег * Изменение натива cmsapi_is_admin_active + добавлен параметр * @part Совпадение наименования услуги (флагов): true - частичное совпадение, false - полное совпадение