ENTITY/Initialize
From Garry's Mod
Contents |
Description
Called when the entity is created. This is called when you Entity:Spawn the custom entity.
This is called after ENTITY:SetupDataTables and GM:OnEntityCreated.
BUG |
This is sometimes not called clientside. You can work around this by setting a variable in Initialize and check if it exists in ENTITY:Think. See the example below. Issue Tracker: #2732 |
Examples
Example
Example Initialize function
function ENT:Initialize() -- Sets what model to use self:SetModel( "models/props/cs_assault/money.mdl" ) -- Sets what color to use self:SetColor( Color( 200, 255, 200 ) ) -- Physics stuff self:SetMoveType( MOVETYPE_VPHYSICS ) self:SetSolid( SOLID_VPHYSICS ) -- Init physics only on server, so it doesn't mess up physgun beam if ( SERVER ) then self:PhysicsInit( SOLID_VPHYSICS ) end -- Make prop to fall on spawn local phys = self:GetPhysicsObject() if ( IsValid( phys ) ) then phys:Wake() end end
Examples
Example
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