diff --git a/lua/entities/gmod_track_udochka/init.lua b/lua/entities/gmod_track_udochka/init.lua index 3186b87..c6f9e1c 100644 --- a/lua/entities/gmod_track_udochka/init.lua +++ b/lua/entities/gmod_track_udochka/init.lua @@ -22,13 +22,15 @@ local function removeWeldBetweenEnts(ent1,ent2) end end function ENT:Use(ply) - if self.Coupled then + if IsValid(self.Coupled) then sound.Play("buttons/lever8.wav",self:GetPos()) removeWeldBetweenEnts(self,self.Coupled) removeWeldBetweenEnts(self.Coupled,self) + self.Coupled.Connectors[self.ConnectorID] = nil self.Timer = CurTime()+2 end + self.ConnectorID = nil self.Coupled = nil if ( self:IsPlayerHolding() ) then return end if ply.PickupObject then ply:PickupObject( self ) end diff --git a/lua/entities/gmod_train_bogey/init.lua b/lua/entities/gmod_train_bogey/init.lua index 37ce450..de2cc44 100644 --- a/lua/entities/gmod_train_bogey/init.lua +++ b/lua/entities/gmod_train_bogey/init.lua @@ -392,16 +392,10 @@ function ENT:CheckContact(pos,dir,id,cpos) traceEnt:SetPos(self:LocalToWorld(cpos)) traceEnt:SetAngles(self:GetAngles()) traceEnt.Coupled = self + traceEnt.ConnectorID = id sound.Play("udochka_connect.wav",traceEnt:GetPos()) self.Connectors[id] = traceEnt DropEntityIfHeld(traceEnt) - --[[timer.Simple(0,function() - if not IsValid(traceEnt) or not traceEnt:IsPlayerHolding() then return end - traceEnt:ForcePlayerDrop() - if traceEnt.LastPickup and traceEnt.LastPickup:IsPlayer() then - traceEnt.LastPickup:DropObject() - end - end)]] end end return false