/c game.player.gui.screen.autocoder_gui.destroy() /c local player = game.player function autocoder_gui_open(player, entity) local screen = player.gui.screen if screen.autocoder_gui then --[[screen.autocoder_gui.destroy() game.print(game.tick..": destroying existing gui")--]] return end local main_frame = screen.add{ type="frame", name="autocoder_gui", caption={"Hello, world!"} } player.opened = nil game.print(game.tick..": gui closed by assigning nil") player.opened = main_frame if not main_frame.valid then game.print(game.tick..": what?") else game.print(game.tick..": main frame valid and opened") main_frame.style.size = { 385, 165 } main_frame.auto_center = true end end script.on_event(defines.events.on_gui_opened, function() autocoder_gui_open(player) end) script.on_event(defines.events.on_gui_closed, function() game.print(game.tick..": gui closed") end)