Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Acquire the redstone component
- local component = require("component")
- local redstone = component.redstone
- local routing = component.routing_track
- -- Acquire helper libraries
- local sides = require("sides")
- local colors = require("colors")
- local os = require("os")
- local term = require("term")
- local event = require("event")
- --Acquire GERTi library and open socket to farm computer
- local GERTi = require("GERTiClient")
- local socket = GERTi.openSocket(0.2, true, 1)
- --Template local function--
- local train1 = redstone.getBundledInput(sides.north, colors.gray)
- local train2 = redstone.getBundledInput(sides.north, colors.lime)
- local train3 = redstone.getBundledInput(sides.north, colors.pink)
- local function sendTrain1()
- --needs rewrite--
- --monitor.write("Theres A Train Leaving Bay 1")
- print("Theres A Train Leaving Bay 1")
- redstone.setBundledOutput(sides.north, colors.orange, 253)
- os.sleep(1)
- redstone.setBundledOutput(sides.north, colors.orange, 0)
- end
- local function sendTrain2()
- print("Theres A Train Leaving Bay 2")
- redstone.setBundledOutput(sides.north, colors.white, 253)
- os.sleep(1)
- redstone.setBundledOutput(sides.north, colors.white, 0)
- end
- local function sendTrain3()
- print("Theres A Train Leaving Bay 3")
- redstone.setBundledOutput(sides.north, colors.yellow, 253)
- os.sleep(1)
- redstone.setBundledOutput(sides.north, colors.yellow, 0)
- end
- local function checkTrainHold()
- train1 = redstone.getBundledInput(sides.north, colors.gray)
- train2 = redstone.getBundledInput(sides.north, colors.lime)
- train3 = redstone.getBundledInput(sides.north, colors.pink)
- if train1 == 235 then
- sendTrain1()
- --print(train1)
- elseif
- train2 == 238 then
- sendTrain2()
- --print(train2)
- elseif
- train3 == 228 then
- sendTrain3()
- --print(train3)
- else
- print("Theres No Trains Available!!")
- end
- end
- --local function getPass(checkPass)
- -- local pass = ""
- -- term.write("Please Enter The Password: ")
- -- pass = read()
- -- if pass ~= checkPass then
- -- print("Wrong Password!!")
- -- return false
- -- else
- -- print("Correct Password!!")
- -- return true
- -- end
- --end
- --while not getPass("test") do
- -- print("Incorrect")
- --end
- local function getTicketdest()
- routing.getDestination()
- end
- local function setTicket(dest)
- routing.setDestination(dest)
- end
- local function listenMessage()
- local incData = socket:read()
- if incData[1] == "Requesting Train" then
- checkTrainHold()
- setTicket("Farm")
- print("Setting Track Destination",dest)
- end
- end
- event.listen("GERTData", listenMessage)
- local function finishConnect()
- socket:read()
- return false
- end
- event.listen("GERTConnectionID", finishConnect)
- print("Starting Program!")
- print(train1,"train1")
- print(train2,"train2")
- print(train3,"train3")
- while true do
- train1 = redstone.getBundledInput(sides.north, colors.gray)
- train2 = redstone.getBundledInput(sides.north, colors.lime)
- train3 = redstone.getBundledInput(sides.north, colors.pink)
- incData = socket:read()
- if incData[1] == "Requesting Train" then
- checkTrainHold()
- setTicket("Farm")
- print("Setting Track Destination",dest)
- print(train1,"train1")
- print(train2,"train2")
- print(train3,"train3")
- os.sleep(20)
- term.setCursor(1,1)
- term.clearLine()
- term.clear()
- else
- print("Nothing To Do")
- print(train1,"train1")
- print(train2,"train2")
- print(train3,"train3")
- os.sleep(20)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement