Advertisement
se7enek

nano

Oct 6th, 2017
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --Requirements
  2. local component = require("component")
  3. local gpu = component.gpu
  4. local gui = require("gui")
  5. --Configuration junk
  6. local args = {...}
  7. local prgName = "Nanomachine Control v0.01a"
  8. local version = gui.Version()
  9. local port = 1 --port to communicate to your nanomachines on.
  10.  
  11. --Initialize modem and speak to the nanomachines.
  12. local modem = component.modem
  13.     modem.open(port)
  14.     modem.broadcast(port, "nanomachines", "setResponsePort", port)
  15.  
  16. local function send(command, ...)
  17.   component.modem.broadcast(port, "nanomachines", command, ...)
  18. end
  19.  
  20. --Button Callbacks from myGui
  21.  
  22. function exitCallback(guiID, id)
  23.   local result = gui.getYesNo("", "Do you really want to exit?", "")
  24.   if result == true then
  25.     gui.exit()
  26.   end
  27.   gui.displayGui(myGui)
  28. end
  29.  
  30. function i01_OnCallback(guiID, id)
  31. gui.setEnable(guiID, id, false)
  32. gui.setEnable(guiID, i01_Off, true)
  33. send("setInput", 1, true)
  34. end
  35.  
  36. function i01_OffCallback(guiID, id)
  37. gui.setEnable(guiID, id, false)
  38. gui.setEnable(guiID, i01_On, true)
  39. send("setInput", 1, false)
  40. end
  41.  
  42. function i02_OnCallback(guiID, id)
  43. gui.setEnable(guiID, id, false)
  44. gui.setEnable(guiID, i02_Off, true)
  45. send("setInput", 2, true)
  46. end
  47.  
  48. function i02_OffCallback(guiID, id)
  49. gui.setEnable(guiID, id, false)
  50. gui.setEnable(guiID, i02_On, true)
  51. send("setInput", 2, false)
  52. end
  53.  
  54. function i03_OnCallback(guiID, id)
  55. gui.setEnable(guiID, id, false)
  56. gui.setEnable(guiID, i03_Off, true)
  57. send("setInput", 3, true)
  58. end
  59.  
  60. function i03_OffCallback(guiID, id)
  61. gui.setEnable(guiID, id, false)
  62. gui.setEnable(guiID, i03_On, true)
  63. send("setInput", 3, false)
  64. end
  65.  
  66. function i04_OnCallback(guiID, id)
  67. gui.setEnable(guiID, id, false)
  68. gui.setEnable(guiID, i04_Off, true)
  69. send("setInput", 4, true)
  70. end
  71.  
  72. function i04_OffCallback(guiID, id)
  73. gui.setEnable(guiID, id, false)
  74. gui.setEnable(guiID, i04_On, true)
  75. send("setInput", 4, false)
  76. end
  77.  
  78. function i05_OnCallback(guiID, id)
  79. gui.setEnable(guiID, id, false)
  80. gui.setEnable(guiID, i05_Off, true)
  81. send("setInput", 5, true)
  82. end
  83.  
  84. function i05_OffCallback(guiID, id)
  85. gui.setEnable(guiID, id, false)
  86. gui.setEnable(guiID, i05_On, true)
  87. send("setInput", 5, false)
  88. end
  89.  
  90. function i06_OnCallback(guiID, id)
  91. gui.setEnable(guiID, id, false)
  92. gui.setEnable(guiID, i06_Off, true)
  93. send("setInput", 6, true)
  94. end
  95.  
  96. function i06_OffCallback(guiID, id)
  97. gui.setEnable(guiID, id, false)
  98. gui.setEnable(guiID, i06_On, true)
  99. send("setInput", 6, false)
  100. end
  101.  
  102. function i07_OnCallback(guiID, id)
  103. gui.setEnable(guiID, id, false)
  104. gui.setEnable(guiID, i07_Off, true)
  105. send("setInput", 7, true)
  106. end
  107.  
  108. function i07_OffCallback(guiID, id)
  109. gui.setEnable(guiID, id, false)
  110. gui.setEnable(guiID, i07_On, true)
  111. send("setInput", 7, false)
  112. end
  113.  
  114. function i08_OnCallback(guiID, id)
  115. gui.setEnable(guiID, id, false)
  116. gui.setEnable(guiID, i08_Off, true)
  117. send("setInput", 8, true)
  118. end
  119.  
  120. function i08_OffCallback(guiID, id)
  121. gui.setEnable(guiID, id, false)
  122. gui.setEnable(guiID, i08_On, true)
  123. send("setInput", 8, false)
  124. end
  125.  
  126. function i09_OnCallback(guiID, id)
  127. gui.setEnable(guiID, id, false)
  128. gui.setEnable(guiID, i09_Off, true)
  129. send("setInput", 9, true)
  130. end
  131.  
  132. function i09_OffCallback(guiID, id)
  133. gui.setEnable(guiID, id, false)
  134. gui.setEnable(guiID, i09_On, true)
  135. send("setInput", 9, false)
  136. end
  137.  
  138. function i10_OnCallback(guiID, id)
  139. gui.setEnable(guiID, id, false)
  140. gui.setEnable(guiID, i10_Off, true)
  141. send("setInput", 10, true)
  142. end
  143.  
  144. function i10_OffCallback(guiID, id)
  145. gui.setEnable(guiID, id, false)
  146. gui.setEnable(guiID, i10_On, true)
  147. send("setInput", 10, false)
  148. end
  149.  
  150. function i11_OnCallback(guiID, id)
  151. gui.setEnable(guiID, id, false)
  152. gui.setEnable(guiID, i11_Off, true)
  153. send("setInput", 11, true)
  154. end
  155.  
  156. function i11_OffCallback(guiID, id)
  157. gui.setEnable(guiID, id, false)
  158. gui.setEnable(guiID, i11_On, true)
  159. send("setInput", 11, false)
  160. end
  161.  
  162. function i12_OnCallback(guiID, id)
  163. gui.setEnable(guiID, id, false)
  164. gui.setEnable(guiID, i12_Off, true)
  165. send("setInput", 12, true)
  166. end
  167.  
  168. function i12_OffCallback(guiID, id)
  169. gui.setEnable(guiID, id, false)
  170. gui.setEnable(guiID, i12_On, true)
  171. send("setInput", 12, false)
  172. end
  173.  
  174. function i13_OnCallback(guiID, id)
  175. gui.setEnable(guiID, id, false)
  176. gui.setEnable(guiID, i13_Off, true)
  177. send("setInput", 13, true)
  178. end
  179.  
  180. function i13_OffCallback(guiID, id)
  181. gui.setEnable(guiID, id, false)
  182. gui.setEnable(guiID, i13_On, true)
  183. send("setInput", 13, false)
  184. end
  185.  
  186. function i14_OnCallback(guiID, id)
  187. gui.setEnable(guiID, id, false)
  188. gui.setEnable(guiID, i14_Off, true)
  189. send("setInput", 14, true)
  190. end
  191.  
  192. function i14_OffCallback(guiID, id)
  193. gui.setEnable(guiID, id, false)
  194. gui.setEnable(guiID, i14_On, true)
  195. send("setInput", 14, false)
  196. end
  197.  
  198. function i15_OnCallback(guiID, id)
  199. gui.setEnable(guiID, id, false)
  200. gui.setEnable(guiID, i15_Off, true)
  201. send("setInput", 15, true)
  202. end
  203.  
  204. function i15_OffCallback(guiID, id)
  205. gui.setEnable(guiID, id, false)
  206. gui.setEnable(guiID, i15_On, true)
  207. send("setInput", 15, false)
  208. end
  209.  
  210. function i16_OnCallback(guiID, id)
  211. gui.setEnable(guiID, id, false)
  212. gui.setEnable(guiID, i16_Off, true)
  213. send("setInput", 16, true)
  214. end
  215.  
  216. function i16_OffCallback(guiID, id)
  217. gui.setEnable(guiID, id, false)
  218. gui.setEnable(guiID, i16_On, true)
  219. send("setInput", 16, false)
  220. end
  221.  
  222. function i17_OnCallback(guiID, id)
  223. gui.setEnable(guiID, id, false)
  224. gui.setEnable(guiID, i17_Off, true)
  225. send("setInput", 17, true)
  226. end
  227.  
  228. function i17_OffCallback(guiID, id)
  229. gui.setEnable(guiID, id, false)
  230. gui.setEnable(guiID, i17_On, true)
  231. send("setInput", 17, false)
  232. end
  233.  
  234. function i18_OnCallback(guiID, id)
  235. gui.setEnable(guiID, id, false)
  236. gui.setEnable(guiID, i18_Off, true)
  237. send("setInput", 18, true)
  238. end
  239.  
  240. function i18_OffCallback(guiID, id)
  241. gui.setEnable(guiID, id, false)
  242. gui.setEnable(guiID, i18_On, true)
  243. send("setInput", 18, false)
  244. end
  245.  
  246. function checkeffects(guiID, id)
  247. send("getActiveEffects")
  248. end
  249.  
  250.  
  251. function aboutCallback(guiID, id)
  252. local msg1 = "Nanomachine Control"
  253. local msg2 = "Version 0.01a"
  254. local msg3 = "By RandomRedMage"
  255. gui.showMsg(msg1, msg2, msg3)
  256. gui.displayGui(myGui)
  257. end
  258.  
  259. function initOver(guiID, id)
  260. gui.clearScreen()
  261. gui.displayGui(myGui)
  262. gui.setTop(prgName)
  263. gui.setBottom("libGui v" .. version)
  264. while true do
  265.  gui.runGui(myGui)
  266. end
  267. end
  268.  
  269. local lastResponse = "Last response: --"
  270.  
  271. local function handleModemMessage(_, _, _, _, _, header, command, ...)
  272.   if header ~= "nanomachines" then return end
  273.   lastResponse = "Last response: " .. command
  274.   for _, v in ipairs({...}) do
  275.     lastResponse = lastResponse .. ", " .. tostring(v)
  276.   end
  277. end
  278.  
  279. --GUI features.
  280.  
  281. myGui = gui.newGui(2, 2, 78, 23, true, "Main")
  282.  
  283. nanoInfo = gui.newFrame(myGui, 2, 1, 31, 11, "Information.")
  284. label1 = gui.newLabel(myGui, 4, 3, "  Nanomachines son, you can")
  285. label2 = gui.newLabel(myGui, 4, 4, "activate and deactivate the")
  286. label3 = gui.newLabel(myGui, 4, 5, "different  index  positions")
  287. label4 = gui.newLabel(myGui, 4, 6, "to aquire different effects")
  288. label5 = gui.newLabel(myGui, 4, 7, "ranging from Night Vision, ")
  289. label6 = gui.newLabel(myGui, 4, 8, "to fire resistence and more")
  290. label7 = gui.newLabel(myGui, 4, 9, " use at own risk.")
  291.  
  292. effects = gui.newButton(myGui, 4,11, "Effects", checkeffects)
  293.  
  294. i01_On = gui.newButton(myGui, 46, 1, "Input 01 ON", i01_OnCallback)
  295. i01_Off = gui.newButton(myGui, 60, 1, "Input 01 OFF", i01_OffCallback)
  296. gui.setEnable(myGui, i01_Off, false)
  297.  
  298. i02_On = gui.newButton(myGui, 46, 2, "Input 02 ON", i02_OnCallback)
  299. i02_Off = gui.newButton(myGui, 60, 2, "Input 02 OFF", i02_OffCallback)
  300. gui.setEnable(myGui, i02_Off, false)
  301.  
  302. i03_On = gui.newButton(myGui, 46, 3, "Input 03 ON", i03_OnCallback)
  303. i03_Off = gui.newButton(myGui, 60, 3, "Input 03 OFF", i03_OffCallback)
  304. gui.setEnable(myGui, i03_Off, false)
  305.  
  306. i04_On = gui.newButton(myGui, 46, 4, "Input 04 ON", i04_OnCallback)
  307. i04_Off = gui.newButton(myGui, 60, 4, "Input 04 OFF", i04_OffCallback)
  308. gui.setEnable(myGui, i04_Off, false)
  309.  
  310. i05_On = gui.newButton(myGui, 46, 5, "Input 05 ON", i05_OnCallback)
  311. i05_Off = gui.newButton(myGui, 60, 5, "Input 05 OFF", i05_OffCallback)
  312. gui.setEnable(myGui, i05_Off, false)
  313.  
  314. i06_On = gui.newButton(myGui, 46, 6, "Input 06 ON", i06_OnCallback)
  315. i06_Off = gui.newButton(myGui, 60, 6, "Input 06 OFF", i06_OffCallback)
  316. gui.setEnable(myGui, i06_Off, false)
  317.  
  318. i07_On = gui.newButton(myGui, 46, 7, "Input 07 ON", i07_OnCallback)
  319. i07_Off = gui.newButton(myGui, 60, 7, "Input 07 OFF", i07_OffCallback)
  320. gui.setEnable(myGui, i07_Off, false)
  321.  
  322. i08_On = gui.newButton(myGui, 46, 8, "Input 08 ON", i08_OnCallback)
  323. i08_Off = gui.newButton(myGui, 60, 8, "Input 08 OFF", i08_OffCallback)
  324. gui.setEnable(myGui, i08_Off, false)
  325.  
  326. i09_On = gui.newButton(myGui, 46, 9, "Input 09 ON", i09_OnCallback)
  327. i09_Off = gui.newButton(myGui, 60, 9, "Input 09 OFF", i09_OffCallback)
  328. gui.setEnable(myGui, i09_Off, false)
  329.  
  330. i10_On = gui.newButton(myGui, 46, 10, "Input 10 ON", i10_OnCallback)
  331. i10_Off = gui.newButton(myGui, 60, 10, "Input 10 OFF", i10_OffCallback)
  332. gui.setEnable(myGui, i10_Off, false)
  333.  
  334. i11_On = gui.newButton(myGui, 46, 11, "Input 11 ON", i11_OnCallback)
  335. i11_Off = gui.newButton(myGui, 60, 11, "Input 11 OFF", i11_OffCallback)
  336. gui.setEnable(myGui, i11_Off, false)
  337.  
  338. i12_On = gui.newButton(myGui, 46, 12, "Input 12 ON", i12_OnCallback)
  339. i12_Off = gui.newButton(myGui, 60, 12, "Input 12 OFF", i12_OffCallback)
  340. gui.setEnable(myGui, i12_Off, false)
  341.  
  342. i13_On = gui.newButton(myGui, 46, 13, "Input 13 ON", i13_OnCallback)
  343. i13_Off = gui.newButton(myGui, 60, 13, "Input 13 OFF", i13_OffCallback)
  344. gui.setEnable(myGui, i13_Off, false)
  345.  
  346. i14_On = gui.newButton(myGui, 46, 14, "Input 14 ON", i14_OnCallback)
  347. i14_Off = gui.newButton(myGui, 60, 14, "Input 14 OFF", i14_OffCallback)
  348. gui.setEnable(myGui, i14_Off, false)
  349.  
  350. i15_On = gui.newButton(myGui, 46, 15, "Input 15 ON", i15_OnCallback)
  351. i15_Off = gui.newButton(myGui, 60, 15, "Input 15 OFF", i15_OffCallback)
  352. gui.setEnable(myGui, i15_Off, false)
  353.  
  354. i16_On = gui.newButton(myGui, 46, 16, "Input 16 ON", i16_OnCallback)
  355. i16_Off = gui.newButton(myGui, 60, 16, "Input 16 OFF", i16_OffCallback)
  356. gui.setEnable(myGui, i16_Off, false)
  357.  
  358. i17_On = gui.newButton(myGui, 46, 17, "Input 17 ON", i17_OnCallback)
  359. i17_Off = gui.newButton(myGui, 60, 17, "Input 17 OFF", i17_OffCallback)
  360. gui.setEnable(myGui, i17_Off, false)
  361.  
  362. i18_On = gui.newButton(myGui, 46, 18, "Input 18 ON", i18_OnCallback)
  363. i18_Off = gui.newButton(myGui, 60, 18, "Input 18 OFF", i18_OffCallback)
  364. gui.setEnable(myGui, i18_Off, false)
  365.  
  366.  
  367. odpowiedz = gui.newLabel(myGui, 4, 15, lastResponse)
  368.  
  369.  
  370.  
  371. aboutButton = gui.newButton(myGui, 56, 21, "About", aboutCallback)
  372. exitButton = gui.newButton(myGui, 65, 21, "Exit", exitCallback)
  373.  
  374. --initGui = gui.newGui(2, 2, 78, 23, true)
  375. --initInfo = gui.newFrame(initGui, 28, 9, 22, 5, "Loading...")
  376. --initProgress = gui.newProgress(initGui, "center", 11, 18, 18, 0, initOver, true)
  377.  
  378. -- Starting Point
  379.  
  380. gui.clearScreen()
  381. gui.setTop(prgName)
  382. gui.setBottom("libGui v" .. version)
  383.  
  384. --gui.runGui(initGui)
  385.  
  386. --gui.setValue(initGui, initProgress, 19)
  387. os.sleep(1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement