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