Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local term = require('term')
- local component = require('component')
- local event = require("event")
- local serialize = require("serialization").serialize
- local unserialize = require("serialization").unserialize
- local gpu = component.gpu
- local tunnel = component.tunnel
- buttons = {
- button1 = {x=3, y=7, reactor_n = 'reactor1', color = 0xff0000},
- button2 = {x=19, y=7, reactor_n = 'reactor2', color = 0xff0000},
- button3 = {x=35, y=7, reactor_n = 'reactor3', color = 0xff0000},
- button4 = {x=3, y=15, reactor_n = 'reactor4', color = 0xff0000},
- button5 = {x=19, y=15, reactor_n = 'reactor5', color = 0xff0000},
- button6 = {x=35, y=15, reactor_n = 'reactor6', color = 0xff0000},
- button7 = {x=3, y=23, reactor_n = 'reactor7', color = 0xff0000},
- button8 = {x=19, y=23, reactor_n = 'reactor8', color = 0xff0000},
- button9 = {x=35, y=23, reactor_n = 'reactor9', color = 0xff0000}
- }
- function take_data1()
- local mess = {event.pull('modem_message')}
- if mess[1] then
- tbl = unserialize(mess[6])
- end
- end
- function take_data()
- local mess = {event.pull(0.1,'modem_message')}
- if mess[1] then
- tbl = unserialize(mess[6])
- end
- end
- function send_data()
- message = serialize(tbl)
- tunnel.send(message)
- end
- function drawScreen()
- gpu.set(1,1,'Status: '..tbl.reactors.reactor1.status+tbl.reactors.reactor2.status+tbl.reactors.reactor3.status+tbl.reactors.reactor4.status+tbl.reactors.reactor5.status+tbl.reactors.reactor6.status+tbl.reactors.reactor7.status+tbl.reactors.reactor8.status+tbl.reactors.reactor9.status..'/9')
- gpu.set(1,3,'EU-Total: '..tbl.reactors.reactor1.EU_generate+tbl.reactors.reactor2.EU_generate+tbl.reactors.reactor3.EU_generate+tbl.reactors.reactor4.EU_generate+tbl.reactors.reactor5.EU_generate+tbl.reactors.reactor6.EU_generate+tbl.reactors.reactor7.EU_generate+tbl.reactors.reactor8.EU_generate+tbl.reactors.reactor9.EU_generate..' EU/T')
- gpu.set(1,5,'UU-Matter: '..tbl.tank.count_fluid..' Mb')
- end
- function drawButton()
- for k,v in pairs(buttons)do
- if tbl['reactors'][v.reactor_n]['status'] == 1 then
- v.color = 0x1eff00
- elseif tbl['reactors'][v.reactor_n]['status'] == 0 then
- v.color = 0xff0000
- end
- gpu.setBackground(v.color)
- gpu.fill(v.x,v.y,10,5,' ')
- gpu.setForeground(0x000000)
- gpu.set(v.x+1,v.y+3,'Heat:'..tbl['reactors'][v.reactor_n]['heat'])
- gpu.set(v.x+1,v.y+1,'EU:'..tbl['reactors'][v.reactor_n]['EU_generate'])
- gpu.setForeground(0xffffff)
- end
- gpu.setBackground(0x000000)
- end
- function searchButton()
- local table ={event.pull(0.1,"touch")}
- if table [1] then
- local x, y = table[3], table[4]
- for k,v in pairs(buttons) do
- if x >= v.x and x < v.x + 10+2 and y >= v.y and y < v.y + 5 then
- if tbl['reactors'][v.reactor_n]['status'] == 0 then
- tbl['reactors'][v.reactor_n]['status'] = 1
- elseif tbl['reactors'][v.reactor_n]['status'] == 1 then
- tbl['reactors'][v.reactor_n]['status'] = 0
- end
- end
- end
- send_data()
- end
- end
- term.clear()
- take_data1()
- drawButton()
- while true do
- take_data()
- drawScreen()
- searchButton()
- drawButton()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement