Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- ##############################
- -- msg_sender
- -- version 0.5
- -- http://hevohevo.hatenablog.com/
- rednet.open("right")
- local args = {...}
- assert(args and #args>0, "msg_sender <receiver_id>")
- local receiver_id = tonumber(args[1])
- local trans_tbl = {
- w="turtle.forward()",
- a="turtle.turnLeft(); turtle.forward(); turtle.turnRight()",
- s="turtle.back()",
- d="turtle.turnRight(); turtle.forward(); turtle.turnLeft()",
- space="turtle.up()",
- leftShift="turtle.down()",
- left="turtle.turnRight()",
- right="turtle.turnLeft()",
- z="shell.run('dance')", -- let's dance!
- x="shell.run('boring')", -- run receiver's other program
- c="hevo()" -- call receiver's function
- }
- print("Press 'q' to terminate")
- while true do
- local event, scancode = os.pullEvent("key")
- local keyname = keys.getName(scancode)
- local message = trans_tbl[keyname]
- if keyname == "enter" and not message then
- print(" Start: interactive mode ('q' to terminate)")
- write(" > ")
- message = io.read()
- print(" Finish: interactive mode")
- end
- if keyname == "q" or message == "q" then break end
- print(keyname," => ",message or "none")
- if message then
- rednet.send(receiver_id, message)
- end
- end
- print("Terminated")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement