5bitesofcookies

Glass V0.3.3

Oct 19th, 2013
467
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.80 KB | None | 0 0
  1. --[[
  2. If you're wanting to make an application for
  3. CCGlass, please read the guide on the forums.
  4. Every time a developer doesn't read the guide,
  5. an innocent computer crashes
  6.  
  7. Update information:
  8. ===
  9. v0.3.0
  10. Version Nickname: Crystal-Clear
  11. *Added Okay Glass feature, which works a lot
  12. ^like the real Glass.
  13. *Removed Garbage Collectors and defined
  14. ^variables as local when needed instead, as
  15. ^suggested by TheOriginalBit
  16. *Added mPrint(text,line,color) which is like
  17. ^tinyPrint but fits 10 lines
  18. *Added tinyCPrint(text,line,color) which is
  19. ^just like the normal tinyPrint but is
  20. ^centered. Also done with
  21. ^mCPrint(text,line,color)!
  22. *Improved how tinyPrint works
  23. *Fixed the PixelAPI to display pixels at the
  24. ^right coords.
  25. *Added drawLineX(startx, endx,y,color,trans)
  26. ^and drawLineY(starty,endy,x,color,trans)
  27. ^which basicly draw lines
  28. *Added sleepmode, which can be turned on by
  29. ^doing $$sleep on the home screen.
  30. *Added reboot, which can be done by doing
  31. ^$$reboot at the home screen
  32. *Added options, which includes an updater :D
  33. *Added Books. Books go in CCGBooks/ and need
  34. ^no sepcial format whatsoever. Just text.
  35. *Removed bookPrint(an empty function)
  36. *Added to the versioning system more
  37. *Removed Herobrine
  38.  
  39. ===
  40. v0.2.1: Fixes the glitch where the terminal
  41. would always need to be on the left side, no
  42. matter what
  43. Adds pixelClear(), which clears the pixels on
  44. the pixelAPI.
  45. Redid the versioning system to a more popular
  46. way of versioning applications.
  47. ===
  48. v0.2.0: Adds the Pixel API, aswell as the
  49. "Garbage Collectors" that set variables
  50. that are no longer needed at the ends of funct-
  51. ions to nil.
  52. ===
  53. v0.1.0
  54. Initial Release
  55.  
  56.  
  57.  
  58.  
  59. CREDITS:
  60. (MC IGN: Hithere__)Icanbreathecode - Making
  61. glass
  62. TheOriginalBIT for kindly making the RGB Color
  63. converter, and being awesome
  64. GravityScore for making LuaIDE, which has saved
  65. me a lot of time.
  66. The community, for helping me with figuring out
  67. a lot of stuff about Terminal Glasses.
  68. Dan200, for making computercraft
  69. Mikeemoo for making OpenPeripherals
  70. ===
  71. DEVMODE CONFIGURATION
  72. If you're just looking at the code, don't touch this
  73. Application makers, this is pointless for you too
  74. ]]
  75. devmode = true
  76. newuserdev = false
  77. on = true
  78. --load goroutines
  79. if not gouroutine then
  80. os.loadAPI("goroutine")
  81. end
  82. --Check for updates
  83. function updateCheck()
  84. midPrint(" ",1,glcolors.red)
  85. local latestVer = http.get("http://pastebin.com/raw.php?i=n2X4xWXn")
  86. latestVer = latestVer.readAll()
  87. latestVer = tonumber(latestVer)
  88. if latestVer > glassVer then
  89. needsUpdate = true
  90. else
  91. needsUpdate = nil
  92. end
  93. end
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100. --first we set ye color values
  101. glcolors = {}
  102. glcolors.red = 0xff3333
  103. glcolors.blue = 0x7dd2e4
  104. glcolors.yellow = 0xffff4d
  105. glcolors.green = 0x4dff4d
  106. glcolors.gray = 0xe0e0e0
  107. glcolors.textGray = 0x676767
  108. glcolors.text = 0x5a5a5
  109. glcolors.otherBlue = 0x2e679f
  110. --colors not stolen from Plastic
  111. --:p
  112. glcolors.black = 0x000000
  113. glcolors.purple = 0xff00ff
  114. glcolors.blueGreen = 0x00ffff
  115. glcolors.orange = 0xff6600
  116. glcolors.darkBlue = 0x000066
  117. glcolors.brown = 0x663300
  118. glcolors.otherGreen = 0x00ff00
  119. glcolors.lightOrange = 0xffcc00
  120. glcolors.white = 0xffffff
  121. --second, we ensure the user isn't wasting an advanced cpu
  122. if term.isColor() == true and devmode == false then
  123. print("Error: You are on an advanced computer. This program will not allow other programs to be ran. Do you wish to continue anyway?(y/n, caps count)")
  124. local answer = read()
  125. if answer == "n" then
  126. error("User opted out")
  127. end
  128. end
  129. function getSide()
  130. tran = fs.open("glasstrans", "w")
  131. tran.writeLine("0.75")
  132. tran.close()
  133. print("Which side is the Terminal Glasses Bridge on?(top bottom left right back, caps count) ")
  134. side = read()
  135. sw = fs.open("glassside", "w")
  136. sw.writeLine(side)
  137. sw.close()
  138. print("What is your desired username?")
  139. username = read()
  140. sw = fs.open("username", "w")
  141. sw.writeLine(username)
  142. sw.close()
  143. print("Now, if you havn't already, take the terminal glasses you're going to use and right-click the terminal bridge.")
  144. end
  145. function loadPixelAPI()
  146. print("Loading PixelAPI.")
  147. pixelsOne = {}
  148. pixelsTwo = {}
  149. pixelsThree = {}
  150. pixelsFour = {}
  151. pixelsFive = {}
  152. pixelsSix = {}
  153. pixelsSeven = {}
  154. pixelsEight = {}
  155. pixelsNine = {}
  156. pixelsTen = {}
  157. local i
  158. for i = 1,30 do
  159. vI = i-1
  160. vI = vI * 5
  161. vI = vI + 10
  162. pixelsOne[i] = glass.addBox(vI, 5, 5, 5, glcolors.red, 0)
  163. pixelsOne[i].setZIndex(4)
  164. end
  165. for i = 1,30 do
  166. vI = i-1
  167. vI = vI * 5
  168. vI = vI + 10
  169. pixelsTwo[i] = glass.addBox(vI, 10, 5, 5, glcolors.red, 0)
  170. pixelsTwo[i].setZIndex(4)
  171. end
  172. for i = 1,30 do
  173. vI = i-1
  174. vI = vI * 5
  175. vI = vI + 10
  176. pixelsThree[i] = glass.addBox(vI, 15, 5, 5, glcolors.red, 0)
  177. pixelsThree[i].setZIndex(4)
  178. end
  179. for i = 1,30 do
  180. vI = i-1
  181. vI = vI * 5
  182. vI = vI + 10
  183. pixelsFour[i] = glass.addBox(vI, 20, 5, 5, glcolors.red, 0)
  184. pixelsFour[i].setZIndex(4)
  185. end
  186. for i = 1,30 do
  187. vI = i-1
  188. vI = vI * 5
  189. vI = vI + 10
  190. pixelsFive[i] = glass.addBox(vI, 25, 5, 5, glcolors.red, 0)
  191. pixelsFive[i].setZIndex(4)
  192. end
  193. for i = 1,30 do
  194. vI = i-1
  195. vI = vI * 5
  196. vI = vI + 10
  197. pixelsSix[i] = glass.addBox(vI, 30, 5, 5, glcolors.red, 0)
  198. pixelsSix[i].setZIndex(4)
  199. end
  200. for i = 1,30 do
  201. vI = i-1
  202. vI = vI * 5
  203. vI = vI + 10
  204. pixelsSeven[i] = glass.addBox(vI, 35, 5, 5, glcolors.red, 0)
  205. pixelsSeven[i].setZIndex(4)
  206. end
  207. for i = 1,30 do
  208. vI = i-1
  209. vI = vI * 5
  210. vI = vI + 10
  211. pixelsEight[i] = glass.addBox(vI, 40, 5, 5, glcolors.red, 0)
  212. pixelsEight[i].setZIndex(4)
  213. end
  214. for i = 1,30 do
  215. vI = i-1
  216. vI = vI * 5
  217. vI = vI + 10
  218. pixelsNine[i] = glass.addBox(vI, 45, 5, 5, glcolors.red, 0)
  219. pixelsNine[i].setZIndex(4)
  220. end
  221. for i = 1,30 do
  222. vI = i-1
  223. vI = vI * 5
  224. vI = vI + 10
  225. pixelsTen[i] = glass.addBox(vI, 50, 5, 5, glcolors.red, 0)
  226. pixelsTen[i].setZIndex(4)
  227. end
  228. end
  229. function drawPixel(x, y, color, trans)
  230. --example usage: 2, 4, colors.red, 1
  231. --this would make a red pixel appear at 2, 4.
  232. if y ==1 then
  233. pixelsOne[x].setColor(color)
  234. pixelsOne[x].setOpacity(trans)
  235. elseif y ==2 then
  236. pixelsTwo[x].setColor(color)
  237. pixelsTwo[x].setOpacity(trans)
  238. elseif y ==3 then
  239. pixelsThree[x].setColor(color)
  240. pixelsThree[x].setOpacity(trans)
  241. elseif y ==4 then
  242. pixelsFour[x].setColor(color)
  243. pixelsFour[x].setOpacity(trans)
  244. elseif y ==5 then
  245. pixelsFive[x].setColor(color)
  246. pixelsFive[x].setOpacity(trans)
  247. elseif y ==6 then
  248. pixelsSix[x].setColor(color)
  249. pixelsSix[x].setOpacity(trans)
  250. elseif y ==7 then
  251. pixelsSeven[x].setColor(color)
  252. pixelsSeven[x].setOpacity(trans)
  253. elseif y ==8 then
  254. pixelsEight[x].setColor(color)
  255. pixelsEight[x].setOpacity(trans)
  256. elseif y ==9 then
  257. pixelsNine[x].setColor(color)
  258. pixelsNine[x].setOpacity(trans)
  259. elseif y ==10 then
  260. pixelsTen[x].setColor(color)
  261. pixelsTen[x].setOpacity(trans)
  262. end
  263. end
  264. function pixelClear()
  265. for i = 1,30 do
  266. drawPixel(i,1,glcolors.red,0)
  267. end
  268. for i = 1,30 do
  269. drawPixel(i,2,glcolors.red,0)
  270. end
  271. for i = 1,30 do
  272. drawPixel(i,3,glcolors.red,0)
  273. end
  274. for i = 1,30 do
  275. drawPixel(i,4,glcolors.red,0)
  276. end
  277. for i = 1,30 do
  278. drawPixel(i,5,glcolors.red,0)
  279. end
  280. for i = 1,30 do
  281. drawPixel(i,6,glcolors.red,0)
  282. end
  283. for i = 1,30 do
  284. drawPixel(i,7,glcolors.red,0)
  285. end
  286. for i = 1,30 do
  287. drawPixel(i,8,glcolors.red,0)
  288. end
  289. for i = 1,30 do
  290. drawPixel(i,9,glcolors.red,0)
  291. end
  292. for i = 1,30 do
  293. drawPixel(i,10,glcolors.red,0)
  294. end
  295. end
  296. function drawLineX(startx,endx,y,colors,transpa)
  297. local i
  298. for i=startx,endx do
  299. drawPixel(i,y,colors,transpa)
  300. -- print("drew pixel at x "..i.." y "..y.." trans "..transpa.." ")
  301. end
  302. end
  303. function drawLineY(x,starty,endy,colory,transpar)
  304. local i
  305. for i=starty,endy do
  306. drawPixel(x,i,colory,transpar)
  307. end
  308. end
  309. function load()
  310. dir = "CCGlass/"
  311. glassVersion = "0.3.3"
  312. glassVer = 33
  313. --note that this still runs on first time
  314. on = true
  315. gs = fs.open("glassside", "r")
  316. side = gs.readLine()
  317. gs.close()
  318. glass = peripheral.wrap(side)
  319. gs = fs.open("username", "r")
  320. username = gs.readLine()
  321. gs.close()
  322. tran = fs.open("glasstrans", "r")
  323. transp = tran.readLine()
  324. tran.close()
  325. transp = tonumber(transp)
  326. shell.run('glassTheme')
  327. end
  328. --Ye first thing where we draw stuff
  329. --(besides the PixelAPI)
  330. function firstDraw()
  331. tinyText = {}
  332. local tinyY
  333. local i
  334. for i = 0,4 do
  335. tinyY = i *10
  336. tinyY = tinyY + 5
  337. i = i+1
  338. tinyText[i]= glass.addText(10, tinyY, " ", glcolors.red)
  339. tinyText[i].setZIndex(5)
  340. end
  341. miniPrint = {}
  342. for i = 0,9 do
  343. local yset = i * 5
  344. yset = yset + 5
  345. i = i+1
  346. miniPrint[i] = glass.addText(10,yset," ",glcolors.red)
  347. miniPrint[i].setZIndex(5)
  348. miniPrint[i].setScale(0.5)
  349. end
  350. midText= glass.addText(29, 27.9, " ", glcolors.green)
  351. highText= glass.addText(29, 27.9, " ", glcolors.red)
  352. lowText= glass.addText(29, 27.9, " ", glcolors.otherBlue)
  353. rightBox = glass.addBox(5, 0, 5, 60, sideColors, transp)
  354. leftBox = glass.addBox(11, 0, 5, 60, sideColors, transp)
  355. bigBox = glass.addBox(10, 5, 1, 50, bigBoxColor, transp)
  356. for i= 1,12 do
  357. rightBox.setHeight(i*5)
  358. leftBox.setHeight(i*5)
  359. bigBox.setHeight(i*5-10)
  360. sleep(0.05)
  361. end
  362. --note that the width really is 150
  363. --add 10 to x cords, 5 to y cords
  364. for i = 1, 20 do
  365. bigBox.setWidth(i * 7.5)
  366. leftBox.setX((i*7.5)+10)
  367. sleep(0.05)
  368. end
  369. end
  370.  
  371.  
  372. function closingAnim()
  373. clearAll()
  374. for i=20,1,-1 do
  375. bigBox.setWidth(i*7.5)
  376. leftBox.setX((i*7.5)+10)
  377. sleep(0.05)
  378. end
  379. bigBox.setWidth(1)
  380. bigBox.setX(10)
  381. leftBox.setX(11)
  382. for i=12,1,-1 do
  383. rightBox.setHeight(i*5)
  384. leftBox.setHeight(i*5)
  385. bigBox.setHeight(i*5-10)
  386. sleep(0.05)
  387. end
  388.  
  389.  
  390.  
  391.  
  392.  
  393. on = false
  394. end
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407. --The way glass prints stuffs to the screen
  408. function midPrint(text)
  409. local w
  410. local tw
  411. local posx
  412. local posy
  413. midText.setText(text)
  414. midText.setScale(2)
  415. midText.setZIndex(5)
  416. w = bigBox.getWidth()
  417. tw = midText.getWidth()
  418. tw = tw*2
  419. posx = math.floor(w-tw)/2, 2
  420. posx = posx +10
  421. midText.setX(posx)
  422. posy = 20
  423. midText.setY(posy)
  424. end
  425. function highPrint(text)
  426. local w
  427. local hposx
  428. local posy
  429. highText.setZIndex(5)
  430. local w = bigBox.getWidth() --=150
  431. highText.setText(text)
  432. tw = highText.getWidth()
  433. hposx = math.floor(w-tw)/2, 2
  434. hposx = hposx+10
  435. highText.setX(hposx)
  436. posy = 10
  437. highText.setY(posy)
  438. end
  439. function lowPrint(text)
  440. local w
  441. local tw
  442. local posx
  443. local w = bigBox.getWidth()
  444. lowText.setText(text)
  445. lowText.setZIndex(5)
  446. tw = lowText.getWidth()
  447. posx = math.floor(w-tw)/2, 2
  448. posx = posx +10
  449. lowText.setX(posx)
  450. lowText.setY(40)
  451. end
  452. function mPrint(text,line,color)
  453. if line < 11 then
  454. miniPrint[line].setText(text)
  455. miniPrint[line].setColor(color)
  456. miniPrint[line].setX(10)
  457. local correctly = true
  458. else
  459. local correctly = false
  460. end
  461. return correctly
  462. end
  463. --now we define print functions for books and such
  464. function tinyPrint(text,line,color)
  465. if line < 6 then
  466. tinyText[line].setText(text)
  467. tinyText[line].setColor(color)
  468. tinyText[line].setX(10)
  469. --^^ to counteract tinyCPrint
  470. local correctly = true
  471. else
  472. local correctly = false
  473. end
  474. return correctly
  475. end
  476. function tinyCPrint(text,line,color)
  477. if line <6 then
  478. local w = bigBox.getWidth()
  479. tinyText[line].setText(text)
  480. tw = tinyText[line].getWidth()
  481. tX = math.floor(w-tw)/2, 2
  482. tX = tX + 10 --take in account for the offset
  483. tinyText[line].setX(tX)
  484. tinyText[line].setColor(color)
  485. local correctly = true
  486. else
  487. local correctly = false
  488. end
  489. return correctly --I sure hope it does. :3
  490. end
  491. function splitUp(text)
  492. repeat
  493. endSplit = endSplit+1
  494. --^^increase where it splits each time,
  495. --done in characters
  496. cLeft = text:sub(endSplit+1, #text)
  497. --^^ set the leftover text to the rest of
  498. --the line
  499. cText = text:sub(1,endSplit)
  500. --^^cut off the extra text
  501. until glass.getStringWidth(cText) < 151
  502. --^^ keep trying till it gets it under 151
  503. return cText, cLeft
  504. --^^ return the variables
  505. end
  506. function getTinyPrint(line)
  507. if line <6 then
  508. return tinyText[line].getText()--, tinyText[line].getColor()
  509. else
  510. local text = "Line must be <6."
  511. return text
  512. end
  513. end
  514.  
  515. function pushTinyPrint(text,color)
  516. local sl, sc = getTinyPrint(2)
  517. local tl, tc = getTinyPrint(3)
  518. local fl, fc = getTinyPrint(4)
  519. local fil, fic = getTinyPrint(5)
  520. tinyPrint(text,5,color)
  521. tinyPrint(fil,4,glcolors.red)
  522. tinyPrint(fl,3,glcolors.red)
  523. tinyPrint(tl,2,glcolors.red)
  524. tinyPrint(sl,1,glcolors.red)
  525. end
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535. function mCPrint(text,line,color)
  536. if line <11 then
  537. local w = bigBox.getWidth()
  538. miniText[line].setText(text)
  539. tw = miniText[line].getWidth()
  540. tX = math.floor(w-tw)/2, 2
  541. tX = tX +10 --take in account for the offset
  542. miniText[line].setX(tX)
  543. miniText[line].setColor(color)
  544. local correctly = true
  545. else
  546. local correctly = false
  547. end
  548. return correctly
  549. end
  550.  
  551. function tinyClear()
  552. local i
  553. for i=1,5 do
  554. tinyPrint(" ", i, glcolors.red)
  555. end
  556. end
  557. function bigClear()
  558. highPrint(" ")
  559. midPrint(" ")
  560. lowPrint(" ")
  561. end
  562. function mClear()
  563. local i
  564. for i= 1,10 do
  565. mPrint(" ",i,glcolors.red)
  566. end
  567. end
  568. function clearAll()
  569. bigClear()
  570. tinyClear()
  571. mClear()
  572. if loaded == nil then
  573. pixelClear()
  574. end
  575. end
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582. function closingAnimation()
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593. end
  594.  
  595.  
  596. function sleepMode()
  597. glass.clear()
  598. local sleeped = true
  599. sleepyBox = glass.addBox(0,0,20,7,glcolors.otherBlue,0.75)
  600. sleepyText = glass.addText(1,0,"zzZ",glcolors.white)
  601. sleepyText.setZIndex(2)
  602. os.setAlarm(os.time()+0.01)
  603. local sleepState = 3
  604. while sleeped == true do
  605. -- print"started, pulling"
  606. local evt, cmd = os.pullEvent()
  607. -- print"pulled,got"
  608. if cmd == "wake" then
  609. sleepyText.setText("!!!!!!!!!")
  610. sleep(0.5)
  611. sleeped = false
  612. reboot()
  613. elseif evt == "alarm" then
  614. os.setAlarm(os.time()+0.01)
  615. if sleepState == 3 then
  616. -- print"1"
  617. sleepyText.setText("Zzz")
  618. sleepState = 2
  619. elseif sleepState == 2 then
  620. -- print"2"
  621. sleepyText.setText("zZz")
  622. sleepState = 1
  623. elseif sleepState == 1 then
  624. -- print"3"
  625. sleepyText.setText("zzZ")
  626. sleepState = 3
  627. end
  628. end
  629. end
  630. end
  631. --now we launch apps based on what the user inputs
  632. function homeScreenLaunch()
  633. while true do
  634. time = true
  635. mClear()
  636. tinyClear()
  637. pixelClear()
  638. local evt, cmd = os.pullEvent("chat_command")
  639. cmd = string.lower(cmd)
  640. if cmd == "apps" then
  641. time = false
  642. launchApps()
  643. elseif cmd == "shutdown" then
  644. time = false
  645. bigClear()
  646. midPrint("Goodbye.")
  647. sleep(1)
  648. goodShutdown = true
  649. closingAnim()
  650. elseif cmd == "help" then
  651. time = false
  652. shell.run('CCGlass/ccghelp')
  653. elseif cmd == "reboot" then
  654. time = false
  655. bigClear()
  656. midPrint("Rebooting.")
  657. sleep(2)
  658. reboot()
  659. --we can call reboot directly because it
  660. --is not the parrent goroutine, it's
  661. --simply a function that loads Glass
  662. elseif cmd == "options" then
  663. time = false
  664. shell.run('CCGlass/options')
  665. elseif cmd == "omg" then
  666. highPrint("What happened?")
  667. sleep(2)
  668. reprintHome()
  669. elseif cmd == "ping" then
  670. highPrint("Pong!")
  671. sleep(2)
  672. reprintHome()
  673. elseif cmd == "sleep" then
  674. time = false
  675. bigClear()
  676. highPrint("Do $$wake to wake.")
  677. sleep(2)
  678. sleepMode()
  679. elseif cmd == "crash" then
  680. bigBox.delete()
  681. on = false
  682. error("lol")
  683. else
  684. reprintHome()
  685. end
  686. reprintHome()
  687. end
  688. end
  689. --now we launch 3rd party and default apps
  690. function launchApps()
  691. tinyClear()
  692. tinyPrint("test :3",1,glcolors.red)
  693. highPrint("Launcher v1")
  694. midPrint(" ")
  695. lowPrint("Usage: $$appname")
  696. local evt, cmd = os.pullEvent("chat_command")
  697. cmd = string.lower(cmd)
  698. if cmd == "exit" then
  699. else
  700. shell.run("CCGlass/"..cmd.." ")
  701. we = fs.open("glassErrors", "w")
  702. we.writeLine(error)
  703. we.close()
  704. reprintHome()
  705. end
  706. end
  707. --now we can reprint the homescreen
  708. function reprintHome()
  709. clearAll()
  710. if needsUpdate then
  711. highPrint("Update available")
  712. else
  713. highPrint("Welcome, "..username.."!")
  714. end
  715. midPrint(textutils.formatTime(os.time(),false))
  716. lowPrint("Do $$help for help.")
  717. end
  718. --firsttime?
  719. if fs.exists("glassside") == false or newuserdev == true then
  720. getSide()
  721. end
  722. --this function was kindly created by TheOriginalBIT
  723. --who is also awesome.
  724. function rgbColor( _r, _g, _b )
  725. return bit.bor( bit.blshift( bit.bor( bit.blshift( _r, 8 ), _g ), 8 ), _b )
  726. end
  727. --[[begin execution]]
  728. loaded = false
  729. function reboot()
  730. load()
  731. glass.clear()
  732. firstDraw()
  733. reprintHome()
  734. if loaded == false then
  735. updateCheck()
  736. loadPixelAPI()
  737. goroutine.run(parrent)
  738. end
  739. end
  740. --[[while on == true do
  741. homeScreenLaunch()
  742. end]]
  743. function getTime()
  744. while true do
  745. if time then
  746. midPrint(textutils.formatTime(os.time(),false))
  747. end
  748. sleep(0.32)
  749. end
  750. end
  751. function parrent()
  752. --new in v0.3BETA2
  753. --free up memory & prevent from reloading
  754. loaded = nil
  755. goroutine.spawn("TimeDisplay",getTime)
  756. goroutine.spawn("cmdManage",homeScreenLaunch)
  757. while on do sleep(0) end
  758. end
Advertisement
Add Comment
Please, Sign In to add comment