Scorpionfien

RC Demo Button

Jun 20th, 2015
391
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.59 KB | None | 0 0
  1. -- Custom Button Program 0-0-1
  2. -- Works with: Advanced Computer & Monitor
  3. -- Environment Tested: Minecraft 1.6.4 Computer Craft version 1.5
  4. -- By RCScorpionfien @
  5. -- Requires Button API to work, download at pastebin.com/HRbMF1Eg
  6. -- Download this file >> http://www.pastebin.com/NZ9uYSgb
  7.  
  8. -- Call API & Set Paripheral Location
  9. os.loadAPI("button","redset")
  10. m = peripheral.wrap("top")
  11. m.clear()
  12.  
  13. -- Functions
  14.  
  15. --Clears Screen & Sets Cursor Position
  16. function clearScreen()
  17. m.clear()
  18. m.setCursorPos(4,6)
  19. end
  20.  
  21. --Return to Main Menu
  22. function mainMenu()
  23. clearScreen()
  24. m.write("Returning to Main Menu...")
  25. sleep(3)
  26. shell.run("home")
  27. end
  28.  
  29. --Clears Current Table -- Does Not Delete
  30. --function clearTable()
  31. -- button = {}
  32. -- m.clear()
  33. --end
  34.  
  35. --Menu Swap
  36. function splashScreen()
  37. m.clear()
  38. --clearTable()
  39. m.setCursorPos(4,6)
  40. m.write("Changing Menus...")
  41. sleep(3)
  42. m.clear()
  43. end
  44.  
  45. --Where was the screen clicked
  46. function getClick()
  47. event,side,x,y = os.pullEvent("monitor_touch")
  48. button.checkxy(x,y)
  49. end
  50.  
  51. --Set Button Names and Location
  52.  
  53. --Main Menu Button Table
  54. function fillTable1()
  55. button.setTable1("Door", door1, 10,20,3,5)
  56. button.setTable1("Power", power1, 22,32,3,5)
  57. button.setTable1("Light", light1, 10,20,8,10)
  58. button.setTable1("Exit", exit1, 22,32,8,10)
  59. button.screen()
  60. end
  61.  
  62. --Door Button Table
  63. function fillTable2()
  64. button.setTable2("Open", open1, 10,20,3,5)
  65. button.setTable2("Closed", closed1, 22,32,3,5)
  66. button.setTable2("Back", back1, 22,32,8,10)
  67. button.screen()
  68. end
  69.  
  70. --Power Button Table
  71. function fillTable3()
  72. button.setTable3("On", on1, 10,20,3,5)
  73. button.setTable3("Off", off1, 22,32,3,5)
  74. button.setTable3("Back", back1, 22,32,8,10)
  75. button.screen()
  76. end
  77.  
  78. --Light Button Table
  79. function fillTable4()
  80. button.setTable4("On", on2, 10,20,3,5)
  81. button.setTable4("Off", off2, 22,32,3,5)
  82. button.setTable4("Back", bac1, 22,32,8,10)
  83. button.screen()
  84. end
  85.  
  86. --Exit Button Table
  87. function fillTable5()
  88. button.setTable5("Yes", yes1, 10,20,3,5)
  89. button.setTable5("No", back1, 22,32,8,10)
  90. button.setTable5("Master On", master1, 22,32,3,5)
  91. button.setTable5("Master Off", master2, 10,20,8,10)
  92. button.screen()
  93. end
  94.  
  95. -- Write Button Funtions here
  96.  
  97. --Door Menu
  98. function door1()
  99. button.flash("Door")
  100. m.clear()
  101. splashScreen()
  102. fillTable2()
  103. button.heading("Door Menu")
  104. end
  105.  
  106. --Power Menu
  107. function power1()
  108. button.flash("Power")
  109. m.clear()
  110. splashScreen()
  111. fillTable3()
  112. button.heading("Power Menu")
  113. end
  114.  
  115. --Light Menu
  116. function light1()
  117. button.flash("Light")
  118. m.clear()
  119. splashScreen()
  120. fillTable4()
  121. button.heading("Light Menu")
  122. end
  123.  
  124. --Exit Menu
  125. function exit1()
  126. button.flash("Exit")
  127. m.clear()
  128. splashScreen()
  129. fillTable5()
  130. button.heading("Exit Menu")
  131. end
  132.  
  133. --Door Open
  134. function open1()
  135. clearScreen()
  136. m.write("Opening Door..")
  137. sleep(3)
  138. rs.setOutput("bottom", true)
  139. mainMenu()
  140. end
  141.  
  142. --Door Close
  143. function closed1()
  144. clearScreen()
  145. m.write("Closing Door..")
  146. sleep(3)
  147. rs.setOutput("bottom", false)
  148. mainMenu()
  149. end
  150.  
  151. --Power On
  152. function on1()
  153. clearScreen()
  154. m.write("Powering On..")
  155. sleep(3)
  156. rs.setOutput("right", true)
  157. mainMenu()
  158. end
  159.  
  160. --Power Off
  161. function off1()
  162. clearScreen()
  163. m.write("Powering Off..")
  164. sleep(3)
  165. rs.setOutput("right", false)
  166. mainMenu()
  167. end
  168.  
  169. --Lights On
  170. function on2()
  171. clearScreen()
  172. m.write("Lights On..")
  173. sleep(3)
  174. rs.setOutput("back", true)
  175. mainMenu()
  176. end
  177.  
  178. --Lights Off
  179. function off2()
  180. clearSceen()
  181. m.write("Lights Off..")
  182. sleep(3)
  183. rs.setOutput("back", false)
  184. mainMenu()
  185. end
  186.  
  187. --Exit Yes
  188. function yes1()
  189. clearScreen()
  190. m.write("Please Wait for Restart...")
  191. sleep(3)
  192. shell.run("reboot")
  193. end
  194.  
  195. --Master On
  196. function master1()
  197. clearScreen()
  198. m.write("Everything On...")
  199. sleep(3)
  200. rs.setOutput("back", true)
  201. rs.setOutput("left", true)
  202. rs.setOutput("right", true)
  203. mainMenu()
  204. end
  205.  
  206. --Master Off
  207. function master2()
  208. clearScreen()
  209. m.write("Everything Off...")
  210. sleep(3)
  211. rs.setOutput("back", false)
  212. rs.setOutput("left", false)
  213. rs.setOutput("right", false)
  214. mainMenu()
  215. end
  216.  
  217. --Return to Main Menu
  218. function back1()
  219. mainMenu()
  220. end
  221.  
  222. -- Places Buttons on screen with Heading and Label
  223. fillTable1()
  224. button.heading("Main Menu")
  225. --button.label(1,5,"hey")
  226.  
  227. -- begin event listener for user Click
  228. -- An alternate method should be used
  229. -- while true do is for demonstration purposes only
  230. while true do
  231. getClick()
  232. end
Advertisement
Add Comment
Please, Sign In to add comment