Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --HD & IPJ's KickAss Reactor Control v1.0.0
- -------------------------------------------
- -- Abbreviations
- monitor = peripheral.wrap("monitor_25")
- t1 = peripheral.wrap("BigReactors-Turbine_18")
- r = peripheral.wrap("back")
- -- Colors
- headingColor = colors.blue
- inert = colors.yellow
- positive = colors.lime
- negative = colors.red
- backgroundColor = colors.gray
- windowColor = colors.lightGray
- local function drawMain() --Defines Main GUI
- -- Main window Heading
- monitor.setCursorPos(1,1)
- monitor.setBackgroundColor(backgroundColor)
- monitor.clear()
- monitor.setTextScale(2)
- monitor.setTextColor(headingColor)
- monitor.write(" HD & IPJ's KickAss Reactor Control")
- monitor.setCursorPos(1,2)
- monitor.write("- - - - - - - - - - - - - - - - - - -")
- -- Windows
- -- ReactorWindow
- local reactorWindow = window.create(monitor, 2, 3, 17, 7)
- reactorWindow.setBackgroundColor(windowColor)
- reactorWindow.setVisible(true)
- --heading
- monitor.setCursorPos(2,3)
- monitor.setTextColor(headingColor)
- monitor.setCursorPos(2,3)
- monitor.write("Reactor")
- monitor.setCursorPos(2,4)
- monitor.write("- - - -")
- end -- end drawMain()
- -- Reactor Functions
- -- Reactor Steam
- local function getSteam()
- steam = r.getHotFluidProducedLastTick()
- monitor.setCursorPos(2,5)
- monitor.setTextColor(inert)
- monitor.write("Steam: ")
- if steam < 9500 then
- monitor.setTextColor(negative)
- else
- monit.setTextColor(positive)
- end
- monitor.write(steam)
- monitor.setTextColor(inert)
- monitor.write"mB/t")
- os.sleep(1)
- end -- end Steam
- -- Reactor Core Temp
- local function getCoreTemp()
- coreTemp = r.getFuelTemperature()
- monitor.setCursorPos(2,6)
- monitor.setTextColor(inert)
- monitor.write("CoreTemp: "..math.floor(coreTemp).."C")
- getSteam()
- end
- -- Reactor Case Temp
- local function getCaseTemp()
- temp = r.getCasingTemperature()
- monitor.setCursorPos(2,7)
- monitor.setTextColor(inert)
- monitor.write("CaseTemp: "..math.floor(temp).."C")
- getCoreTemp()
- -- Rounding
- local function roundPercent(num, idp)
- local mult = 10^(idp or 0)
- return math.floor((num / 1782) * mult + 0.5 / mult)/10
- end
- -- Turbine Functions
- -- Turbine Speed
- local function getTurbineSpeed()
- drawMain()
- speed = t1.getRotorSpeed()
- monitor.setCursorPos(20,5)
- monitor.setTextColor(inert)
- monitor.write("Speed: ")
- if speed < 1750 then
- monitor.setTextColor(negative)
- else
- monitor.setTextColor(positve)
- end
- monitor.write(roundPercent(speed,3).."%")
- getCaseTemp()
- end -- end turbineSpeed
- -- Start Of execution
- drawMain()
- while true do
- getTurbineSpeed()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement