Revision Difference
WEAPON:Initialize#550101
<function name="Initialize" parent="WEAPON" type="hook">
<ishook>yes</ishook>
<description>
Called when the weapon entity is created.
<note><page>Entity:GetOwner</page> will return NULL at this point because the weapon is not equpped by a player or NPC yet. Use <page>WEAPON:Equip</page> or <page>WEAPON:Deploy</page> if you need the owner to be valid.</note>
⤶
<bug issue="2732">This is sometimes not called clientside. You can work around this by setting a variable in Initialize and check if it exists in <page>WEAPON:Think</page>. See the example below.</bug>⤶
<bug issue="3015">This is not called serverside after a quicksave.</bug>
</description>
<realm>Shared</realm>
<predicted>No</predicted>
</function>
<example>
<description>Sets the weapon hold type to SWEP.HoldType.</description>
<code>
function SWEP:Initialize()
self:SetHoldType( self.HoldType )
end
</code>
</example>
<example>
<description>Fixes the function not being called clientside.</description>
<code>
function SWEP:Initialize()
self.m_bInitialized = true
-- Other code
end
function SWEP:Think()
if (not self.m_bInitialized) then
self:Initialize()
end
-- Other code
end
</code>
</example>