Advertisement
Marlingaming

System Start Primary File

Jun 14th, 2023 (edited)
865
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.45 KB | None | 0 0
  1. --start file
  2. local InterfaceSystem = nil
  3. local SystemFolder = nil
  4. local User = nil
  5.  
  6. local function StartSystem()
  7.     shell.run(fs.complete(SystemFolder,"System1.lua"),"start",InterfaceSystem,User)
  8. end
  9.  
  10. local function PrepareUpdate(Folder)
  11.     local version
  12.     local Details = fs.open(fs.complete(Folder,"Details.txt"),"r")
  13.     version = Details.readLine()
  14.     Details.close()
  15.     local Update_Dir = fs.open(fs.complete(Folder,"DirChanges.txt"),"r")
  16.     local Dirs = textutils.unserialize(Update_Dir.readAll())
  17.     for i = 1, #Dirs do
  18.         if fs.exists(Dirs[i]) then else fs.makeDir(Dirs[i]) end
  19.     end
  20.     Update_Dir.close()
  21.     local Update_Files = fs.open(fs.complete(Folder,"FileChanges.txt"),"r")
  22.     local Files = textutils.unserialize(Update_Files.readAll())
  23.     for i = 1, #Files do
  24.         if Files[i][2] == "remove" then fs.delete(Files[i][1]) elseif (Files[i][2] == "replace" or Files[i][2] == "add") then shell.run("pastebin","get",Files[i][3],Files[i][1]) end
  25.     end
  26.     Update_Files.close()
  27.     fs.delete(Folder)
  28.     settings.set("os_version",version)
  29.     settings.save()
  30. end
  31.  
  32. local function SetupCalls(Data)
  33.     settings.load(Data[1][2])
  34.     if Data[2][2] ~= nil then PrepareUpdate(Data[2][2]) os.reboot() end
  35.     StartSystem()
  36. end
  37.  
  38. local function readBoot()
  39.     local BOOT = fs.open("bootresults.sys","r")
  40.     local Results = textutils.unserialize(BOOT.readAll())
  41.     BOOT.close()
  42.     SetupCalls(Results)
  43. end
  44.  
  45. readBoot()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement