Advertisement
BemJ77

Backup V1

Jul 3rd, 2022
1,173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local mon = peripheral.wrap("left")
  2. local son = peripheral.wrap("top")
  3. term.redirect(mon)
  4. local reactor
  5. local link = false
  6. local wifi = peripheral.wrap("right")
  7. wifi.open(16)
  8.  
  9. local function reset()
  10.     term.setBackgroundColor(colors.black)
  11.     term.clear()
  12. end
  13.  
  14. local function energie()
  15.     term.setBackgroundColor(colors.black)
  16.     term.setCursorPos(2,23)
  17.     local event, modemSide, senderChannel, replyChannel, message, senderDistance = os.pullEvent("modem_message")
  18.     term.write("Stock Energie : "..message.." %")
  19. end
  20.  
  21. local function tactile(xmin,xmax, ymin, ymax)
  22.     os.startTimer(0.5)
  23.     event, side, xPos, yPos = os.pullEvent("monitor_touch")
  24.     if xPos <= xmax and xPos >= xmin and yPos <= ymax and yPos >= ymin then
  25.         return true
  26.     end
  27. end
  28.  
  29. local function prod()
  30.     term.setBackgroundColor(colors.black)
  31.     term.setTextColor(colors.white)
  32.     if peripheral.find("BigReactors-Reactor") then
  33.         link = true
  34.         reactor = peripheral.find("BigReactors-Reactor")
  35.     else link = false end
  36.     if link == true then
  37.         local rf = reactor.getEnergyProducedLastTick()
  38.         local fuel = reactor.getFuelAmount()/1000
  39.         local isOk = reactor.getActive()
  40.         local temp = reactor.getFuelTemperature()
  41.         term.setBackgroundColor(colors.black)
  42.         term.setCursorPos(4,27)
  43.         term.clearLine()
  44.         term.write("Link : ok")
  45.         wifi.transmit(10,20,isOk)
  46.         if isOk == true then
  47.             term.setCursorPos(4,28)
  48.             term.clearLine()
  49.             term.write("Status : Allumé")
  50.         else
  51.             term.setCursorPos(4,28)
  52.             term.clearLine()
  53.             term.write("Status : Eteint")
  54.         end
  55.         term.setCursorPos(4,29)
  56.         term.clearLine()
  57.         term.write("Prod : "..math.ceil(rf/1000).." KRF/t")
  58.         term.setCursorPos(4,30)
  59.         term.write("Fuel : "..math.floor(fuel).." B")
  60.         term.setCursorPos(4,31)
  61.         term.clearLine()
  62.         term.write("Heat : "..math.ceil(temp).." °C")
  63.     elseif link == false then
  64.         term.setCursorPos(4,27)
  65.         term.clearLine()
  66.         term.write("Link : error")
  67.         term.setCursorPos(4,28)
  68.         term.clearLine()
  69.         term.write("Status : error")
  70.         term.setCursorPos(4,29)
  71.         term.clearLine()
  72.         term.write("Prod : xxx")
  73.         term.setCursorPos(4,30)
  74.         term.clearLine()
  75.         term.write("Fuel : xxx")
  76.         term.setCursorPos(4,31)
  77.         term.clearLine()
  78.         term.write("Heat : xxx")
  79.     end
  80.     term.setCursorPos(10,26)
  81.     term.write("Réacteur")
  82.     paintutils.drawBox(2,25,24,32,colors.lightGray)
  83.    
  84.     paintutils.drawFilledBox(26,25,30,27,colors.green)
  85.     term.setTextColor(colors.black)
  86.     term.setCursorPos(27,26)
  87.     term.write("ON")  
  88.     paintutils.drawFilledBox(26,30,30,32,colors.red)
  89.     term.setCursorPos(27,31)
  90.     term.write("OFF")
  91.     term.setBackgroundColor(colors.black)
  92.     term.setTextColor(colors.white)
  93.     --if tactile(26,30,25,27) == true then
  94.     --    reactor.setActive(true)
  95.     --end
  96.     --if tactile(26,30,30,32) == true then
  97.     --    reactor.setActive(false)
  98.     --end
  99. end
  100.  
  101. local function erreur()
  102.     term.setBackgroundColor(colors.black)
  103.     term.setCursorPos(3,5)
  104.     term.setTextColor(colors.red)
  105.     mon.setTextScale(3.5)
  106.     term.write("Connexion Perdue")
  107. end
  108.  
  109. local function chest()
  110.     term.setBackgroundColor(colors.black)
  111.     if refinedstorage.isConnected()  == true then
  112.         mon.setTextScale(1)
  113.         term.setTextColor(colors.white)
  114.         term.setCursorPos(1,1)
  115.         local tbl = refinedstorage.getStorages()
  116.         local t = tbl.total.item.capacity
  117.         local u = tbl.total.item.usage
  118.         local p = (u * 100) / t
  119.         local x = 14
  120.         local temp = 14
  121.        
  122.         if temp ~= x then
  123.             if p < 10 then x = 11
  124.             elseif p > 10 and p < 20 then x = 14
  125.             elseif p > 20 and p < 30 then x = 19
  126.             elseif p > 30 and p < 40 then x = 24
  127.             elseif p > 40 and p < 50 then x = 29
  128.             elseif p > 50 and p < 60 then x = 34
  129.             elseif p > 60 and p < 70 then x = 39
  130.             elseif p > 70 and p < 80 then x = 44
  131.             elseif p > 80 and p < 90 then x = 39
  132.             elseif p > 90 and p < 100 then x = 54
  133.             elseif p == 100 then x = 59
  134.             end
  135.             temp = x  
  136.         else
  137.             if p < 10 then x = 11
  138.             elseif p > 10 and p < 20 then x = 14
  139.             elseif p > 20 and p < 30 then x = 19
  140.             elseif p > 30 and p < 40 then x = 24
  141.             elseif p > 40 and p < 50 then x = 29
  142.             elseif p > 50 and p < 60 then x = 34
  143.             elseif p > 60 and p < 70 then x = 39
  144.             elseif p > 70 and p < 80 then x = 44
  145.             elseif p > 80 and p < 90 then x = 49
  146.             elseif p > 90 and p < 100 then x = 54
  147.             elseif p == 100 then x = 59
  148.             end
  149.         end
  150.            
  151.        
  152.         if p < 50 then couleur = colors.green
  153.         elseif p > 50 and p < 80 then couleur = colors.orange
  154.         elseif p > 80 then couleur = colors.red
  155.         end
  156.  
  157.         term.setCursorPos(2,24)
  158.         volt = refinedstorage.getEnergyUsage()
  159.         term.write("Conso Applied : "..math.ceil(volt).." RF/tick")
  160.        
  161.         paintutils.drawBox(10,2,60,8,colors.lightGray)
  162.         if temp < x then
  163.             paintutils.drawFilledBox(11,3,x,7,couleur)
  164.         else
  165.             --paintutils.drawFilledBox(2,4,6,6,colors.black)
  166.             paintutils.drawFilledBox(11,3,59,7,colors.black)
  167.             paintutils.drawFilledBox(11,3,x,7,couleur)
  168.         end
  169.        
  170.         term.setBackgroundColor(colors.black)
  171.         paintutils.drawFilledBox(64,4,68,6,colors.black)
  172.         term.setCursorPos(65,5)
  173.         term.write(math.ceil(p).."%")
  174.         paintutils.drawFilledBox(2,4,6,6,colors.black)
  175.         term.setCursorPos(3,5)
  176.         term.write(math.ceil(u/1000).."K")    
  177.  
  178.         os.sleep(1)
  179.     end
  180.     if refinedstorage.isConnected() == false then    
  181.         erreur()
  182.     end
  183. end
  184.  
  185. reset()
  186. while true do
  187.     chest()
  188.     --energie()
  189.     if refinedstorage.isConnected() == true then
  190.         prod()
  191.     end  
  192. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement