turtles/mine/server.lua
Dominic Zimmer d754141597 Fix
2020-07-08 00:55:37 +02:00

77 lines
2.6 KiB
Lua

rednet.open("back")
curjob = 69
while true do
print("From what index do you want to resume jobs?")
x = read()
if tonumber(x) then
curjob = tonumber(x)
break
end
print("That's not a number.")
end
function getNextJob()
curjob = curjob + 1
return curjob - 1
end
while true do
sender, message, proto = rednet.receive()
if not message then
sleep(0.6)
else
if message == "syn" then
receiver = sender
rednet.send(receiver, "ack")
_, message, _ = rednet.receive()
if message then
if message == "gibjob" then
if rs.getInput("top") then
job = getNextJob()
rednet.send(receiver, tostring(job))
print("Found job request. Offering "..tostring(job))
else
rednet.send(receiver, "nojobs")
end
elseif message == "report" then
_, job, _ = rednet.receive()
thejob = tonumber(job)
_, fuel, _ = rednet.receive()
thefuel = tonumber(fuel)
while true do
_, ore, _ = rednet.receive()
if ore == "done" then
break
end
_, number, _ = rednet.receive()
--thenumber = tonumber(thenumber)
print(tostring(job)..": "..ore.." "..tostring(number).."x")
end
rednet.send(receiver, "thanks")
end
end
end
-- if message == "gibjob" then
-- if rs.getInput("top") then
-- job = getNextJob()
-- rednet.send(sender, tostring(job), "newjob")
-- print("Found job request. Offering "..tostring(job))
-- end
-- else
-- -- numberic job is complete
-- completejob = tonumber(message)
-- fuelused = "??"
-- fuelsender, fuelmessage, fuelproto = rednet.receive("fuel")
-- if fuelmessage then
-- fuelused = fuelmessage
-- end
-- print("Job "..tostring(completejob).." was completed, "..fuelused.." fuel was used")
-- rednet.broadcast("thanks", "jobcomplete")
-- log = io.open("jobs.log","a")
-- log:write(tostring(completejob),"\n")
-- log:close()
-- end
end
end