Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Einführung in die Stavros Reaktorprogramme
- -- Dieses Programm ist der Autoupdater für das Stavros Reaktoranzeige Programm inkl. aller Zusatzdateien.
- -- Das Steuerprogramm zeigt die Werte einen Bigger Reaktors(aktiv/passiv) auf einem Monitor an und kann darüber gesteuert werden.
- -- Es aktualisiert sich und alle benötigten Dateien selbstständig und fährt automatisch beim Start des CC-Computers hoch.
- -- Damit ist korrekt läuft, schließe per Modem mindestens einen Monitor von 2x3 Blöcken, einen Reaktor und optional einen
- -- Alarm(auf dem Computer) an.
- -- Für Fragen melde dich bitte bei PlatinKinggg
- -- Copyright PlatinKinggg
- -- Frei zur Verteilung
- -- Viel Spaß mit dem Programm :D
- local startUp = {"jf5L1Akr", "startup", "Autoupdate wurde in startup installiert", "Autoupdate wurde erfolgreich aktualisiert. Starte den PC in 5 Sekunden neu...", "Autoupdate ist aktuell"}
- local reactorProgram = {"c3dEptJE", "Reaktoranzeige", "Reaktoranzeige Stavros wurde erfolgreich installiert", "Reaktoranzeige Stavros wurde erfolgreich aktualisiert", "Reaktoranzeige Stavros ist aktuell"}
- local programConfig = {"GN3FHDUV", "Programmkonfiguration", "Die Programmkonfiguration wurde erfolgreich hinterlegt", "Die Programmkonfiguration wurde erfolgreich aktualisiert", "Die Programmkonfiguration ist aktuell"}
- local functions_BiggerReactor = {"BaFecRTj", "Funktionen", "Die Funktion-Datei wurde erfolgreich hinterlegt", "Die Funktion-Datei wurden aktualisiert", "Die Funktion-Datei ist aktuell"}
- local functions_BigReactor = {"59QBHZQx", "Funktionen", "Die Funktion-Datei wurde erfolgreich hinterlegt", "Die Funktion-Datei wurden aktualisiert", "Die Funktion-Datei ist aktuell"}
- -- local functions_BiggerReactors_Turbine = {" TBD ", "Funktionen", "Die Funktion-Datei wurde erfolgreich hinterlegt", "Die Funktion-Datei wurden aktualisiert", "Die Funktion-Datei ist aktuell"}
- local functions_BigReactors_Turbine = {"eK7dpNCX", "Funktionen", "Die Funktion-Datei wurde erfolgreich hinterlegt", "Die Funktion-Datei wurden aktualisiert", "Die Funktion-Datei ist aktuell"}
- local readMeVariables = {"UFQ64gxA", "ReadMeVariables", "Eine ReadMe für die verwendeten Variablen wurden heruntergeladen", "Die ReadMe für die verwendeten Variablen wurden aktualisiert", "Die ReadMe für die verwendeten Variablen ist aktuell"}
- --[[
- Funktion zur Prüfung, ob und welche Multiblockstruktur an das Netzwerk angebunden wurde. Es wird gefiltert, ob mehr als ein Reaktor ODER (mehrere) Turbinen angeschlossen sind. Werden mehrere Reaktoren oder kombiniert Reaktor und Turbinen erkannt, wird eine Fehlermeldung ausgegeben.
- ]]
- local function peripheralCheck()
- local reactor = nil
- local turbine = nil
- for _, name in ipairs(peripheral.getNames()) do
- local deviceType = peripheral.getType(name)
- if deviceType == "BigReactors-Reactor" or deviceType == "BiggerReactors-Reactor" then
- if reactor then
- print("Fehler: Mehr als ein Reaktor gefunden! Bitte beheben!")
- print("Programm wird gestoppt und der CC-Computer in 30 Sekunden neugestartet")
- sleep(30)
- os.reboot()
- end
- reactor = deviceType
- elseif deviceType == "BigReactors-Turbine" or deviceType == "BiggerReactors-Turbine" then
- turbine = deviceType
- end
- end
- if reactor and turbine then
- print("Fehler: Sowohl ein Reaktor als auch eine Turbine gefunden!")
- print("Das Programm unterstützt pro Computer nur einen Reaktor ODER mehrere Turbinen")
- print("Bitte beheben!")
- print("Programm wird gestoppt und der CC-Computer in 30 Sekunden neugestartet")
- sleep(30)
- os.reboot()
- end
- return reactor or turbine
- end
- local function fileCheck(file)
- shell.run("pastebin","get", file[1], file[2] .. "Copy")
- if fs.exists(file[2]) == false then
- fs.copy(file[2] .. "Copy", file[2])
- fs.delete(file[2] .. "Copy")
- term.setTextColor(colors.red)
- print(file[3])
- term.setTextColor(colors.white)
- sleep(2)
- elseif fs.getSize(file[2] .. "Copy") ~= fs.getSize(file[2]) then
- fs.delete(file[2])
- fs.copy(file[2] .. "Copy", file[2])
- fs.delete(file[2] .. "Copy")
- term.setTextColor(colors.yellow)
- print(file[4])
- term.setTextColor(colors.white)
- if file[2] == "startup" then
- sleep(5)
- os.reboot()
- end
- else
- fs.delete(file[2] .. "Copy")
- term.setTextColor(colors.green)
- print(file[5])
- term.setTextColor(colors.white)
- end
- end
- -- Programmstart
- fileCheck(startUp)
- fileCheck(reactorProgram)
- --fileCheck(programConfig)
- peripheral = peripheralCheck()
- if peripheral then
- if peripheral == "BiggerReactors-Reactor" then
- fileCheck(functions_BiggerReactor)
- print("Bigger Reactor API erkannt")
- sleep(2)
- elseif peripheral == "BigReactors-Reactor" then
- fileCheck(functions_BigReactor)
- print("Big Reactor API erkannt")
- sleep(2)
- elseif peripheral == "BiggerReactors-Turbine" then
- fileCheck(functions_BiggerReactors_Turbine)
- print("Bigger Reactor Turbinen API erkannt")
- sleep(2)
- elseif peripheral == "BigReactors-Turbine" then
- fileCheck(functions_BigReactors_Turbine)
- print("Big Reactor Turbinen API erkannt")
- sleep(2)
- else
- print("Warnung: Unbekannte Reaktor/Turbinen API erkannt. Bitte Mod Author kontaktieren!!!")
- end
- else
- print("Weder Reaktor noch Turbine erkannt. Bitte das Netzwerk überprüfen")
- end
- fileCheck(readMeVariables)
- sleep(5)
- shell.run("Reaktoranzeige")
- -- Copyright PlatinKinggg
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement