Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- term.clear()
- local id = os.getComputerID()
- local modem = peripheral.find("modem") or error("No modem attached", 0)
- modem.open(id)
- function requestData()
- while fs.exists("floorData.txt") ~= true do
- term.setCursorPos(1, 4)
- term.write("Floor Number: ")
- floor = tonumber(read())
- term.setCursorPos(1, 5)
- term.write("ID Of Elevator Control: ")
- originalComputerID = tonumber(read())
- local finalData = {floor, originalComputerID}
- term.setCursorPos(1, 6)
- term.write("Final Data = " .. textutils.serialise(finalData))
- if tonumber(floor) ~= nil and tonumber(originalComputerID) ~= nil then
- local file = fs.open("floorData.txt", "w")
- file.writeLine(floor)
- file.writeLine(originalComputerID)
- file.close()
- end
- end
- end
- function readData()
- if fs.exists("floorData.txt") then
- local file = fs.open("floorData.txt", "r")
- importantData = {}
- while true do
- local line = file.readLine()
- if not line then break end
- importantData[#importantData + 1] = tonumber(line)
- end
- file.close()
- term.setCursorPos(1, 9)
- term.write("Floor: " .. importantData[1])
- term.setCursorPos(1, 10)
- term.write("ID: " .. importantData[2])
- end
- end
- function floorMain()
- term.setCursorPos(1, 15)
- term.write("Sending Data...")
- while true do
- local eventData = {os.pullEvent()}
- local event = eventData[1]
- if event == "redstone" and (redstone.getInput("front") or redstone.getInput("left") or redstone.getInput("right")) then
- -- Request elevator on redstone pulse on sides
- print("elevator requested")
- modem.transmit(importantData[2], importantData[1], "call " .. importantData[1])
- elseif event == "redstone" and (redstone.getInput("bottom") or redstone.getInput("top")) then
- -- Send data when on floor
- print("elevator reached floor " .. importantData[1])
- -- reference transmit(send to, reply, message)
- modem.transmit(importantData[2], importantData[1], "normal " .. importantData[1])
- end
- end
- end
- requestData()
- readData()
- floorMain()
RAW Paste Data
Copied