• local ents.Create - NULL entity
    2 replies, posted
Hello, So I'm trying to remove an entity once created, this is example code I'm using: [CODE]function ENT:Initialize() self:SetModel( "models/props_building_details/Storefront_Template001a_Bars.mdl" ) self:PhysicsInit( SOLID_VPHYSICS ) self:SetMoveType( MOVETYPE_VPHYSICS ) self:SetSolid( SOLID_VPHYSICS ) self:SetUseType( SIMPLE_USE ) local phys = self:GetPhysicsObject() if( IsValid(phys) ) then phys:Wake() phys:SetMass(30) end self.Opened = true end function ENT:Use( activator, caller ) if caller:IsPlayer() and caller:IsValid() then if( self.Opened ) then self.Opened = false timer.Simple( 0.25, function() local newprop = ents.Create( "prop_physics" ) newprop:SetModel( "models/props_c17/fence01b.mdl" ) newprop:SetPos( self:GetPos() ) newprop:SetAngles( self:GetAngles() ) newprop:SetMoveType( MOVETYPE_NONE ) newprop:PhysicsInit( SOLID_NONE ) newprop:SetSolid( SOLID_VPHYSICS ) newprop:Spawn() local phys = newprop:GetPhysicsObject() if( IsValid(phys) ) then phys:Wake() phys:EnableMotion(false) end end) elseif( !self.Opened ) then newprop:Remove() self.Opened = true end end end[/CODE] I know it's to do with the local variable, but if I remove that then if I spawn more than one and use them it will mess up and not work properly because it's Global. Any help would be appreciated. Error is: [CODE][ERROR] addons/guy/lua/entities/doors/init.lua:49: Tried to use a NULL entity! 1. Remove - [C]:-1 2. unknown - addons/guy/lua/entities/doors/init.lua:49 [/CODE] This is the newprop:Remove() line
Just declare the variable outside then? [CODE] function ENT:Use( activator, caller ) if caller:IsPlayer() and caller:IsValid() then local newprop -- This sets it to nil for now if( self.Opened ) then self.Opened = false timer.Simple( 0.25, function() newprop = ents.Create( "prop_physics" ) newprop:SetModel( "models/props_c17/fence01b.mdl" ) newprop:SetPos( self:GetPos() ) newprop:SetAngles( self:GetAngles() ) newprop:SetMoveType( MOVETYPE_NONE ) newprop:PhysicsInit( SOLID_NONE ) newprop:SetSolid( SOLID_VPHYSICS ) newprop:Spawn() local phys = newprop:GetPhysicsObject() if( IsValid(phys) ) then phys:Wake() phys:EnableMotion(false) end end) elseif( !self.Opened ) then newprop:Remove() self.Opened = true end end end [/CODE]
For fucks sake, why am I always dumb... It's always something obvious. Thanks man... solved.
Sorry, you need to Log In to post a reply to this thread.