Use network bool to inform the client of disguise status. Needed for draw model hiding on client-side.

master
Icedream 2013-12-21 04:41:01 +01:00
parent d54d2465e1
commit edd3f9d9f0
2 changed files with 7 additions and 2 deletions

View File

@ -175,6 +175,7 @@ function SWEP:Disguise(entity)
owner:EmitSound("Disguiser.Disguise")
// We're now disguised!
victim:SetNetworkedBool("isDisguised", true)
self.DisguisedAs = entity:GetModel()
owner.Disguised = true
@ -228,6 +229,7 @@ function SWEP:Undisguise()
owner:EmitSound("Disguiser.Undisguise")
// We're no longer disguised
victim:SetNetworkedBool("isDisguised", false)
self:DisableThirdPerson(owner)
owner:DrawViewModel(true)
owner:DrawWorldModel(true)
@ -331,6 +333,7 @@ end
hook.Add("PlayerDeath", "Disguiser.ThirdPersonDeath", function(victim, inflictor, killer)
victim:SetNetworkedBool("thirdperson", false)
victim:SetNetworkedBool("isDisguised", false)
local ventity = victim:GetViewEntity()
// Escape third-person mode

View File

@ -150,6 +150,8 @@ function SWEP:DoShootEffect(hitpos, hitnormal, entity, physbone, bFirstTimePredi
end
function SWEP:Deploy()
self.Owner:DrawViewModel(!self.DisguisedAs)
if SERVER then self.Owner:DrawWorldModel(!self.DisguisedAs) end
self.Owner:DrawViewModel(!self.Owner:GetNWBool("isDisguised", false))
if !!self.Owner:DrawWorldModel then
self.Owner:DrawWorldModel(!self.Owner:GetNWBool("isDisguised", false))
end
end