Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function withWirelessModem(proc)
- for _, mSide in ipairs( peripheral.getNames() ) do
- if peripheral.getType( mSide ) == "modem" then
- local modem = peripheral.wrap( mSide )
- if modem.isWireless() then
- print("found wireless modem: " .. mSide)
- rednet.open(mSide)
- proc(modem)
- rednet.close(mSide)
- end
- end
- end
- end
- function run_puppet()
- withWirelessModem(function ()
- while true do
- local senderId, msg, _ = rednet.receive("puppet")
- print("Command from " .. senderId .. ": " .. msg)
- if msg == "f" then
- turtle.forward()
- elseif msg == "b" then
- turtle.back()
- elseif msg == "l" then
- turtle.turnLeft()
- elseif msg == "r" then
- turtle.turnRight()
- elseif msg == "u" then
- turtle.up()
- elseif msg == "d" then
- turtle.down()
- elseif msg == "dig" then
- turtle.dig()
- elseif msg == "digU" then
- turtle.digUp()
- elseif msg == "digD" then
- turtle.digDown()
- elseif msg == "refuel" then
- turtle.refuel()
- end
- end
- end)
- end
- function run_puppeteer(cmd)
- withWirelessModem(function ()
- rednet.broadcast(cmd, "puppet")
- end)
- end
- args = {...}
- if turtle ~= nil and #args == 0 then
- run_puppet()
- elseif turtle == nil and #args == 1 then
- run_puppeteer(args[1])
- else
- print("usage: puppet [cmd]")
- end
Advertisement
Add Comment
Please, Sign In to add comment