dropych
|
Дата: Четверг, 10.08.2017, 12:04:36 | Сообщение # 1 |
|
Сообщений: 9
Репутация: 0 [ +/- ]
|
|
Помогите решить проблему. На сервере стоит competativ мод,на разминке tv_status показывает, что готв работает и готов к нчалу работы. Когда начинается матч, готв выключается. Без плагина, такой проблемы нет. Код плагина:
Код #pragma semicolon 1
#include <sourcemod> #include <geoip> #pragma tabsize 0 #define VERSION "1.0" Database g_hDatabase; public OnPluginStart(){ Database.Connect(ConnectCallBack, "wac"); 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_hDatabase = hDatabase; g_hDatabase.SetCharset("utf8"); } public OnClientPostAdminCheck(client) { if (!IsClientInGame(client)) { decl String:steamid[32],String:clientname[24]; decl String:ip[64]; GetClientName(client, clientname, sizeof(clientname)); GetClientIP(client, ip, sizeof(ip)); GetClientAuthId(client,AuthId_Steam2,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_updatesteamid, szQuery, GetClientUserId(client)); public Action:OnRoundStart(Handle:event, String:name[], bool:dontBroadcast) { for (new i = 1 ; i <= MaxClients; i++) { decl String:steamid[32],String:clientname[24];
decl String:ip[64]; GetClientName(i, clientname, sizeof(clientname)); GetClientIP(i, ip, sizeof(ip)); GetClientAuthId(i,AuthId_Steam2,steamid,sizeof(steamid)); char szQuery[256], szAuth[32]; GetClientAuthId(i, AuthId_Engine, szAuth, sizeof(szAuth), true); FormatEx(szQuery, sizeof(szQuery), "SELECT `ip` FROM `users` WHERE `ip` = '%s' AND online = 1;", ip); g_hDatabase.Query(SQL_Callback_checkonline, szQuery, GetClientUserId(i));
public void SQL_Callback_checkonline(Database hDatabase, DBResultSet results, const char[] sError, any iUserID) { if(sError[0]) { LogError("SQL_Callback_checkonline: %s", sError); return; } new iClient = GetClientOfUserId(iUserID); if (iClient > 0 && SQL_GetAffectedRows(results) < 1 && !IsClientInKickQueue(iClient)) { KickClient(iClient, "PFP-AC: LOST CONNECTION"); } } public void SQL_Callback_updatesteamid (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) < 1 && !IsClientInKickQueue(iClient)) { } }
|
|
| |