diff --git a/lua/entities/ent_peplus_grip.lua b/lua/entities/ent_peplus_grip.lua index 37df799..9b10181 100644 --- a/lua/entities/ent_peplus_grip.lua +++ b/lua/entities/ent_peplus_grip.lua @@ -13,6 +13,13 @@ ENT.PEPlus_Grip = true //lets us detect if an ent is an ent_peplus_grip withou +local setOwner +if SERVER then + setOwner = function(ent, ply) + if CPPI then ent:CPPISetOwner(ply) + else ent:SetOwner(ply) end + end +end function ENT:Initialize() @@ -200,6 +207,8 @@ duplicator.RegisterEntityClass("ent_peplus_grip", function(ply, data) local ent = ents.Create("ent_peplus_grip") if !ent:IsValid() then return false end + setOwner(ent, ply) + //duplicator.GenericDuplicatorFunction(ply, data) duplicator.DoGeneric(ent, data) duplicator.DoGenericPhysics(ent, ply, data) diff --git a/lua/entities/ent_peplus_sfx.lua b/lua/entities/ent_peplus_sfx.lua index ab240de..aadc290 100644 --- a/lua/entities/ent_peplus_sfx.lua +++ b/lua/entities/ent_peplus_sfx.lua @@ -17,6 +17,13 @@ ENT.Spawnable = false ENT.PEPlus_SpecialEffect = true +local setOwner +if SERVER then + setOwner = function(ent, ply) + if CPPI then ent:CPPISetOwner(ply) + else ent:SetOwner(ply) end + end +end function ENT:Initialize() @@ -37,6 +44,7 @@ function ENT:Initialize() constraint.PEPlus_SpecialEffect(self, g, ply) self:SetSpecialEffectDefaults() self.DoneFirstSpawn = true + setOwner(self, self:GetCreator()) end end @@ -315,6 +323,7 @@ if SERVER then local g = ents.Create("ent_peplus_grip") if !IsValid(g) then return false end g:Spawn() + setOwner(g, ply) local p = self:GetCPointPos() local _, bboxtop1 = ent:GetRotatedAABB(ent:GetCollisionBounds()) @@ -652,6 +661,7 @@ if SERVER then ent.IsBlank = self.IsBlank //this is the only functional change from base_entity's SpawnFunction; used by blank variants ent:Spawn() ent:Activate() + setOwner(ent, ply) ent:DropToFloor() ply:AddCount("peplus", ent)