View difference between Paste ID: YRFeS0G3 and gkN0AZ7G
SHOW: | | - or go back to the newest paste.
1
local function extractRepository(cpfDir, destDir)
2
        print("Constructing project...")
3
        local file = io.open(cpfDir, "r")
4
        local cFile = nil
5
        local lc = 0
6
		local total = 0
7
		local ox,oy = term.getCursorPos()
8
       
9
        for line in file:lines() do
10
                if lc > 0 then
11
                        cFile:write(line.."\n")
12
                        lc = lc-1
13
						term.clearLine()
14
						term.setCursorPos(ox,oy)
15
                        if lc == 0 then
16
                                cFile:close()
17
                                print("File write complete.")
18
                        else
19
							term.write(((total-lc)/total * 100).."%")
20
						end
21
                elseif string.find(line, "MKDIR") == 1 then
22
                        local newDirPath = destDir.."/"..string.sub(line, 7)
23
                        if fs.exists(newDirPath) then fs.delete(newDirPath) end
24
                        fs.makeDir(newDirPath)
25
                        print("Created dir "..newDirPath)
26
                elseif string.find(line, "MKFIL") == 1 then
27
                        local newFilPath = destDir.."/"..string.sub(line, 7)
28
                        if fs.exists(newFilPath) then fs.delete(newFilPath) end
29
                        cFile = io.open(newFilPath, "w")
30
                        print("Created file "..newFilPath)
31
						ox,oy = term.getCursorPos()
32
                elseif string.find(line, "WRITE") == 1 then
33
                        lc = tonumber(string.sub(line, 7))
34
						total = lc
35
                end
36
				sleep(0)
37
        end
38
        print("Project constructed.")
39
end
40
41
local lpath = shell.resolve(".").."/goldrunner"
42
 
43-
local repoCode = "PVK4YTU5"
43+
local repoCode = "Pht0fFEU"
44
 
45
if fs.exists(lpath) then
46
        print(lpath.." already exists. Rename or use another directory to install.")
47
        return
48
end
49
 
50
print("GoldRunner Installer")
51
print("Includes exe and 9 \'starter pack\' levels")
52
print("\nInstalling to the following directory:")
53
term.setTextColour(colours.yellow)
54
print("  "..lpath.."\n")
55
term.setTextColour(colours.white)
56
term.write("Ready to install? Y/N: ")
57
 
58
while true do
59
        local _,p1 = os.pullEvent("key")
60
        if p1 == keys.y then
61
                term.setTextColour(colours.lime)
62
                print("Y\n")
63
                break
64
        elseif p1 == keys.n then
65
                term.setTextColour(colours.red)
66
                print("N\n")
67
				os.pullEvent()
68
                return
69
        end
70
end
71
72
term.setTextColour(colours.white)
73
print("Downloading "..repoCode.."... ")
74
if not shell.run("pastebin", "get", repoCode, "glrepo") then
75
        term.setTextColour(colours.red)
76
        print("failed!")
77
        return
78
end
79
80
extractRepository(shell.resolve(".").."/glrepo", shell.resolve("."))
81
print("Deleting archive...")
82
fs.delete(shell.resolve(".").."/glrepo")
83
84
print("Installation complete!")