Streetboy_xD

[Computercraft] MultiScreen Client

Aug 14th, 2016
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.23 KB | None | 0 0
  1. rednet.open("back")
  2.  
  3. Pc1 = 4733
  4. Pc2 = 4734
  5. Pc3 = 4735
  6. Pc4 = 4731
  7.  
  8. cursorPos = 0
  9. cursorPosFre = 0
  10. cursorPosEnd = 0
  11.  
  12. sleepTime = 0.3
  13.  
  14. selection = ""
  15.  
  16. mode = "Slide"
  17.  
  18. term.setTextColor(colors.black)
  19. term.setBackgroundColor(colors.white)
  20. term.clear()
  21.  
  22. function drawScreen()
  23.  
  24. bground = paintutils.loadImage(".bground")
  25. paintutils.drawImage(bground,1,1)
  26.  
  27. end
  28.  
  29.  
  30. function main()
  31.  
  32. drawScreen()
  33.  
  34. while true do
  35.  
  36. term.setBackgroundColor(colors.white)
  37.  
  38. term.setCursorPos(1,3)
  39. term.write(" ")
  40.  
  41. term.setCursorPos(1,4)
  42. term.write(" ")
  43.  
  44. term.setCursorPos(1,5)
  45. term.write(" ")
  46.  
  47. term.setCursorPos(1,6)
  48. term.write(" ")
  49.  
  50. term.setCursorPos(1,7)
  51. term.write(" ")
  52.  
  53. term.setCursorPos(1,8)
  54. term.write(" ")
  55.  
  56. term.setCursorPos(1,9)
  57. term.write(" ")
  58.  
  59. term.setCursorPos(1,10)
  60. term.write(" ")
  61.  
  62. term.setCursorPos(1,3)
  63. term.write("Z1 > ")
  64.  
  65. term.setCursorPos(1,4)
  66. term.write("Z2 > ")
  67.  
  68. term.setCursorPos(1,5)
  69. term.write("Z3 > ")
  70.  
  71. term.setCursorPos(1,6)
  72. term.write("Z4 > ")
  73.  
  74. term.setCursorPos(1,7)
  75. term.write("Z5 > ")
  76.  
  77. term.setCursorPos(1,8)
  78. term.write("Z6 > ")
  79.  
  80. term.setCursorPos(1,9)
  81. term.write("Z7 > ")
  82.  
  83. term.setCursorPos(6,3)
  84. textLineOne = read()
  85.  
  86. term.setCursorPos(6,4)
  87. textLineTwo = read()
  88.  
  89. term.setCursorPos(6,5)
  90. textLineThree = read()
  91.  
  92. term.setCursorPos(6,6)
  93. textLineFour = read()
  94.  
  95. term.setCursorPos(6,7)
  96. textLineFive = read()
  97.  
  98. term.setCursorPos(6,8)
  99. textLineSix = read()
  100.  
  101. term.setCursorPos(6,9)
  102. textLineSeven = read()
  103.  
  104. if mode == "Slide" then
  105.  
  106. if string.len(textLineOne) < string.len(textLineTwo) then
  107. selection = string.len(textLineTwo)
  108. else
  109. selection = string.len(textLineOne)
  110. end
  111.  
  112. if string.len(textLineThree) < selection then
  113. selection = selection
  114. else
  115. selection = string.len(textLineThree)
  116. end
  117.  
  118. if string.len(textLineFour) < selection then
  119. selection = selection
  120. else
  121. selection = string.len(textLineFour)
  122. end
  123.  
  124. if string.len(textLineFive) < selection then
  125. selection = selection
  126. else
  127. selection = string.len(textLineFive)
  128. end
  129.  
  130. if string.len(textLineSix) < selection then
  131. selection = selection
  132. else
  133. selection = string.len(textLineSix)
  134. end
  135.  
  136. cursorPos = 66
  137. cursorPosEnd = 0 - selection
  138.  
  139. while cursorPos >= cursorPosEnd do
  140.  
  141. rednet.send(Pc1, "1".."$"..cursorPos.."&1%"..textLineOne)
  142. rednet.send(Pc2, "2".."$"..cursorPos.."&1%"..textLineOne)
  143. rednet.send(Pc3, "3".."$"..cursorPos.."&1%"..textLineOne)
  144. rednet.send(Pc4, "4".."$"..cursorPos.."&1%"..textLineOne)
  145.  
  146. rednet.send(Pc1, "1".."$"..cursorPos.."&2%"..textLineTwo)
  147. rednet.send(Pc2, "2".."$"..cursorPos.."&2%"..textLineTwo)
  148. rednet.send(Pc3, "3".."$"..cursorPos.."&2%"..textLineTwo)
  149. rednet.send(Pc4, "4".."$"..cursorPos.."&2%"..textLineTwo)
  150.  
  151. rednet.send(Pc1, "1".."$"..cursorPos.."&3%"..textLineThree)
  152. rednet.send(Pc2, "2".."$"..cursorPos.."&3%"..textLineThree)
  153. rednet.send(Pc3, "3".."$"..cursorPos.."&3%"..textLineThree)
  154. rednet.send(Pc4, "4".."$"..cursorPos.."&3%"..textLineThree)
  155.  
  156. rednet.send(Pc1, "1".."$"..cursorPos.."&4%"..textLineFour)
  157. rednet.send(Pc2, "2".."$"..cursorPos.."&4%"..textLineFour)
  158. rednet.send(Pc3, "3".."$"..cursorPos.."&4%"..textLineFour)
  159. rednet.send(Pc4, "4".."$"..cursorPos.."&4%"..textLineFour)
  160.  
  161. rednet.send(Pc1, "1".."$"..cursorPos.."&5%"..textLineFive)
  162. rednet.send(Pc2, "2".."$"..cursorPos.."&5%"..textLineFive)
  163. rednet.send(Pc3, "3".."$"..cursorPos.."&5%"..textLineFive)
  164. rednet.send(Pc4, "4".."$"..cursorPos.."&5%"..textLineFive)
  165.  
  166. rednet.send(Pc1, "1".."$"..cursorPos.."&6%"..textLineSix)
  167. rednet.send(Pc2, "2".."$"..cursorPos.."&6%"..textLineSix)
  168. rednet.send(Pc3, "3".."$"..cursorPos.."&6%"..textLineSix)
  169. rednet.send(Pc4, "4".."$"..cursorPos.."&6%"..textLineSix)
  170.  
  171. rednet.send(Pc1, "1".."$"..cursorPos.."&7%"..textLineSeven)
  172. rednet.send(Pc2, "2".."$"..cursorPos.."&7%"..textLineSeven)
  173. rednet.send(Pc3, "3".."$"..cursorPos.."&7%"..textLineSeven)
  174. rednet.send(Pc4, "4".."$"..cursorPos.."&7%"..textLineSeven)
  175.  
  176. cursorPos = cursorPos - 1
  177.  
  178. if cursorPos <= cursorPosEnd then
  179.  
  180. os.run({},shell.getRunningProgram())
  181.  
  182. end
  183.  
  184. sleep(sleepTime)
  185.  
  186. end
  187.  
  188. elseif mode == "Freeze" then
  189.  
  190. rednet.send(Pc1, "1".."$"..cursorPosFre.."&1%"..textLineOne)
  191. rednet.send(Pc2, "2".."$"..cursorPosFre.."&1%"..textLineOne)
  192. rednet.send(Pc3, "3".."$"..cursorPosFre.."&1%"..textLineOne)
  193. rednet.send(Pc4, "4".."$"..cursorPosFre.."&1%"..textLineOne)
  194.  
  195. rednet.send(Pc1, "1".."$"..cursorPosFre.."&2%"..textLineTwo)
  196. rednet.send(Pc2, "2".."$"..cursorPosFre.."&2%"..textLineTwo)
  197. rednet.send(Pc3, "3".."$"..cursorPosFre.."&2%"..textLineTwo)
  198. rednet.send(Pc4, "4".."$"..cursorPosFre.."&2%"..textLineTwo)
  199.  
  200. rednet.send(Pc1, "1".."$"..cursorPosFre.."&3%"..textLineThree)
  201. rednet.send(Pc2, "2".."$"..cursorPosFre.."&3%"..textLineThree)
  202. rednet.send(Pc3, "3".."$"..cursorPosFre.."&3%"..textLineThree)
  203. rednet.send(Pc4, "4".."$"..cursorPosFre.."&3%"..textLineThree)
  204.  
  205. rednet.send(Pc1, "1".."$"..cursorPosFre.."&4%"..textLineFour)
  206. rednet.send(Pc2, "2".."$"..cursorPosFre.."&4%"..textLineFour)
  207. rednet.send(Pc3, "3".."$"..cursorPosFre.."&4%"..textLineFour)
  208. rednet.send(Pc4, "4".."$"..cursorPosFre.."&4%"..textLineFour)
  209.  
  210. rednet.send(Pc1, "1".."$"..cursorPosFre.."&5%"..textLineFive)
  211. rednet.send(Pc2, "2".."$"..cursorPosFre.."&5%"..textLineFive)
  212. rednet.send(Pc3, "3".."$"..cursorPosFre.."&5%"..textLineFive)
  213. rednet.send(Pc4, "4".."$"..cursorPosFre.."&5%"..textLineFive)
  214.  
  215. rednet.send(Pc1, "1".."$"..cursorPosFre.."&6%"..textLineSix)
  216. rednet.send(Pc2, "2".."$"..cursorPosFre.."&6%"..textLineSix)
  217. rednet.send(Pc3, "3".."$"..cursorPosFre.."&6%"..textLineSix)
  218. rednet.send(Pc4, "4".."$"..cursorPosFre.."&6%"..textLineSix)
  219.  
  220. rednet.send(Pc1, "1".."$"..cursorPosFre.."&7%"..textLineSeven)
  221. rednet.send(Pc2, "2".."$"..cursorPosFre.."&7%"..textLineSeven)
  222. rednet.send(Pc3, "3".."$"..cursorPosFre.."&7%"..textLineSeven)
  223. rednet.send(Pc4, "4".."$"..cursorPosFre.."&7%"..textLineSeven)
  224.  
  225. end
  226.  
  227. end
  228.  
  229. end
  230.  
  231.  
  232.  
  233. function changeSleep()
  234.  
  235. while true do
  236.  
  237. term.setBackgroundColor(colors.white)
  238. term.setCursorPos(1,18)
  239. term.write("Speed")
  240. term.setCursorPos(1,19)
  241. term.write("< "..sleepTime.." >")
  242.  
  243. term.setCursorPos(6,3)
  244.  
  245. event, side, x, y = os.pullEvent("mouse_click")
  246.  
  247. if x == 1 and y == 19 then
  248.  
  249. if sleepTime >= 0.2 then
  250.  
  251. sleepTime = sleepTime - 0.1
  252.  
  253. end
  254.  
  255. elseif x == (4 + string.len(tostring(sleepTime))) and y == 19 then
  256.  
  257. if sleepTime <= 0.9 then
  258.  
  259. sleepTime = sleepTime + 0.1
  260.  
  261. end
  262.  
  263. end
  264.  
  265. end
  266.  
  267. end
  268.  
  269.  
  270. function changeMode()
  271.  
  272. while true do
  273.  
  274. term.setBackgroundColor(colors.white)
  275. term.setCursorPos(1,15)
  276. term.write("Mode")
  277. term.setBackgroundColor(colors.red)
  278. term.setCursorPos(1,16)
  279. term.write(mode)
  280. term.setBackgroundColor(colors.white)
  281. term.setCursorPos(1,12)
  282. term.write("Cursor Position")
  283. term.setCursorPos(1,13)
  284. term.write("< "..cursorPosFre.." > ")
  285.  
  286. term.setCursorPos(6,3)
  287.  
  288. event, side, x, y = os.pullEvent("mouse_click")
  289.  
  290. if x >= 1 and x <= 5 and y == 16 then
  291.  
  292. if mode == "Slide" then
  293.  
  294. term.setCursorPos(1,16)
  295. term.write(" ")
  296. mode = "Freeze"
  297.  
  298. else
  299.  
  300. term.setCursorPos(1,16)
  301. term.write(" ")
  302. mode = "Slide"
  303.  
  304. end
  305.  
  306. elseif x == 1 and y == 13 then
  307. if cursorPosFre >= 1 then
  308. cursorPosFre = cursorPosFre - 1
  309. end
  310. elseif x == (4 + string.len(tostring(cursorPosFre))) and y == 13 then
  311. if cursorPosFre <= 64 then
  312. cursorPosFre = cursorPosFre + 1
  313. end
  314. end
  315.  
  316. end
  317.  
  318. end
  319.  
  320. function clearMonitor()
  321.  
  322. while true do
  323.  
  324. term.setBackgroundColor(colors.red)
  325. term.setCursorPos(1,1)
  326. term.write("Clear")
  327. term.setBackgroundColor(colors.white)
  328.  
  329. term.setCursorPos(6,3)
  330.  
  331. event, side, x, y = os.pullEvent("mouse_click")
  332.  
  333. if x >= 1 and x <= 5 and y == 1 then
  334.  
  335. rednet.send(Pc1, "$clear")
  336. rednet.send(Pc2, "$clear")
  337. rednet.send(Pc3, "$clear")
  338. rednet.send(Pc4, "$clear")
  339.  
  340. end
  341.  
  342. end
  343.  
  344. end
  345.  
  346. parallel.waitForAny(main,changeSleep,changeMode,clearMonitor)
Advertisement
Add Comment
Please, Sign In to add comment