• Faulty physics on test entity only when spawned using ents.Create
    4 replies, posted
Hi all, I'm having trouble spawning an entity I recently made. For my addon I need to spawn the entity using a tool. However, when I spawn it via ents.Create I can walk straight through it and I can't pick it up with the physgun or gravity gun, and bullets pass through it too. It does however respond to gravgun punting and collisions with other entities. I've created a smaller test-entity which only has the necessary parts to re-create the problem (acf_spawntest.lua): [code] AddCSLuaFile() DEFINE_BASECLASS( "base_wire_entity" ) ENT.Type = "anim" ENT.Base = "base_wire_entity" if SERVER then function MakeACF_SpawnTester(Owner, Pos, Angle, Id) local ent = ents.Create("acf_spawntest") if not ent:IsValid() then return false end ent:SetAngles(Angle) ent:SetPos(Pos) ent:Spawn() ent:SetPlayer(Owner) ent:SetOwner(Owner) ent.Owner = Owner ent:SetModelEasy("models/props_c17/light_decklight01_off.mdl") print("spawned") return ent end function ENT:SetModelEasy(mdl) self:SetModel( mdl ) self.Model = mdl self:PhysicsInit( SOLID_VPHYSICS ) self:SetMoveType( MOVETYPE_VPHYSICS ) self:SetSolid( SOLID_VPHYSICS ) local phys = self:GetPhysicsObject() if (phys:IsValid()) then phys:SetMass(1000) end end end [/code] You can use the following line in the console to invoke the 'MakeACF_SpawnTester' function: [code] lua_run local ply = player.GetAll()[1] MakeACF_SpawnTester(ply, ply:GetPos() + Vector(0,0,20), Angle(0,0,0)) [/code] I need to be able to spawn the entity without problems via MakeACF_SpawnTester because it's registered as a duplicator factory for the full entity. Here's a video displaying the symptoms: [vid]https://dl.dropboxusercontent.com/u/902553/ShareX/2015/09/2015-09-16_00-03-38.mp4[/vid] What's going wrong? Has anyone seen this before? Can anyone help?! Much thanks up front!
Pretty sure it's caused by SetOwner, which disables player collisions with the entity, among other things.
Completely correct, that sorted it out! As you can imagine, I was trying to set the entity's owner for prop protection systems and I thought that'd do it. What's the right way to do that? Do I even need to worry about that?
[QUOTE=Splambob;48690719]Completely correct, that sorted it out! As you can imagine, I was trying to set the entity's owner for prop protection systems and I thought that'd do it. What's the right way to do that? Do I even need to worry about that?[/QUOTE] The method is entirely dependent on the prop protection system you are using.
Alright, well I'll make an attempt using CPPI and if that isn't supported on the server then I guess it's up them. Thanks for all your help, that one had my mind blown for far too long.
Sorry, you need to Log In to post a reply to this thread.