From b569bd8f97195a89a4238c14f340bf423fb6d411 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Tue, 4 Dec 2007 01:17:15 +0000 Subject: [PATCH] - fixed a bug where sdktools did not filter @aim properly (:. immunity was ignored) - fixed a bug where sdktools did not check to see if g_pBinTools was valid before using it --HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401763 --- extensions/sdktools/extension.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/extensions/sdktools/extension.cpp b/extensions/sdktools/extension.cpp index 290ac288..3a8d7450 100644 --- a/extensions/sdktools/extension.cpp +++ b/extensions/sdktools/extension.cpp @@ -195,6 +195,11 @@ void SDKTools::SDK_OnAllLoaded() { SM_GET_LATE_IFACE(BINTOOLS, g_pBinTools); + if (!g_pBinTools) + { + return; + } + g_TEManager.Initialize(); s_TempEntHooks.Initialize(); s_SoundHooks.Initialize(); @@ -293,11 +298,20 @@ bool SDKTools::ProcessCommandTarget(cmd_target_info_t *info) int player_index; if ((player_index = GetClientAimTarget(pAdmin->GetEdict(), true)) < 1) { - return false; + info->reason = COMMAND_TARGET_NONE; + info->num_targets = 0; + return true; } IGamePlayer *pTarget = playerhelpers->GetGamePlayer(info->admin); + info->reason = playerhelpers->FilterCommandTarget(pAdmin, pTarget, info->flags); + if (info->reason != COMMAND_TARGET_VALID) + { + info->num_targets = 0; + return true; + } + info->targets[0] = player_index; info->num_targets = 1; info->reason = COMMAND_TARGET_VALID;