View difference between Paste ID: rMqkrB8f and 7fzEVSp0
SHOW: | | - or go back to the newest paste.
1
function yNt()
2
	local n=1
3
	while true do
4
		local x, y=term.getCursorPos()
5
		term.clearLine()
6
		if n==1 then write(">No<   Yes") else write (" No   >Yes<") end
7
		term.setCursorPos(x, y)
8
		a, b=os.pullEvent("key")
9
		if b==263 and n==2 then n=1 end
10
		if b==262 and n==1 then n=2 end
11
		if b==257 then
12
			print("")
13
			if n==1 then return false end
14
			if n==2 then return true end
15
		end
16
	end
17
end
18
19
function nYt()
20
	local n=2
21
	while true do
22
		local x, y=term.getCursorPos()
23
		term.clearLine()
24
		if n==1 then write(">No<   Yes") else write (" No   >Yes<") end
25
		term.setCursorPos(x, y)
26
		a, b=os.pullEvent("key")
27
		if b==263 and n==2 then n=1 end
28
		if b==262 and n==1 then n=2 end
29
		if b==257 then	
30
			print("")
31
			if n==1 then return false end
32
			if n==2 then return true end
33
		end
34
	end
35
end
36
if fs.exists("/CB/CustomBiosUpdate") then
37
38
term.setTextColour(colours.white)
39
40
versions = fs.open("/CB/CustomBiosUpdate", "r")
41
VCBios = versions.readLine()
42
Vredstone = versions.readLine()
43
Vdoorlock = versions.readLine()
44
Vnasclient = versions.readLine()
45
versions.close()
46
47
if not fs.exists("/CB/Prog/") then
48
shell.run("mkdir /CB/Prog")
49
end
50
51
if not fs.exists("/CB/Prog/ROEdit") then
52
shell.run("pastebin get yRtcxB91 /CB/Prog/ROEdit")
53
end
54
55
if not fs.exists("/mkNASserver") then
56
launch = fs.open("/mkNASserver", "w")
57
launch.write("write('Are you sure? (y or n) ')")
58
launch.write("input = read()")
59
launch.write("if input == 'y' then ")
60
launch.write("shell.run('pastebin get 5WgxqxCv /CB/NAS')")
61
launch.write("shell.run('/CB/NAS')")
62
launch.write("end")
63
launch.close()
64
end
65
66
if not fs.exists("/redstone") then
67
launch = fs.open("/redstone", "w")
68
launch.write("shell.run('/CB/Prog/redstone')")
69
launch.close()
70
end
71
72
if not fs.exists("/NAS") then
73
launch = fs.open("/NAS", "w")
74
launch.write("shell.run('/CB/Prog/NAS')")
75
launch.close()
76
end
77
78
if not fs.exists("/doorlock") then
79
Dlaunch = fs.open("/doorlock", "w")
80
Dlaunch.write("shell.run('/CB/Prog/doorlock')")
81
Dlaunch.close()
82
end
83
84
if fs.exists ("/CB/Prog/NAS") then
85
nas = fs.open("/CB/Prog/NAS", "r")
86
Vanasclient = nas.readLine()
87
nas.close()
88
end
89
90
if fs.exists ("/CB/Prog/redstone") then
91
red = fs.open("/CB/Prog/redstone", "r")
92
Varedstone = red.readLine()
93
red.close()
94
end
95
96
if fs.exists ("/CB/Prog/doorlock") then
97
dor = fs.open("/CB/Prog/doorlock", "r")
98
Vadoorlock = dor.readLine()
99
dor.close()
100
end
101
102
if not fs.exists("/CB/Prog/redstone") or Varedstone ~= Vredstone then
103
if fs.exists ("/CB/Prog/redstone") then
104
fs.delete("/CB/Prog/redstone")
105
end
106
shell.run("pastebin get wVKudGMs /CB/Prog/redstone")
107
term.setTextColour(colours.green)
108
print("Redstone updated")
109
os.sleep(0.5)
110
term.setTextColour(colours.white)
111
fs.delete("/CB/Files/PachNotes")
112
pnotes = 1
113
end
114
115
if not fs.exists("/CB/Prog/NAS") or Vanasclient ~= Vnasclient then
116
if fs.exists ("/CB/Prog/NAS") then
117
fs.delete("/CB/Prog/NAS")
118
end
119
shell.run("pastebin get 3aJs6E2C /CB/Prog/NAS")
120
term.setTextColour(colours.green)
121
print("NasClient updated")
122
os.sleep(0.5)
123
term.setTextColour(colours.white)
124
fs.delete("/CB/Files/PachNotes")
125
pnotes = 1
126
end
127
128
if not fs.exists("/CB/Prog/doorlock") or Vadoorlock ~= Vdoorlock then
129
if fs.exists ("/CB/Prog/doorlock") then
130
fs.delete("/CB/Prog/doorlock")
131
end
132
shell.run("pastebin get QHa2NjJn /CB/Prog/doorlock")
133
term.setTextColour(colours.green)
134
print("DoorLock updated")
135
os.sleep(0.5)
136
term.setTextColour(colours.white)
137
fs.delete("/CB/Files/PachNotes")
138
pnotes = 1
139
end
140
141
if not fs.exists("/CB/Files/PachNotes") or not fs.exists("/PNotes") then
142
shell.run("pastebin get gCPerRc3 /CB/Files/PachNotes")
143
term.setTextColour(colours.green)
144
print("PachNotes updated")
145
os.sleep(0.5)
146
term.setTextColour(colours.white)
147
pn = fs.open("/PNotes", "w")
148
pn.writeLine("shell.run('/CB/Files/PachNotes')")
149
pn.close()
150
pnotes = 1
151
end
152
153
end
154
155
term.setTextColour(colours.yellow)
156
if not fs.exists ("/CB/password") then
157
password = fs.open("/CB/password", "w")
158
print ("Do you want to use a password ?")
159
if yNt() == true then
160
write("enter your password : ")
161
local entrepass=read()
162
write("confirm your password : ")
163
local verifpass=read()
164
if entrepass ~= verifpass then
165
term.setTextColour(colours.red)
166
print("passwords are not corresponding")
167
password.close()
168
fs.delete("/CB/password")
169
os.sleep(2)
170
os.reboot()
171
end
172
password.write(entrepass)
173
password.close()
174
term.setTextColour(colours.green)
175
print("password is set.")
176
os.sleep(2)
177
os.reboot()
178
end
179
180
print("Do you want to use a disk security ?")
181
if yNt() == true then
182
print("Insert a disk and press a key")
183
local e, k = os.pullEvent( "key" )
184
if not fs.exists("/disk/") then
185
password.write("slt")
186
password.close()
187
fs.delete("/CB/password")
188
print ("You need to insert a disk")
189
os.sleep(2)
190
os.reboot()
191
end
192
security = math.random(10000000000000)
193
disksecure = fs.open("/CB/diskpass", "w")
194
disksecure.write(security)
195
disksecure.close()
196
disquette = fs.open("/disk/secure", "w")
197
disquette.write(security)
198
disquette.close()
199
password.write("disk")
200
password.close()
201
term.setTextColour(colours.green)
202
print("Disk security set")
203
os.sleep(2)
204
os.reboot()
205
end
206
password.write("none")
207
password.close()
208
end
209
210
211
212
shell.run("clear")
213
term.setTextColour(colours.blue)
214
print 'Computercraft CustomBios V. 2.0.16'
215
term.setTextColour(colours.brown)
216
217
testpass = fs.open("/CB/password", "r")
218
local passwd = testpass.readLine()
219
if passwd ~= "none" and passwd ~= "disk" then
220
write("password : ")
221
local pass=read("*")
222
if pass ~= passwd then
223
term.setTextColour(colours.red)
224
print ("Indvalid password")
225
testpass.close()
226
os.sleep(2)
227
os.reboot()
228
end
229
end
230
231
if passwd == "disk" then
232
if not fs.exists("/disk/secure") then
233
print("insert the security disk and press a key")
234
local e, k = os.pullEvent( "key" )
235
end
236
if not fs.exists("/disk/secure") then
237
term.setTextColour(colours.red)
238
print("Wrong disk")
239
os.sleep(2)
240
os.reboot()
241
end
242
243
disk = fs.open("/disk/secure", "r")
244
passw = fs.open("/CB/diskpass", "r")
245
disk2 = disk.readLine()
246
passw2 = passw.readLine()
247
if disk2 ~= passw2 then
248
term.setTextColour(colours.red)
249
print("Wrong disk")
250
disk.close()
251
passw.close()
252
os.sleep(2)
253
os.reboot()
254
else
255
term.setTextColour(colours.green)
256
disk.close()
257
passw.close()
258
print("Disk OK")
259
settings.set("shell.allow_disk_startup", false)
260
term.setTextColour(colours.white)
261
end
262
end
263
testpass.close()
264
265
term.setTextColour(colours.white)
266
write  'Checking config'
267
function Done()
268
term.setTextColour(colours.green)
269
os.sleep(0.25)
270
print '  [done]'
271
term.setTextColour(colours.white)
272
end
273
274
function yN()
275
local n=1
276
local t=5
277
os.startTimer(1)
278
while true do
279
local x, y=term.getCursorPos()
280
term.clearLine()
281
if n==1 then write(">CustomOS<   CraftOS   ") else write (" CustomOS   >CraftOS<  ") end
282
term.setTextColour(colours.white)
283
write(t)
284
term.setTextColour(colours.red)
285
term.setCursorPos(x, y)
286
a, b=os.pullEvent()
287
while a~="key" and a~="timer" do a, b=os.pullEvent() end
288
if a=="timer" then
289
t=t-1
290
os.startTimer(1)
291
end
292
if t==-1 then print("") break end
293
if b==263 and n==2 then n=1 end
294
if b==262 and n==1 then n=2 end
295
if b==257 then print("") break end
296
end
297
if n==1 then return true end
298
if n==2 then return false end
299
return false
300
end
301
302
Done()
303
304
if fs.exists("/CB/doorlock") then
305
	shell.run("/CB/Prog/doorlock")
306
end
307
308
if fs.exists("/CB/NAS") then
309
	shell.run("/CB/NAS")
310
end
311
312
if not fs.exists("/CB/OSset") and term.isColor() then
313
set = fs.open("/CB/OSset", "w")
314
set.write("selected")
315
set.close()
316
write  'Checking type of computer'
317
if pocket then
318
Done()
319
term.setTextColour(colours.red)
320
print ("Do you want to install sPhone ?")
321
if nYt() == true then
322
shell.run("pastebin run HsJSnhKQ")
323
end
324
else
325
Done()
326
end
327
term.setTextColour(colours.red)
328
print ("Do you want to install OneOS ?")
329
if nYt() == true then
330
shell.run("pastebin run E1xftzLa")
331
end
332
else
333
set = fs.open("/CB/OSset", "w")
334
set.write("selected")
335
set.close()
336
end
337
term.setTextColour(colours.white)
338
339
write 'Checking installed OS'
340
if fs.exists("/startup") then
341
Done()
342
term.setTextColour(colours.red)
343
if yN()==false then
344
term.setTextColour(colours.white)
345
write 'Loading OS'
346
os.sleep(0.5)
347
Done()
348
if pnotes == 1 then
349
os.sleep(0.5)
350
term.setTextColour(colours.yellow)
351
print ("To see Patch Notes, type 'PNotes'")
352
term.setTextColour(colours.white)
353
end
354
shell.run("/rom/programs/shell")
355
end
356
term.setTextColour(colours.white)
357
358
if fs.exists("/System/main.lua") and not fs.exists("/CB/pach") then
359
print ('Paching oneOS...')
360
shell.run("rm /System/main.lua")
361
shell.run("pastebin get Wb8SHJMA /System/main.lua")
362
write 'Pached oneOS'
363
patch = fs.open("/CB/pach", "w")
364
patch.write("done")
365
patch.close()
366
Done()
367
end
368
else
369
Done()
370
end
371
372
373
write 'Loading OS'
374
os.sleep(0.5)
375
Done()
376
if pnotes == 1 then
377
term.setTextColour(colours.yellow)
378
print ("To see Patch Notes, type 'PNotes'")
379
term.setTextColour(colours.white)
380
end
381
os.sleep(0.5)