jaklsfjlsak

护盾控制 执行

May 6th, 2025
323
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.02 KB | None | 0 0
  1. -- Shield State Broadcaster & Remote Controller (“SMiner‐Standalone”)
  2.  
  3. -- 1) Configuration
  4. local shield  = peripheral.find("warpdriveForceFieldProjector")
  5. assert(shield, "warpdriveForceFieldProjector not found!")
  6.  
  7. -- 2) Open all modems for Rednet
  8. for _, side in ipairs(peripheral.getNames()) do
  9.   if peripheral.getType(side) == "modem" then
  10.     rednet.open(side)
  11.   end
  12. end
  13.  
  14. -- 3) State‐monitor coroutine
  15. local function stateMonitor()
  16.   local prev = shield.enable()
  17.   while true do
  18.     local now = shield.enable()
  19.     if now ~= prev then
  20.       rednet.broadcast(now and "StatON" or "StatOFF", "SMiner")
  21.       prev = now
  22.     end
  23.     os.sleep(0.5)
  24.   end
  25. end
  26.  
  27. -- 4) Command‐listener coroutine
  28. local function commandListener()
  29.   while true do
  30.     local _, msg = rednet.receive("SMiner")
  31.     if msg == "Enable" then
  32.       shield.enable(true)
  33.     elseif msg == "Disable" then
  34.       shield.enable(false)
  35.     end
  36.   end
  37. end
  38.  
  39. -- 5) Run both loops in parallel
  40. parallel.waitForAny(stateMonitor, commandListener)
  41.  
Advertisement
Add Comment
Please, Sign In to add comment