Skip to content

Commit

Permalink
Move to use self:GetTable in parts, remove prints
Browse files Browse the repository at this point in the history
As this part only runs every 15 seconds it's not a real performance gain, it is still a better idea to do this sort of thing
Also eject the player if the alias was removed for any reason other than already leaving the seat
  • Loading branch information
LiddulBOFH committed May 28, 2024
1 parent 2d0b360 commit 28cdcfe
Showing 1 changed file with 9 additions and 4 deletions.
13 changes: 9 additions & 4 deletions lua/entities/acf_seat_alias/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -97,10 +97,13 @@ do -- Metamethods
end

function ENT:Think()
if not IsValid(self.Seat) then print("removing invalid alias") self:Remove() end
if self.Seat.AliasEnt ~= self then print("removing duplicate alias") self:Remove() end
if self:GetParent() ~= self.Seat then print("Somehow the alias has been detached") self.Seat:GetDriver():ExitVehicle() end
if self.Seat:GetModel() ~= self.Seat._Alias.SeatModel then print("Model mismatch") self.Seat:GetDriver():ExitVehicle() end
local SelfTbl = self:GetTable()
if not IsValid(SelfTbl.Seat) then self:Remove() end
if SelfTbl.Seat.AliasEnt ~= self then self:Remove() end

local Driver = SelfTbl.Seat:GetDriver()
if self:GetParent() ~= SelfTbl.Seat then if IsValid(Driver) then SelfTbl.Seat:GetDriver():ExitVehicle() else self:Remove() end end
if SelfTbl.Seat:GetModel() ~= SelfTbl.Seat._Alias.SeatModel then if IsValid(Driver) then SelfTbl.Seat:GetDriver():ExitVehicle() else self:Remove() end end

self:NextThink(CurTime() + 15)
return true
Expand Down Expand Up @@ -133,6 +136,8 @@ do -- Metamethods
function ENT:OnRemove()
if IsValid(self.Seat) and (self.Seat.AliasEnt == self) then
self.Seat.AliasEnt = nil

if IsValid(self.Seat:GetDriver()) then self.Seat:GetDriver():ExitVehicle() end
end
end
end
Expand Down

0 comments on commit 28cdcfe

Please sign in to comment.