From ecb77db28bd149bde87825c084ff74e96c4310cd Mon Sep 17 00:00:00 2001 From: icedream Date: Sat, 21 Dec 2013 10:04:23 +0100 Subject: [PATCH] Hide model properly by using a Think hook. Fixes #5. --- lua/weapons/disguiser/sh_init.lua | 32 ++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/lua/weapons/disguiser/sh_init.lua b/lua/weapons/disguiser/sh_init.lua index 82d17e2..b2858c7 100644 --- a/lua/weapons/disguiser/sh_init.lua +++ b/lua/weapons/disguiser/sh_init.lua @@ -149,9 +149,39 @@ function SWEP:DoShootEffect(hitpos, hitnormal, entity, physbone, bFirstTimePredi end -function SWEP:Deploy() +function SWEP:PreDrawViewModel(vm, ply, wep) + if self.Owner:GetNWBool("isDisguised", false) then + vm:SetRenderMode(RENDERMODE_TRANSALPHA) + vm:SetColor(Color(0, 0, 0, 0)) + else + vm:SetRenderMode(RENDERMODE_TRANSALPHA) + vm:SetColor(Color(255,255,255,255)) + end +end + +function SWEP:DrawWorldModel() + if !self.Owner:GetNWBool("isDisguised", false) then + self.Weapon:DrawModel() + end +end + +function SWEP:DrawWorldModelTranslucent() + if !self.Owner:GetNWBool("isDisguised", false) then + self.Weapon:DrawModel() + end +end + +function SWEP:DrawIfNotDisguised() self.Owner:DrawViewModel(!self.Owner:GetNWBool("isDisguised", false)) if !!self.Owner.DrawWorldModel then self.Owner:DrawWorldModel(!self.Owner:GetNWBool("isDisguised", false)) end +end + +function SWEP:Think() + self:DrawIfNotDisguised() +end + +function SWEP:Deploy() + self:DrawIfNotDisguised() end \ No newline at end of file