Revision Difference
ENTITY:RenderOverride#553001
<function name="RenderOverride" parent="ENTITY" type="hook">
<ishook>yes</ishook>⤶
<description>
Called instead of the engine drawing function of the entity. This hook works on any entity (scripted or not) it is applied on.
This does not work on "physgun_beam", use <page>GM:DrawPhysgunBeam</page> instead.
<note>As a downside of this implementation, only one RenderOverride may be applied at a time.</note>
<bug issue="3292">Drawing a viewmodel in this function will cause <page>GM:PreDrawViewModel</page>, <page>WEAPON:PreDrawViewModel</page>, <page>WEAPON:ViewModelDrawn</page>, <page>GM:PostDrawViewModel</page>, and <page>WEAPON:PostDrawViewModel</page> to be called twice.</bug>
<bug issue="3299">This is called before PrePlayerDraw for players. If this function exists at all on a player, their worldmodel will always be rendered regardless of PrePlayerDraw's return.</bug>
</description>
<realm>Client</realm>
<predicted>No</predicted>⤶
<args>
<arg name="flags" type="number">The <page text="STUDIO_">Enums/STUDIO</page> flags for this render operation.</arg>
</args>
</function>
<example>
<description>Set the entity the player is looking at to not draw if the player is its owner.</description>
<code>
local function DontDrawMe( self )
if ( self:GetOwner() == LocalPlayer() ) then
return
end
self:DrawModel()
end
local pickent = LocalPlayer():GetEyeTrace().Entity
if ( IsValid( pickent ) ) then
pickent.RenderOverride = DontDrawMe
end
</code>
</example>