• Пожалуйста, создайте название темы отражающее ее смысл
  • Для ускорения решения Вашего вопроса заполните обязательные поля и подробно опишите возникшую проблему

Помощь Invalid array handle provided (0)

FILIMONOFF

Пользователь
Сообщения
4
Реакции
0
Баллы
1
Каждый день в одно и то же время отваливается api. Как посоветовал уважаемый в gamecms в cms_debug "" поставить 4.(При предыдущих ошибках это значение было выставлено на 1)
Для проверки включил в момент когда обычно отваливается api, никаких отвалов не произошло. но стоило сменить значение с 4 обратно на 1 и сменить карту так сразу же вылетела та же ошибка от api что и в предыдущие дни. За все 4 дня одни и те же последствия>Зависание сервера и вылет всех игроков с тайм аутом, сайт так же не работал
 
Исходный код
#if defined _gamecms5_included
#endinput
#endif
#define _gamecms5_included

#if !defined MAX_PLAYERS
const MAX_PLAYERS = 32;
#endif
#if !defined MAX_NAME_LENGTH
const MAX_NAME_LENGTH = 32;
#endif

#define API54

#define MAX_STRING_LEN 33
#define MAX_INT_LEN 11
#define DUPLICATE_ENTRY 1062
#define DUPLICATE_COLUMN 1060
#define MAX_QUERY_MEDIUM_LEN 2048
#define MAX_QUERY_SMALL_LEN 512
#define AdminInfo eAdminInfo


#if AMXX_VERSION_NUM < 183
#define client_disconnected client_disconnect
#define socket_is_readable socket_change
#include <colorchat>
stock MaxClients;
#define AMXX_182
#else
#define client_disconnect client_disconnected
#endif

#define IsValidPlayer(%0) (0 < %0 <= MaxClients)
#define DestroyArray(%1) if(%1 != Invalid_Array) ArrayDestroy(%1)
#define DestroyTrie(%1) if(%1 != Invalid_Trie) TrieDestroy(%1)

/*Состояние услуги или параметра*/
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 /*Время не ограничено*/
}

/*GagManager Проверка наличия блокировки*/
enum _:eBlockStatus
{
BLOCK_STATUS_NONE = -1, /*Нет блокировки*/
BLOCK_STATUS_ALL, /*Блокировка голос+чат*/
BLOCK_STATUS_CHAT, /*Блокировка чат*/
BLOCK_STATUS_VOICE /*Блокировка голос*/
}

/*GagManager Управление блокировкой*/
enum _:eBlockFunc
{
BLOCK_FUNC_ADD = 1, /*Добавить блокировку*/
BLOCK_FUNC_CHANGE, /*Изменить блокировку*/
BLOCK_FUNC_REMOVE /*Удалить блокировку*/
}

/*Адрес сайта. example: http://site.com*/
stock SiteUrl[MAX_STRING_LEN];

/*Указатели таблиц для получения их имен через cmsapi_get_table_name*/
enum TablePtr
{
admins_services,
dialogs,
users_groups,
services,
services_tarifs,
config_secondary,
sortition,
sortition__participants,
users__friends,
users__online,
last_online
}

/*Названия таблиц в БД, которые нужно изменить при обновлении движка*/
stock const TABLE_NAMES[TablePtr][] =
{
"admins__services",
"pm__dialogs",
"users__groups",
"services",
"services__tarifs",
"config__secondary",
"sortition",
"sortition__participants",
"users__friends",
"users__online",
"last_online"
}

/*Массив для хранения информации об услуге*/
enum _:eAdminInfo
{
AdminId,
AdminAuthId[MAX_STRING_LEN],
AdminPassword[MAX_STRING_LEN],
AdminServiceFlags[MAX_STRING_LEN],
AdminType[MAX_INT_LEN],
AdminExpired[MAX_STRING_LEN],
AdminReason[MAX_STRING_LEN*2],
AdminActive,
AdminPaused,
AdminService,
AdminServiceId,
AdminServiceName[MAX_STRING_LEN*2],
AdminServiceTime
};

/*Массив для хранения информации о пользователе*/
enum _:eMemberData
{
MemberId,
MemberLogin[MAX_NAME_LENGTH],
MemberName[MAX_NAME_LENGTH*2],
MemberBirth[MAX_INT_LEN + 1],
MemberNick[MAX_NAME_LENGTH],
Float:MemberMoney,
Float:MemberMoneySaved,
MemberGameTime,
MemberPrefix[MAX_STRING_LEN],
MemberGameMoney,
MemberGameMoneySaved,
MemberMessages,
MemberGroup,
MemberGroupName[MAX_NAME_LENGTH*2],
MemberThanks,
MemberAnswers,
MemberRaiting,
MemberRegDate[MAX_STRING_LEN],
MemberLastActivity[MAX_INT_LEN],
MemberDiscount
};

/*Статус запросов в БД*/
enum _:eQueryStatus
{
LOAD_ALL,
LOAD,
UPDATE,
SAVE,
SET,
ADD,
RELOAD
}

/*Статус работы плагина cmsapi_get_api_status*/
enum _:eApiStatus(<<=1) /*api status*/
{
UseGameCms = 1, /*плагин подключен к базе данных GameCMS*/
UseGameCmsAdmins, /*используется база данных GameCMS для загрузки админов*/
UseGameCmsGroups, /*используется группа пользователя на сайте для выдачи флагов админа*/
UseAddAdmin /*используется функция добавления услуги в базу сайта*/
}

/*статус авторизации клиента stock StGetUserAuthStatus(szAuth[])*/
enum eAuthStatus
{
USER_AUTH_NOT, /*клиент не авторизован*/
USER_AUTH_BOT, /*BOT*/
USER_AUTH_HLTV, /*HLTV*/
USER_AUTH_VALID /*клиент имеет допустимую авторизацию (STEAM or VALVE)*/
}


/**
* Получение версии плагина
*
* @param iMajorVersion Мажор версии
* @param iMinorVersion Минор версии
*
* @noreturn
*/
native cmsapi_get_plugin_version(&iMajorVersion, &iMinorVersion);


/**
* Получение статуса работы плагина
*
* @return Битсумма значения enum eApiStatus
*/
native cmsapi_get_api_status();


/**
* Получение имени таблицы в БД по ее указателю
*
* @param Pointer Указатель таблицы из TablePtr
* @param szTableName Массив для записи имени таблицы
* @param iLen максимальный размер массива
*
* @return Количество ячеек, записанных в массив
*/

native cmsapi_get_table_name(TablePtr:pointer, szTableName[], iLen);

/**
* Получение данных участника форума
*
* @param id id игрока
* @param szData Массив с данными участника форума
* szData[0] количество "спасибо"
* szData[1] количество ответов на форуме
* szData[2] рейтинг на форуме
* szData[3] количество новых личных сообщений
* @param szName Имя игрока, указанное в профиле
* @param iLen Размер массива для записи имени
*
* @return 1 - При успешном получении данных об игроке
* 0 - Если игрок не зарегистрирован или ошибка при получении данных
*/
native cmsapi_get_forum_data(id, szData[4], szName[]="", iLen=0);


/**
* Получение ника игрока, указанного в профиле форума
*
* @param id id игрока
* @param szNick Ник игрока
* @param iLen Размер массива
*
* @return Количество ячеек, записанных в массив
* -1 - Если игрок не зарегистрирован или ошибка при получении данных
*/
native cmsapi_get_user_nick(id, szNick[], iLen);


/**
* Получение id группы пользователя
*
* @param id id игрока
* @param szGroup Массив для записи названия группы пользователя
* @param iLen Размер массива
*
* @return id группы пользователя
* 0 - пользователь не найден (не зарегистрирован)
*/
native cmsapi_get_user_group(id, szGroup[] = "", iLen = 0);


/**
* Установка группы пользователя на сайте
*
* @param id id игрока
* @param iGroupId Номер (индекс) группы
* @param bool:bSetFlags Выдать флаги группы
*
* @return true- при удачном выполнении, иначе false
*/
native bool:cmsapi_set_user_group(id, iGroupId, bool:bSetFlags = true);

/**
* Получение даты окончания услуги
*
* @param id id игрока
* @param szDate Дата истечения срока услуги в формате ГГГГ-ММ-ДД
* @param iLen Размер массива szDate[]
* @param srvName Флаги услуги
* @param part Совпадение наименования услуги (флагов): true - частичное совпадение, false - полное совпадение
*
* @return Время окончания в формате UNIX
* TIME_MAP_END_EXPIRING - до смены карты
* TIME_NOT_EXPIRING - нет ограничений
* SERVICE_NOT_FOUND услуга не найдена
* TIME_TRACKING_STOPPED - услуга не активна, остановлена
*/
native cmsapi_service_timeleft(id, szDate[]="", iLen=0, srvName[]="", bool:part = false);


/**
* Проверка на активацию услуги
*
* @param id id игрока
* @param szReason Причина отключения услуги, если она отклучена
* @param iLen Размер массива szReason[]
* @param srvName Флаги услуги
* @param part Совпадение наименования услуги (флагов):
* true - частичное совпадение
* false - полное совпадение
*
* @return true- услуга активна
* false- услуга выключена
*/
native bool:cmsapi_is_admin_active(id, szReason[], iLen, const srvName[]="", bool:part = false);


/**
* Проверка регистрации игрока на сайте
*
* @param id id игрока
*
* @return id пользователя в БД
* 0 - пользователь не найден (не зарегистрирован)
*/
native cmsapi_is_user_member(id);


/**
* Получение информации о балансе кошелька зарегистрированного игрока
*
* @param id id игрока
*
* @return Баланс игрока на сайте
*/
native Float:cmsapi_get_user_money(id);


/**
* Установка баланса кошелька зарегистрированного игрока
*
* @param id id игрока
* @param Float:fAmmount Новое значение баланса
*
* @return 1 в случае успеха
* 0 в случае неудачи
*/
native cmsapi_set_user_money(id, Float:fAmmount);


/**
* Изменение баланса кошелька зарегистрированного игрока (добавить / отнять)
*
* @param id id игрока
* @param Float:fAmmount Добавить значение к балансу
*
* @return 1 в случае успеха
* 0 в случае неудачи
*/
native cmsapi_add_user_money(id, Float:fAmmount);


/**
* Получение данных всех имеющихся на сервере услуг
*
* @return New array handle or Invalid_Array if empty
*/
native Array:cmsapi_get_all_services();

/**
* Получение данных всех имеющихся на сервере админов
*
* @return New array handle or Invalid_Array if empty
*/
#pragma deprecated Use cmsapi_get_all_services()
native Array:cmsapi_get_alladmins();


/**
* Получение данных авторизовавшихся админов
*
* @return New Map handle or Invalid_Trie if empty
*/
native Trie:cmsapi_get_online_admins();


/**
* Получение данных о всех купленных доп. услугах
*
* @return New array handle or Invalid_Array if empty
*/
#pragma deprecated Use cmsapi_get_all_services()
native Array:cmsapi_get_all_purchases();


/**
* Получение данных о купленных услугах игрока
*
* @Note Запрос информации обо всех услугах игрока: (szService[] = "" И serviceID = 0)
* Запрос информации о конкретной услуге: (szService[] = "`services`.`rights`" ИЛИ serviceID = `services`.`id`)
*
* @param index id игрока
* @param szAuth steamID игрока
* @param szService Название услуги
* @param serviceID Номер услуги
* @param part Совпадение наименования услуги (флагов)
* true - частичное совпадение
* false - полное совпадение
*
* @return New array handle or Invalid_Array if empty
*/
native Array:cmsapi_get_user_services(const index, const szAuth[] = "", const szService[] = "", serviceID = 0, bool:part = false);

/**
* Удаление услуги игрока
*
* @param iClient id игрока
* @param iServiceId Номер услуги
* @param iAdminServiceId Номер услуги админа `admins__services`.`id`
* @param bUpdateDB Отправить запрос в базу данных. Если false, то услуга будет удалена только на сервере (для удаления временных услуг, которых нет в БД и у которых нет автоудаления)
*
* @return true- при удачном удалении услуги, иначе false
*
* @Note Если игрок на сервере, можно использовать его индекс (iClient) и номер услуги iServiceId (Идентификатор AdminService).
* Если игрока нет, то нужно использовать индекс услуги админа iAdminServiceId, это `id` строки из таблицы `admins_services` (Идентификатор AdminServiceId).
* @Note При отправке запроса в БД плагин не удаляет услугу физически. Услуге устанавливается текущее время окончания, дальнейшее удаление производится движком на общих условиях.
*/
native bool:cmsapi_remove_user_service(iClient, iServiceId, iAdminServiceId = 0, bool:bUpdateDB = false);

/**
* Общее время, проведенное игроком на всех серверах проекта
*
* @param index Индекс игрока
*
* @return Время в секундах
*/
native cmsapi_get_user_gametime(index);


/**
* Получение ID аккаунта админа, под которым игрок авторизовался
*
* @param index Индекс игрока
* @param szAuth Массив для записи идентификатора услуги (ник / steamid)
* @param iLen Размер массива
*
* @return ID админа в базе
* 0 - если игрок не имеет флагов или ошибка при получении данных
*/
native cmsapi_get_admin_ident(index, szAuth[] = "", iLen = 0);

/**
* @deprecated
*/
#pragma deprecated Use cmsapi_get_info_by_admin_id()
native Trie:cmsapi_get_admin_info(aID);


/**
* Получение данных об услуге по индексу админа
*
* @param iAdminIndex ID администратора в БД сайта
* @param aAdminData массив для записи данных
*
* @return ArrayIndex массива
* SERVICE_NOT_FOUND, если данные не найдены
*/
native cmsapi_get_info_by_admin_id(iAdminIndex, aAdminData[eAdminInfo] = "");


/**
* Получение данных об услуге по индексу услуги
*
* @param iAdminServicе ID услуги в БД сайта
* @param aAdminData массив для записи данных
*
* @return ArrayIndex массива
* SERVICE_NOT_FOUND, если данные не найдены
*/
native cmsapi_get_info_by_admin_service(iAdminService, aAdminData[eAdminInfo] = "");


/**
* Получение идентификатора текущего сервера в БД сайта
*
* @return Идентификатор (колонка id таблицы servers) текущего сервера
*/
native cmsapi_get_server_id();


/**
* Получение информации о балансе БАНКА ИГРОВЫХ ДЕНЕГ зарегистрированного игрока
*
* @param id Индекс игрока
*
* @return Значение баланса игровых денег
*/
native cmsapi_get_user_bank(id);


/**
* Установка баланса БАНКА ИГРОВЫХ ДЕНЕГ зарегистрированного игрока
*
* @param id Индекс игрока
* @param ammount Новое значение баланса
*
* @return 1 в случае успеха
* 0 в случае неудачи
*/
native cmsapi_set_user_bank(id, ammount);


/**
* Изменение баланса ИГРОВЫХ ДЕНЕГ зарегистрированного игрока (добавить / отнять)
*
* @param id Индекс игрока
* @param ammount Добавить значение к балансу
*
* @return 1 в случае успеха
* 0 в случае неудачи
*/
native cmsapi_add_user_bank(id, ammount);


/**
* Получение даты регистрации игрока на сайте
*
* @param id Индекс игрока
* @param shortTime true- короткий формат даты ДД-ММ-ГГГГ
* false - ГГГГ-ММ-ДД Ч:М:С
* @param szDate Дата регистрации в формате @shortTime
* @param iLen Размер массива szDate
*
* @return Время в формате UNIX
* 0 - пользователь не найден (не зарегистрирован)
*/
native cmsapi_get_user_regdate(id, szDate[] = "", iLen = 0, bool:shortTime = true);


/**
* Получение даты последней активности пользователя на сайте
*
* @param id Индекс игрока
* @param szDate Дата последней активности в формате ГГГГ-ММ-ДД
* @param iLen Размер массива szDate[]
*
* @return Время в формате UNIX
* 0 - пользователь не найден (не зарегистрирован)
*/
native cmsapi_get_user_lastactiv(id, szDate[]="", iLen=0);


/**
* Получение величины персональной скидки на сайте
*
* @param id Индекс игрока
*
* @return Cкидка в %
*/
native cmsapi_get_user_discount(id);


/**
* Динамическая перепроверка прав доступа у игрока
*
* @param id Индекс игрока
*
* @noreturn
*/
native cmsapi_reaccess_admin(id);


/**
* Получение szAuthId игрока в формате steamid64 (profileID)
*
* @param index Индекс игрока
* @param auth64 Массив для записи steamID64 игрока
* @param iLen Размер массива auth64[]
*
* @return Количество ячеек, записанных в массив
*/
native cmsapi_get_user_authid64(index, auth64[], iLen);


/**
* Изменение баланса на сайте с перезагрузкой значения из БД
*
* @param index Индекс игрока
* @param flValue Сумма для добавления/списания (value / -value)
* @param full_update true - после сохранения изменений будет произведена полная перезагрузка данных пользователя из БД
* false - изменения будет учтены в базе, но новая информация о пользователе загружаться не будет
*
* @noreturn
*/
native cmsapi_reload_wallet(index, Float:flValue, bool:full_update = false);


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


/**
* Добаление аккаунтов в базу данных
*
* @note При отключеной функции check_params существует вероятность ошибок со стороны пользователя
* @note Пример:
* cmsapi_add_account(id, "a", "180", "parol", "prt", 0, false)
* игроку №id с его ником выданы флаги "prt" на 180 минут, пароль- "parol"
*
* @param iClient Индекс игрока
* @param szAuthType Тип авторизации (смотри amxconst.inc: Admin authentication behavior flags)
* @param szFlags Флаги (уровни) доступа (смотри amxconst.inc: Admin level constants)
* @param iTime Время в минутах, 0- навсегда (если время не указано, значит 0)
* @param szPasswd Пароль доступа (если нужен)
* @param iServiceId Номер услуги на сайте (если известен)
* @param check_params Проверка введенных данных (true- включить).
*
* @noreturn
*/
native cmsapi_add_account(iClient, szAuthType[], iTime = 0, szPasswd[] = "", szFlags[] = "", iServiceId = 0, check_params = false);

/**
* Получение настроек пользователя из базы данных
*
* @param iClient Индекс игрока
* @param szSettingName Идентификатор настройки (название)
* @param szValue Массив для записи значения настройки
* @param value_length Размер массива для записи значения настройки
*
* @return - размер записанного массива, если передается массив для записи значения
* - цифровое значение настройки, если массив не передан
* - -1, если идентификатор настройки не найден
*/
native cmsapi_get_user_setting(iClient, szSettingName[], szValue[] = "", value_length = 0);

/**
* Сохранение настроек пользователя в базу данных
*
* @param iClient Индекс игрока
* @param szSettingName Идентификатор настройки (название)
* @param szValue Массив со значением настройки
* @param delete Удалить настройку
*
* @param return true - при успешном изменении (удалении)
false- при неудаче
*/
native bool:cmsapi_set_user_setting(iClient, szSettingName[], szValue[], bool:delete = false);


/**
* Проверка доступа игрока к услуге (проверка пароля, если она предсмотрена типом авторизации)
*
* @param iClient Индекс игрока
* @param szService Название услуги
*
* @return 1- при наличии доступа, иначе- 0
*/
native cmsapi_check_service_password(iClient, szServiceName[]);

/**
* Получение данных пользователя из массива eMemberData
*
* @param iClient Индекс игрока
* @param iIdentifier Идентификатор массива eMemberData
* @param szUserData Массив для записи строкового значения идентификатора
* @param iLen Размер массива для записи
*
* @return Целочисленное значение идентификатора массива eMemberData, если параметр szUserData не указано.
* Если указан параметр szUserData, то вернет количество записанных ячеек.
*/
native cmsapi_get_user_data(iClient, eMemberData:iIdentifier, szUserData[] = "", iUserDataLen = 0);

/**
* Выполняется при заходе зарегистрированного игрока
*
* @param id id игрока
* @param memberId id профиля на сайте
* @param memberName Имя пользователя на сайте
*
* @noreturn
*/
forward OnAPIMemberConnected(id, memberId, memberName[]);

/**
* Выполняется перед проверкой наличия услуг игрока
*
* @param id id игрока
* @param bRemoveFlags Удалить имеющиеся у игрока флаги, true- по-умолчанию
* @param bSetDefFlags Установить игроку дефолтные флаги, true- по-умолчанию
* @return PLUGIN_HANDLED, если нужно пропустить проверку имеющихся услуг. В этом случае, будут применены параметры bRemoveFlags и bSetDefFlags.
* @note Параметры bRemoveFlags и bSetDefFlags действуют только при условии возврата PLUGIN_HANDLED
*/
forward OnAPIPreAdminCheck(const id, &bRemoveFlags, &bSetDefFlags);

/**
* v5.5.5
* Выполняется после проверки наличия услуг игрока и их записи в массив админов, находящихся на сервере (native Trie:cmsapi_get_online_admins())
*
* @param id id игрока
* @param szFlags Флаги, полученные в результате поиска и суммирования всех услуг с флагами. Не включаются дополнительные услуги через "_"
* @note Параметр szFlags может быть перезаписан. В этом случае, игроку будут выданы заданные флаги, вместо флагов услуги.
* Данные массива админов изменены не будут!
* @note Выполняется непосредственно перед авторизацией игрока и вызовом форварда OnAPIAdminConnected
* @noreturn
*/
forward OnAPIPostAdminCheck(const id, szFlags[MAX_STRING_LEN]);

/**
* Выполняется при заходе зарегистрированного именинника
*
* @param id id игрока
* @param const szLogin Имя игрока на сайте
* @param const SITE_URL Адрес сайта (квар "cms_url") для вывода поздравительного Motd
*
* @noreturn
*/
forward OnAPIBirthdayMember(id, const szLogin[], const SITE_URL[]);


/**
* Выполняется при успешной проверке соединения с БД
*
* @param Handle:sqlTuple Кешированные данные о соединении с БД
* @param version[] Версия плагина
* @param serverID Номер сервера в БД сайта (столбец `servers`.id`)
*
* @noreturn
*/
forward OnAPIPluginLoaded(Handle:sqlTuple, version[], serverID);


/**
* Выполняется при неудачной инициализации БД.
*
* @note После выполнения, плагин останавливается.
*
* @noreturn
*/
forward OnAPIPluginStop();


/**
* Выполняется после успешной загрузки данных об услугах из базы
*
* @param eQueryStatus:status Статус загрузки списка (LOAD_ALL- загрузка, RELOAD - перезагрузка)
* @param iAdminIndex Индекс админа (0, если статус LOAD_ALL)
* @noreturn
*/
forward OnAPIAdminsLoaded(eQueryStatus:status, iAdminIndex);


/**
* Установка префикса в чат из БД
*
* @param id id игрока
* @param prefix[] Префикс игрока в чате
* @param type Тип префикса:
* 1- личный префикс
* 2- префикс группы (админ, вип и т.п.)
*
* @noreturn
*/
forward OnAPISendChatPrefix(id, prefix[], type);

/**
* Выполняется при выдаче флагов игроку (авторизация админа)
*
* @param id id игрока
* @param const szName Ник админа
* @param adminID ID админа в БД сайта
* @param Flags Bitflag value- битсумма флагов
*
* @noreturn
*/
forward OnAPIAdminConnected(id, const szName[], adminID, Flags);

/**
* Выполняется при выходе админа (игрока с флагами доступа) с сервера
*
* @param id Индекс игрока
*
* @noreturn
*/
forward OnAPIAdminDisconnected(id);


/**
* Проверка текущего блока от Админа
*
* @param index Индекс игрока
*
* @return 0- voice + chat
* 1- chat
* 2- voice
* -1- not blocked
*/
native cmsgag_is_user_blocked(index);


/**
* Проверка текущего блока от игрока
*
* @param sender Индекс отправителя
* @param receiver Индекс получателя
*
* @return 1- получатель заблокировал отправителя
* 0- нет блокировки игрока
*/
native cmsgag_is_user_muted_by(receiver, sender);


/**
* Добавление блока игроку
*
* @param id Индекс игрока
* @param typeFunc Тип операции блокировки
* 1- создание
* 2- удаление
* @param blType Тип блока (чат / голос)
* @param blReason[] Причина
* @param blTime Время
* @param printChat Оповестить в чат об операции, false- нет, true- стандартное оповещение о блокировке/разблокировке
*
* @return 0 - блокировка не установлена
* >0 - установлена
*/
native cmsgag_add_user_block(id, typeFunc, blType = 0, blReason[] = "", blTime = 0, bool:printChat = true);

/**
* Общее время, проведенное игроком на всех серверах проекта
*
* @param index Индекс игрока
*
* @return Время игры в секундах
*/
native cmsta_get_user_realtime(index);


#include gamecms_stocks.inc
Источник плагина (ссылка на сайт или тему)
https://109.237.110.183/index.php?resources/gamecms-api.4/
https://dropmefiles.com/mUQMX
Время падения сервера и зависания базы в 00:10:28
L 03/14/2023 - 00:12:21: Start of error session.
L 03/14/2023 - 00:12:21: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20230314.log")
L 03/14/2023 - 00:12:21: Invalid map handle provided (0)
L 03/14/2023 - 00:12:21: [AMXX] Displaying debug trace (plugin "gamecms_api_5.6.2.amxx", version "5.6.2")
L 03/14/2023 - 00:12:21: [AMXX] Run time error 10: native error (native "TrieSetArray")
L 03/14/2023 - 00:12:21: [AMXX] [0] gamecms_api_5.6.2.sma::FnQueryMemberDataHandler (line 926)
L 03/14/2023 - 00:12:21: [AMXX] [1] gamecms_api_5.6.2.sma::FnQueryMemberDataHandler (line 920)
L 03/14/2023 - 00:12:21: Invalid map handle provided (0)
L 03/14/2023 - 00:12:21: [AMXX] Displaying debug trace (plugin "gamecms_api_5.6.2.amxx", version "5.6.2")
L 03/14/2023 - 00:12:21: [AMXX] Run time error 10: native error (native "TrieSetArray")
L 03/14/2023 - 00:12:21: [AMXX] [0] gamecms_api_5.6.2.sma::FnQueryMemberDataHandler (line 926)
L 03/14/2023 - 00:12:21: [AMXX] [1] gamecms_api_5.6.2.sma::FnQueryMemberDataHandler (line 920)
L 03/14/2023 - 00:12:21: Invalid map handle provided (0)
L 03/14/2023 - 00:12:21: [AMXX] Displaying debug trace (plugin "gamecms_api_5.6.2.amxx", version "5.6.2")
L 03/14/2023 - 00:12:21: [AMXX] Run time error 10: native error (native "TrieSetArray")
L 03/14/2023 - 00:12:21: [AMXX] [0] gamecms_api_5.6.2.sma::FnQueryMemberDataHandler (line 926)
L 03/14/2023 - 00:12:21: [AMXX] [1] gamecms_api_5.6.2.sma::FnQueryMemberDataHandler (line 920)
L 03/14/2023 - 00:12:21: Invalid map handle provided (0)
L 03/14/2023 - 00:12:21: [AMXX] Displaying debug trace (plugin "gamecms_api_5.6.2.amxx", version "5.6.2")
L 03/14/2023 - 00:12:21: [AMXX] Run time error 10: native error (native "TrieSetArray")
L 03/14/2023 - 00:12:21: [AMXX] [0] gamecms_api_5.6.2.sma::FnQueryMemberDataHandler (line 926)
L 03/14/2023 - 00:12:21: [AMXX] [1] gamecms_api_5.6.2.sma::FnQueryMemberDataHandler (line 920)
L 03/14/2023 - 00:12:21: Invalid map handle provided (0)
L 03/14/2023 - 00:12:21: [AMXX] Displaying debug trace (plugin "gamecms_api_5.6.2.amxx", version "5.6.2")
L 03/14/2023 - 00:12:21: [AMXX] Run time error 10: native error (native "TrieSetArray")
L 03/14/2023 - 00:12:21: [AMXX] [0] gamecms_api_5.6.2.sma::FnQueryMemberDataHandler (line 926)
L 03/14/2023 - 00:12:21: [AMXX] [1] gamecms_api_5.6.2.sma::FnQueryMemberDataHandler (line 920)
L 03/14/2023 - 00:12:21: Invalid map handle provided (0)
L 03/14/2023 - 00:12:21: [AMXX] Displaying debug trace (plugin "gamecms_api_5.6.2.amxx", version "5.6.2")
L 03/14/2023 - 00:12:21: [AMXX] Run time error 10: native error (native "TrieSetArray")
L 03/14/2023 - 00:12:21: [AMXX] [0] gamecms_api_5.6.2.sma::FnQueryMemberDataHandler (line 926)
L 03/14/2023 - 00:12:21: [AMXX] [1] gamecms_api_5.6.2.sma::FnQueryMemberDataHandler (line 920)
L 03/14/2023 - 00:12:21: Invalid map handle provided (0)
L 03/14/2023 - 00:12:21: [AMXX] Displaying debug trace (plugin "gamecms_api_5.6.2.amxx", version "5.6.2")
L 03/14/2023 - 00:12:21: [AMXX] Run time error 10: native error (native "TrieSetArray")
L 03/14/2023 - 00:12:21: [AMXX] [0] gamecms_api_5.6.2.sma::FnQueryMemberDataHandler (line 926)
L 03/14/2023 - 00:12:21: [AMXX] [1] gamecms_api_5.6.2.sma::FnQueryMemberDataHandler (line 920)
L 03/14/2023 - 00:12:21: Invalid map handle provided (0)
L 03/14/2023 - 00:12:21: [AMXX] Displaying debug trace (plugin "gamecms_api_5.6.2.amxx", version "5.6.2")
L 03/14/2023 - 00:12:21: [AMXX] Run time error 10: native error (native "TrieSetArray")
L 03/14/2023 - 00:12:21: [AMXX] [0] gamecms_api_5.6.2.sma::FnQueryMemberDataHandler (line 926)
L 03/14/2023 - 00:12:21: [AMXX] [1] gamecms_api_5.6.2.sma::FnQueryMemberDataHandler (line 920)
L 03/14/2023 - 00:12:21: Invalid map handle provided (0)
L 03/14/2023 - 00:12:21: [AMXX] Displaying debug trace (plugin "gamecms_api_5.6.2.amxx", version "5.6.2")
L 03/14/2023 - 00:12:21: [AMXX] Run time error 10: native error (native "TrieSetArray")
L 03/14/2023 - 00:12:21: [AMXX] [0] gamecms_api_5.6.2.sma::FnQueryMemberDataHandler (line 926)
L 03/14/2023 - 00:12:21: [AMXX] [1] gamecms_api_5.6.2.sma::FnQueryMemberDataHandler (line 920)
L 03/14/2023 - 00:12:21: Invalid map handle provided (0)
L 03/14/2023 - 00:12:21: [AMXX] Displaying debug trace (plugin "gamecms_api_5.6.2.amxx", version "5.6.2")
L 03/14/2023 - 00:12:21: [AMXX] Run time error 10: native error (native "TrieSetArray")
L 03/14/2023 - 00:12:21: [AMXX] [0] gamecms_api_5.6.2.sma::FnQueryMemberDataHandler (line 926)
L 03/14/2023 - 00:12:21: [AMXX] [1] gamecms_api_5.6.2.sma::FnQueryMemberDataHandler (line 920)
L 03/14/2023 - 00:12:21: Invalid map handle provided (0)
L 03/14/2023 - 00:12:21: [AMXX] Displaying debug trace (plugin "gamecms_api_5.6.2.amxx", version "5.6.2")
L 03/14/2023 - 00:12:21: [AMXX] Run time error 10: native error (native "TrieSetArray")
L 03/14/2023 - 00:12:21: [AMXX] [0] gamecms_api_5.6.2.sma::FnQueryMemberDataHandler (line 926)
L 03/14/2023 - 00:12:21: [AMXX] [1] gamecms_api_5.6.2.sma::FnQueryMemberDataHandler (line 920)
L 03/14/2023 - 00:12:21: Invalid map handle provided (0)
L 03/14/2023 - 00:12:21: [AMXX] Displaying debug trace (plugin "gamecms_api_5.6.2.amxx", version "5.6.2")
L 03/14/2023 - 00:12:21: [AMXX] Run time error 10: native error (native "TrieSetArray")
L 03/14/2023 - 00:12:21: [AMXX] [0] gamecms_api_5.6.2.sma::FnQueryMemberDataHandler (line 926)
L 03/14/2023 - 00:12:21: [AMXX] [1] gamecms_api_5.6.2.sma::FnQueryMemberDataHandler (line 920)
L 03/14/2023 - 00:12:21: Invalid map handle provided (0)
L 03/14/2023 - 00:12:21: [AMXX] Displaying debug trace (plugin "gamecms_api_5.6.2.amxx", version "5.6.2")
L 03/14/2023 - 00:12:21: [AMXX] Run time error 10: native error (native "TrieSetArray")
L 03/14/2023 - 00:12:21: [AMXX] [0] gamecms_api_5.6.2.sma::FnQueryMemberDataHandler (line 926)
L 03/14/2023 - 00:12:21: [AMXX] [1] gamecms_api_5.6.2.sma::FnQueryMemberDataHandler (line 920)
L 03/14/2023 - 00:12:21: [MySQL] Thread worker was unable to start.
L 03/14/2023 - 00:12:21: [AMXX] Run time error 10 (plugin "csstats_mysql.amxx") (native "SQL_ThreadQuery") - debug not enabled!
L 03/14/2023 - 00:12:21: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 03/14/2023 - 00:12:21: Invalid array handle provided (0)
L 03/14/2023 - 00:12:21: [AMXX] Displaying debug trace (plugin "gamecms_api_5.6.2.amxx", version "5.6.2")
L 03/14/2023 - 00:12:21: [AMXX] Run time error 10: native error (native "ArraySize")
L 03/14/2023 - 00:12:21: [AMXX] [0] gamecms_api_5.6.2.sma::FnDeleteLoadedServices (line 1160)
L 03/14/2023 - 00:12:21: [AMXX] [1] gamecms_api_5.6.2.sma::FnLoadAdmins_post (line 368)
Список плагинов (amx_plugins)
[ 1] GameCMS_API 5.6.2 zhorzh78 gamecms_api_5.6 debug
[ 2] [190] Ultimate Gag 21.01.02BE SKAJIbnEJIb ultimate_gag.am running
[ 3] FreshBans 1.4.6b kanagava fresh_bans_146- running
[ 4] [190] Ad From Server 20.06.06 SKAJIbnEJIb ad_from_server. running
[ 5] [190] AdminChat RBS 22.11.15 SKAJIbnEJIb adminchat_rbs.a running
[ 6] [190] Chat RBS 20.10.24BE SKAJIbnEJIb chat_rbs.amxx running
[ 7] [190] AdminCmd RBS 22.11.15 SKAJIbnEJIb & AM admincmd_rbs.am running
[ 8] [190] CmdMenu RBS 20.06.06 SKAJIbnEJIb & AM cmdmenu_rbs.amx running
[ 9] [190] MapsMenu RBS 20.06.06 SKAJIbnEJIb & AM mapsmenu_rbs.am running
[ 10] Menus Front-End 20.06.06 SKAJIbnEJIb & AM amxmodmenu_rbs. running
[ 11] [190] Map Spawns Edito 20.06.06 SKAJIbnEJIb & iG MapSpawnsEditor running
[ 12] [190] StatsX Unlimited 22.12.08 SKAJIbnEJIb statsx_unlimite running
[ 13] [190] CsStats MySQL 22.11.15 SKAJIbnEJIb csstats_mysql.a running
[ 14] [190] StatsX RBS 21.03.23 SKAJIbnEJIb & AM statsx_rbs.amxx running
[ 15] [190] Stats Configurat 20.06.06 SKAJIbnEJIb & AM statscfg_rbs.am running
[ 16] [190] Skill ELO 22.11.15 SKAJIbnEJIb skill_elo.amxx running
[ 17] [190] Army Ranks Ultim 20.06.06 SKAJIbnEJIb army_ranks_ulti running
[ 18] ResetScore 1.1 Leo_[BH] resetscore_reap running
[ 19] [190] Kill Assist RBS 20.06.06 SKAJIbnEJIb & Di killassist_rbs. running
[ 20] [190] BonusMenu RBS 20.06.06 SKAJIbnEJIb bonusmenu_rbs.a running
[ 21] [190] Stimulation RBS 20.06.06 SKAJIbnEJIb stimulation_rbs running
[ 22] [190] AfkKicker RBS 22.11.15 SKAJIbnEJIb afkkicker_rbs.a running
[ 23] [ReAPI] AwpQuota 2.0 PAffAEJIkA + ApX AwpQuota.amxx running
[ 24] [190] No Team Flash 20.06.06 SKAJIbnEJIb NoTeamFlash.amx running
[ 25] [190] Damager RBS 20.06.06 SKAJIbnEJIb damager_rbs.amx running
[ 26] [190] Ultimate Flags 22.11.15 SKAJIbnEJIb ultimate_flags. running
[ 27] [190] PTB RBS 20.06.06 SKAJIbnEJIb ptb_rbs.amxx running
[ 28] [190] ESP RBS 20.06.06 SKAJIbnEJIb & Ko esp_rbs.amxx running
[ 29] Stop Change Name 1.0.0 ArKaNeMaN StopChangeName. running
[ 30] Custom Weapons API 0.7.3 ArKaNeMaN CustomWeaponsAP running
[ 31] [CWAPI][Abil] Refill A 1.0.0 ArKaNeMaN CWAPI_RefillAmm running
[ 32] [CWAPI][Ability] Picku 2.0.1 ArKaNeMaN CWAPI_Ability_P running
[ 33] [190] DemoRecorder RBS 20.06.06 SKAJIbnEJIb demorecorder_rb running
[ 34] Screen_Fade 0.0.5 Vaqtincha screen_fade.amx running
[ 35] [ReAPI] Block 'Fire in 0.0.1 sergrib reapi_block_FIT running
[ 36] Parachute Lite [ReAPI] 11.0 Leo_[BH] parachute_lite. running
[ 37] [ReAPI] Healthnade 0.0.5f F@nt0M + mx?! reapi_healthnad running
[ 38] [190] Warmup RBS 21.03.23 SKAJIbnEJIb warmup_rbs.amxx running
[ 39] Weapon Restrict 2.1 s1lent & neugomo weaponrest.amxx running
[ 40] [ReAPI] Knives System 1.0.8 bizon knives_market.a running
[ 41] Game Namer 1.1 NeuroToxin gamenamechanger running
[ 42] [190] Ultimate Models 21.03.23 SKAJIbnEJIb ultimate_models running
[ 43] [190] Ultimate Informe 21.03.23 SKAJIbnEJIb ultimate_inform running
[ 44] Map Manager: Core 3.1.0-6984 Mistrick map_manager_cor running
[ 45] Map Manager: Scheduler 0.1.7-6984 Mistrick map_manager_sch running
[ 46] Map Manager: Rtv 0.1.1-6984 Mistrick map_manager_rtv running
[ 47] Map Manager: Nominatio 0.1.3-6984 Mistrick map_manager_nom running
[ 48] Map Manager: BlockList 0.0.3-6984 Mistrick map_manager_blo running
[ 49] Map Manager: Online so 0.0.3-6984 Mistrick map_manager_onl running
[ 50] Map Manager: Effects 0.0.10-698 Mistrick map_manager_eff running
[ 51] Map Manager: Informer 0.0.5-6984 Mistrick map_manager_inf running
[ 52] Map Manager: Advanced 0.0.7-6984 Mistrick map_manager_adv running
[ 53] Revive Teammates: Core 0.6.0 ufame & Albertio rt_core.amxx running
[ 54] Revive Teammates: Plan 0.6.0 ufame & Albertio rt_planting.amx running
[ 55] Revive Teammates: Rest 0.6.0 ufame & Albertio rt_restrictions running
[ 56] Revive Teammates: Time 0.6.0 ufame & Albertio rt_timer.amxx running
[ 57] Revive Teammates: Effe 0.6.0 ufame & Albertio rt_effects.amxx running
[ 58] Revive Teammates: Soun 0.6.0 ufame & Albertio rt_sounds.amxx running
[ 59] [VipM][I] CWAPI 5.0.0-beta ArKaNeMaN VipM-I-Cwapi.am running
[ 60] [VipM][I] Default 5.0.0-beta ArKaNeMaN VipM-I-Default. running
[ 61] [VipM] Items Controlle 5.0.0-beta ArKaNeMaN VipM-ItemsContr running
[ 62] [VipM][L] Default 5.0.0-beta ArKaNeMaN VipM-L-Default. running
[ 63] [VipM][L] Logic 5.0.0-beta ArKaNeMaN VipM-L-Logic.am running
[ 64] [VipM][M] Spawn Health 5.0.0-beta ArKaNeMaN VipM-M-SpawnHea running
[ 65] [VipM][M] Spawn Items 5.0.0-beta ArKaNeMaN VipM-M-SpawnIte running
[ 66] [VipM][M] Vampire 5.0.0-beta ArKaNeMaN VipM-M-Vampire. running
[ 67] [VipM-M] Vip in TAB 5.0.0-beta ArKaNeMaN VipM-M-VipInTab running
[ 68] [VipM][M] Weapon Menu 5.0.0-beta ArKaNeMaN VipM-M-WeaponMe running
[ 69] [VipM] Misc 5.0.0-beta ArKaNeMaN VipM-Misc.amxx running
[ 70] [VipM] Modules Limiter 5.0.0-beta ArKaNeMaN VipM-ModulesLim running
[ 71] Vip Modular 5.0.0-beta ArKaNeMaN VipModular.amxx running
Список модулей (meta list)
[ 1] SafeNameAndChat RUN - SafeNameAndChat.so v1.2 Beta 3 ini ANY ANY
[ 2] Reunion RUN - reunion_mm_i386.so v0.1.92d ini Start Never
[ 3] ReAuthCheck RUN - reauthcheck_mm_i386.so v0.1.6 ini Start Never
[ 4] Revoice RUN - revoice_mm_i386.so v0.1.0.34 ini Start Never
[ 5] AMX Mod X RUN - amxmodx_mm_i386.so v1.9.0.5294 ini Start ANY
[ 6] Rechecker RUN - rechecker_mm_i386.so v2.5 ini Chlvl ANY
[ 7] ReSemiclip RUN - resemiclip_mm_i386.so v2.3.9 ini Chlvl ANY
[ 8] MySQL RUN - mysql_amxx_i386.so v1.9.0.5294 pl5 ANY ANY
[ 9] Engine RUN - engine_amxx_i386.so v1.9.0.5294 pl5 ANY ANY
[10] FakeMeta RUN - fakemeta_amxx_i386.so v1.9.0.5294 pl5 ANY ANY
[11] CSX RUN - csx_amxx_i386.so v1.9.0.5294 pl5 ANY ANY
[12] ReAPI RUN - reapi_amxx_i386.so v5.22.0.254-dev pl5 ANY Never
[13] CStrike RUN - cstrike_amxx_i386.so v1.9.0.5294 pl5 ANY ANY
[14] Ham Sandwich RUN - hamsandwich_amxx_i386.so v1.9.0.5294 pl5 ANY ANY

Вложения

  • api.png
    api.png
    76.4 KB · Просмотры: 3
Последнее редактирование:
С тем что у вас зависает сервер, все понятно- база виснет, плагины вешают сервер (не плагин API, а другие, работающие с БД), висит и сайт. Здесь- менять базу.
С ошибками в логах странная ситуация. Они говорят о том, что нет созданных массивов для записи данных из базы. Однако, они создаются до запросов в БД. Получается, что запрос в базу ушел, ответ пришел, а массивы не созданы. Сложно сказать, чей косяк, но код плагина "создал" массивы. Почему они не созданы фактически- вопрос. Даже ели избавиться от ошибок, плагин не будет работать корректно.
Для решения вопроса нужно использовать хорошую БД, как минимум. Если ситуация с ошибками повторится, будем искать решение. На данный момент его нет.
 
С тем что у вас зависает сервер, все понятно- база виснет, плагины вешают сервер (не плагин API, а другие, работающие с БД), висит и сайт. Здесь- менять базу.
С ошибками в логах странная ситуация. Они говорят о том, что нет созданных массивов для записи данных из базы. Однако, они создаются до запросов в БД. Получается, что запрос в базу ушел, ответ пришел, а массивы не созданы. Сложно сказать, чей косяк, но код плагина "создал" массивы. Почему они не созданы фактически- вопрос. Даже ели избавиться от ошибок, плагин не будет работать корректно.
Для решения вопроса нужно использовать хорошую БД, как минимум. Если ситуация с ошибками повторится, будем искать решение. На данный момент его нет.
Примерно месяц назад были точно такие же ошибки но всего 2 раза, после чего сменили хостинг где находилась БД и поставили ее на тот хостинг где и находится сам сервер. Спустя 20 дней эта ошибка уже появляется на постоянной основе. Вдс для бд достаточно хорошая и не самоучки все настраивали. Так что перепробовав вообще все возможные варианты создал тикет здесь. Проблема актуальна и ошибка эта становится постоянной изо дня в день
 
Последнее редактирование:
Вдс для бд достаточно хорошая и не самоучки все настраивали.
No comments..
Все все знают, все всё умеют:big_boss:
Спустя 20 дней эта ошибка уже появляется на постоянной основе
И тут пришла мысль все свалить на плагины? Т.е, работали-работали нормально и тут стало все висеть из-за них.. Я ответил, это все что в моих силах. Целить по постам на форуме я не умею, извините. Я могу, конечно, внести правки в плагин чтобы не появлялись сообщения в логах, но не вижу ни одной причины, чтобы вам этот плагин предоставить.
 
No comments..
Все все знают, все всё умеют:big_boss:

И тут пришла мысль все свалить на плагины? Т.е, работали-работали нормально и тут стало все висеть из-за них.. Я ответил, это все что в моих силах. Целить по постам на форуме я не умею, извините. Я могу, конечно, внести правки в плагин чтобы не появлялись сообщения в логах, но не вижу ни одной причины, чтобы вам этот плагин предоставить.
Базу грузит
скорость на порту не смотри, совпало так
 

Вложения

  • 23077C3F-477A-4507-AC71-0C378A9E57AB.png
    23077C3F-477A-4507-AC71-0C378A9E57AB.png
    431.5 KB · Просмотры: 36
  • e2f354c8d117d83f38db644a02401624.txt
    55.8 KB · Просмотры: 15
  • 7cd3f3197b4825ad0e7bb00c18f7a614.txt
    34.5 KB · Просмотры: 10
Последнее редактирование:
Последнее редактирование:
или он должен на кофейной гуще выяснить если он не знает таких тонкостей
Я конечно извиняюсь, но разве не владелец сервера должен разбираться в проблемах со своей виртуалкой? Его никто не заставлял без должных знаний арендовать виртуалку.
Более того, никто не будет на кофейной гуще гадать откуда у него чрезмерная нагрузка на мускул.
 
Назад
Сверху