Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --liquidServer v 0.1
- rednet.open("left")
- -- functions
- local function receive()
- local id, msg = rednet.receive()
- local data = textutils.unserialize(msg)
- local cmd = data[1]
- term.clear()
- term.setCursorPos(1,1)
- print(id..": "..cmd)
- end
- local function readFunc(liquid)
- local file = fs.open("fluids/"..liquid, "r")
- local lCount = tonumber(file.readAll())
- file.close()
- end
- local function writeFunc(liquid, lCount)
- local file = fs.open("fluids/"..liquid, "w")
- file.write(lCount)
- file.close()
- end
- --system code
- while true do
- local file = fs.open("server/id", "r")
- local hId = tonumber(file.readAll())
- file.close()
- print(hId)
- local file = fs.open("liquids/lava", "r")
- local lava = file.readAll()
- file.close()
- local file = fs.open("liquids/water", "r")
- local water = file.readAll()
- file.close()
- local file = fs.open("liquids/oil", "r")
- local oil = file.readAll()
- file.close()
- receive()
- if cmd == "lava" then
- readFunc("lava")
- lCount = lCount +1
- writeFunc("lava", lCount)
- if lCount == 2 then
- rednet.send(hId, msg)
- receive()
- if cmd == "confirm" then
- lCount = 0
- writeFunc("lava", lCount)
- end
- end
- elseif cmd == "water" then
- readFunc("water")
- lCount = lCount + 1
- writeFunc("water", lCount)
- if lCount == 20 then
- rednet.send(hId, msg)
- receive()
- if cmd == "confirm" then
- lCount = 0
- writeFunc("water", lCount)
- end
- end
- elseif cmd == "oil" then
- readFunc("oil")
- lCount = lCount +1
- writeFunc("oil", lCount)
- if lCount == 2 then
- rednet.send(hId, msg)
- receive()
- if cmd == "confirm" then
- lCount = 0
- writeFunc("oil", lCount)
- end
- end
- elseif cmd == "declined" then
- rs.setOutput("right", true)
- cmd = read()
- if cmd == "pay" then
- rednet.send(hId, msg)
- receive()
- if cmd == "confirm" then
- rs.setOutput("right", false)
- end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment