remote.add_interface("console",{ show=function() local c=game.player.gui.left.add{type='frame',name='console',direction='horizontal'} local t=c.add{type='textfield',name='line'} c.add{type='button',name='<',caption='<'} end, }) local second=false handler=function(event) local i=event.element.player_index local p=game.players[] if p.gui.left.console['<']==event.element then if second then second=false return end local s=p.gui.left.console.line.text loadstring(s)() game.write_file('console.log',s..'\n',true,i) second=true end end script=setmetatable({ real=script, on_event=function(n,f) if n==defines.events.on_gui_click then if f then script.real.on_event(n,function(e) handler(e) f(e) end) else script.real.on_event(n,handler) end else script.real.on_event(n,f) end end },{__index=script}) script.on_event(defines.events.on_gui_click,handler)