Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[Pegasus_AI Missile Defense Program by Aidan4281]]--
- --[System requires atleast 5 CC's with Modems and ABMs]]--
- --[System has 5% chance of failure in killing missiles]]--
- --[[Settings]]--
- local waitDelay = 2
- local countersPerMissile = 1
- local missileDelay = 3
- --[[Initialization]]--
- local silos, curSilo = {}, 1
- peripheral.find("modem", rednet.open)
- term.setBackgroundColor(colors.blue)
- local function red()
- term.setBackgroundColor(colors.red)
- print(" ")
- term.setBackgroundColor(colors.blue)
- end
- rednet.broadcast("ABM1")
- repeat
- local id, msg = rednet.receive(waitDelay)
- if msg == "ABM" then table.insert(silos, id) end
- until not id
- --[[Main Programs]]--
- while true do
- if not redstone.getInput("back") then
- term.clear()
- term.setCursorPos(1, 1)
- red()
- print(" PEGASUS_AI DEFENSE SYSTEMS ACTIVATED ")
- red()
- print(" ANTI-BALLISTIC MISSILE SHIELD ONLINE ")
- red()
- red()
- print(" [STANDBY ABM Silos] ")
- for k, v in ipairs(silos) do print(" silo #" .. k .. " id = "..v) end
- red()
- repeat os.pullEvent("redstone") until redstone.getInput("back")
- end
- term.clear()
- term.setCursorPos(1, 1)
- term.setTextColor(colors.red)
- print("Incoming Missiles:")
- print("Firing CounterMeasures\n")
- maptab = peripheral.call("back","getEntities")
- maptxt = textutils.serialize(maptab)
- if maptxt ~= "{}" then
- allDat = 0
- for num in pairs(maptab) do
- allDat = allDat+1
- end
- targets = allDat/3
- for i=0,targets-1 do
- local msg = {["x"] = math.floor(maptab["x_"..i]), ["y"] = math.floor(maptab["y_"..i]), ["z"] = math.floor(maptab["z_"..i])}
- print("Incoming Missile Threat #" .. i .. " at X:" .. msg.x .. " Y:" .. msg.y .. " Z:" .. msg.z)
- print("Launching " .. countersPerMissile .. " ABM Missile CounterMeasures...\n")
- for i = 1, countersPerMissile do
- rednet.send(silos[curSilo], msg)
- curSilo = (curSilo == #silos) and 1 or (curSilo + 1)
- sleep(missileDelay)
- end
- sleep(0)
- end
- sleep(0)
- end
- sleep(2)
- end
- sleep(1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement