Z1maV1

.sleep

Oct 20th, 2022 (edited)
290
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.09 KB | None | 0 0
  1. settings.load()
  2.  
  3. local hasModem = false
  4.  
  5. if not settings.get("KeepModem", false) then
  6.     local modem = peripheral.find("modem")
  7.     if modem ~= nil then
  8.         if modem.isOpen(87) then
  9.             modem.close(87)
  10.         end
  11.     end
  12. else
  13.     local modem = peripheral.find("modem")
  14.     if modem ~= nil then
  15.         modem.open(87)
  16.         hasModem = true
  17.     end
  18. end
  19.  
  20. local mayWakeUpFromNet = settings.get("WakeUpNet", false)
  21.  
  22. term.clear()
  23. term.setCursorPos(1,1)
  24.  
  25. local function WakeUpFromNet()
  26.     local modem = peripheral.find("modem")
  27.     if modem == nil then
  28.         while true do
  29.             sleep(0)
  30.         end
  31.     end
  32.     if not mayWakeUpFromNet then
  33.         while true do
  34.             sleep(0)
  35.         end
  36.     end
  37.     while true do
  38.         local id, message = rednet.receive()
  39.         if message == "WakeUp" then
  40.             break
  41.         end
  42.         sleep(0)
  43.     end
  44. end
  45.  
  46. local function WakeUpFromInterrupt()
  47.     while true do
  48.         local event = os.pullEvent("key")
  49.         if event == "key" then
  50.             break
  51.         end
  52.         sleep(0)
  53.     end
  54. end
  55.  
  56. settings.save()
  57.  
  58. parallel.waitForAny(WakeUpFromNet, WakeUpFromInterrupt)
  59.  
  60. print("Waking up")
  61.  
  62. sleep(1)
  63.  
  64. term.clear()
  65. term.setCursorPos(1,1)
  66.  
  67. shell.run("/bin/main")
Advertisement
Add Comment
Please, Sign In to add comment