From f5457f42abbae83eacf4aba289fe527a7daf9059 Mon Sep 17 00:00:00 2001 From: Darsu <95997959+dar-su@users.noreply.github.com> Date: Fri, 28 Feb 2025 20:00:52 +0700 Subject: [PATCH] validity checks + better Hook_BlockTPIK --- lua/weapons/arc9_base/cl_light.lua | 1 + lua/weapons/arc9_base/cl_tpik.lua | 3 ++- lua/weapons/arc9_base/cl_vm.lua | 8 ++++++-- lua/weapons/arc9_base/cl_vmposition.lua | 1 + 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lua/weapons/arc9_base/cl_light.lua b/lua/weapons/arc9_base/cl_light.lua index c63b9cd7..413dee12 100644 --- a/lua/weapons/arc9_base/cl_light.lua +++ b/lua/weapons/arc9_base/cl_light.lua @@ -195,6 +195,7 @@ function SWEP:DrawFlashlightsVM() local owner = self:GetOwner() local lp = LocalPlayer() + if !IsValid(owner) then return end local eyepos = owner:EyePos() local anydrawn = false diff --git a/lua/weapons/arc9_base/cl_tpik.lua b/lua/weapons/arc9_base/cl_tpik.lua index 391dd527..e643688c 100644 --- a/lua/weapons/arc9_base/cl_tpik.lua +++ b/lua/weapons/arc9_base/cl_tpik.lua @@ -22,7 +22,6 @@ function SWEP:ShouldTPIK() -- if self:GetSafe() then return end -- if self:GetBlindFireAmount() > 0 then return false end if lp == owner and !owner:ShouldDrawLocalPlayer() then return end - if self:RunHook("Hook_BlockTPIK") then return end -- if !arc9_tpik:GetBool() then return false end local should = false @@ -32,6 +31,8 @@ function SWEP:ShouldTPIK() else should = arc9_tpik:GetBool() end + + if self:RunHook("Hook_BlockTPIK") then should = false end local wm = self:GetWM() if IsValid(wm) and wm.slottbl then diff --git a/lua/weapons/arc9_base/cl_vm.lua b/lua/weapons/arc9_base/cl_vm.lua index ec2fdc4c..f0470417 100644 --- a/lua/weapons/arc9_base/cl_vm.lua +++ b/lua/weapons/arc9_base/cl_vm.lua @@ -133,6 +133,7 @@ function SWEP:PreDrawViewModel() local bipodamount = self:GetBipodAmount() local vm = self:GetVM() + if !IsValid(vm) then return end if self.HasSightsPoseparam then vm:SetPoseParameter("sights", math.max(sightamount, bipodamount, custdelta)) @@ -203,13 +204,16 @@ function SWEP:ViewModelDrawn() self:DrawFlashlightsVM() self:DrawLasers(false) - self:GetVM():SetMaterial("") + local vm = self:GetVM() + if !IsValid(vm) then return end + vm:SetMaterial("") for ind = 0, 31 do - self:GetVM():SetSubMaterial(ind, "") + vm:SetSubMaterial(ind, "") end end function SWEP:PostDrawViewModel() + if !IsValid(self:GetVM()) then return end local inrt = ARC9.RTScopeRender local newmzpcfs = {} diff --git a/lua/weapons/arc9_base/cl_vmposition.lua b/lua/weapons/arc9_base/cl_vmposition.lua index 7a71fffe..97af47eb 100644 --- a/lua/weapons/arc9_base/cl_vmposition.lua +++ b/lua/weapons/arc9_base/cl_vmposition.lua @@ -528,6 +528,7 @@ local arc9Fov = GetConVar("arc9_fov") function SWEP:GetViewModelFOV() local owner = self:GetOwner() + if !IsValid(owner) then return end local ownerfov = owner:GetFOV() local convarfov = arc9Fov:GetInt() -- local curTime = UnPredictedCurTime()