Advertisement
Drake69SK

dadadada

Nov 22nd, 2024
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.88 KB | Gaming | 0 0
  1. -- Funkcia na čítanie stavu batérie zo Substation
  2. function getBatteryStatus()
  3.     local substation = peripheral.find("gregtech_substation") -- nájde Substation pripojenú k počítaču
  4.     if not substation then
  5.         print("Substation not found!")
  6.         return nil
  7.     end
  8.    
  9.     local batteryCapacity = substation.getMaxCharge()  -- Maximálna kapacita batérie
  10.     local batteryCharge = substation.getCharge()  -- Aktuálny stav nabitia batérie
  11.  
  12.     -- Spočítame percento nabitia
  13.     local batteryPercentage = (batteryCharge / batteryCapacity) * 100
  14.     batteryPercentage = math.floor(batteryPercentage)  -- Zaokrúhli percentá na celé číslo
  15.  
  16.     return batteryPercentage
  17. end
  18.  
  19. -- Funkcia na odoslanie stavu batérie cez wireless modem
  20. function sendBatteryStatus(modem, batteryPercentage)
  21.     modem.transmit(123, 1, batteryPercentage)  -- Posiela stav batérie cez bezdrôtový modem na kanál 123
  22.     print("Battery status sent: " .. batteryPercentage .. "%")
  23. end
  24.  
  25. -- Funkcia na zobrazenie stavu batérie na monitore
  26. function displayBatteryStatus(batteryPercentage)
  27.     -- Nastavenie displeja (monitor)
  28.     term.clear()  -- Vymaže obrazovku
  29.  
  30.     -- Vytvorenie grafického zobrazenia (stav batérie)
  31.     local progressBarLength = 50  -- Dĺžka grafického pruhu
  32.     local filledLength = math.floor(progressBarLength * (batteryPercentage / 100))  -- Určí dĺžku zaplneného pruhu
  33.  
  34.     -- Zobrazenie grafického pruhu
  35.     local progressBar = "[" .. string.rep("=", filledLength) .. string.rep(" ", progressBarLength - filledLength) .. "]"
  36.     print("Battery Status: " .. progressBar)
  37.  
  38.     -- Zobrazenie číselného a percentuálneho stavu
  39.     print(string.format("Battery Charge: %d%%", batteryPercentage))
  40. end
  41.  
  42. -- Funkcia na prijatie stavu batérie cez wireless modem
  43. function receiveBatteryStatus(modem)
  44.     modem.open(123)  -- Otvorí kanál na počúvanie (123 je rovnaký kanál, ktorý používa server)
  45.  
  46.     while true do
  47.         local _, _, _, _, _, batteryPercentage = os.pullEvent("modem_message")
  48.         -- Prijíma správy a zobrazuje stav batérie
  49.         displayBatteryStatus(batteryPercentage)
  50.     end
  51. end
  52.  
  53. -- Hlavná funkcia
  54. function main()
  55.     -- Nájde pripojený wireless modem
  56.     local modem = peripheral.find("modem")
  57.     if not modem then
  58.         print("Wireless modem not found!")
  59.         return
  60.     end
  61.  
  62.     -- Neustále číta stav batérie, posiela ho cez modem a zobrazuje na monitore
  63.     while true do
  64.         local batteryPercentage = getBatteryStatus()
  65.         if batteryPercentage then
  66.             -- Posiela stav batérie cez wireless modem
  67.             sendBatteryStatus(modem, batteryPercentage)
  68.         end
  69.         -- Pošle informácie a potom ich prijme a zobrazí
  70.         receiveBatteryStatus(modem)
  71.         sleep(1)  -- Tento cyklus sa opakuje každú sekundu
  72.     end
  73. end
  74.  
  75. -- Spustí hlavný skript
  76. main()
  77.  
Tags: dadada
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement