Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Shield State Broadcaster & Remote Controller (“SMiner‐Standalone”)
- -- 1) Configuration
- local shield = peripheral.find("warpdriveForceFieldProjector")
- assert(shield, "warpdriveForceFieldProjector not found!")
- -- 2) Open all modems for Rednet
- for _, side in ipairs(peripheral.getNames()) do
- if peripheral.getType(side) == "modem" then
- rednet.open(side)
- end
- end
- -- 3) State‐monitor coroutine
- local function stateMonitor()
- local prev = shield.enable()
- while true do
- local now = shield.enable()
- if now ~= prev then
- rednet.broadcast(now and "StatON" or "StatOFF", "SMiner")
- prev = now
- end
- os.sleep(0.5)
- end
- end
- -- 4) Command‐listener coroutine
- local function commandListener()
- while true do
- local _, msg = rednet.receive("SMiner")
- if msg == "Enable" then
- shield.enable(true)
- elseif msg == "Disable" then
- shield.enable(false)
- end
- end
- end
- -- 5) Run both loops in parallel
- parallel.waitForAny(stateMonitor, commandListener)
Advertisement
Add Comment
Please, Sign In to add comment