Revision Difference
ENTITY:OnRemove#527319
<function name="OnRemove" parent="ENTITY" type="hook">
<ishook>yes</ishook>
<description>
Called when the entity is about to be removed.
See also <page>Entity:CallOnRemove</page>, which can even be used on engine (non-Lua) entities.
## Clientside behaviour remarks
This hook may be called at odd times (when entity has actually not yet been removed from the server). This happens during fullupdate with the <page>ENTITY:Initialize</page> function not being called even when the entity reappears.
You can debug this behaviour by enabling cheats and running **cl_fullupdate** on the client.
<page>GM:NotifyShouldTransmit</page> can be used to circumvent this problem. <page>ENTITY:Think</page> can also be used to detect that the entity has reappeared. You may reinitialize any necessary data in these hooks.
</description>
<realm>Shared</realm>
<predicted>No</predicted>
</function>
⤶
⤶
<example>⤶
<description>Create an explosion when the entity will be removed. To create an entity, you can read <page>ents.Create</page>.</description>⤶
<code>⤶
function ENT:OnRemove()⤶
local explosion = ents.Create( "env_explosion" ) -- The explosion entity⤶
explosion:SetPos( self:GetPos() ) -- Put the position of the explosion at the position of the entity⤶
explosion:Spawn() -- Spawn the explosion⤶
explosion:SetKeyValue( "iMagnitude", "50" ) -- the magnitude of the explosion⤶
explosion:Fire( "Explode", 0, 0 ) -- explode⤶
end⤶
</code>⤶
⤶
</example>