Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Funkcia na čítanie stavu batérie zo Substation
- function getBatteryStatus()
- local substation = peripheral.find("gregtech_substation") -- nájde Substation pripojenú k počítaču
- if not substation then
- print("Substation not found!")
- return nil
- end
- local batteryCapacity = substation.getMaxCharge() -- Maximálna kapacita batérie
- local batteryCharge = substation.getCharge() -- Aktuálny stav nabitia batérie
- -- Spočítame percento nabitia
- local batteryPercentage = (batteryCharge / batteryCapacity) * 100
- batteryPercentage = math.floor(batteryPercentage) -- Zaokrúhli percentá na celé číslo
- return batteryPercentage
- end
- -- Funkcia na odoslanie stavu batérie cez wireless modem
- function sendBatteryStatus(modem, batteryPercentage)
- modem.transmit(123, 1, batteryPercentage) -- Posiela stav batérie cez bezdrôtový modem na kanál 123
- print("Battery status sent: " .. batteryPercentage .. "%")
- end
- -- Funkcia na zobrazenie stavu batérie na monitore
- function displayBatteryStatus(batteryPercentage)
- -- Nastavenie displeja (monitor)
- term.clear() -- Vymaže obrazovku
- -- Vytvorenie grafického zobrazenia (stav batérie)
- local progressBarLength = 50 -- Dĺžka grafického pruhu
- local filledLength = math.floor(progressBarLength * (batteryPercentage / 100)) -- Určí dĺžku zaplneného pruhu
- -- Zobrazenie grafického pruhu
- local progressBar = "[" .. string.rep("=", filledLength) .. string.rep(" ", progressBarLength - filledLength) .. "]"
- print("Battery Status: " .. progressBar)
- -- Zobrazenie číselného a percentuálneho stavu
- print(string.format("Battery Charge: %d%%", batteryPercentage))
- end
- -- Funkcia na prijatie stavu batérie cez wireless modem
- function receiveBatteryStatus(modem)
- modem.open(123) -- Otvorí kanál na počúvanie (123 je rovnaký kanál, ktorý používa server)
- while true do
- local _, _, _, _, _, batteryPercentage = os.pullEvent("modem_message")
- -- Prijíma správy a zobrazuje stav batérie
- displayBatteryStatus(batteryPercentage)
- end
- end
- -- Hlavná funkcia
- function main()
- -- Nájde pripojený wireless modem
- local modem = peripheral.find("modem")
- if not modem then
- print("Wireless modem not found!")
- return
- end
- -- Neustále číta stav batérie, posiela ho cez modem a zobrazuje na monitore
- while true do
- local batteryPercentage = getBatteryStatus()
- if batteryPercentage then
- -- Posiela stav batérie cez wireless modem
- sendBatteryStatus(modem, batteryPercentage)
- end
- -- Pošle informácie a potom ich prijme a zobrazí
- receiveBatteryStatus(modem)
- sleep(1) -- Tento cyklus sa opakuje každú sekundu
- end
- end
- -- Spustí hlavný skript
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement