Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local intMax=28
- local tSquad={}
- local function gather()
- while true do
- if #tSquad<intMax then
- rednet.broadcast('gather')
- os.startTimer(1)
- while true do
- local evt={os.pullEvent()}
- if #tSquad==intMax or evt[1]=='timer' then
- break
- elseif evt[1]=='rednet_message' and evt[3]=='join' then
- rednet.send(evt[2],'accepted')
- tSquad[#tSquad+1]={id=evt[2]; done=true}
- print(evt[2]..' accepted')
- end
- end
- else
- sleep(0.01)
- end
- end
- end
- local function test()
- while true do
- for k,v in pairs(tSquad) do
- if v['done']==true then
- print(textutils.serialize({v['id'],'turtle.up()'}))
- rednet.send(v['id'],textutils.serialize({v['id'],'turtle.up()'}))
- v['done']=false
- end
- end
- sleep(2)
- end
- end
- rednet.open('right')
- local tThreads={coroutine.create(gather);
- coroutine.create(test)}
- local tEvents={}
- while true do
- for k,v in pairs(tThreads) do
- coroutine.resume(v,unpack(tEvents))
- end
- tEvents=nil
- tEvents={os.pullEvent()}
- end
Advertisement
Add Comment
Please, Sign In to add comment