mirror of
https://github.com/PHIDIAS0303/ExpCluster.git
synced 2025-12-31 13:01:39 +09:00
Hopefully fixed cam desync this time
This commit is contained in:
@@ -89,12 +89,13 @@ Event.register(-1,function(event)
|
|||||||
end):on_event(defines.events.on_player_respawned,function(self,event)
|
end):on_event(defines.events.on_player_respawned,function(self,event)
|
||||||
if self.data.players[event.player_index] then
|
if self.data.players[event.player_index] then
|
||||||
local remove = {}
|
local remove = {}
|
||||||
|
local player = Game.get_player(event)
|
||||||
for index,cam in pairs(self.data.players[event.player_index]) do
|
for index,cam in pairs(self.data.players[event.player_index]) do
|
||||||
if not cam.valid then table.insert(remove,index)
|
if cam.valid then table.insert(self.data.cams,{cam=cam,entity=player.character,surface=player.surface})
|
||||||
else Gui.cam_link{cam=cam,entity=Game.get_player(event).character} end
|
else table.insert(remove,index) end
|
||||||
end
|
end
|
||||||
for _,index in pairs(remove) do
|
for n,index in pairs(remove) do
|
||||||
table.remove(self.data.players[event.player_index],index)
|
table.remove(self.data.players[event.player_index],index-n+1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end):open()
|
end):open()
|
||||||
@@ -160,12 +161,11 @@ function Gui.cam_link(data)
|
|||||||
return data.cam
|
return data.cam
|
||||||
end
|
end
|
||||||
|
|
||||||
Event.register(-1,function(event)
|
|
||||||
if not Server or not Server._thread then
|
|
||||||
Event.register(defines.events.on_tick, function(event)
|
Event.register(defines.events.on_tick, function(event)
|
||||||
if Gui.left and ((event.tick+10)/(3600*game.speed)) % 15 == 0 then
|
if Gui.left and ((event.tick+10)/(3600*game.speed)) % 15 == 0 then
|
||||||
Gui.left.update()
|
Gui.left.update()
|
||||||
end
|
end
|
||||||
|
if Server and Server._thread then return end
|
||||||
if Gui._global().cams and is_type(Gui._global().cams,'table') and #Gui._global().cams > 0 then
|
if Gui._global().cams and is_type(Gui._global().cams,'table') and #Gui._global().cams > 0 then
|
||||||
local update = 4
|
local update = 4
|
||||||
if Gui._global().cam_index >= #Gui._global().cams then Gui._global().cam_index = 1 end
|
if Gui._global().cam_index >= #Gui._global().cams then Gui._global().cam_index = 1 end
|
||||||
@@ -183,18 +183,18 @@ Event.register(-1,function(event)
|
|||||||
end)
|
end)
|
||||||
|
|
||||||
Event.register(defines.events.on_player_respawned,function(event)
|
Event.register(defines.events.on_player_respawned,function(event)
|
||||||
|
if Server and Server._thread then return end
|
||||||
if Gui._global().players and is_type(Gui._global().players,'table') and #Gui._global().players > 0 and Gui._global().players[event.player_index] then
|
if Gui._global().players and is_type(Gui._global().players,'table') and #Gui._global().players > 0 and Gui._global().players[event.player_index] then
|
||||||
local remove = {}
|
local remove = {}
|
||||||
|
local player = Game.get_player(event)
|
||||||
for index,cam in pairs(Gui._global().players[event.player_index]) do
|
for index,cam in pairs(Gui._global().players[event.player_index]) do
|
||||||
if not cam.valid then table.insert(remove,index)
|
if cam.valid then table.insert(Gui._global().cams,{cam=cam,entity=player.character,surface=player.surface})
|
||||||
else Gui.cam_link{cam=cam,entity=Game.get_player(event).character} end
|
else table.insert(remove,index) end
|
||||||
end
|
end
|
||||||
for _,index in pairs(remove) do
|
for n,index in pairs(remove) do
|
||||||
table.remove(Gui._global().players[event.player_index],index)
|
table.remove(Gui._global().players[event.player_index],index-n+1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
end
|
|
||||||
end)
|
|
||||||
|
|
||||||
return Gui
|
return Gui
|
||||||
Reference in New Issue
Block a user