Advertisement
Squanou

PowahCellL

Jun 24th, 2024
526
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.72 KB | None | 0 0
  1. local modem = peripheral.find("modem")
  2. local DiscordHook = require("DiscordHook")
  3. local chatBox = peripheral.find("chatBox")
  4.  
  5. if not modem then
  6.     print("Erreur: Modem non trouvé.")
  7.     return
  8. end
  9.  
  10. local energyCell = peripheral.find("powah:energy_cell")
  11.  
  12. if not energyCell then
  13.     print("Erreur: powah:energy_cell non trouvée. Vérifiez la connexion et le nom du périphérique.")
  14.     return
  15. end
  16.  
  17. local speaker = peripheral.find("speaker")
  18.  
  19. if not speaker then
  20.     print("Erreur: Speaker non trouvé. Assurez-vous d'avoir un speaker connecté.")
  21.     return
  22. end
  23.  
  24. rednet.open(peripheral.getName(modem))
  25.  
  26. local messageSent = false
  27.  
  28. local function playLowEnergySound()
  29.     speaker.playSound("block.note_block.chime", 1, 1)
  30. end
  31.  
  32. local function getEnergyCellStats()
  33.     local energyStored = energyCell.getEnergy()
  34.     local energyCapacity = energyCell.getEnergyCapacity()
  35.     local energyPercent = math.floor(energyStored / energyCapacity * 100)
  36.     return energyStored, energyCapacity, energyPercent
  37. end
  38.  
  39. local function sendStats()
  40.     while true do
  41.         local energyStored, energyCapacity, energyPercent = getEnergyCellStats()
  42.  
  43.         local stats = {
  44.             energyStored = energyStored,
  45.             energyCapacity = energyCapacity,
  46.             energyPercent = energyPercent
  47.         }
  48.  
  49.         rednet.broadcast(stats, "powah")
  50.  
  51.         if energyPercent < 20 and not messageSent then
  52.             local success, hook = DiscordHook.createWebhook(
  53.                 "https://discord.com/api/webhooks/1254412774172393482/yp196njdT93B7z8FO2KbykMj6bmad-kHpXE5OgH7Ta_xHqfU_UnimQOM91TlF1dgeFtn")
  54.  
  55.             if not success then
  56.                 error("Webhook connection failed! Reason: " .. hook)
  57.             end
  58.  
  59.             if success then
  60.                 local message = "TsykiBase> Attention l'Énergie de la Cellule d'énergie Powah est en dessous des 20% :warning:"
  61.                 hook.send(message, "Server")
  62.                 messageSent = true
  63.             end
  64.             playLowEnergySound()
  65.             local message = {
  66.                 { text = "Attention ! Niveau d'énergie faible.", color = "yellow" }
  67.             }
  68.            
  69.             local json = textutils.serialiseJSON(message)
  70.             chatBox.sendFormattedMessageToPlayer(json, "_Tsyke_", "[Info")
  71.  
  72.         elseif energyPercent >= 20 and messageSent then
  73.             messageSent = false
  74.             local message = {
  75.                 { text = "Le niveau d'énergie est revenue à la normal.", color = "yellow" }
  76.             }
  77.            
  78.             local json = textutils.serialiseJSON(message)
  79.             chatBox.sendFormattedMessageToPlayer(json, "_Tsyke_", "Info")
  80.         end
  81.  
  82.         sleep(1)
  83.     end
  84. end
  85.  
  86. sendStats()
  87.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement