Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Запрос в бд в начале раунда
Запрос в бд в начале раунда
dropych Дата: Понедельник, 24.07.2017, 00:14:55 | Сообщение # 1
Сообщений: 9
Репутация: 0 [ +/- ]
Не компилируются, с ошибкой function prototypes do not match
смысл кода, в начале раунда отправлять запрос в бд. Где ошибка?

Код

public OnPluginStart()
{
  Database.Connect(ConnectCallBack, "wac"); // sp_lessons Имя секции в databases.cfg
   HookEvent("round_start", OnRoundStart, EventHookMode_PostNoCopy);
}
public void ConnectCallBack(Database hDatabase, const char[] sError, any data) // Пришел результат соеденения
{
    if (hDatabase == null)    // Соединение  не удачное
    {
  SetFailState("Database failure: %s", sError); // Отключаем плагин
  return;
    }

    g_hDatabase2 = hDatabase; // Присваиваем глобальной переменной соеденения значение текущего соеденения
    g_hDatabase2.SetCharset("utf8"); // Устанавливаем кодировку
}
public Action:OnRoundStart(Handle:event, String:name[], bool:dontBroadcast, client)
{
    for (new i = 1; i<MaxClients; i++)
    {
    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), "SELECT `ip` FROM `bans` WHERE `ip` = '%s'", ip);    // Формируем запрос
        g_hDatabase2.Query(SQL_Callback_SelectClient, szQuery, GetClientUserId(client));
  
    }
    }
}
p
public void SQL_Callback_SelectClient(Database hDatabase, DBResultSet results, const char[] sError, any iUserID) // Обратный вызов
    
{
    if(sError[0]) // Если произошла ошибка
    {
       
    LogError("SQL_Callback_SelectClient: %s", sError); // Выводим в лог
        return; // Прекращаем выполнение ф-и
    }
    new iClient = GetClientOfUserId(iUserID);
    if (iClient > 0 && SQL_GetAffectedRows(results) > 0 && !IsClientInKickQueue(iClient))
    
    
{

   KickClient(iClient, "Yoy have been banned for Cheats!");
}
   
   
}
 
TEIN Дата: Суббота, 29.07.2017, 17:38:50 | Сообщение # 2
Сообщений: 563
Репутация: 78 [ +/- ]
1. public Action:OnRoundStart(Handle:event, String:name[], bool:dontBroadcast, client)
, client убери

2. i<MaxClients
= добавить

3. ну и соотв client -> i в OnRoundStart

ну это, что в глаза бросилось, остальное хз
 
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Запрос в бд в начале раунда
  • Страница 1 из 1
  • 1
Поиск: