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;