local component = require("component") local event = require("event") local serialization= require("serialization") local computer= require("computer") local modem = component.modem modem.open(2412) modem.broadcast(2412,"r= component.proxy(component.list('radar')())") modem.broadcast(2412,"n= component.proxy(component.list('navigation')())") modem.broadcast(2412,"d= component.proxy(component.list('drone')())") modem.broadcast(2412,"function sleep(timeout) checkArg(1, timeout, 'number', 'nil') local deadline = computer.uptime() + (timeout or 0) repeat computer.pullSignal(deadline - computer.uptime()) until computer.uptime() >= deadline end") local function sleep(timeout) checkArg(1, timeout, "number", "nil") local deadline = computer.uptime() + (timeout or 0) repeat computer.pullSignal(deadline - computer.uptime()) until computer.uptime() >= deadline end while true do local cmd=io.read() if not cmd then return end if cmd=="ALLFLW" then -- # all follow print("Target: ") tag=io.read() repeat local cmd=select(1,event.pull(1)) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name== '" ..tag.. "' then x= v.x + math.random(-3,3) y=v.y + math.random(-3,3) z=v.z + math.random(-3,3) d.move(x,y,z) end end") sleep(0.5) until cmd=="key_down" end if cmd=="FLW" then -- # specific drone print("Target: ") tag=io.read() print("Drone No.: ") srm=io.read() repeat local cmd=select(1,event.pull(1)) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name== '" ..tag.. "' and d.name()== '"..srm.."' then x= v.x + math.random(-3,3) y=v.y + math.random(-3,3) z=v.z + math.random(-3,3) d.move(x,y,z) end end") sleep(0.5) until cmd=="key_down" end if cmd=="ALLMOV" then --# all move print("x: ") x=io.read() print("y: ") y=io.read() print("z: ") z=io.read() modem.broadcast(2412," d.move("..x..","..y..","..z..")") end if cmd=="MOV" then --# specific drone print("Drone No.: ") srm=io.read() print("x: ") x=io.read() print("y: ") y=io.read() print("z: ") z=io.read() modem.broadcast(2412,"if d.name()== '"..srm.."' then d.move("..x..","..y..","..z..") end") end if cmd=="STK" then -- # stalk print("Target: ") tag=io.read() print("Drone No.: ") srm=io.read() repeat local cmd=select(1,event.pull(1)) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name== '"..tag.. "' and d.name()== '"..srm.."' then x= v.x + 15*((math.random(1,2)*2)-3) y=v.y + 15 z=v.z + 15*((math.random(1,2)*2)-3) d.move(x,y,z) sleep(0.5) end end") until cmd=="key_down" end if cmd=="GOTO" then --# converge at target position print("Target: ") tag=io.read() print("Drone No.: ") srm=io.read() modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name== '" ..tag.. "' and d.name()== '"..srm.. "' then d.move(v.x,v.y,v.z) end end") end if cmd=="ALLGOTO" then -- # all converge at target position print("Target: ") tag=io.read() modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name== '" ..tag.. "' then d.move(v.x,v.y,v.z) end end") end if cmd=="SET8" then --# make 8 drones from swarm converge at target position, used to set up shield and other stuff that I have yet to think about. print("Target: ") tag=io.read() t={1,2,3,4,5,6,7,8,9,10,11,12,13,14} local n = #t while n >= 2 do local k = math.random(n) t[n], t[k] = t[k], t[n] n = n - 1 end modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[1].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[2].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[3].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[4].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[5].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[6].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[7].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[8].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) while true do print("What Is Thy Bidding?") bid=io.read() if bid=="X" then --# use this to adjust drone alignment modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[1].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[2].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[3].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[4].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[5].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[6].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[7].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[8].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) end if bid=="OK" then break end if bid=="PORTAFORT" then--# builds a simple 5X2X5 wall (complete with small entrances/exits) around the set center with any block in the drones inventory slot 1, you need atleast 30 blocks (that's atleast 4 for each drone (technically 2 of them only need 3 blocks but you don't need to bother with that)) modem.broadcast(2412,"if d.name()== '"..t[1].."' then d.move(2,2,0) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[1].."' then repeat local dis=select(2, d.detect(0)) d.move(0,-1,0) until dis=='solid' d.move(0,5,0) sleep(0.00005) d.select(1) sleep(0.00005) d.place(0) sleep(0.00005) d.move(0,0,1) sleep(0.00005) d.place(0) sleep(0.00005) d.move(0,1,0) sleep(0.00005) d.place(0) sleep(0.00005) d.move(0,0,-1) sleep(0.00005) d.place(0) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[2].."' then d.move(2,2,-2) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[2].."' then repeat local dis=select(2, d.detect(0)) d.move(0,-1,0) until dis=='solid' d.move(0,5,0) sleep(0.00005) d.select(1) sleep(0.00005) d.place(0) sleep(0.00005) d.move(0,0,1) sleep(0.00005) d.place(0) sleep(0.00005) d.move(0,1,0) sleep(0.00005) d.place(0) sleep(0.00005) d.move(0,0,-1) sleep(0.00005) d.place(0) end") sleep(3) modem.broadcast(2412,"if d.name()== '"..t[6].."' then d.move(-2,2,2) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[6].."' then repeat local dis=select(2, d.detect(0)) d.move(0,-1,0) until dis=='solid' d.move(0,5,0) sleep(0.00005) d.select(1) sleep(0.00005) d.place(0) sleep(0.00005) d.move(0,0,-1) sleep(0.00005) d.place(0) sleep(0.00005) d.move(0,1,0) sleep(0.00005) d.place(0) sleep(0.00005) d.move(0,0,1) sleep(0.00005) d.place(0) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[4].."' then d.move(-2,2,0) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[4].."' then repeat local dis=select(2, d.detect(0)) d.move(0,-1,0) until dis=='solid' d.move(0,5,0) sleep(0.00005) d.select(1) sleep(0.00005) d.place(0) sleep(0.00005) d.move(0,0,-1) sleep(0.00005) d.place(0) sleep(0.00005) d.move(0,1,0) sleep(0.00005) d.place(0) sleep(0.00005) d.move(0,0,1) sleep(0.005) d.place(0) end") sleep(4) modem.broadcast(2412,"if d.name()== '"..t[3].."' then d.move(2,2,2) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[3].."' then repeat local dis=select(2, d.detect(0)) d.move(0,-1,0) until dis=='solid' d.move(0,5,0) sleep(0.00005) d.select(1) sleep(0.00005) d.place(0) sleep(0.00005) d.move(-1,0,0) sleep(0.3) d.place(0) sleep(0.00005) d.move(0,1,0) sleep(0.00005) d.move(1,0,0) sleep(0.3) d.place(0) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[5].."' then d.move(-2,2,-2) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[5].."' then repeat local dis=select(2, d.detect(0)) d.move(0,-1,0) until dis=='solid' d.move(0,5,0) sleep(0.00005) d.select(1) sleep(0.00005) d.place(0) sleep(0.00005) d.move(1,0,0) sleep(0.3) d.place(0) sleep(0.00005) d.move(0,1,0) sleep(0.00005) d.move(-1,0,0) sleep(0.3) d.place(0) end") sleep(3) modem.broadcast(2412,"if d.name()== '"..t[7].."' then d.move(0,2,-2) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[7].."' then repeat local dis=select(2, d.detect(0)) d.move(0,-1,0) until dis=='solid' d.move(0,5,0) sleep(0.00005) d.select(1) sleep(0.00005) d.place(0) sleep(0.00005) d.move(1,0,0) sleep(0.2) d.place(0) sleep(0.00005) d.move(0,1,0) sleep(0.2) d.place(0) sleep(0.00005) d.move(-1,0,0) sleep(0.2) d.place(0) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[8].."' then d.move(0,2,2) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[8].."' then repeat local dis=select(2, d.detect(0)) d.move(0,-1,0) until dis=='solid' d.move(0,5,0) sleep(0.00005) d.select(1) sleep(0.00005) d.place(0) sleep(0.00005) d.move(-1,0,0) sleep(0.2) d.place(0) sleep(0.00005) d.move(0,1,0) sleep(0.2) d.place(0) sleep(0.00005) d.move(1,0,0) sleep(0.2) d.place(0) end") sleep(0.5) end end end if cmd=="SET9" then --# make 9 drones from swarm converge at target position, used to set up carpet bombing and other stuff that I have yet to think about. print("Target: ") tag=io.read() t={1,2,3,4,5,6,7,8,9,10,11,12,13,14} local n = #t while n >= 2 do local k = math.random(n) t[n], t[k] = t[k], t[n] n = n - 1 end modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[1].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[2].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[3].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[4].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[5].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[6].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[7].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[8].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[9].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) while true do print("What Is Thy Bidding?") bid=io.read() if bid=="X" then --# use this to adjust drone alignment modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[1].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[2].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[3].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[4].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[5].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[6].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[7].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[8].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) modem.broadcast(2412,"for k, v in ipairs(r.getEntities()) do if v.name=='"..tag.."' and d.name()== '"..t[9].."' then d.move(v.x,v.y,v.z) end end") sleep(0.5) end if bid=="OK" then break end if bid=="SETPLANT" then --# have atleast 1 redstone torch at inventory slot 2 and 1 TNT block at slot 3 for each drone... modem.broadcast(2412,"if d.name()=='"..t[1].."' then while select(2,d.detect(0))=='air' do local dis=select(2,d.detect(0)) d.move(0,-1,0) sleep(0.00005) if dis~='air' then break end end sleep(0.5) if select(2,d.detect(0))=='solid' then d.move(0,1,0) d.select(2) d.place(0) d.select(3) d.place(0) d.select(1) end end") modem.broadcast(2412,"if d.name()=='"..t[2].."' then while select(2,d.detect(0))=='air' do local dis=select(2,d.detect(0)) d.move(0,-1,0) sleep(0.00005) if dis~='air' then break end end sleep(0.5) if select(2,d.detect(0))=='solid' then d.move(0,1,0) d.select(2) d.place(0) d.select(3) d.place(0) d.select(1) end end") modem.broadcast(2412,"if d.name()=='"..t[3].."' then while select(2,d.detect(0))=='air' do local dis=select(2,d.detect(0)) d.move(0,-1,0) sleep(0.00005) if dis~='air' then break end end sleep(0.5) if select(2,d.detect(0))=='solid' then d.move(0,1,0) d.select(2) d.place(0) d.select(3) d.place(0) d.select(1) end end") modem.broadcast(2412,"if d.name()=='"..t[4].."' then while select(2,d.detect(0))=='air' do local dis=select(2,d.detect(0)) d.move(0,-1,0) sleep(0.00005) if dis~='air' then break end end sleep(0.5) if select(2,d.detect(0))=='solid' then d.move(0,1,0) d.select(2) d.place(0) d.select(3) d.place(0) d.select(1) end end") modem.broadcast(2412,"if d.name()=='"..t[5].."' then while select(2,d.detect(0))=='air' do local dis=select(2,d.detect(0)) d.move(0,-1,0) sleep(0.00005) if dis~='air' then break end end sleep(0.5) if select(2,d.detect(0))=='solid' then d.move(0,1,0) d.select(2) d.place(0) d.select(3) d.place(0) d.select(1) end end") modem.broadcast(2412,"if d.name()=='"..t[6].."' then while select(2,d.detect(0))=='air' do local dis=select(2,d.detect(0)) d.move(0,-1,0) sleep(0.00005) if dis~='air' then break end end sleep(0.5) if select(2,d.detect(0))=='solid' then d.move(0,1,0) d.select(2) d.place(0) d.select(3) d.place(0) d.select(1) end end") modem.broadcast(2412,"if d.name()=='"..t[7].."' then while select(2,d.detect(0))=='air' do local dis=select(2,d.detect(0)) d.move(0,-1,0) sleep(0.00005) if dis~='air' then break end end sleep(0.5) if select(2,d.detect(0))=='solid' then d.move(0,1,0) d.select(2) d.place(0) d.select(3) d.place(0) d.select(1) end end") modem.broadcast(2412,"if d.name()=='"..t[8].."' then while select(2,d.detect(0))=='air' do local dis=select(2,d.detect(0)) d.move(0,-1,0) sleep(0.00005) if dis~='air' then break end end sleep(0.5) if select(2,d.detect(0))=='solid' then d.move(0,1,0) d.select(2) d.place(0) d.select(3) d.place(0) d.select(1) end end") modem.broadcast(2412,"if d.name()=='"..t[9].."' then while select(2,d.detect(0))=='air' do local dis=select(2,d.detect(0)) d.move(0,-1,0) sleep(0.00005) if dis~='air' then break end end sleep(0.5) if select(2,d.detect(0))=='solid' then d.move(0,1,0) d.select(2) d.place(0) d.select(3) d.place(0) d.select(1) end end") end if bid=="MAT" then --#covers a 33X33 area with 9 drones print("N,S,E,W") dir=io.read() if dir=="N" then -- #-Z modem.broadcast(2412,"if d.name()== '"..t[1].."' then d.move(0,0,-20) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[2].."' then d.move(-10,0,-20) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[3].."' then d.move(10,0,-20) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[4].."' then d.move(0,0,-30) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[5].."' then d.move(-10,0,-30) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[6].."' then d.move(10,0,-30) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[7].."' then d.move(0,0,-40) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[8].."' then d.move(10,0,-40) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[9].."' then d.move(-10,0,-40) end") sleep(0.5) end if dir=="S" then -- #Z modem.broadcast(2412,"if d.name()== '"..t[1].."' then d.move(0,0,20) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[2].."' then d.move(-10,0,20) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[3].."' then d.move(10,0,20) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[4].."' then d.move(0,0,30) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[5].."' then d.move(-10,0,30) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[6].."' then d.move(10,0,30) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[7].."' then d.move(0,0,40) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[8].."' then d.move(10,0,40) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[9].."' then d.move(-10,0,40) end") sleep(0.5) end if dir=="E" then -- #+X modem.broadcast(2412,"if d.name()== '"..t[1].."' then d.move(20,0,-10) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[2].."' then d.move(20,0,10) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[3].."' then d.move(20,0,0) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[4].."' then d.move(30,0,-10) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[5].."' then d.move(30,0,10) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[6].."' then d.move(30,0,0) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[7].."' then d.move(40,0,-10) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[8].."' then d.move(40,0,10) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[9].."' then d.move(40,0,0) end") sleep(0.5) end if dir=="W" then -- #+X modem.broadcast(2412,"if d.name()== '"..t[1].."' then d.move(-20,0,-10) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[2].."' then d.move(-20,0,10) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[3].."' then d.move(-20,0,0) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[4].."' then d.move(-30,0,-10) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[5].."' then d.move(-30,0,10) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[6].."' then d.move(-30,0,0) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[7].."' then d.move(-40,0,-10) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[8].."' then d.move(-40,0,10) end") sleep(0.5) modem.broadcast(2412,"if d.name()== '"..t[9].."' then d.move(-40,0,0) end") sleep(0.5) end end end end if cmd=="PLANT" then --# have atleast 1 redstone torch at inventory slot 2 and 1 TNT block at slot 3... print("Drone No.: ") srm=io.read() modem.broadcast(2412,"if d.name()=='"..srm.."' then while select(2,d.detect(0))=='air' do local dis=select(2,d.detect(0)) d.move(0,-1,0) sleep(0.00005) if dis~='air' then break end end sleep(0.5) if select(2,d.detect(0))=='solid' then d.move(0,1,0) d.select(2) d.place(0) d.select(3) d.place(0) d.select(1) end end") end if cmd=="BUNKERBUST" then --# yeah, you need more redstone torches and TNT... print("Drone No.: ") srm=io.read() repeat local cmd= select(1,event.pull(3)) modem.broadcast(2412,"if d.name()=='"..srm.."' then while select(2,d.detect(0))=='air' do local dis=select(2,d.detect(0)) d.move(0,-1,0) sleep(0.00005) if dis~='air' then break end end sleep(0.5) if select(2,d.detect(0))=='solid' then d.move(0,1,0) d.select(2) d.place(0) d.select(3) d.place(0) d.select(1) end end") sleep(0.5) until cmd=="key_down" end if cmd=="HUSH" then--# kill command modem.broadcast(2412," computer.shutdown()") end if cmd=="RISE" then --# wake message, you need to restart client after using this command modem.broadcast(2412,"RISE") end print(select(6, event.pull(3, "modem_message"))) end