Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- c = require("component")
- event = require("event")
- os = require("os")
- event = require("event")
- computer = require("computer")
- serialization = require("serialization")
- sg = c.stargate
- modem = c.modem
- port = 123
- local asd = 1
- print("Stargate controller")
- print("--------------------------------------------------------------------------------------------------------------------------------------------------------------")
- print()
- repeat
- modem.open(port)
- print("Port opened. Listening for incoming messages and events")
- print()
- local _, _, _, _, _, raw, address_raw = event.pull(nil, "modem_message")
- modem.close(port)
- print("Message recieved.")
- os.sleep(0.5)
- if raw == "sd" then
- local address = serialization.unserialize(address_raw)
- print("Attempting to shut down wormhole")
- os.sleep(0.7)
- sg.disengageGate()
- elseif raw == "dial1" then
- local address = serialization.unserialize(address_raw)
- os.sleep(0.5)
- print("Dialing Spawn")
- print()
- address = {"Sextans", "Corona Australis", "Andromeda", "Perseus", "Leo", "Aries", "Point of Origin"}
- for i,v in ipairs(address) do print(i,v) end
- print()
- function dialNext(dialed)
- glyph = address[dialed + 1]
- print("Engaging "..glyph.."... ")
- sg.engageSymbol(glyph)
- end
- end
- eventID = event.listen("stargate_spin_chevron_engaged"), function(evname, address, caller, num, lock, glyph)
- os.sleep(2)
- if lock then
- if (event.cancel(eventID)) then
- print("Event cancelled successfully")
- end
- os.sleep(0.1)
- print("Engaging...")
- sg.engageGate()
- doing = false
- os.sleep(5) print("30")
- os.sleep(1) print("29")
- os.sleep(1) print("28")
- os.sleep(1) print("27")
- os.sleep(1) print("26")
- os.sleep(1) print("25")
- os.sleep(1) print("24")
- os.sleep(1) print("23")
- os.sleep(1) print("22")
- os.sleep(1) print("21")
- os.sleep(1) print("20")
- os.sleep(1) print("19")
- os.sleep(1) print("18")
- os.sleep(1) print("17")
- os.sleep(1) print("16")
- os.sleep(1) print("15")
- os.sleep(1) print("14")
- os.sleep(1) print("13")
- os.sleep(1) print("12")
- os.sleep(1) print("11")
- os.sleep(1) print("10")
- os.sleep(1) print("9")
- os.sleep(1) print("8")
- os.sleep(1) print("7")
- os.sleep(1) print("6")
- os.sleep(1) print("5")
- os.sleep(1) print("4")
- os.sleep(1) print("3")
- os.sleep(1) print("2")
- os.sleep(1) print("1")
- os.sleep(1) print("Stargate Shutdown")
- sg.disengageGate()
- os.sleep(1)
- computer.shutdown(true)
- else
- dialNext(num)
- end
- end
- elseif raw == "dial2" then
- os.sleep(0.5)
- print("Dialing Neather")
- print()
- address = {"Sextans", "Corona Australis", "Andromeda", "Perseus", "Leo", "Aries", "Point of Origin"}
- for i,v in ipairs(address) do print(i,v) end
- print()
- function dialNext(dialed)
- glyph = address[dialed + 1]
- print("Engaging "..glyph.."... ")
- sg.engageSymbol(glyph)
- end
- eventID = event.listen("stargate_spin_chevron_engaged"), function(evname, address, caller, num, lock, glyph)
- os.sleep(2)
- if lock then
- if (event.cancel(eventID)) then
- print("Event cancelled successfully")
- end
- os.sleep(0.1)
- print("Engaging...")
- sg.engageGate()
- doing = false
- os.sleep(5) print("30")
- os.sleep(1) print("29")
- os.sleep(1) print("28")
- os.sleep(1) print("27")
- os.sleep(1) print("26")
- os.sleep(1) print("25")
- os.sleep(1) print("24")
- os.sleep(1) print("23")
- os.sleep(1) print("22")
- os.sleep(1) print("21")
- os.sleep(1) print("20")
- os.sleep(1) print("19")
- os.sleep(1) print("18")
- os.sleep(1) print("17")
- os.sleep(1) print("16")
- os.sleep(1) print("15")
- os.sleep(1) print("14")
- os.sleep(1) print("13")
- os.sleep(1) print("12")
- os.sleep(1) print("11")
- os.sleep(1) print("10")
- os.sleep(1) print("9")
- os.sleep(1) print("8")
- os.sleep(1) print("7")
- os.sleep(1) print("6")
- os.sleep(1) print("5")
- os.sleep(1) print("4")
- os.sleep(1) print("3")
- os.sleep(1) print("2")
- os.sleep(1) print("1")
- os.sleep(1) print("Stargate Shutdown")
- sg.disengageGate()
- os.sleep(1)
- computer.shutdown(true)
- else
- dialNext(num)
- end
- end
- dialNext(0)
- until asd == 2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement