View difference between Paste ID: XCqg7vef and wrxi0726
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.
9+
local port = 1 --port to communicate to your nanomachines on.
10
11-
if args[1] == "-h" then
11+
12-
  print("Useage: -h : See this help text.")
12+
13-
  print("        -s : Skip Nanomachine innitializationn")
13+
14-
  os.exit()
14+
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)
37+
gui.setEnable(guiID, id, false)
38-
	gui.setEnable(guiID, i01_Off, true)
38+
gui.setEnable(guiID, i01_On, true)
39-
	send("setInput", 1, true)
39+
send("setInput", 1, false)
40
end
41
42
function i02_OnCallback(guiID, id)
43-
	gui.setEnable(guiID, id, false)
43+
gui.setEnable(guiID, id, false)
44-
	gui.setEnable(guiID, i01_On, true)
44+
gui.setEnable(guiID, i02_Off, true)
45-
	send("setInput", 1, false)
45+
send("setInput", 2, true)
46
end
47
48
function i02_OffCallback(guiID, id)
49-
	gui.setEnable(guiID, id, false)
49+
gui.setEnable(guiID, id, false)
50-
	gui.setEnable(guiID, i02_Off, true)
50+
gui.setEnable(guiID, i02_On, true)
51-
	send("setInput", 2, true)
51+
send("setInput", 2, false)
52
end
53
54
function i03_OnCallback(guiID, id)
55-
	gui.setEnable(guiID, id, false)
55+
gui.setEnable(guiID, id, false)
56-
	gui.setEnable(guiID, i02_On, true)
56+
gui.setEnable(guiID, i03_Off, true)
57-
	send("setInput", 2, false)
57+
send("setInput", 3, true)
58
end
59
60
function i03_OffCallback(guiID, id)
61-
	gui.setEnable(guiID, id, false)
61+
gui.setEnable(guiID, id, false)
62-
	gui.setEnable(guiID, i03_Off, true)
62+
gui.setEnable(guiID, i03_On, true)
63-
	send("setInput", 3, true)
63+
send("setInput", 3, false)
64
end
65
66
function i04_OnCallback(guiID, id)
67-
	gui.setEnable(guiID, id, false)
67+
gui.setEnable(guiID, id, false)
68-
	gui.setEnable(guiID, i03_On, true)
68+
gui.setEnable(guiID, i04_Off, true)
69-
	send("setInput", 3, false)
69+
send("setInput", 4, true)
70
end
71
72
function i04_OffCallback(guiID, id)
73-
	gui.setEnable(guiID, id, false)
73+
gui.setEnable(guiID, id, false)
74-
	gui.setEnable(guiID, i04_Off, true)
74+
gui.setEnable(guiID, i04_On, true)
75-
	send("setInput", 4, true)
75+
send("setInput", 4, false)
76
end
77
78
function i05_OnCallback(guiID, id)
79-
	gui.setEnable(guiID, id, false)
79+
gui.setEnable(guiID, id, false)
80-
	gui.setEnable(guiID, i04_On, true)
80+
gui.setEnable(guiID, i05_Off, true)
81-
	send("setInput", 4, false)
81+
send("setInput", 5, true)
82
end
83
84
function i05_OffCallback(guiID, id)
85-
	gui.setEnable(guiID, id, false)
85+
gui.setEnable(guiID, id, false)
86-
	gui.setEnable(guiID, i05_Off, true)
86+
gui.setEnable(guiID, i05_On, true)
87-
	send("setInput", 5, true)
87+
send("setInput", 5, false)
88
end
89
90
function i06_OnCallback(guiID, id)
91-
	gui.setEnable(guiID, id, false)
91+
gui.setEnable(guiID, id, false)
92-
	gui.setEnable(guiID, i05_On, true)
92+
gui.setEnable(guiID, i06_Off, true)
93-
	send("setInput", 5, false)
93+
send("setInput", 6, true)
94
end
95
96
function i06_OffCallback(guiID, id)
97-
	gui.setEnable(guiID, id, false)
97+
gui.setEnable(guiID, id, false)
98-
	gui.setEnable(guiID, i06_Off, true)
98+
gui.setEnable(guiID, i06_On, true)
99-
	send("setInput", 6, true)
99+
send("setInput", 6, false)
100
end
101
102
function i07_OnCallback(guiID, id)
103-
	gui.setEnable(guiID, id, false)
103+
gui.setEnable(guiID, id, false)
104-
	gui.setEnable(guiID, i06_On, true)
104+
gui.setEnable(guiID, i07_Off, true)
105-
	send("setInput", 6, false)
105+
send("setInput", 7, true)
106
end
107
108
function i07_OffCallback(guiID, id)
109-
	gui.setEnable(guiID, id, false)
109+
gui.setEnable(guiID, id, false)
110-
	gui.setEnable(guiID, i07_Off, true)
110+
gui.setEnable(guiID, i07_On, true)
111-
	send("setInput", 7, true)
111+
send("setInput", 7, false)
112
end
113
114
function i08_OnCallback(guiID, id)
115-
	gui.setEnable(guiID, id, false)
115+
gui.setEnable(guiID, id, false)
116-
	gui.setEnable(guiID, i07_On, true)
116+
gui.setEnable(guiID, i08_Off, true)
117-
	send("setInput", 7, false)
117+
send("setInput", 8, true)
118
end
119
120
function i08_OffCallback(guiID, id)
121-
	gui.setEnable(guiID, id, false)
121+
gui.setEnable(guiID, id, false)
122-
	gui.setEnable(guiID, i08_Off, true)
122+
gui.setEnable(guiID, i08_On, true)
123-
	send("setInput", 8, true)
123+
send("setInput", 8, false)
124
end
125
126
function i09_OnCallback(guiID, id)
127-
	gui.setEnable(guiID, id, false)
127+
gui.setEnable(guiID, id, false)
128-
	gui.setEnable(guiID, i08_On, true)
128+
gui.setEnable(guiID, i09_Off, true)
129-
	send("setInput", 8, false)
129+
send("setInput", 9, true)
130
end
131
132
function i09_OffCallback(guiID, id)
133-
	gui.setEnable(guiID, id, false)
133+
gui.setEnable(guiID, id, false)
134-
	gui.setEnable(guiID, i09_Off, true)
134+
gui.setEnable(guiID, i09_On, true)
135-
	send("setInput", 9, true)
135+
send("setInput", 9, false)
136
end
137
138
function i10_OnCallback(guiID, id)
139-
	gui.setEnable(guiID, id, false)
139+
gui.setEnable(guiID, id, false)
140-
	gui.setEnable(guiID, i09_On, true)
140+
gui.setEnable(guiID, i10_Off, true)
141-
	send("setInput", 9, false)
141+
send("setInput", 10, true)
142
end
143
144
function i10_OffCallback(guiID, id)
145-
	gui.setEnable(guiID, id, false)
145+
gui.setEnable(guiID, id, false)
146-
	gui.setEnable(guiID, i10_Off, true)
146+
gui.setEnable(guiID, i10_On, true)
147-
	send("setInput", 10, true)
147+
send("setInput", 10, false)
148
end
149
150
function i11_OnCallback(guiID, id)
151-
	gui.setEnable(guiID, id, false)
151+
gui.setEnable(guiID, id, false)
152-
	gui.setEnable(guiID, i10_On, true)
152+
gui.setEnable(guiID, i11_Off, true)
153-
	send("setInput", 10, false)
153+
send("setInput", 11, true)
154
end
155
156
function i11_OffCallback(guiID, id)
157-
	gui.setEnable(guiID, id, false)
157+
gui.setEnable(guiID, id, false)
158-
	gui.setEnable(guiID, i11_Off, true)
158+
gui.setEnable(guiID, i11_On, true)
159-
	send("setInput", 11, true)
159+
send("setInput", 11, false)
160
end
161
162
function i12_OnCallback(guiID, id)
163-
	gui.setEnable(guiID, id, false)
163+
gui.setEnable(guiID, id, false)
164-
	gui.setEnable(guiID, i11_On, true)
164+
gui.setEnable(guiID, i12_Off, true)
165-
	send("setInput", 11, false)
165+
send("setInput", 12, true)
166
end
167
168
function i12_OffCallback(guiID, id)
169-
	gui.setEnable(guiID, id, false)
169+
gui.setEnable(guiID, id, false)
170-
	gui.setEnable(guiID, i12_Off, true)
170+
gui.setEnable(guiID, i12_On, true)
171-
	send("setInput", 12, true)
171+
send("setInput", 12, false)
172
end
173
174
function i13_OnCallback(guiID, id)
175-
	gui.setEnable(guiID, id, false)
175+
gui.setEnable(guiID, id, false)
176-
	gui.setEnable(guiID, i12_On, true)
176+
gui.setEnable(guiID, i13_Off, true)
177-
	send("setInput", 12, false)
177+
send("setInput", 13, true)
178
end
179
180
function i13_OffCallback(guiID, id)
181-
	gui.setEnable(guiID, id, false)
181+
gui.setEnable(guiID, id, false)
182-
	gui.setEnable(guiID, i13_Off, true)
182+
gui.setEnable(guiID, i13_On, true)
183-
	send("setInput", 13, true)
183+
send("setInput", 13, false)
184
end
185
186
function i14_OnCallback(guiID, id)
187-
	gui.setEnable(guiID, id, false)
187+
gui.setEnable(guiID, id, false)
188-
	gui.setEnable(guiID, i13_On, true)
188+
gui.setEnable(guiID, i14_Off, true)
189-
	send("setInput", 13, false)
189+
send("setInput", 14, true)
190
end
191
192
function i14_OffCallback(guiID, id)
193-
	gui.setEnable(guiID, id, false)
193+
gui.setEnable(guiID, id, false)
194-
	gui.setEnable(guiID, i14_Off, true)
194+
gui.setEnable(guiID, i14_On, true)
195-
	send("setInput", 14, true)
195+
send("setInput", 14, false)
196
end
197
198
function i15_OnCallback(guiID, id)
199-
	gui.setEnable(guiID, id, false)
199+
gui.setEnable(guiID, id, false)
200-
	gui.setEnable(guiID, i14_On, true)
200+
gui.setEnable(guiID, i15_Off, true)
201-
	send("setInput", 14, false)
201+
send("setInput", 15, true)
202
end
203
204
function i15_OffCallback(guiID, id)
205-
	gui.setEnable(guiID, id, false)
205+
gui.setEnable(guiID, id, false)
206-
	gui.setEnable(guiID, i15_Off, true)
206+
gui.setEnable(guiID, i15_On, true)
207-
	send("setInput", 15, true)
207+
send("setInput", 15, false)
208
end
209
210
function i16_OnCallback(guiID, id)
211-
	gui.setEnable(guiID, id, false)
211+
gui.setEnable(guiID, id, false)
212-
	gui.setEnable(guiID, i15_On, true)
212+
gui.setEnable(guiID, i16_Off, true)
213-
	send("setInput", 15, false)
213+
send("setInput", 16, true)
214
end
215
216
function i16_OffCallback(guiID, id)
217-
	gui.setEnable(guiID, id, false)
217+
gui.setEnable(guiID, id, false)
218-
	gui.setEnable(guiID, i16_Off, true)
218+
gui.setEnable(guiID, i16_On, true)
219-
	send("setInput", 16, true)
219+
send("setInput", 16, false)
220
end
221
222
function i17_OnCallback(guiID, id)
223-
	gui.setEnable(guiID, id, false)
223+
gui.setEnable(guiID, id, false)
224-
	gui.setEnable(guiID, i16_On, true)
224+
gui.setEnable(guiID, i17_Off, true)
225-
	send("setInput", 16, false)
225+
send("setInput", 17, true)
226
end
227
228
function i17_OffCallback(guiID, id)
229-
	gui.setEnable(guiID, id, false)
229+
gui.setEnable(guiID, id, false)
230-
	gui.setEnable(guiID, i17_Off, true)
230+
gui.setEnable(guiID, i17_On, true)
231-
	send("setInput", 17, true)
231+
send("setInput", 17, false)
232
end
233
234
function i18_OnCallback(guiID, id)
235-
	gui.setEnable(guiID, id, false)
235+
gui.setEnable(guiID, id, false)
236-
	gui.setEnable(guiID, i17_On, true)
236+
gui.setEnable(guiID, i18_Off, true)
237-
	send("setInput", 17, false)
237+
send("setInput", 18, true)
238
end
239
240
function i18_OffCallback(guiID, id)
241-
	gui.setEnable(guiID, id, false)
241+
gui.setEnable(guiID, id, false)
242-
	gui.setEnable(guiID, i18_Off, true)
242+
gui.setEnable(guiID, i18_On, true)
243-
	send("setInput", 18, true)
243+
send("setInput", 18, false)
244
end
245
246
function checkeffects(guiID, id)
247-
	gui.setEnable(guiID, id, false)
247+
send("getActiveEffects")
248-
	gui.setEnable(guiID, i18_On, true)
248+
249-
	send("setInput", 18, false)
249+
250
251
function aboutCallback(guiID, id)
252
local msg1 = "Nanomachine Control"
253-
	local msg1 = "Nanomachine Control"
253+
local msg2 = "Version 0.01a"
254-
	local msg2 = "Version 0.01a"
254+
local msg3 = "By RandomRedMage"
255-
	local msg3 = "By RandomRedMage"
255+
gui.showMsg(msg1, msg2, msg3)
256-
	gui.showMsg(msg1, msg2, msg3)
256+
gui.displayGui(myGui)
257-
	gui.displayGui(myGui)
257+
258
259
function initOver(guiID, id)
260
gui.clearScreen()
261-
	gui.clearScreen()
261+
gui.displayGui(myGui)
262-
	gui.displayGui(myGui)
262+
263-
	gui.setTop(prgName)
263+
264-
	gui.setBottom("libGui v" .. version)
264+
while true do
265-
	while true do
265+
 gui.runGui(myGui)
266-
		gui.runGui(myGui)
266+
267-
	end
267+
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-
initGui = gui.newGui(2, 2, 78, 23, true)
359+
360-
initInfo = gui.newFrame(initGui, 28, 9, 22, 5, "Loading...")
360+
361-
initProgress = gui.newProgress(initGui, "center", 11, 18, 18, 0, initOver, true)
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-
local counter = 0
368+
369
370-
if args[1] == "-s" then
370+
371-
  counter = 18
371+
372
exitButton = gui.newButton(myGui, 65, 21, "Exit", exitCallback)
373
374-
while counter <=18 do
374+
--initGui = gui.newGui(2, 2, 78, 23, true)
375-
	gui.runGui(initGui)
375+
--initInfo = gui.newFrame(initGui, 28, 9, 22, 5, "Loading...")
376-
	counter = counter + 1
376+
--initProgress = gui.newProgress(initGui, "center", 11, 18, 18, 0, initOver, true)
377-
	send("setInput", counter, false)
377+
378-
	gui.setValue(initGui, initProgress, counter)
378+
379-
	os.sleep(1)
379+
380-
end
380+
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)