75 lines
2.5 KiB
Lua
75 lines
2.5 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))
|
|
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
|