Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local component = require("component")
- local event = require("event")
- local serialization= require("serialization")
- local computer= require("computer")
- local modem = component.modem
- local QueensChannel = 2412
- local SoldiersChannel = 2413
- modem.open(QueensChannel)
- modem.broadcast(QueensChannel,"Qr= component.proxy(component.list('radar')())")
- modem.broadcast(QueensChannel,"Qn= component.proxy(component.list('navigation')())")
- modem.broadcast(QueensChannel,"Qd= component.proxy(component.list('drone')())")
- --[[
- modem.broadcast(QueensChannel,"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")
- modem.broadcast(QueensChannel,"e_coords={0,0,0} ")
- modem.broadcast(QueensChannel,"function getEntityCoord(e_name) checkArg(1,e_name,'string','nil') for k,v in ipairs(Qr.getEntities()) do if v.name == e_name then e_coords[1]=v.x e_coords[2]=v.y e_coords[3]=v.z break end end end")
- modem.broadcast(QueensChannel,"function getPlayerCoord(e_name) checkArg(1,e_name,'string','nil') for k,v in ipairs(Qr.getPlayers()) do if v.name == e_name then e_coords[1]=v.x e_coords[2]=v.y e_coords[3]=v.z break end end end")
- modem.broadcast(QueensChannel,"function moveToEntity(e_name) checkArg(1,e_name,'string','nil') getEntityCoord(e_name) Qd.move(e_coords[1],e_coords[2]+2,e_coords[3]) end")
- ]]
- modem.broadcast(QueensChannel,
- [[
- 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
- ]])
- modem.broadcast(QueensChannel,"e_coords={0,0,0}")
- modem.broadcast(QueensChannel,
- [[
- function getPlayerCoord(e_name)
- checkArg(1,e_name,'string','nil')
- for k,v in ipairs(Qr.getPlayers()) do
- if v.name == e_name then
- e_coords[1]=v.x e_coords[2]=v.y e_coords[3]=v.z
- break
- end
- end
- end
- function moveToPlayer(e_name)
- checkArg(1,e_name,"string","nil")
- getPlayerCoord(e_name)
- Qd.move(e_coords[1],e_coords[2]+2,e_coords[3])
- end
- function loopMoveToPlayer(e_name)
- checkArg(1,e_name,"string","nil")
- if e_name then
- local stp
- repeat
- getPlayerCoord(e_name)
- Qd.move(e_coords[1],e_coords[2]+2,e_coords[3])
- stp = select(6,computer.pullSignal(0.5))
- until stp=="stop"
- end
- end
- ]])
- modem.broadcast(QueensChannel,
- [[
- function SwarmPlayer(e_name)
- checkArg(1,e_name,'string','nil')
- getPlayerCoord(e_name)
- Qd.move(e_coords[1]+ math.random(-3,3),e_coords[2] + math.random(-3,3),e_coords[3]+ math.random(-3,3))
- end
- ]])
- modem.open(SoldiersChannel)
- modem.broadcast(SoldiersChannel,"Sr= component.proxy(component.list('radar')())")
- modem.broadcast(SoldiersChannel,"Sn= component.proxy(component.list('navigation')())")
- modem.broadcast(SoldiersChannel,"Sd= component.proxy(component.list('drone')())")
- modem.broadcast(SoldiersChannel,"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
- local c = "local cmd local g=1 repeat cmd = select(6,computer.pullSignal(0.5)) Qd.setLightColor(0xFFFF00) Qd.setStatusText(\"Bingus \"..g) g=g+1 until cmd==\"stop\" Qd.setLightColor(0xFF0000) Qd.setStatusText(cmd)"
- local rad ="getEntityCoord(\"ph0\") Qd.setStatusText(tostring(e_coords[1]))"
- local search ="local cmd repeat cmd = select(6,computer.pullSignal(0.5)) getEntityCoord(\"ph0\") Qd.setStatusText(tostring(e_coords[1])) until cmd==\"stop\" Qd.setLightColor(0xFF0000) Qd.setStatusText(cmd)"
- local mv_2 ="local cmd repeat cmd = select(6,computer.pullSignal(0.5)) getEntityCoord(\"ph0\") Qd.move(e_coords[1],e_coords[2]+2,e_coords[3]) until cmd==\"stop\" Qd.setLightColor(0xFF0000) Qd.setStatusText(cmd)"
- local mv_2F ="local cmd repeat cmd = select(6,computer.pullSignal(0.5)) moveToEntity(\"ph0\") until cmd==\"stop\" Qd.setLightColor(0xFF0000) Qd.setStatusText(cmd)"
- local mv_2P ="local cmd repeat cmd = select(6,computer.pullSignal(0.5)) getPlayerCoord(\"ph0\") Qd.move(e_coords[1],e_coords[2]+2,e_coords[3]) until cmd==\"stop\" Qd.setLightColor(0xFF0000) Qd.setStatusText(cmd)"
- local mv_2PF ="local cmd repeat cmd = select(6,computer.pullSignal(0.5)) moveToPlayer(\"ph0\") until cmd==\"stop\" Qd.setLightColor(0xFF0000) Qd.setStatusText(cmd)"
- local queenCmd = "moveToPlayer(\"ph0\")"
- local queensOnly ="local cmd repeat cmd = select(6,computer.pullSignal(0.5)) "..queenCmd.." until cmd==\"stop\" Qd.setLightColor(0xFF0000) Qd.setStatusText(cmd)"
- local queenCmdSwrm = "SwarmPlayer(\"ph0\")"
- local queensOnly2 =
- [[
- local cmd
- repeat
- cmd = select(6,computer.pullSignal(0.5))
- if Qd.name():match("^Q%d+$") then
- ]]..queenCmdSwrm..[[
- end
- until cmd=="stop"
- Qd.setLightColor(0xFF0000)
- Qd.setStatusText(cmd)
- ]]
- local queenCmdDisp = [[ Qd.setStatusText(tag) ]]
- local queensOnly3 =
- [[
- local cmd,tag,x,y,z
- repeat
- _,_,_,_,_,cmd,tag,x,y,z = computer.pullSignal(0.5)
- if Qd.name():match("^Q%d+$") then
- if tag then
- Qd.setStatusText(tag)
- end
- end
- until cmd=="stop"
- Qd.setLightColor(0xFF0000)
- ]]
- local queensOnly4 =
- [[
- local cmd,tag,x,y,z
- while true do
- _,_,_,_,_,cmd,tag,x,y,z = computer.pullSignal(0.5)
- if Qd.name():match("^Q%d+$") then
- if cmd =="txt" then
- repeat
- if tag then
- Qd.setStatusText(tag)
- end
- Qd.setLightColor(0xFF0000)
- cmd = select(6,computer.pullSignal(0.5))
- until cmd=="stop"
- end
- end
- Qd.setLightColor(0xFFAF00)
- end
- ]]
- local queensOnly5 =
- [[
- local cmd,tag,x,y,z
- while true do
- _,_,_,_,_,cmd,tag,x,y,z = computer.pullSignal(0.5)
- if Qd.name():match("^Q%d+$") then
- if cmd == "go" then
- Qd.setLightColor(0x00FF00)
- loopMoveToPlayer(tag)
- end
- end
- Qd.setLightColor(0xFFAF00)
- end
- ]]
- modem.broadcast(QueensChannel,queensOnly5)
- print("Bingus15")
- while true do
- local cmd=io.read()
- if not cmd then return end
- if(cmd == "G") then
- modem.broadcast(QueensChannel,"go","ph0")
- sleep(0.5)
- elseif(cmd == "S") then
- modem.broadcast(QueensChannel,"stop")
- sleep(0.5)
- else
- modem.broadcast(QueensChannel,cmd)
- end
- end
Add Comment
Please, Sign In to add comment