From e1966dec9cc140d3f46f5a8c1b65ea0bd754865b Mon Sep 17 00:00:00 2001 From: Cooldude2606 <25043174+Cooldude2606@users.noreply.github.com> Date: Sun, 6 Sep 2026 00:27:14 +0100 Subject: [PATCH] Small format changes --- exp_scenario/module/control/spectate.lua | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/exp_scenario/module/control/spectate.lua b/exp_scenario/module/control/spectate.lua index b8cac7be..b8ccb29b 100644 --- a/exp_scenario/module/control/spectate.lua +++ b/exp_scenario/module/control/spectate.lua @@ -75,10 +75,13 @@ function Spectate.start_spectate(player) if spectating[player.index] or not player.character then return false end local character = player.character local opened = player.opened + player.set_controller{ type = defines.controllers.spectator } player.associate_character(character) spectating[player.index] = character + if opened then player.opened = opened end -- Changing controller closes the opened gui + return true end @@ -87,6 +90,7 @@ end function Spectate.stop_spectate(player) local character = spectating[player.index] spectating[player.index] = nil + if character and character.valid then local opened = player.opened player.teleport(character.position, character.surface) @@ -137,8 +141,12 @@ end local function update_following(data) local player, target = data.player, data.target local position = player.position - if data.stop or player.character or not target.valid - or position.x ~= data.position.x or position.y ~= data.position.y + if + data.stop + or player.character + or not target.valid + or position.x ~= data.position.x + or position.y ~= data.position.y then Spectate.stop_follow(player) else