Garry's Mod Wiki




Called when the weapon entity is created.

Entity:GetOwner will return NULL at this point because the weapon is not equpped by a player or NPC yet. Use WEAPON:Equip or WEAPON:Deploy if you need the owner to be valid.
This is sometimes not called clientside. You can work around this by setting a variable in Initialize and check if it exists in WEAPON:Think. See the example below.

Issue Tracker: 2732
This is not called serverside after a quicksave.

Issue Tracker: 3015


Sets the weapon hold type to SWEP.HoldType.

function SWEP:Initialize() self:SetHoldType( self.HoldType ) end


Fixes the function not being called clientside.

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