I have a quite simple and universal SpawnFunction in my base entity:
[CODE]
function ENT:SpawnFunction( ply, tr )
if !tr then if ValidEntity(ply) then tr = ply:GetEyeTraceNoCursor() else return end end
if ( !tr.Hit ) then return end
local SpawnPos = tr.HitPos + tr.HitNormal * 20
local ent = ents.Create( self.ClassName )
ent:SetPos( SpawnPos )
ent:Spawn()
ent:Activate()
ent:OnSpawn()
return ent
end
[/CODE]
When I create entities based on the entity with that function, they get the same SpawnFunction method (I can say that because when doing print(scripted_ents.Get(string classname)) for both entities (base and derived) in console I get the same exact function indexes - function: 03745628). Even though this must be correct, one thing does not happen. The derived entity does not spawn from the spawn menu. I wrote a small fix for that:
[CODE]
function ENT:SpawnFunction(ply)
return scripted_ents.Get(self.Base).SpawnFunction(self,ply)
end
[/CODE]
This works like charm, but doesn't meet my requirements. Is it possible to make the SpawnFunction of the derived entity auto-derive from its base?
Sorry, you need to Log In to post a reply to this thread.