Как сделать кик игрока, если запрос в бд не сработал
код:
Код
public OnClientPostAdminCheck(client)
{
if (!IsFakeClient(client))
{
decl String:steamid[32],String:clientname[24];
decl String:country[45];
decl String:ip[64];
GetClientName(client, clientname, sizeof(clientname));
GetClientIP(client, ip, sizeof(ip));
GeoipCountry(ip, country, sizeof(country));
GetClientAuthString(client,steamid,sizeof(steamid));
char szQuery[256], szAuth[32];
GetClientAuthId(client, AuthId_Engine, szAuth, sizeof(szAuth), true);
FormatEx(szQuery, sizeof(szQuery), "UPDATE `users` SET `steamid` = '%s' WHERE `ip` = '%s';", steamid, ip); // Формируем запрос
g_hDatabase.Query(SQL_Callback_SelectClient, szQuery, GetClientUserId(client));
}
}
public void SQL_Callback_SelectClient(Database hDatabase, DBResultSet results, const char[] sError, any iUserID) // Обратный вызов
{
if(sError[0]) // Если произошла ошибка
{
LogError("SQL_Callback_SelectClient: %s", sError); // Выводим в лог
return; // Прекращаем выполнение ф-и
}
int Client = GetClientOfUserId(iUserID);
if(Client)
{
// Игрок всё еще на сервере
}
}