Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local loopTime = 2
- local SCREEN = nil;
- local periList = peripheral.getNames()
- for i = 1, #periList do
- print("I have a "..peripheral.getType(periList[i]).." attached as \""..periList[i].."\".")
- if peripheral.getType(periList[i]) == "monitor" then
- SCREEN = peripheral.wrap( periList[i] );
- end
- end
- if SCREEN == nil then
- write("No screen found!");
- return;
- end
- local WL_LOADED = os.loadAPI("remote_reactor.lua");
- if WL_LOADED then
- _G["RR"] = _G["remote_reactor.lua"];
- _G["remote_reactor.lua"] = nil;
- end
- write("Terrah remote API: " .. tostring( WL_LOADED ) .. "\n" );
- for k,v in pairs( _G ) do
- if k == "RR" then
- print(k.." " .. tostring(v));
- end
- end
- local function eventHandler()
- while not finished do
- event, arg1, arg2, arg3, arg4, arg5 = os.pullEvent()
- if event == "monitor_touch" then
- sideClick, xClick, yClick = arg1, math.floor(arg2), math.floor(arg3)
- elseif event == "char" then
- local ch = string.lower(arg1)
- end
- end
- end
- local function pad(start, str, x)
- if str == nil then
- return start;
- end
- str = tostring(str);
- str = str:gsub(" ", "" );
- local ret = "";
- local amount = (x-1) - ( start:len()+str:len() );
- if amount > 0 then
- for i = 0, amount do
- ret = ret .. " ";
- end
- end
- return start .. ret .. str;
- end
- function main()
- local x, y = SCREEN.getSize();
- print("x: " .. x);
- print("y: " .. y);
- while not finished do
- term.redirect(SCREEN);
- --SCREEN.clear();
- SCREEN.setCursorPos(x,0);
- SCREEN.setTextColor(1024);
- --print("~Terrah Swag Console");
- print( pad("FLATCHEST STATUS:", "JUSTICE!",x) );
- for i = 0, x do
- SCREEN.write("-");
- end
- local proc_f = tonumber(RR.Call( "getFuelAmount" ));
- local proc_w = tonumber(RR.Call( "getWasteAmount" ));
- if proc_f == nil then
- proc_f = 0;
- end
- if proc_w == nil then
- proc_w = 0;
- end
- local top = proc_w+proc_f;
- local depetion = (proc_w/top)*100;
- local fuelrods = RR.Call( "getNumberOfControlRods" );
- local rodslevel = 0;
- for i = 0, fuelrods-1 do
- rodslevel = rodslevel + tonumber(RR.Call( "getControlRodLevel", i ));
- end
- local rodstaus = rodslevel/fuelrods;
- SCREEN.setTextColor(1);
- SCREEN.setTextScale(1);
- print( pad( "ENERGY:",RR.Call( "getEnergyStored" ) .. "/10000000",x) );
- print( pad("RF/t:", RR.Call( "getEnergyProducedLastTick" ),x ) );
- print( pad("Fuel/t:", RR.Call( "getFuelConsumedLastTick" ),x ) );
- print( pad("CASING HEAT:", RR.Call( "getCasingTemperature" ),x ) );
- print( pad("CORE HEAT:", RR.Call( "getFuelTemperature" ),x ) );
- print( pad("REACTIVITY:", RR.Call( "getFuelReactivity" ),x ) );
- print( pad("DEPLETED:", depetion .. "%",x ) );
- print( pad("FUELRODS (" ..fuelrods.. "):", rodstaus .. "%",x) );
- print( pad("ACTIVE:", RR.Call( "getActive" ):upper(),x) );
- --term.redirect(term.native);
- sleep(loopTime);
- end
- end
- --paintutils.drawImage(paintutils.loadImage("kon"),0,0);
- while not finished do
- parallel.waitForAny(eventHandler, main)
- sleep(loopTime)
- end
- term.redirect(term.native);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement