Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- modem = peripheral.wrap("back")
- if(not fs.exists("save/turtles")) then
- shell.run("scan")
- end
- h = fs.open("save/turtles", "r")
- turtles = textutils.unserialize(h.readAll())
- h.close()
- packet = {}
- packet["type"] = "setpos"
- print("Please stand still while we do this, aye?")
- write("Your X, please: ")
- while true do
- myX = tonumber(read())
- if(myX ~= nil) then break end
- write("A number, smartass. ")
- end
- write("Your Z, please: ")
- while true do
- myZ = tonumber(read())
- if(myZ ~= nil) then break end
- write("A number, smartass. ")
- end
- write("Your Y, please: ")
- while true do
- myY = tonumber(read())
- if(myY ~= nil) then break end
- write("A number, smartass. ")
- end
- term.clear()
- width, height = term.getSize()
- term.setCursorPos(1, 20)
- write("[ Next ]|[ Skip ]")
- term.setCursorPos(26, 19)
- write("^")
- term.setCursorPos(26, 20)
- write("N")
- term.setCursorPos(1,1)
- write("Where is")
- term.setCursorPos(1,19)
- write("WASD to change dir.")
- term.setCursorPos(width/2, height/2 + 1)
- write("@")
- faces = {["^"] = 2, ["<"] = 1, [">"] = 3, ["v"] = 0, }
- for i=1,#(turtles["ids"]) do
- currentID = turtles["ids"][i]
- packet.type = "setpos"
- packet["for"] = currentID
- term.setCursorPos(10, 1)
- write(turtles[turtles["ids"][i]] .. "Slave" .. currentID .. "? ")
- setPosX = 1
- setPosY = 2
- char = "^"
- while true do
- event, var1, var2, var3 = os.pullEvent()
- if(event == "mouse_click") then
- if(var3 == 20 and var2 < 18 and var2 ~= 9) then
- if(var2 < 9) then
- packet["pos"] = {["x"] = myX + setPosX, ["y"] = myY, ["z"] = myZ - setPosY, ["face"] = faces[char]}
- modem.transmit(65535, 65534, textutils.serialize(packet))
- end
- break
- else
- if(var3 > 1 and var3 < 19 and not (var2 == width/2 and var3 == height/2 + 1)) then
- term.setCursorPos(setPosX, setPosY)
- write(" ")
- term.setCursorPos(var2, var3)
- write(char)
- setPosX = var2
- setPosY = var3
- end
- end
- elseif(event == "key") then
- if(var1 == 17) then
- char = "^"
- elseif(var1 == 30) then
- char = "<"
- elseif(var1 == 31) then
- char = "v"
- elseif(var1 == 32) then
- char = ">"
- end
- term.setCursorPos(setPosX, setPosY)
- write(char)
- end
- end
- term.setCursorPos(setPosX, setPosY)
- write(" ")
- end
- modem.closeAll()
- term.clear()
- term.setCursorPos(1,1)
Advertisement
Add Comment
Please, Sign In to add comment