diff --git a/game/addons/sourcemod/scripting/sb_bans.sp b/game/addons/sourcemod/scripting/sb_bans.sp index dfdcb3f..cd00027 100644 --- a/game/addons/sourcemod/scripting/sb_bans.sp +++ b/game/addons/sourcemod/scripting/sb_bans.sp @@ -447,14 +447,13 @@ public Action:Command_BanIp(client, args) client, iTargets, 1, - COMMAND_FILTER_CONNECTED|COMMAND_FILTER_NO_MULTI, + COMMAND_FILTER_CONNECTED|COMMAND_FILTER_NO_MULTI|COMMAND_FILTER_NO_BOTS, sTargets, sizeof(sTargets), tn_is_ml) > 0) { iTarget = iTargets[0]; - if(!IsFakeClient(iTarget) && CanUserTarget(client, iTarget)) - GetClientIP(iTarget, sIp, sizeof(sIp)); + GetClientIP(iTarget, sIp, sizeof(sIp)); } BanIdentity(sIp, iTime, BANFLAG_IP, sArg[iLen], "sm_banip", client); @@ -484,15 +483,13 @@ public Action:Command_AddBan(client, args) client, iTargets, 1, - COMMAND_FILTER_CONNECTED|COMMAND_FILTER_NO_MULTI, + COMMAND_FILTER_CONNECTED|COMMAND_FILTER_NO_MULTI|COMMAND_FILTER_NO_BOTS, sTargets, sizeof(sTargets), tn_is_ml) > 0) { iTarget = iTargets[0]; - - if(!IsFakeClient(iTarget) && CanUserTarget(client, iTarget)) - GetClientAuthString(iTarget, sAuth, sizeof(sAuth)); + GetClientAuthString(iTarget, sAuth, sizeof(sAuth), false); } BanIdentity(sAuth, iTime, BANFLAG_AUTHID, sArg[iLen], "sm_addban", client); @@ -515,6 +512,7 @@ public Action:Command_Unban(client, args) decl String:sArg[24]; GetCmdArgString(sArg, sizeof(sArg)); ReplaceString(sArg, sizeof(sArg), "\"", ""); + TrimString(sArg); RemoveBan(sArg, strncmp(sArg, "STEAM_", 6) == 0 ? BANFLAG_AUTHID : BANFLAG_IP, "sm_unban", client); return Plugin_Handled; @@ -640,6 +638,8 @@ public Action:Timer_ProcessQueue(Handle:timer, any:data) iType, sAuth, sIp, sEscapedName, sEscapedReason, iLength, g_iServerId, iAdminId, sAdminIp, iTime); SB_Query(Query_AddedFromQueue, sQuery, hPack); } + + CloseHandle(hQuery); } public Action:Timer_ProcessTemp(Handle:timer) @@ -739,7 +739,7 @@ public MenuHandler_Reason(Handle:menu, MenuAction:action, param1, param2) if(g_iBanTarget[param1] != -1) { decl String:sKickMessage[128]; - Format(sKickMessage, sizeof(sKickMessage), "%t", "Banned Check Site", g_sWebsite); + Format(sKickMessage, sizeof(sKickMessage), "%T", "Banned Check Site", g_iBanTarget[param1], g_sWebsite); BanClient(g_iBanTarget[param1], g_iBanTime[param1], BANFLAG_AUTO, sInfo, sKickMessage, "sm_ban", param1); } @@ -1171,7 +1171,14 @@ bool:HasLocalBan(const String:sAuth[], const String:sIp[] = "", bool:bType = tru sAuth[0] ? sAuth : "none", sIp[0] ? sIp : "none", GetTime(), GetTime()); new Handle:hQuery = SQL_Query(g_hSQLiteDB, sQuery); - return hQuery && SQL_GetRowCount(hQuery); + new bool:bResult = false; + if (hQuery != INVALID_HANDLE) + { + bResult = SQL_GetRowCount(hQuery); + CloseHandle(hQuery); + } + + return bResult; } InsertLocalBan(iType, const String:sAuth[], const String:sIp[], const String:sName[], const String:sReason[], iLength, iAdminId, const String:sAdminIp[], iTime, bool:bQueued = false) diff --git a/game/addons/sourcemod/scripting/sb_viewbans.sp b/game/addons/sourcemod/scripting/sb_viewbans.sp index 8932bb0..302de91 100644 --- a/game/addons/sourcemod/scripting/sb_viewbans.sp +++ b/game/addons/sourcemod/scripting/sb_viewbans.sp @@ -233,7 +233,7 @@ public MenuHandler_BanList(Handle:menu, MenuAction:action, param1, param2) GetMenuItem(menu, param2, sBanID, sizeof(sBanID)); // TODO: Deal with passing the target id new iTarget; - new Handle:hPanel = BuildPlayerBanInfoPanel(iTarget, StringToInt(sBanID)); + new Handle:hPanel = BuildPlayerBanInfoPanel(iTarget, StringToInt(sBanID), param1); SendPanelToClient(hPanel, param1, PanelHandler_BanInfo, MENU_TIME_FOREVER); CloseHandle(hPanel); } @@ -307,7 +307,7 @@ stock Handle:BuildPlayerMenu(iClient) { decl String:sTitle[128]; new Handle:hMenu = CreateMenu(MenuHandler_SelectPlayer); - Format(sTitle, sizeof(sTitle), "%t:", "Select player"); + Format(sTitle, sizeof(sTitle), "%T:", "Select player", iClient); SetMenuTitle(hMenu, sTitle); SetMenuExitBackButton(hMenu, true); AddTargetsToMenu2(hMenu, iClient, COMMAND_FILTER_NO_BOTS|COMMAND_FILTER_CONNECTED); @@ -320,7 +320,7 @@ stock Handle:BuildPlayerBanListMenu(iTarget) new Handle:hMenu = CreateMenu(MenuHandler_BanList); decl String:sTargetName[64], String:sTitle[128]; GetClientName(iTarget, sTargetName, sizeof(sTargetName)); - Format(sTitle, sizeof(sTitle), "%t:", "Player ban list", sTargetName); + Format(sTitle, sizeof(sTitle), "%T:", "Player ban list", iTarget, sTargetName); SetMenuTitle(hMenu, sTitle); SetMenuExitBackButton(hMenu, true); @@ -336,13 +336,13 @@ stock Handle:BuildPlayerBanListMenu(iTarget) return hMenu; } -stock Handle:BuildPlayerBanInfoPanel(iTarget, iBanID) +stock Handle:BuildPlayerBanInfoPanel(iTarget, iBanID, client = 0) { // Create the panel and set the panel options. new Handle:hPanel = CreatePanel(); decl String:sTargetName[64], String:sTitle[128]; GetClientName(iTarget, sTargetName, sizeof(sTargetName)); - Format(sTitle, sizeof(sTitle), "%t:", "Player ban info", sTargetName); + Format(sTitle, sizeof(sTitle), "%T:", "Player ban info", client, sTargetName); SetPanelTitle(hPanel, sTitle); // Create all the string variables we will need @@ -438,9 +438,8 @@ stock SendChatToAdmins(iTarget) stock PrintBans(iClient, iTarget) { - decl String:sAuth[64], String:sTargetName[64], String:sReplyBuffer[256]; + decl String:sAuth[64], String:sTargetName[64]; GetClientAuthString(iTarget, sAuth, sizeof(sAuth)); GetClientName(iTarget, sTargetName, sizeof(sTargetName)); - Format(sReplyBuffer, sizeof(sReplyBuffer), "%t", "Player bans", sTargetName, sAuth, g_iPlayerBans[iTarget]); - PrintToChat(iClient, "[SM] %s", sReplyBuffer); + PrintToChat(iClient, "[SM] %t", "Player bans", sTargetName, sAuth, g_iPlayerBans[iTarget]); } \ No newline at end of file