1'/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/
2' UTILITY - Light Runs
3'\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\
4
5
6 dim arcbld:arcbld=1
7 dim arcblu:arcblu=2
8 dim arcbrd:arcbrd=3
9 dim arcbru:arcbru=4
10 dim arctld:arctld=5
11 dim arctlu:arctlu=6
12 dim arctrd:arctrd=7
13 dim arctru:arctru=8
14 dim circlein:circlein=9
15 dim circleout:circleout=10
16 dim clockleft:clockleft=11
17 dim clockright:clockright=12
18 dim diagdl:diagdl=13
19 dim diagdr:diagdr=14
20 dim diagul:diagul=15
21 dim diagur:diagur=16
22 dim down:down=17
23 dim fanld:fanld=18
24 dim fanlu:fanlu=19
25 dim fanrd:fanrd=20
26 dim fanru:fanru=21
27 dim hatch1h:hatch1h=22
28 dim hatch1v:hatch1v=23
29 dim hatch2h:hatch2h=24
30 dim hatch2v:hatch2v=25
31 dim left:left=26
32 dim middleih:middleih=27
33 dim middleiv:middleiv=28
34 dim middleoh:middleoh=29
35 dim middleov:middleov=30
36 dim radarl:radarl=31
37 dim radarr:radarr=32
38 dim randoms:randoms=33
39 dim right:right=34
40 dim screwl:screwl=35
41 dim screwr:screwr=36
42 dim stripe1h:stripe1h=37
43 dim stripe1v:stripe1v=38
44 dim stripe2h:stripe2h=39
45 dim stripe2v:stripe2v=40
46 dim up:up=41
47 dim wiperl:wiperl=42
48 dim wiperr:wiperr=43
49
50 '***** LIGHT RUNS *****
51 '(CHAOS)randoms
52 '(DIRECTIONS)up|down|left|right|diagdl|diagdr|diagul|diagur
53 '(SWIPES)middleih|middleiv|middleoh|middleov|stripe1h|hatch1h|hatch1v|hatch2h|hatch2v|stripe1v|stripe2h|stripe2v
54 '(SPINS)circlein|circleout|clockleft|clockright|screwl|screwr
55 '(CURVES)arcbld|arcblu|arcbrd|arcbru|arctld|arctlu|arctrd|arctru|fanld|fanlu|fanrd|fanru|radarl|radarr|wiperl|wiperr
56 '(EXAMPLE)lightrun red,arcbld,1 (SYNTAX)lightrun color,direction,times to run
57 Sub lightrun(colorduring,direction,timenum)
58 On Error Resume Next
59 dim timefornext
60 ' color setting
61 dim a
62 for each a in aLights
63 SetLightColor a, colorduring, -1
64 next
65
66 if spotstatus = 1 Then
67 spotsoff
68 end If
69
70 if gistatus = 1 Then
71 GiOff
72 end if
73
74 select case direction
75 Case arcbld
76 lrseq.UpdateInterval = 5
77 timefornext = timenum*1000
78 lrseq.Play SeqArcBottomLeftDownOn, 90,timenum,0
79 lrseq.Play SeqArcBottomLeftDownOff, 90,timenum,0
80 Case arcblu
81 lrseq.UpdateInterval = 5
82 timefornext = timenum*1000
83 lrseq.Play SeqArcBottomLeftUpOn, 90,timenum,0
84 lrseq.Play SeqArcBottomLeftUpOff, 90,timenum,0
85 Case arcbrd
86 lrseq.UpdateInterval = 5
87 timefornext = timenum*1000
88 lrseq.Play SeqArcBottomRightDownOn, 90,timenum,0
89 lrseq.Play SeqArcBottomRightDownOff, 90,timenum,0
90 Case arcbru
91 lrseq.UpdateInterval = 5
92 timefornext = timenum*1000
93 lrseq.Play SeqArcBottomRightUpOn, 90,timenum,0
94 lrseq.Play SeqArcBottomRightUpOff, 90,timenum,0
95 Case arctld
96 lrseq.UpdateInterval = 5
97 timefornext = timenum*1000
98 lrseq.Play SeqArcTopLeftDownOn, 90,timenum,0
99 lrseq.Play SeqArcTopLeftDownOff, 90,timenum,0
100 Case arctlu
101 lrseq.UpdateInterval = 5
102 timefornext = timenum*1000
103 lrseq.Play SeqArcTopLeftUpOn, 90,timenum,0
104 lrseq.Play SeqArcTopLeftUpOff, 90,timenum,0
105 Case arctrd
106 lrseq.UpdateInterval = 5
107 timefornext = timenum*1000
108 lrseq.Play SeqArcTopRightDownOn, 90,timenum,0
109 lrseq.Play SeqArcTopRightDownOff, 90,timenum,0
110 Case arctru
111 lrseq.UpdateInterval = 5
112 timefornext = timenum*1000
113 lrseq.Play SeqArcTopRightUpOn, 90,timenum,0
114 lrseq.Play SeqArcTopRightUpOff, 90,timenum,0
115 Case circlein
116 lrseq.UpdateInterval = 5
117 timefornext = timenum*800
118 lrseq.Play SeqCircleInOn,50,timenum,0
119 lrseq.Play SeqCircleInOff,50,timenum,0
120 Case circleout
121 lrseq.UpdateInterval = 5
122 timefornext = timenum*800
123 lrseq.Play SeqCircleOutOn,50,timenum,0
124 lrseq.Play SeqCircleOutOff,50,timenum,0
125 Case clockleft
126 lrseq.UpdateInterval = 2
127 timefornext = timenum*800
128 lrseq.Play SeqClockLeftOn, 45,timenum,0
129 lrseq.Play SeqClockLeftOff, 45,timenum,0
130 Case clockright
131 lrseq.UpdateInterval = 2
132 timefornext = timenum*800
133 lrseq.Play SeqClockRightOn,45,timenum,0
134 lrseq.Play SeqClockRightOff,45,timenum,0
135 Case diagdl
136 lrseq.UpdateInterval = 3
137 timefornext = timenum*800
138 lrseq.Play SeqDiagDownLeftOn, 25,timenum,0
139 lrseq.Play SeqDiagDownLeftOff, 25,timenum,0
140 Case diagdr
141 lrseq.UpdateInterval = 3
142 timefornext = timenum*800
143 lrseq.Play SeqDiagDownRightOn, 25,timenum,0
144 lrseq.Play SeqDiagDownRightOff, 25,timenum,0
145 Case diagul
146 lrseq.UpdateInterval = 3
147 timefornext = timenum*800
148 lrseq.Play SeqDiagUpLeftOn, 25,timenum,0
149 lrseq.Play SeqDiagUpLeftOff, 25,timenum,0
150 Case diagur
151 lrseq.UpdateInterval = 3
152 timefornext = timenum*800
153 lrseq.Play SeqDiagUpRightOn, 25,timenum,0
154 lrseq.Play SeqDiagUpRightOff, 25,timenum,0
155 Case down
156 lrseq.UpdateInterval = 5
157 timefornext = timenum*800
158 lrseq.Play SeqDownOn, 15,timenum,0
159 lrseq.Play SeqDownOff, 15,timenum,0
160 Case fanld
161 lrseq.UpdateInterval = 3
162 timefornext = timenum*800
163 lrseq.Play SeqFanLeftDownOn, 30,timenum,0
164 lrseq.Play SeqFanLeftDownOff, 30,timenum,0
165 Case fanlu
166 lrseq.UpdateInterval = 3
167 timefornext = timenum*800
168 lrseq.Play SeqFanLeftUpOn, 30,timenum,0
169 lrseq.Play SeqFanLeftUpOff, 30,timenum,0
170 Case fanrd
171 lrseq.UpdateInterval = 3
172 timefornext = timenum*800
173 lrseq.Play SeqFanRightDownOn, 30,timenum,0
174 lrseq.Play SeqFanRightDownOff, 30,timenum,0
175 Case fanru
176 lrseq.UpdateInterval = 3
177 timefornext = timenum*800
178 lrseq.Play SeqFanRightUpOn, 30,timenum,0
179 lrseq.Play SeqFanRightUpOff, 30,timenum,0
180 Case hatch1h
181 lrseq.UpdateInterval = 9
182 timefornext = timenum*800
183 lrseq.Play SeqHatch1HorizOn, 25,timenum,0
184 lrseq.Play SeqHatch1HorizOff, 25,timenum,0
185 Case hatch1v
186 lrseq.UpdateInterval = 9
187 timefornext = timenum*800
188 lrseq.Play SeqHatch1VertOn, 75,timenum,0
189 lrseq.Play SeqHatch1VertOff, 75,timenum,0
190 Case hatch2h
191 lrseq.UpdateInterval = 9
192 timefornext = timenum*800
193 lrseq.Play SeqHatch2HorizOn, 25,timenum,0
194 lrseq.Play SeqHatch2HorizOff, 25,timenum,0
195 Case hatch2v
196 lrseq.UpdateInterval = 9
197 timefornext = timenum*800
198 lrseq.Play SeqHatch2VertOn, 75,timenum,0
199 lrseq.Play SeqHatch2VertOff, 75,timenum,0
200 Case left
201 lrseq.UpdateInterval = 5
202 timefornext = timenum*800
203 lrseq.Play SeqLeftOn, 50,timenum,0
204 lrseq.Play SeqLeftOff, 50,timenum,0
205 Case middleih
206 lrseq.UpdateInterval = 12
207 timefornext = timenum*700
208 lrseq.Play SeqMiddleInHorizOn, 50,timenum,0
209 lrseq.Play SeqMiddleInHorizOff, 50,timenum,0
210 Case middleiv
211 lrseq.UpdateInterval = 12
212 timefornext = timenum*700
213 lrseq.Play SeqMiddleInVertOn, 50,timenum,0
214 lrseq.Play SeqMiddleInVertOff, 50,timenum,0
215 Case middleoh
216 lrseq.UpdateInterval = 12
217 timefornext = timenum*700
218 lrseq.Play SeqMiddleOutHorizOn, 50,timenum,0
219 lrseq.Play SeqMiddleOutHorizOff, 50,timenum,0
220 Case middleov
221 lrseq.UpdateInterval = 12
222 timefornext = timenum*700
223 lrseq.Play SeqMiddleOutVertOn, 50,timenum,0
224 lrseq.Play SeqMiddleOutVertOff, 50,timenum,0
225 Case radarl
226 lrseq.UpdateInterval = 4
227 timefornext = timenum*700
228 lrseq.Play SeqRadarLeftOn, 45,timenum,0
229 lrseq.Play SeqRadarLeftOff, 45,timenum,0
230 Case radarr
231 lrseq.UpdateInterval = 4
232 timefornext = timenum*700
233 lrseq.Play SeqRadarRightOn, 45,timenum,0
234 lrseq.Play SeqRadarRightOff, 45,timenum,0
235 Case randoms
236 lrseq.UpdateInterval = 5
237 timefornext = timenum*1000
238 lrseq.Play SeqRandom,40,,timefornext
239 Case right
240 lrseq.UpdateInterval = 5
241 timefornext = timenum*800
242 lrseq.Play SeqRightOn, 50,timenum,0
243 lrseq.Play SeqRightOff, 50,timenum,0
244 Case screwl
245 lrseq.UpdateInterval = 2
246 timefornext = timenum*500
247 lrseq.Play SeqScrewLeftOn, 25,timenum,0
248 lrseq.Play SeqScrewLeftOff, 25,timenum,0
249 Case screwr
250 lrseq.UpdateInterval = 2
251 timefornext = timenum*500
252 lrseq.Play SeqScrewRightOn, 25,timenum,0
253 lrseq.Play SeqScrewRightOff, 25,timenum,0
254 Case stripe1h
255 lrseq.UpdateInterval = 5
256 timefornext = timenum*900
257 lrseq.Play SeqStripe1HorizOn, 25,timenum,0
258 lrseq.Play SeqStripe1HorizOff, 25,timenum,0
259 Case stripe1v
260 lrseq.UpdateInterval = 5
261 timefornext = timenum*900
262 lrseq.Play SeqStripe1VertOn, 50,timenum,0
263 lrseq.Play SeqStripe1VertOff, 50,timenum,0
264 Case stripe2h
265 lrseq.UpdateInterval = 5
266 timefornext = timenum*900
267 lrseq.Play SeqStripe2HorizOn, 25,timenum,0
268 lrseq.Play SeqStripe2HorizOff, 25,timenum,0
269 Case stripe2v
270 lrseq.UpdateInterval = 5
271 timefornext = timenum*900
272 lrseq.Play SeqStripe2VertOn, 25,timenum,0
273 lrseq.Play SeqStripe2VertOff, 25,timenum,0
274 Case up
275 lrseq.UpdateInterval = 5
276 timefornext = timenum*800
277 lrseq.Play SeqUpOn, 15,timenum,0
278 lrseq.Play SeqUpOff, 15,timenum,0
279 Case wiperl
280 lrseq.UpdateInterval = 5
281 timefornext = timenum*900
282 lrseq.Play SeqWiperLeftOn, 45,timenum,0
283 lrseq.Play SeqWiperLeftOff, 45,timenum,0
284 Case wiperr
285 lrseq.UpdateInterval = 5
286 timefornext = timenum*900
287 lrseq.Play SeqWiperRightOn, 45,timenum,0
288 lrseq.Play SeqWiperRightOff, 45,timenum,0
289 end Select
290
291
292 runninglights = 1
293 vpmtimer.addtimer timefornext, "nolongerrun '"
294
295 end Sub
296
297 Sub nolongerrun
298 if spotstatus = 0 Then
299 spotson
300 end If
301
302 if gistatus = 0 Then
303 GiOn
304 end if
305 runninglights = 0
306 lrseq.StopPlay
307 if bMultiBallMode = 0 Then
308 relighttable
309 end if
310 end Sub
311
312
313