Advertisement
Guest User

recv

a guest
Sep 1st, 2014
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.06 KB | None | 0 0
  1. local loopTime = 2
  2. local SCREEN = nil;
  3. local periList = peripheral.getNames()
  4.  
  5. for i = 1, #periList do
  6. print("I have a "..peripheral.getType(periList[i]).." attached as \""..periList[i].."\".")
  7.  
  8. if peripheral.getType(periList[i]) == "monitor" then
  9. SCREEN = peripheral.wrap( periList[i] );
  10. end
  11.  
  12. end
  13.  
  14. if SCREEN == nil then
  15.  
  16. write("No screen found!");
  17. return;
  18. end
  19.  
  20. local WL_LOADED = os.loadAPI("remote_reactor.lua");
  21.  
  22. if WL_LOADED then
  23. _G["RR"] = _G["remote_reactor.lua"];
  24. _G["remote_reactor.lua"] = nil;
  25. end
  26.  
  27. write("Terrah remote API: " .. tostring( WL_LOADED ) .. "\n" );
  28.  
  29. for k,v in pairs( _G ) do
  30. if k == "RR" then
  31. print(k.." " .. tostring(v));
  32. end
  33. end
  34.  
  35. local function eventHandler()
  36.  
  37. while not finished do
  38. event, arg1, arg2, arg3, arg4, arg5 = os.pullEvent()
  39.  
  40. if event == "monitor_touch" then
  41. sideClick, xClick, yClick = arg1, math.floor(arg2), math.floor(arg3)
  42. elseif event == "char" then
  43. local ch = string.lower(arg1)
  44. end
  45. end
  46. end
  47.  
  48. local function pad(start, str, x)
  49.  
  50. if str == nil then
  51. return start;
  52. end
  53.  
  54. str = tostring(str);
  55.  
  56. str = str:gsub(" ", "" );
  57.  
  58. local ret = "";
  59.  
  60. local amount = (x-1) - ( start:len()+str:len() );
  61.  
  62. if amount > 0 then
  63.  
  64. for i = 0, amount do
  65. ret = ret .. " ";
  66. end
  67.  
  68. end
  69.  
  70. return start .. ret .. str;
  71. end
  72.  
  73. function main()
  74.  
  75. local x, y = SCREEN.getSize();
  76.  
  77. print("x: " .. x);
  78. print("y: " .. y);
  79.  
  80. while not finished do
  81.  
  82. term.redirect(SCREEN);
  83. --SCREEN.clear();
  84. SCREEN.setCursorPos(x,0);
  85. SCREEN.setTextColor(1024);
  86.  
  87. --print("~Terrah Swag Console");
  88. print( pad("FLATCHEST STATUS:", "JUSTICE!",x) );
  89. for i = 0, x do
  90. SCREEN.write("-");
  91. end
  92.  
  93. local proc_f = tonumber(RR.Call( "getFuelAmount" ));
  94. local proc_w = tonumber(RR.Call( "getWasteAmount" ));
  95.  
  96. if proc_f == nil then
  97. proc_f = 0;
  98. end
  99.  
  100. if proc_w == nil then
  101. proc_w = 0;
  102. end
  103.  
  104. local top = proc_w+proc_f;
  105. local depetion = (proc_w/top)*100;
  106.  
  107. local fuelrods = RR.Call( "getNumberOfControlRods" );
  108. local rodslevel = 0;
  109.  
  110. for i = 0, fuelrods-1 do
  111. rodslevel = rodslevel + tonumber(RR.Call( "getControlRodLevel", i ));
  112. end
  113.  
  114. local rodstaus = rodslevel/fuelrods;
  115.  
  116. SCREEN.setTextColor(1);
  117. SCREEN.setTextScale(1);
  118.  
  119. print( pad( "ENERGY:",RR.Call( "getEnergyStored" ) .. "/10000000",x) );
  120. print( pad("RF/t:", RR.Call( "getEnergyProducedLastTick" ),x ) );
  121. print( pad("Fuel/t:", RR.Call( "getFuelConsumedLastTick" ),x ) );
  122. print( pad("CASING HEAT:", RR.Call( "getCasingTemperature" ),x ) );
  123. print( pad("CORE HEAT:", RR.Call( "getFuelTemperature" ),x ) );
  124. print( pad("REACTIVITY:", RR.Call( "getFuelReactivity" ),x ) );
  125. print( pad("DEPLETED:", depetion .. "%",x ) );
  126. print( pad("FUELRODS (" ..fuelrods.. "):", rodstaus .. "%",x) );
  127. print( pad("ACTIVE:", RR.Call( "getActive" ):upper(),x) );
  128. --term.redirect(term.native);
  129. sleep(loopTime);
  130. end
  131. end
  132.  
  133. --paintutils.drawImage(paintutils.loadImage("kon"),0,0);
  134.  
  135. while not finished do
  136. parallel.waitForAny(eventHandler, main)
  137. sleep(loopTime)
  138. end
  139.  
  140. term.redirect(term.native);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement