Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function Settings()
- term.clear()
- term.setCursorPos(1,1)
- term.write("Setup-Modus für Fachtechniker")
- local pin = "----"
- repeat
- term.setCursorPos(1,2)
- term.write("Bitte Fachtechniker-PIN eingeben:")
- term.setCursorPos(1,3)
- term.write("(zum Verlassen ENTER drücken)")
- term.setCursorPos(1,4)
- pin = io.read()
- if pin == "" then
- return false
- elseif pin ~= "0000" then
- term.setCursorPos(1,4)
- term.clearLine()
- term.setCursorPos(1,1)
- term.clearLine()
- term.write("FALSCHER PIN")
- end
- until (pin == "0000")
- local connectors = {}
- local okKey
- local id
- local color
- repeat
- -- hellblau
- id, color = selectionMenu.selectionMenu("Farbe für Gleis 1 auswählen", {1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768},{"Weiß","Orange","Magenta","Hellblau","Gelb","Hellgrün","Rosa","Grau","Hellgrau","Türkis","Violett","Blau","Braun","Grün","Rot","Schwarz"})
- connectors["gleis1"] = color
- -- gelb
- id, color = selectionMenu.selectionMenu("Farbe für Gleis 2 auswählen", {1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768},{"Weiß","Orange","Magenta","Hellblau","Gelb","Hellgrün","Rosa","Grau","Hellgrau","Türkis","Violett","Blau","Braun","Grün","Rot","Schwarz"})
- connectors["gleis2"] = color
- -- hellgrün
- id, color = selectionMenu.selectionMenu("Farbe für Gleis 5 auswählen", {1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768},{"Weiß","Orange","Magenta","Hellblau","Gelb","Hellgrün","Rosa","Grau","Hellgrau","Türkis","Violett","Blau","Braun","Grün","Rot","Schwarz"})
- connectors["gleis5"] = color
- -- rosa
- id, color = selectionMenu.selectionMenu("Farbe für Gleis 6 auswählen", {1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768},{"Weiß","Orange","Magenta","Hellblau","Gelb","Hellgrün","Rosa","Grau","Hellgrau","Türkis","Violett","Blau","Braun","Grün","Rot","Schwarz"})
- connectors["gleis6"] = color
- -- magenta
- id, color = selectionMenu.selectionMenu("Farbe für Entladen auswählen", {1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768},{"Weiß","Orange","Magenta","Hellblau","Gelb","Hellgrün","Rosa","Grau","Hellgrau","Türkis","Violett","Blau","Braun","Grün","Rot","Schwarz"})
- connectors["entladen"] = color
- -- orange
- id, color = selectionMenu.selectionMenu("Farbe für Beladen auswählen", {1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768},{"Weiß","Orange","Magenta","Hellblau","Gelb","Hellgrün","Rosa","Grau","Hellgrau","Türkis","Violett","Blau","Braun","Grün","Rot","Schwarz"})
- connectors["beladen"] = color
- -- grau
- id, color = selectionMenu.selectionMenu("Farbe für Fließband-Inverter wählen", {1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768},{"Weiß","Orange","Magenta","Hellblau","Gelb","Hellgrün","Rosa","Grau","Hellgrau","Türkis","Violett","Blau","Braun","Grün","Rot","Schwarz"})
- connectors["band_richtung"] = color
- -- hellgrau
- id, color = selectionMenu.selectionMenu("Farbe für Sensor Band unten wählen", {1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768},{"Weiß","Orange","Magenta","Hellblau","Gelb","Hellgrün","Rosa","Grau","Hellgrau","Türkis","Violett","Blau","Braun","Grün","Rot","Schwarz"})
- connectors["band_unten"] = color
- -- türkis
- id, color = selectionMenu.selectionMenu("Farbe für Sensor Band oben wählen", {1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768},{"Weiß","Orange","Magenta","Hellblau","Gelb","Hellgrün","Rosa","Grau","Hellgrau","Türkis","Violett","Blau","Braun","Grün","Rot","Schwarz"})
- connectors["band_oben"] = color
- -- violett
- id, color = selectionMenu.selectionMenu("Farbe für Sensor Beladung wählen", {1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768},{"Weiß","Orange","Magenta","Hellblau","Gelb","Hellgrün","Rosa","Grau","Hellgrau","Türkis","Violett","Blau","Braun","Grün","Rot","Schwarz"})
- connectors["band_beladung"] = color
- -- blau
- id, color = selectionMenu.selectionMenu("Farbe für Zähler Band unten wählen", {1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768},{"Weiß","Orange","Magenta","Hellblau","Gelb","Hellgrün","Rosa","Grau","Hellgrau","Türkis","Violett","Blau","Braun","Grün","Rot","Schwarz"})
- connectors["zaehler_unten"] = color
- -- braun
- id, color = selectionMenu.selectionMenu("Farbe für Zähler Band oben wählen", {1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768},{"Weiß","Orange","Magenta","Hellblau","Gelb","Hellgrün","Rosa","Grau","Hellgrau","Türkis","Violett","Blau","Braun","Grün","Rot","Schwarz"})
- connectors["zaehler_oben"] = color
- -- grün
- id, color = selectionMenu.selectionMenu("Farbe für Beladungs-Stopper wählen", {1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768},{"Weiß","Orange","Magenta","Hellblau","Gelb","Hellgrün","Rosa","Grau","Hellgrau","Türkis","Violett","Blau","Braun","Grün","Rot","Schwarz"})
- connectors["beladung_invert"] = color
- -- rot
- id, color = selectionMenu.selectionMenu("Farbe für Hauptschalter wählen", {1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768},{"Weiß","Orange","Magenta","Hellblau","Gelb","Hellgrün","Rosa","Grau","Hellgrau","Türkis","Violett","Blau","Braun","Grün","Rot","Schwarz"})
- connectors["notaus"] = color
- id, color = selectionMenu.selectionMenu("Seite für Input wählen", "left", "right", "top", "bottom", "front", "back")
- connectors["input"] = color
- id, color = selectionMenu.selectionMenu("Seite für Output wählen", "left", "right", "top", "bottom", "front", "back")
- connectors["output"] = color
- id, color = selectionMenu.selectionMenu("Seite für Monitor wählen", "left", "right", "top", "bottom", "front", "back")
- connectors["monitor"] = color
- id, color = selectionMenu.selectionMenu("Seite für Modem wählen", "left", "right", "top", "bottom", "front", "back")
- connectors["modem"] = color
- term.clear()
- term.setCursorPos(1,1)
- term.setTextColor(connectors["gleis1"])
- print("Gleis 1")
- term.setTextColor(connectors["gleis2"])
- print("Gleis 2")
- term.setTextColor(connectors["gleis5"])
- print("Gleis 5")
- term.setTextColor(connectors["gleis6"])
- print("Gleis 6")
- term.setTextColor(connectors["entladen"])
- print("Entladen")
- term.setTextColor(connectors["beladen"])
- print("Beladen")
- term.setTextColor(connectors["band_richtung"])
- print("Fließband Richtung")
- term.setTextColor(connectors["band_unten"])
- print("Fließband Sensor unten")
- term.setTextColor(connectors["band_oben"])
- print("Fließband Sensor oben")
- term.setTextColor(connectors["band_beladung"])
- print("Fließband Sensor Beladung")
- term.setTextColor(connectors["zaehler_unten"])
- print("Fließband Zähler unten")
- term.setTextColor(connectors["zaehler_oben"])
- print("Fließband Zähler oben")
- term.setTextColor(connectors["beladung_invert"])
- print("Fließband Beladung Invertierer")
- term.setTextColor(connectors["notaus"])
- print("Hauptschalter")
- term.setTextColor(colors.white)
- print("Kabel-Input: " .. connectors["input"])
- print("Kabel-Output: " .. connectors["output"])
- print("Monitor: " .. connectors["monitor"])
- print("Modem: ".. connectors["modem"])
- print()
- print("Auswahl OK ? (j/n)")
- okKey = io.read()
- until(okKey == "j")
- local file = fs.open("/lager/redstone/connectors","w")
- file.write(textutils.serialize(connectors))
- file.close()
- return true
- end
- function Silofuellung()
- local silo = {}
- silo["namen"] = {}
- silo["pc-id"] = {}
- silo["silo-nr"] = {}
- if fs.exists("/lager/redstone/silos") then
- local file = fs.open("/lager/redstone/silos","r")
- silo = textutils.unserialize(file.readAll())
- file.close()
- end
- term.clear()
- term.setCursorPos(1,1)
- term.write("Setup-Modus für Fachtechniker")
- local pin = "----"
- repeat
- term.setCursorPos(1,2)
- term.write("Bitte Fachtechniker-PIN eingeben:")
- term.setCursorPos(1,3)
- term.write("(zum Verlassen ENTER drücken)")
- term.setCursorPos(1,4)
- pin = io.read()
- if pin == "" then
- return false
- elseif pin ~= "0000" then
- term.setCursorPos(1,4)
- term.clearLine()
- term.setCursorPos(1,1)
- term.clearLine()
- term.write("FALSCHER PIN")
- end
- until (pin == "0000")
- local name
- local pcID
- local siloNr
- local okKey
- repeat
- repeat
- term.clear()
- term.setCursorPos(1,1)
- print("Item-Name eingeben:")
- name = io.read()
- print("PC-ID eingeben:")
- pcID = tonumber(io.read())
- print("Silo-Nr eingeben:")
- siloNr = io.read()
- siloNr = "silo" .. siloNr
- print("Auswahl OK ? (j/n)")
- okKey = io.read()
- until (okKey == "j")
- table.insert(silo["namen"], name)
- table.insert(silo["pc-id"], pcID)
- table.insert(silo["silo-nr"], siloNr)
- term.clear()
- term.setCursorPos(1,1)
- print("Weiteres Silo speichern? (j/n)")
- okKey = io.read()
- until ( okKey ~= "j")
- local file = fs.open("/lager/redstone/silos","w")
- file.write(textutils.serialize(silo))
- file.close()
- return true
- end
- function Entladen()
- term.clear()
- term.setCursorPos(1,1)
- local id
- sel = "0"
- id = selectionMenu.selectionMenu("Gleis zum Entladen wählen", "Gleis 1", "Gleis 2", "Gleis 5", "Gleis 6", "Abbrechen")
- if id == 1 then
- sel = "gleis1"
- elseif id == 2 then
- sel = "gleis2"
- elseif id == 3 then
- sel = "gleis5"
- elseif id == 4 then
- sel = "gleis6"
- elseif id == 5 then
- return
- end
- redstone.setBundledOutput(Connectors["output"], colors.combine(Connectors[sel],Connectors["entladen"],Connectors["band_richtung"], Connectors["notaus"]))
- term.clear()
- term.setCursorPos(1,1)
- print("Entladevorgang aktiv")
- print("Beliebige Taste drücken um Vorgang abzubrechen")
- local screen
- if peripheral.isPresent(Connectors["monitor"]) then
- screen = peripheral.wrap(Connectors["monitor"])
- screen.clear()
- screen.setTextScale(0.8)
- screen.setCursorPos(1,1)
- screen.write("Entladevorgang aktiv")
- screen.setCursorPos(1,2)
- screen.write("Monitor anklicken um Vorgang abzubrechen")
- end
- parallel.waitForAny(Entladen_Normal, Entladen_Voll)
- end
- function Entladen_Normal()
- local new_senor_state = redstone.testBundledInput(Connectors["input"],Connectors["band_unten"])
- local old_sensor_state = new_senor_state
- while (not (old_sensor_state and (not new_senor_state))) and Beendet == false do
- local event = {os.pullEvent()}
- if event[1] == "redstone" then
- old_sensor_state = new_senor_state
- new_senor_state = redstone.testBundledInput(Connectors["input"],Connectors["band_unten"])
- elseif (event[1] == "key" or event[1] == "monitor_touch") and Beendet == false then
- Beendet = true
- Beende_Entladen(sel)
- return
- end
- end
- if Beendet == false then
- Beendet = true
- Beende_Entladen(sel)
- return
- end
- end
- function Entladen_Voll()
- while Beendet == false do
- local event = {os.pullEvent("rednet_message")}
- if event[4] == "lager_voll" then
- Beendet = true
- Lager_Voll(sel, event[2], event[3])
- return
- end
- end
- end
- function Beende_Entladen(sel)
- redstone.setBundledOutput(Connectors["output"], colors.combine(Connectors[sel],Connectors["band_richtung"], Connectors["notaus"]))
- term.clear()
- term.setCursorPos(1,1)
- print("Entladevorgang wird beendet")
- print("Prüfe auf überschüssige Items")
- print()
- print("BITTE WARTEN")
- local screen
- if peripheral.isPresent(Connectors["monitor"]) then
- screen = peripheral.wrap(Connectors["monitor"])
- screen.clear()
- screen.setTextScale(0.8)
- screen.setCursorPos(1,1)
- screen.write("Entladevorgang wird beendet")
- screen.setCursorPos(1,2)
- screen.write("Prüfe auf überschüssige Items")
- screen.setCursorPos(1,4)
- screen.write("BITTE WARTEN")
- end
- local new_senor_state = redstone.testBundledInput(Connectors["input"],Connectors["band_oben"])
- local old_sensor_state = new_senor_state
- while not (old_sensor_state and (not new_senor_state)) do
- local event = {os.pullEvent()}
- if event[1] == "redstone" then
- old_sensor_state = new_senor_state
- new_senor_state = redstone.testBundledInput(Connectors["input"],Connectors["band_oben"])
- elseif (event[1] == "rednet_message" and event[4] == "lager_voll") then
- Lager_Voll(sel, event[2], event[3])
- return
- end
- end
- os.startTimer(15)
- local timer_end = false
- while not timer_end do
- local event = {os.pullEvent()}
- if event[1] == "timer" then
- timer_end = true
- elseif (event[1] == "rednet_message" and event[4] == "lager_voll") then
- Lager_Voll(sel, event[2], event[3])
- return
- end
- end
- redstone.setBundledOutput(Connectors["output"], 0)
- term.clear()
- term.setCursorPos(1,1)
- print("Entladevorgang abgeschlossen")
- print("Beliebige Taste drücken um zum Menü zurückzukehren")
- if peripheral.isPresent(Connectors["monitor"]) then
- screen.clear()
- screen.setTextScale(0.8)
- screen.setCursorPos(1,1)
- screen.write("Entladevorgang abgeschlossen")
- screen.setCursorPos(1,2)
- screen.write("Monitor anklicken um zum Menü zurückzukehren")
- end
- while true do
- local event = os.pullEvent()
- if (event == "key" or event == "monitor_touch") then
- term.clear()
- if peripheral.isPresent(Connectors["monitor"]) then
- screen.clear()
- end
- return
- end
- end
- end
- function Lager_Voll(sel, pc, volles_lager)
- for index, val in pairs(Silos["pc-id"]) do
- if pc ~= val then
- rednet.send(val, "stop", "block")
- end
- end
- redstone.setBundledOutput(Connectors["output"], colors.combine(Connectors[sel],Connectors["beladen"], Connectors["notaus"]))
- term.clear()
- term.setCursorPos(1,1)
- print("Lager voll!")
- print("Kein Platz mehr für " .. volles_lager)
- print("Überschüssige Items werden in Zug zurückgeführt")
- print()
- print("BITTE WARTEN")
- local screen
- if peripheral.isPresent(Connectors["monitor"]) then
- screen = peripheral.wrap(Connectors["monitor"])
- screen.clear()
- screen.setTextScale(0.8)
- screen.setCursorPos(1,1)
- screen.write("Lager voll!")
- screen.setCursorPos(1,2)
- screen.write("Kein Platz mehr für " .. volles_lager)
- screen.setCursorPos(1,3)
- screen.write("Überschüssige Items werden in Zug zurückgeführt")
- screen.setCursorPos(1,5)
- screen.write("BITTE WARTEN")
- end
- local new_senor_state = redstone.testBundledInput(Connectors["input"],Connectors["band_unten"])
- local old_sensor_state = new_senor_state
- while not (old_sensor_state and (not new_senor_state)) do
- local event = {os.pullEvent()}
- if event[1] == "redstone" then
- old_sensor_state = new_senor_state
- new_senor_state = redstone.testBundledInput(Connectors["input"],Connectors["band_unten"])
- end
- end
- os.sleep(20)
- redstone.setBundledOutput(Connectors["output"], 0)
- rednet.send(pc,"ok","entladen_ok")
- for index, val in pairs(Silos["pc-id"]) do
- rednet.send(val,"ok", "lager_ok")
- end
- term.clear()
- term.setCursorPos(1,1)
- print("Entladen abgebrochen")
- print("Überschüssige Items im Zug")
- print("Beliebige Taste drücken um zum Menü zurückzukehren")
- local screen
- if peripheral.isPresent(Connectors["monitor"]) then
- screen = peripheral.wrap(Connectors["monitor"])
- screen.clear()
- screen.setTextScale(0.8)
- screen.setCursorPos(1,1)
- screen.write("Entladen abgebrochen")
- screen.setCursorPos(1,2)
- screen.write("Überschüssige Items im Zug")
- screen.setCursorPos(1,3)
- screen.write("Monitor anklicken um zum Menü zurückzukehren")
- end
- while true do
- local event = os.pullEvent()
- if (event == "key" or event == "monitor_touch") then
- term.clear()
- if peripheral.isPresent(Connectors["monitor"]) then
- screen.clear()
- end
- return
- end
- end
- end
- function Beladen()
- term.clear()
- term.setCursorPos(1,1)
- local id
- local idg
- local sel
- idg, id = selectionMenu.selectionMenu("Item auswählen", Silos["namen"])
- id = indexOf(Silos["namen"], id)
- term.clear()
- term.setCursorPos(1,1)
- idg = selectionMenu.selectionMenu("Gleis zum Entladen wählen", "Gleis 1", "Gleis 2", "Gleis 5", "Gleis 6", "Abbrechen")
- if idg == 1 then
- sel = "gleis1"
- elseif idg == 2 then
- sel = "gleis2"
- elseif idg == 3 then
- sel = "gleis5"
- elseif idg == 4 then
- sel = "gleis6"
- elseif idg == 5 then
- return
- end
- for index, val in pairs(Silos["pc-id"]) do
- if Silos["pc-id"][id] ~= val then
- rednet.send(val, "stop", "block")
- end
- end
- rednet.send(Silos["pc-id"][id], Silos["silo-nr"][id], "beladen")
- redstone.setBundledOutput(Connectors["output"], colors.combine(Connectors[sel],Connectors["beladen"], Connectors["notaus"]))
- term.clear()
- term.setCursorPos(1,1)
- print("Beladevorgang aktiv")
- print("Beliebige Taste drücken um Vorgang abzubrechen")
- local screen
- if peripheral.isPresent(Connectors["monitor"]) then
- screen = peripheral.wrap(Connectors["monitor"])
- screen.clear()
- screen.setTextScale(0.8)
- screen.setCursorPos(1,1)
- screen.write("Beladevorgang aktiv")
- screen.setCursorPos(1,2)
- screen.write("Monitor anklicken um Vorgang abzubrechen")
- end
- local new_senor_state = redstone.testBundledInput(Connectors["input"],Connectors["band_unten"])
- local old_sensor_state = new_senor_state
- while not (old_sensor_state and (not new_senor_state)) do
- local event = {os.pullEvent()}
- if event[1] == "redstone" and redstone.testBundledInput(Connectors["input"],Connectors["band_beladung"]) then
- rednet.send(Silos["pc-id"][id],"ok", "lager_ok")
- Beende_Beladen(sel, "zug")
- return
- elseif event[1] == "redstone" then
- old_sensor_state = new_senor_state
- new_senor_state = redstone.testBundledInput(Connectors["input"],Connectors["band_unten"])
- elseif (event[1] == "key" or event[1] == "monitor_touch") then
- rednet.send(Silos["pc-id"][id],"ok", "lager_ok")
- Beende_Beladen(sel, "abbruch")
- return
- end
- end
- for index, val in pairs(Silos["pc-id"]) do
- rednet.send(val,"ok", "lager_ok")
- end
- Beende_Beladen(sel, "lager")
- end
- function Beende_Beladen(sel, grund)
- redstone.setBundledOutput(Connectors["output"], colors.combine(Connectors[sel],Connectors["band_richtung"], Connectors["notaus"]))
- term.clear()
- term.setCursorPos(1,1)
- if grund == "zug" then
- print("Zug ist voll")
- print("Beladevorgang wird beendet")
- elseif grund == "abbruch" then
- print("Beladevorgang wurde abgebrochen")
- elseif grund == "lager" then
- print("Lager ist leer")
- print("Beladevorgang wurde abgebrochen")
- end
- print("Fließband wird bereinigt ...")
- local screen
- if peripheral.isPresent(Connectors["monitor"]) then
- screen = peripheral.wrap(Connectors["monitor"])
- screen.clear()
- screen.setTextScale(0.8)
- screen.setCursorPos(1,1)
- screen.write("Beladevorgang wird beendet")
- screen.setCursorPos(1,2)
- screen.write("Fließband wird bereinigt ...")
- end
- local new_senor_state = redstone.testBundledInput(Connectors["input"],Connectors["band_oben"])
- local old_sensor_state = new_senor_state
- while not (old_sensor_state and (not new_senor_state)) do
- local event = {os.pullEvent()}
- if event[1] == "redstone" then
- old_sensor_state = new_senor_state
- new_senor_state = redstone.testBundledInput(Connectors["input"],Connectors["band_oben"])
- end
- end
- os.sleep(15)
- redstone.setBundledOutput(Connectors["output"], 0)
- term.clear()
- term.setCursorPos(1,1)
- print("Beladevorgang abgeschlossen")
- print("Beliebige Taste drücken um zum Menü zurückzukehren")
- if peripheral.isPresent(Connectors["monitor"]) then
- screen.clear()
- screen.setTextScale(0.8)
- screen.setCursorPos(1,1)
- screen.write("Beladevorgang abgeschlossen")
- screen.setCursorPos(1,2)
- screen.write("Monitor anklicken um zum Menü zurückzukehren")
- end
- while true do
- local event = os.pullEvent()
- if (event == "key" or event == "monitor_touch") then
- term.clear()
- if peripheral.isPresent(Connectors["monitor"]) then
- screen.clear()
- end
- return
- end
- end
- end
- function indexOf ( tab, value )
- for index, val in pairs(tab) do
- if value == val then
- return index
- end
- end
- return -1
- end
- -- #################
- -- # Hauptprogramm #
- -- #################
- os.loadAPI("selectionMenu")
- if not fs.exists("/lager/redstone/connectors") then
- if not Settings() then
- term.clear()
- return
- end
- end
- local file = fs.open("/lager/redstone/connectors","r")
- Connectors = textutils.unserialize(file.readAll())
- file.close()
- if not fs.exists("/lager/redstone/silos") then
- if not Silofuellung() then
- term.clear()
- return
- end
- end
- local file = fs.open("/lager/redstone/silos","r")
- Silos = textutils.unserialize(file.readAll())
- file.close()
- rednet.open(Connectors["modem"])
- while true do
- local screen
- if peripheral.isPresent(Connectors["monitor"]) then
- screen = peripheral.wrap(Connectors["monitor"])
- screen.clear()
- end
- Beendet = false
- local id
- id = selectionMenu.selectionMenu("Aktion auswählen", "Entladen", "Beladen", "Fachtechniker-Einstellungen", "Silo-Belegung")
- if id == 1 then
- Beendet = false
- Entladen()
- elseif id == 2 then
- Beladen()
- elseif id == 3 then
- Settings()
- file = fs.open("/lager/redstone/connectors","r")
- Connectors = textutils.unserialize(file.readAll())
- file.close()
- elseif id == 4 then
- Silofuellung()
- file = fs.open("/lager/redstone/silos","r")
- Silos = textutils.unserialize(file.readAll())
- file.close()
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement