Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- c = require("component")
- local term = require("term")
- local component = require("component")
- event = require("event")
- os = require("os")
- event = require("event")
- computer = require("computer")
- serialization = require("serialization")
- local gpu = component.gpu -- get primary gpu component
- local w, h = gpu.getResolution()
- gpu.fill(1, 1, w, h, " ") -- clears the screen
- sg = c.stargate
- modem = c.modem
- port = 123
- local asd = 1
- print("SGC Gate Computer")
- print("--------------------------------------------------------------------------------------------------------------------------------------------------------------")
- print()
- repeat
- term.clear(true)
- 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
- print("Attempting to shut down wormhole")
- os.sleep(0.7)
- sg.disengageGate()
- elseif raw == "dial1" then
- print()
- address = {"Sextans", "Corona Australis", "Andromeda", "Perseus", "Leo", "Aries", "Point of Origin"}
- os.sleep(0.5)
- print("Dialing")
- 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(2)
- 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)
- else
- dialNext(num)
- end
- end)
- dialNext(0)
- doing = true
- print()
- while doing do os.sleep(0.1) end
- elseif raw == "dial2" then
- print()
- address = {"Sextans", "Corona Australis", "Andromeda", "Perseus", "Leo", "Aries", "Point of Origin"}
- os.sleep(0.5)
- print("Dialing")
- 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(2)
- print("Engaging...")
- sg.engageGate()
- doing = false
- modem.open(port)
- 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)
- else
- dialNext(num)
- end
- end)
- dialNext(0)
- doing = true
- print()
- while doing do os.sleep(0.1) end
- elseif raw == "manual" then
- local address = serialization.unserialize(address_raw)
- print()
- os.sleep(0.5)
- print("Dialing")
- 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(2)
- print("Engaging...")
- sg.engageGate()
- 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)
- doing = false
- else
- dialNext(num)
- end
- end)
- dialNext(0)
- doing = true
- print()
- while doing do os.sleep(0.1) end
- end
- until asd == 2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement