View difference between Paste ID: ea9RhZcg and mf3F6Kdg
SHOW: | | - or go back to the newest paste.
1
#NoEnv
2
#singleinstance force
3
Process, Priority, , High
4
5
SetWorkingDir, %A_ScriptDir%
6
file = %A_ScriptDir%\settings.ini
7
8
9
/*
10
11
Credits: 
12
Autohotkey Support & Tutorials on main site, forums and help with examples on irc from NameLess-exe & tlm.
13
14
Information: 
15
This script is extremely novice, at the start i couldn't figure out how to loop things properly with boolean/integer array logic and had to re-copy and paste data, towards the end i learned how to loop and opted not to re-write the first half and just to leave it there. 
16
17
Really novice, beginner and simple script its goal is to make certain tasks on the video game Oldschool Runescape - easier to perform!. 
18
19
*/
20
21
22
loop, 28
23
{
24
IniRead, Inv%A_Index%, settings.ini, Foodsettings, Inv%A_Index%
25
}
26
27
28
loop, 28
29
{
30
IniRead, Inv2k%A_Index%, settings.ini, Foodsettings, Inv2k%A_Index%
31
}
32
33
loop, 28
34
{
35
IniRead, Inv3k%A_Index%, settings.ini, Foodsettings, Inv3k%A_Index%
36
}
37
38
loop, 28
39
{
40
IniRead, Inv4k%A_Index%, settings.ini, Foodsettings, Inv4k%A_Index%
41
}
42
43
loop, 28
44
{
45
IniRead, Inv5k%A_Index%, settings.ini, Foodsettings, Inv5k%A_Index%
46
}
47
48
49
50
IniRead, prot1, settings.ini, settings, prot1
51
IniRead, prot2, settings.ini, settings, prot2
52
IniRead, prot3, settings.ini, settings, prot3
53
IniRead, prot4, settings.ini, settings, prot4
54
IniRead, prot5, settings.ini, settings, prot5
55
IniRead, prot6, settings.ini, settings, prot6
56
IniRead, prot7, settings.ini, settings, prot7
57
58
IniRead, arm1, settings.ini, settings, arm1
59
IniRead, arm2, settings.ini, settings, arm2
60
IniRead, arm3, settings.ini, settings, arm3
61
IniRead, arm4, settings.ini, settings, arm4
62
IniRead, arm5, settings.ini, settings, arm5
63
IniRead, arm6, settings.ini, settings, arm6
64
IniRead, arm7, settings.ini, settings, arm7
65
66
IniRead, Steelskins, settings.ini, settings, Steelskins
67
IniRead, mysticMight, settings.ini, settings, mysticMight
68
IniRead, ItemProtects, settings.ini, settings, ItemProtects
69
70
IniRead, Radio1, settings.ini, Armors, Radio1
71
IniRead, Radio2, settings.ini, Armors, Radio2
72
IniRead, Radio3, settings.ini, Armors, Radio3
73
IniRead, Radio4, settings.ini, Armors, Radio4
74
75
IniRead, Invs, settings.ini, Icons, Invs
76
IniRead, Origin, settings.ini, Icons, origin
77
78
IniRead, Frunning, settings.ini, settings, Frunning
79
IniRead, Fsleep, settings.ini, settings, Fsleep
80
IniRead, Fbinds, settings.ini, settings, Fbinds
81
82
IniRead, Un1, settings.ini, settings, Un1
83
IniRead, Un2, settings.ini, settings, Un2
84
IniRead, Un3, settings.ini, settings, Un3
85
IniRead, Un4, settings.ini, settings, Un4
86
IniRead, Un5, settings.ini, settings, Un5
87
IniRead, Un6, settings.ini, settings, Un6
88
IniRead, Un7, settings.ini, settings, Un7
89
90
91
92
Sleep1= 50 ; Random Range Of sleep time
93
Sleep2= 100 ; Used after pressing the F-Key to switch to run/prayer tab.
94
95
;Mouse Positions X/Y Coordinates For Orion, AB For RSclient, change them if needed.
96
97
X1=684   ; melee  prayer
98
Y1=396   ; mouse  position
99
100
X2=643   ; range  prayer
101
y2=396   ; mouse  position
102
103
x3=608   ; mage   prayer
104
y3=396   ; mouse  position
105
106
x4=681   ; steel  skin
107
y4=359   ; mouse  position
108
109
x5=570   ; item   protect
110
y5=354   ; mouse  position
111
112
x6=571   ; mystic might
113
y6=430   ; mouse  position
114
115
x7=639   ; final  Mouse Position
116
y7=237   ; after  finishing prayer clicks
117
118
x8=583   ; Run    icon
119
y8=191   ; mouse  position
120
121
x9=750   ; clicks Mouse Top right of screen
122
y9=197   ; to cancel "cast bind" before activating prayer.
123
124
X10=560  ; Quicker minimap orb icon cords 
125
y10=165  ; Clicks quick prayer
126
127
x11=582  ; Invslot No.1 - Armor
128
y11=280  ; mouse posion
129
130
x12=625  ; InvSlot No.2 - Armor
131
y12=280  ; mouse position
132
133
x13=665  ; InvSlot No.3 - Armor
134
y13=280  ; mouse position
135
136
x14=707  ; InvSlot No.4 - Armor
137
y14=280  ; mouse position
138
139
X15=653  ; Platebody Equip - armor
140
Y15=359  ; mouse position
141
142
X16=653  ; Platelgs Equip  - Armor
143
Y16=395  ; mouse position
144
 
145
X17=700  ; kite - armor
146
Y17=350  ; mouse position
147
148
X18=650  ; helm - armor 
149
Y18=279  ; mouse position
150
 
151
YI5=1     : mouse position
152
153
154
;RSClient Coods
155
156
XR1=694
157
YR1=369
158
159
XR2=654
160
YR2=369
161
162
XR3=618
163
YR3=369
164
165
XR4=694
166
YR4=332
167
168
XR5=580
169
YR5=335
170
171
XR6=582
172
YR6=410
173
174
XR7=656
175
YR7=208
176
177
XR8=595
178
YR8=160
179
180
XR9=763
181
YR9=174
182
183
xr10=571
184
yr10=122
185
186
187
xr11=591
188
yr11=250
189
190
191
xr12=633
192
yr12=250
193
194
xr13=675
195
yr13=250
196
197
xr14=715
198
yr14=250
199
200
XR15=650
201
YR15=330
202
203
XR16=650
204
YR16=366
205
206
XR17=700
207
YR17=330
208
209
XR18=650
210
YR18=255
211
212
offset=2
213
214
YRi5=285
215
YRI9=325
216
YRi13=360
217
YRi17=390
218
YRI21=427
219
YR25=468
220
221
222
223
224
225
226
goto ^g
227
return
228
229
^g::
230
GUI Destroy
231
GoSub GUI
232
return
233
234
Gui:
235
Gui, Add, Button, x6 y7 w100 h20 , About
236
Gui, Add, Button, x6 y27 w100 h20 , Resize RSclient
237
Gui, Font, S10 CDefault, Verdana
238
Gui, Add, Button, x5 y100 w100 h25  , Key setup
239
Gui, Add, Text, x516 y107 w90 h20 , Protections:
240
Gui, Add, Text, x116 y107 w50 h20 , Key 1
241
Gui, Add, Text, x196 y107 w50 h20 , key 2
242
Gui, Add, Text, x256 y107 w50 h20 , key 3
243
Gui, Font, S8 CDefault, Verdana
244
Gui, Font, S6 CDefault, Verdana
245
Gui, Font, S7 CDefault, Verdana
246
Gui, Add, DropDownList, x96 y137 w70 h90 vF1downs choose1 , Quick|Melee|Range|Mage|None
247
Gui, Add, CheckBox, x116 y167 w10 h10 vProt1 checked%prot1% , Protections f1
248
Gui, Add, CheckBox, x116 y197 w10 h10 vArm1 checked%arm1%, Armor equip f1
249
Gui, Add, Text, x6 y137 w80 h20 , Prayer type:
250
Gui, Add, DropDownList, x176 y137 w60 h130 vF2downs choose2 , Quick|Melee|Range|Mage|None
251
Gui, Add, CheckBox, x196 y167 w10 h10 vprot2 checked%prot2%, Protections f2
252
Gui, Add, CheckBox, x196 y197 w10 h10 varm2 checked%arm2%, Armor equipf2
253
Gui, Add, DropDownList, x236 y137 w60 h110 vF3downs choose3 , Quick|Melee|Range|Mage|None
254
Gui, Add, CheckBox, x256 y167 w10 h10 vprot3 checked%prot3% , Protections f3
255
Gui, Add, Text, x6 y197 w100 h20 , Equip armor equip?
256
Gui, Add, CheckBox, x256 y197 w10 h10 varm3 checked%arm3%, Armor equipf3
257
Gui, Add, Text, x316 y107 w50 h20 , Key 4
258
Gui, Add, Text, x366 y107 w50 h20 , Key 5
259
Gui, Add, Text, x416 y107 w50 h20 , Key 6
260
Gui, Add, Text, x466 y107 w50 h20 , Key 7
261
Gui, Add, DropDownList, x296 y137 w60 h140 vf4downs choose2, Quick|Melee|Range|Mage|None
262
Gui, Add, DropDownList, x356 y137 w50 h120 vF5downs choose3, Quick|Melee|Range|Mage|None
263
Gui, Add, DropDownList, x406 y137 w50 h130 vF6downs choose4, Quick|Melee|Range|Mage|None
264
Gui, Add, DropDownList, x456 y137 w50 h120 vF7downs choose5, Quick|Melee|Range|Mage|None
265
Gui, Add, CheckBox, x316 y167 w10 h10 vprot4 checked%prot4%, Protections f4
266
Gui, Add, CheckBox, x366 y167 w10 h10 vprot5 checked%prot5% , Protections f5
267
Gui, Add, CheckBox, x416 y167 w10 h10 vprot6 checked%prot6% , Protections f6
268
Gui, Add, CheckBox, x466 y167 w10 h10 vprot7 checked%prot7%, Protections f7
269
Gui, Add, CheckBox, x316 y197 w10 h10 varm4 checked%arm4%, Armor equipf4
270
Gui, Add, CheckBox, x366 y197 w10 h10 varm5 checked%arm5%, Armor equipf5
271
Gui, Add, CheckBox, x416 y197 w10 h10 varm6 checked%arm6%, Armor equipf6
272
Gui, Add, CheckBox, x466 y197 w10 h10 varm7 checked%arm7%, Armor equipf7
273
Gui, Add, Text, x496 y87 w110 h0 , Text
274
Gui, Add, Text, x616 y87 w-170 h-10 , Text
275
Gui, Add, Text, x146 y247 w140 h-20 , Mouse position when done
276
Gui, Add, Text, x6 y257 w60 h20 , Settings:
277
Gui, Add, CheckBox, x6 y287 w90 h20 vFrunning checked%Frunning%, ~ toggles run
278
Gui, Add, CheckBox, x6 y317 w90 h20 vFsleep checked%Fsleep%, Sleep time
279
Gui, Add, CheckBox, x6 y347 w90 h20 vFbinds checked%Fbinds%, Bind unclick
280
Gui, Add, Radio, x416 y287 w60 h20 vRadio1 checked%Radio1% , One
281
Gui, Add, Radio, x416 y317 w60 h20 VRadio2 checked%Radio2%, Two
282
Gui, Add, Radio, x526 y287 w60 h20 VRadio3 checked%Radio3%, Three
283
Gui, Add, Radio, x526 y317 w60 h20 vRadio4 checked%Radio4%, Four
284
Gui, Font, S12 CDefault, Verdana
285
Gui, Add, Button, x206 y357 w220 h60 , Click here when done!
286
Gui, Font, S10 CDefault, Verdana
287
Gui, Add, Button, x6 y397 w110 h20 , Resize RSclient
288
Gui, Font, S16 CDefault, Verdana
289
Gui, Add, Text, x166 y27 w280 h40 , OSRS Prayer: By Samerdl
290
Gui, Font, S8 CDefault, Verdana
291
Gui, Add, Text, x6 y167 w100 h20 , Use protections ?
292
Gui, Add, CheckBox, x516 y197 w100 h20 vmysticMight checked%mysticmight%, Mystic might
293
Gui, Font, S7 CDefault, Verdana
294
Gui, Font, S8 CDefault, Verdana
295
Gui, Add, CheckBox, x516 y167 w100 h20 vItemProtects checked%itemprotects%, Item protect
296
Gui, Add, CheckBox, x516 y137 w100 h20 vSteelskins checked%Steelskins%, Steel skin
297
Gui, Add, Text, x446 y247 w100 h20 , Armor Equpping:
298
Gui, Add, Text, x156 y247 w160 h30 , Mouse position when done:
299
Gui, Add, Radio, x126 y287 w80 h40 vinvs checked%invs%, Inventory icon
300
Gui, Add, Radio, x256 y287 w80 h40 vOrigin checked%origin% , Original position
301
Gui, Add, Button, x526 y387 w100 h30 gSave1, Save
302
Gui, Add, Text, x6 y227 w100 h20 , Armor un-equip?
303
Gui, Add, CheckBox, x116 y227 w10 h10 vUn1 Checked%un1%, Un1
304
Gui, Add, CheckBox, x196 y227 w10 h10 vUn2 Checked%un2%, Un2
305
Gui, Add, CheckBox, x256 y227 w10 h10 vUn3 Checked%un3%, Un3
306
Gui, Add, CheckBox, x316 y227 w10 h10 vUn4 Checked%un4%, Un4
307
Gui, Add, CheckBox, x366 y227 w10 h10 vUn5 Checked%un5%, Un5
308
Gui, Add, CheckBox, x416 y227 w10 h10 vUn6 Checked%un6%, Un6
309
Gui, Add, CheckBox, x466 y227 w10 h10 vUn7 Checked%un7%, un7
310
Gui, Add, DropDownList, x536 y347 w70 h140 vArmUn Choose2, One|Two|Three|Four
311
Gui, Font, S8 CDefault, Verdana
312
Gui, Add, Text, x466 y347 w60 h20 , un-equip:
313
Gui, Add, Button, x6 y377 w110 h20 , Food Setup
314
; Generated using SmartGUI Creator 4.0
315
Gui, Show, x279 y148 h422 w629, New GUI Window
316
Gosub, ReadConfiguration
317
Return
318
319
320
321
Save1:
322
Gui, Submit, NoHide
323
IniWrite, %F1downs%, %file%, DDL1, Quick|Melee|Range|Mage|None
324
IniWrite, %F2downs%, %file%, DDL2, Quick|Melee|Range|Mage|None
325
IniWrite, %F3downs%, %file%, DDL3, Quick|Melee|Range|Mage|None
326
IniWrite, %F4downs%, %file%, DDL4, Quick|Melee|Range|Mage|None
327
IniWrite, %F5downs%, %file%, DDL5, Quick|Melee|Range|Mage|None
328
IniWrite, %F6downs%, %file%, DDL6, Quick|Melee|Range|Mage|None
329
IniWrite, %F7downs%, %file%, DDL7, Quick|Melee|Range|Mage|None
330
IniWrite, %ArmUn%,   %file%, DDL8, One|Two|Three|Four
331
332
IniWrite, %prot1%, settings.ini, settings, prot1
333
IniWrite, %prot2%, settings.ini, settings, prot2
334
IniWrite, %prot3%, settings.ini, settings, prot3
335
IniWrite, %prot4%, settings.ini, settings, prot4
336
IniWrite, %prot5%, settings.ini, settings, prot5
337
IniWrite, %prot6%, settings.ini, settings, prot6
338
IniWrite, %prot7%, settings.ini, settings, prot7
339
340
IniWrite, %arm1%, settings.ini, settings, arm1
341
IniWrite, %arm2%, settings.ini, settings, arm2
342
IniWrite, %arm3%, settings.ini, settings, arm3
343
IniWrite, %arm4%, settings.ini, settings, arm4
344
IniWrite, %arm5%, settings.ini, settings, arm5
345
IniWrite, %arm6%, settings.ini, settings, arm6
346
IniWrite, %arm7%, settings.ini, settings, arm7
347
348
IniWrite, %itemprotects%, settings.ini, settings, itemprotects
349
IniWrite, %steelskins%, settings.ini, settings, steelskins
350
IniWrite, %mysticMight%, settings.ini, settings, mysticMight
351
352
353
IniWrite, %Radio1%, settings.ini, Armors, Radio1
354
IniWrite, %Radio2%, settings.ini, Armors, Radio2
355
IniWrite, %Radio3%, settings.ini, Armors, Radio3
356
IniWrite, %Radio4%, settings.ini, Armors, Radio4
357
358
IniWrite, %invs%, settings.ini, Icons, invs
359
IniWrite, %origin%, settings.ini, Icons,origin
360
361
IniWrite, %Frunning%, settings.ini, settings, frunning
362
IniWrite, %Fsleep%, settings.ini, settings, Fsleep
363
IniWrite, %Fbinds%, settings.ini, settings, Fbinds
364
365
IniWrite, %un1%, settings.ini, settings, un1
366
IniWrite, %un2%, settings.ini, settings, un2
367
IniWrite, %un3%, settings.ini, settings, un3
368
IniWrite, %un4%, settings.ini, settings, un4
369
IniWrite, %un5%, settings.ini, settings, un5
370
IniWrite, %un6%, settings.ini, settings, un6
371
IniWrite, %un7%, settings.ini, settings, un7
372
return
373
374
375
376
ReadConfiguration:          ;Read the saved configuration
377
IfExist, %file%             ;First check if it was saved.
378
{
379
IniRead, F1downs, %file%, DDL1, Quick|Melee|Range|Mage|None
380
GuiControl, ChooseString, F1downs, %F1downs% ;Submit
381
IniRead, F2downs, %file%, DDL2, Quick|Melee|Range|Mage|None
382
GuiControl, ChooseString, F2downs, %F2downs% ;Submit
383
IniRead, F3downs, %file%, DDL3, Quick|Melee|Range|Mage|None
384
GuiControl, ChooseString, F3downs, %F3downs% ;Submit
385
IniRead, F4downs, %file%, DDL4, Quick|Melee|Range|Mage|None
386
GuiControl, ChooseString, F4downs, %F4downs% ;Submit
387
IniRead, F5downs, %file%, DDL5, Quick|Melee|Range|Mage|None
388
GuiControl, ChooseString, F5downs, %F5downs% ;Submit
389
IniRead, F6downs, %file%, DDL6, Quick|Melee|Range|Mage|None
390
GuiControl, ChooseString, F6downs, %F6downs% ;Submit
391
IniRead, F7downs, %file%, DDL7, Quick|Melee|Range|Mage|None
392
GuiControl, ChooseString, F7downs, %F7downs% ;Submit
393
394
IniRead, ArmUn, %file%, DDL8, One|Two|Three|Four
395
GuiControl, ChooseString, Armun, %Armun% ;Submit
396
397
}
398
return
399
400
GuiClose:
401
ExitApp
402
403
404
405
ButtonClickherewhendone!:
406
gosub Save1
407
MsgBox, 0, OSRS Prayer, You can restore and re-edit this interface at anytime by Pressing Control +G.`n`Remember to suspend the script when you have no use for it.`n`n`If you are using Jagex's RSclient Be sure to click the resize button so the clicks can work correctl (or press Control + F12 while your RSclient SCreen is on top).
408
gosub, ButtonKeysetup
409
gosub 3ButtonSaveandClose
410
Gui, Destroy
411
return
412
413
414
415
416
ButtonResizeRsClient:
417
MsgBox, 1,OSRS Prayer, If you Click Ok the script will locate the Jagex RS client and resize it so the Hotkeys can work correctly. Orion needs to remain at defaul size - compact mode.`n`n`(Note you can also press Control + F12 To resize the rs client as well without clicking this message).
418
	IfMsgBox Ok
419
IfWinExist Old School RuneScape
420
{
421
WinActivate
422
ResizeWin(793,571)
423
}
424
return
425
return
426
427
ButtonAbout:
428
gui, 2:Default
429
Gui, 2:Margin, 10, 10
430
Gui, 2:Add, Text, center w240 h15, OSRS Prayer: By Samerdl
431
Gui, 2:Add, Button, xp+5 yp+20,F-keys_And_Overheads
432
Gui, 2:Add, button, default,Resizing_The_Rs_Client
433
Gui, 2:Add, Button, default w+120,Run_toggling_feature
434
Gui, 2:Add, Button, default w+140,Bind_Unclicking_Feature
435
Gui, 2:Add, Button, default w+120,Mouse_Positioning_When_Done_Feature
436
Gui, 2:Add, Button, default w+120,Sleep_time_feature
437
Gui, 2:Add, Button, default xp+150 yp-100,General_Info
438
Gui, 2:Add, Button, W240 xs-5 Close,Close
439
440
Gui, 2:Show, w250, About ~ OSRS Prayer: By Samerdl
441
return
442
443
444
445
446
447
448
2ButtonClose:
449
gui, 2:submit
450
return
451
452
2ButtonGeneral_Info:
453
	MsgBox, 0,OSRS Prayer, OSRS-Prayer is an Oldschool RS utility designed to speed up the act of Activating and De-activating Prayer & Run in the game.`n`n`It's is designed for the Orion client & the Rs client - use it at your own risk (against the rules).`n`n`{{ DO NOT USE IT ON BROWSERS!}}.
454
return
455
456
2ButtonF-keys_And_Overheads:
457
 MsgBox, 0,OSRS Prayer, F1-F3 Keys funciton as full on prayer activator, they will turn on: overhead, item protect, steel skin & Mystic might.`n`n`F4-F6 turns on Overheads only, coordinates for mouse clicks can be changed from within the script.  
458
return
459
460
2buttonResizing_The_Rs_Client:
461
MsgBox, 0,OSRS Prayer, The Resize feature (From the gui or just press Control + f12) will resize the RSClient to a pre-selected size so all the clicks will register properly and accordingly to the desired positions.`n`n` This feature is only needed for the Rsclient, as the Orion Client doesn't require a resize (yet).  
462
return
463
464
2buttonRun_toggling_feature:
465
MsgBox, 0,OSRS Prayer, This feature will turn run on and off when you press the backquote key.`n`n`Although the Gui shows the tilde (~) key is required for activation, you dont need to press shift to activate it - as the key bind is set to the backtick key (backquote, the tilde without shift I.E "`",`. Its just too hard to see it. 
466
return
467
468
2buttonMouse_Positioning_When_Done_Feature:
469
MsgBox, 0,OSRS Prayer, There are two options for the mouse position once the script finishes performing prayer/run toggles, it can eiher be the same position you've had it  before, or it will move To X7/Y7 coords - the top of inventory close to the Inventory icon, you can change that within the script to any position you please.										
470
return
471
472
2buttonBind_Unclicking_Feature:
473
MsgBox, 0,OSRS Prayer, This feature will make sure to click at the top right of the screen before performing run/prayer activation/deactivation.`n`n`This is done to prevent the clicks from unregistering when you have 'cast bind' held (if you're a mager), not recommened to use this feature.
474
return
475
476
2buttonSleep_time_feature:
477
msgbox,0,OSRS PRAYER, Sleep Time ads a wait time after & Before F-Keying between tabs, the Wait time is set in Sleep1, Sleep2.`n`n` By default the Sleep time is set to a random range between 100 to 150 MS.`n`Such Feature is needed to prevent bad clicks/failed clicks.
478
return
479
480
481
482
ButtonKeysetup:
483
#ctrls = 7  ;How many Hotkey controls to add?
484
Loop,% #ctrls {
485
 Gui, 3:Add, Text, xm, Enter Activation key #%A_Index%:
486
 IniRead, savedHK%A_Index%, settings.ini, Hotkeys, %A_Index%, %A_Space%
487
 If savedHK%A_Index%                                       ;Check for saved hotkeys in INI file.
488
  Hotkey,% savedHK%A_Index%, Label%A_Index%                 ;Activate saved hotkeys if found.
489
 StringReplace, noMods, savedHK%A_Index%, ~                  ;Remove tilde (~) and Win (#) modifiers...
490
 StringReplace, noMods, noMods, #,,UseErrorLevel              ;They are incompatible with hotkey controls (cannot be shown).
491
 Gui, 3:Add, Hotkey, x+5 vHK%A_Index% gGuiLabel, %noMods%        ;Add hotkey controls and show saved hotkeys.
492
}                                                                ;Check the box if Win modifier is used.
493
Gui, 3: Font, underline cred
494
Gui, 3:Add, Text, xm , Add Run Activation key:
495
Gui, 3: Font,
496
IniRead, savedHK%A_Index%, settings.ini, Hotkeys, %A_Index%, %A_Space%
497
 If savedHK%A_Index%                                       ;Check for saved hotkeys in INI file.
498
  Hotkey,% savedHK%A_Index%, Label%A_Index%                 ;Activate saved hotkeys if found.
499
 StringReplace, noMods, savedHK%A_Index%, ~                  ;Remove tilde (~) and Win (#) modifiers...
500
 StringReplace, noMods, noMods, #,,UseErrorLevel              ;They are incompatible with hotkey controls (cannot be shown).
501
 Gui, 3:Add, Hotkey, x+5 vHK%A_Index% gGuiLabel, %noMods%        ;Add hotkey controls and show saved hotkeys.
502
Gui, 3:Add, Button, , Save and Close
503
Gui, 3:Show,,Dynamic Hotkeys
504
return
505
506
3ButtonSaveandClose:
507
 Gui, 3:Submit
508
 savedHK%num%  := HK%num%
509
 Gui, 3:Destroy
510
return
511
512
GuiLabel:
513
 If %A_GuiControl% in +,^,!,+^,+!,^!,+^!    ;If the hotkey contains only modifiers, return to wait for a key.
514
  return
515
 If InStr(%A_GuiControl%,"vk07")            ;vk07 = MenuMaskKey (see below)
516
  GuiControl,,%A_GuiControl%, % lastHK      ;Reshow the hotkey, because MenuMaskKey clears it.
517
 Else
518
  validateHK(A_GuiControl)
519
return
520
521
validateHK(GuiControl) {
522
 global lastHK
523
 Gui, Submit, NoHide
524
 lastHK := %GuiControl%                     ;Backup the hotkey, in case it needs to be reshown.
525
 num := SubStr(GuiControl,3)                ;Get the index number of the hotkey control.
526
 If (HK%num% != "") {                       ;If the hotkey is not blank...
527
  StringReplace, HK%num%, HK%num%, SC15D, AppsKey      ;Use friendlier names,
528
  StringReplace, HK%num%, HK%num%, SC154, PrintScreen  ;  instead of these scan codes.
529
  If CB%num%                                ;  If the 'Win' box is checked, then add its modifier (#).
530
   HK%num% := "#" HK%num%
531
  If !RegExMatch(HK%num%,"[#!\^\+]")        ;  If the new hotkey has no modifiers, add the (~) modifier.
532
   HK%num% := "~" HK%num%                   ;    This prevents any key from being blocked.
533
  checkDuplicateHK(num)
534
 }
535
 If (savedHK%num% || HK%num%)               ;Unless both are empty,
536
  setHK(num, savedHK%num%, HK%num%)         ;  update INI/GUI
537
}
538
539
checkDuplicateHK(num) {
540
 global #ctrls
541
 Loop,% #ctrls
542
  If (HK%num% = savedHK%A_Index%) {
543
   dup := A_Index
544
   Loop,6 {
545
    GuiControl,% "Disable" b:=!b, HK%dup%   ;Flash the original hotkey to alert the user.
546
    Sleep,200
547
   }
548
   GuiControl,,HK%num%,% HK%num% :=""       ;Delete the hotkey and clear the control.
549
   break
550
  }
551
}
552
553
setHK(num,INI,GUI) {
554
 If INI                           ;If previous hotkey exists,
555
  Hotkey, %INI%, Label%num%, Off  ;  disable it.
556
 If GUI                           ;If new hotkey exists,
557
  Hotkey, %GUI%, Label%num%, On   ;  enable it.
558
 IniWrite,% GUI ? GUI:null, settings.ini, Hotkeys, %num%
559
 savedHK%num%  := HK%num%
560
}
561
562
#MenuMaskKey vk07                 ;Requires AHK_L 38+
563
#If ctrl := HotkeyCtrlHasFocus()
564
 *AppsKey::                       ;Add support for these special keys,
565
 *BackSpace::                     ;  which the hotkey control does not normally allow.
566
 *Delete::
567
 *Enter::
568
 *Escape::
569
 *Pause::
570
 *PrintScreen::
571
 *Space::
572
 *Tab::
573
  modifier := ""
574
  If GetKeyState("Shift","P")
575
   modifier .= "+"
576
  If GetKeyState("Ctrl","P")
577
   modifier .= "^"
578
  If GetKeyState("Alt","P")
579
   modifier .= "!"
580
  Gui, Submit, NoHide             ;If BackSpace is the first key press, Gui has never been submitted.
581
  If (A_ThisHotkey == "*BackSpace" && %ctrl% && !modifier)   ;If the control has text but no modifiers held,
582
   GuiControl,,%ctrl%                                       ;  allow BackSpace to clear that text.
583
  Else                                                     ;Otherwise,
584
   GuiControl,,%ctrl%, % modifier SubStr(A_ThisHotkey,2)  ;  show the hotkey.
585
  validateHK(ctrl)
586
 return
587
#If
588
589
HotkeyCtrlHasFocus() {
590
 GuiControlGet, ctrl, Focus       ;ClassNN
591
 If InStr(ctrl,"hotkey") {
592
  GuiControlGet, ctrl, FocusV     ;Associated variable
593
  Return, ctrl
594
 }
595
}
596
597
598
599
buttonFoodSetup:
600
#If WinActive("Orion") or WinActive("Old School RuneScape") or WinActive("OSBot") or WinActive("Runescape") or WinActive("Tribot") or WinActive("SwiftKit") 
601
#ctrls = 5  ;How many Hotkey controls to add?
602
Loop,% #ctrls {
603
 Gui, 4:Add, button, xm, Food Key%A_Index%
604
 IniRead, savedFK%A_Index%, settings.ini, Hotkeys2, %A_Index%, %A_Space%
605
 If savedFK%A_Index%                                       ;Check for saved hotkeys in INI file.
606
  Hotkey,% savedFK%A_Index%, Labels%A_Index%                 ;Activate saved hotkeys if found.
607
 StringReplace, noMods, savedFK%A_Index%, ~                  ;Remove tilde (~) and Win (#) modifiers...
608
 StringReplace, noMods, noMods, #,,UseErrorLevel              ;They are incompatible with hotkey controls (cannot be shown).
609
 Gui, 4:Add, Hotkey, x+5 vFK%A_Index% gGuiLabels2, %noMods%        ;Add hotkey controls and show saved hotkeys.
610
}            
611
Gui, 4:Add, Button, , Save and exit                                                    ;Check the box if Win modifier is used.
612
Gui, 4:Show,,Dynamic Hotkeys
613
return
614
615
4ButtonSaveandExit:
616
 Gui, 4:Submit
617
 savedFK%num%  := FK%num%
618
 Gui, 4:Destroy
619
return
620
621
	
622
623
624
4ButtonFoodKey1:
625
gui, 5:default
626
Gui, 5:Font, S16 CDefault, Verdana
627
Gui, 5:Add, Text, x146 y27 w180 h40 , Key setup#1
628
Gui, 5:Font, S6 CDefault, Verdana
629
Gui, 5:Font, S7 CDefault, Verdana
630
Gui, 5:Add, CheckBox, x376 y77 w80 h20 vInv1 checked%Inv1% , Inv1
631
Gui, 5:Add, CheckBox, x266 y77 w80 h20 vInv2 checked%Inv2%, Inv2
632
Gui, 5:Add, CheckBox, x136 y77 w80 h20 vInv3 checked%Inv3%, Inv3
633
Gui, 5:Add, CheckBox, x26 y77 w80 h20 vInv4  checked%Inv4%, Inv4
634
Gui, 5:Add, CheckBox, x376 y127 w80 h20 vInv5 checked%Inv5%, Inv5
635
Gui, 5:Add, CheckBox, x266 y127 w80 h20 vInv6 checked%Inv6%, Inv6
636
Gui, 5:Add, CheckBox, x136 y127 w80 h20 vInv7 checked%Inv7%, Inv7
637
Gui, 5:Add, CheckBox, x26 y127 w80 h20 vInv8 checked%Inv8%, Inv8
638
Gui, 5:Add, CheckBox, x376 y177 w80 h20 vInv9 checked%Inv9%, Inv9
639
Gui, 5:Add, CheckBox, x256 y177 w80 h20 vInv10 checked%Inv10%, Inv10
640
Gui, 5:Add, CheckBox, x136 y177 w80 h20 vInv11 checked%Inv11%, Inv11
641
Gui, 5:Add, CheckBox, x26 y177 w80 h20 vInv12 checked%Inv12%, Inv12
642
Gui, 5:Add, CheckBox, x376 y227 w80 h20 vInv13 checked%Inv13%, Inv13
643
Gui, 5:Add, CheckBox, x256 y227 w80 h20 vInv14 checked%Inv14%, Inv14
644
Gui, 5:Add, CheckBox, x136 y227 w80 h20 vInv15 checked%Inv15%, Inv15
645
Gui, 5:Add, CheckBox, x26 y227 w80 h20 vInv16 checked%Inv16%, Inv16
646
Gui, 5:Add, CheckBox, x376 y277 w80 h20 vInv17 checked%Inv17%, Inv17
647
Gui, 5:Add, CheckBox, x256 y277 w80 h20 vInv18 checked%Inv18%, Inv18
648
Gui, 5:Add, CheckBox, x136 y277 w80 h20 vInv19 checked%Inv19%, Inv19
649
Gui, 5:Add, CheckBox, x26 y277 w80 h20 vInv20 checked%Inv20%, Inv20
650
Gui, 5:Add, CheckBox, x376 y327 w80 h20 vInv21 checked%Inv21%, Inv21
651
Gui, 5:Add, CheckBox, x256 y327 w80 h20 vInv22 checked%Inv22%, Inv22
652
Gui, 5:Add, CheckBox, x136 y327 w80 h20 vInv23 checked%Inv23%, Inv23
653
Gui, 5:Add, CheckBox, x26 y327 w80 h20 vInv24 checked%Inv24%, Inv24
654
Gui, 5:Add, CheckBox, x376 y367 w80 h20 vInv25 checked%Inv25%, Inv25
655
Gui, 5:Add, CheckBox, x256 y367 w80 h20 vInv26 checked%Inv26%, Inv26
656
Gui, 5:Add, CheckBox, x136 y367 w80 h20 vInv27 checked%Inv27%, Inv27
657
Gui, 5:Add, CheckBox, x26 y367 w80 h20 vInv28 checked%Inv28%, Inv28
658
Gui, 5:Add, Button,w100 h30 xm x+70 gSave3, Save
659
Gui, 5:Show, h500 w500, About ~ OSRS Prayer: By Samerdl
660
Return
661
662
663
664
Save3:
665
Gui, 5:Submit, NoHide
666
        loop, 28
667
{
668
                IniWrite, % Inv%a_index%, settings.ini, Foodsettings, Inv%a_index%
669
}
670
 Gui, 5:Destroy
671
return
672
673
674
675
4ButtonFoodKey2:
676
gui, 6:default
677
gui, 6:Font, S16 CDefault, Verdana
678
gui, 6:Add, Text, x146 y27 w180 h40 , Key setup #2
679
gui, 6:Font, S6 CDefault, Verdana
680
gui, 6:Font, S7 CDefault, Verdana
681
gui, 6:Add, CheckBox, x376 y77 w80 h20 vInv2k1 checked%Inv2k1% , Inv1
682
gui, 6:Add, CheckBox, x266 y77 w80 h20 vInv2k2 checked%Inv2k2%, Inv2
683
gui, 6:Add, CheckBox, x136 y77 w80 h20 vInv2k3 checked%Inv2k3%, Inv3
684
gui, 6:Add, CheckBox, x26 y77 w80 h20 vInv2k4  checked%Inv2k4%, Inv4
685
gui, 6:Add, CheckBox, x376 y127 w80 h20 vInv2k5 checked%Inv2k5%, Inv5
686
gui, 6:Add, CheckBox, x266 y127 w80 h20 vInv2k6 checked%Inv2k6%, Inv6
687
gui, 6:Add, CheckBox, x136 y127 w80 h20 vInv2k7 checked%Inv2k7%, Inv7
688
gui, 6:Add, CheckBox, x26 y127 w80 h20 vInv2k8 checked%Inv2k8%, Inv8
689
gui, 6:Add, CheckBox, x376 y177 w80 h20 vInv2k9 checked%Inv2k9%, Inv9
690
gui, 6:Add, CheckBox, x256 y177 w80 h20 vInv2k10 checked%Inv2k10%, Inv10
691
gui, 6:Add, CheckBox, x136 y177 w80 h20 vInv2k11 checked%Inv2k11%, Inv11
692
gui, 6:Add, CheckBox, x26 y177 w80 h20 vInv2k12 checked%Inv2k12%, Inv12
693
gui, 6:Add, CheckBox, x376 y227 w80 h20 vInv2k13 checked%Inv2k13%, Inv13
694
gui, 6:Add, CheckBox, x256 y227 w80 h20 vInv2k14 checked%Inv2k14%, Inv14
695
gui, 6:Add, CheckBox, x136 y227 w80 h20 vInv2k15 checked%Inv2k15%, Inv15
696
gui, 6:Add, CheckBox, x26 y227 w80 h20 vInv2k16 checked%Inv2k16%, Inv16
697
gui, 6:Add, CheckBox, x376 y277 w80 h20 vInv2k17 checked%Inv2k17%, Inv17
698
gui, 6:Add, CheckBox, x256 y277 w80 h20 vInv2k18 checked%Inv2k18%, Inv18
699
gui, 6:Add, CheckBox, x136 y277 w80 h20 vInv2k19 checked%Inv2k19%, Inv19
700
gui, 6:Add, CheckBox, x26 y277 w80 h20 vInv2k20 checked%Inv2k20%, Inv20
701
gui, 6:Add, CheckBox, x376 y327 w80 h20 vInv2k21 checked%Inv2k21%, Inv21
702
gui, 6:Add, CheckBox, x256 y327 w80 h20 vInv2k22 checked%Inv2k22%, Inv22
703
gui, 6:Add, CheckBox, x136 y327 w80 h20 vInv2k23 checked%Inv2k23%, Inv23
704
gui, 6:Add, CheckBox, x26 y327 w80 h20 vInv2k24 checked%Inv2k24%, Inv24
705
gui, 6:Add, CheckBox, x376 y367 w80 h20 vInv2k25 checked%Inv2k25%, Inv25
706
gui, 6:Add, CheckBox, x256 y367 w80 h20 vInv2k26 checked%Inv2k26%, Inv26
707
gui, 6:Add, CheckBox, x136 y367 w80 h20 vInv2k27 checked%Inv2k27%, Inv27
708
gui, 6:Add, CheckBox, x26 y367 w80 h20 vInv2k28 checked%Inv2k28%, Inv28
709
gui, 6:Add, Button,w100 h30 xm x+70 gSave4, Save
710
gui, 6:Show, h500 w500, About ~ OSRS Prayer: By Samerdl
711
Return
712
713
Save4:
714
Gui, 6:Submit, NoHide
715
        loop, 28
716
{
717
                IniWrite, % Inv2k%a_index%, settings.ini, Foodsettings, Inv2k%a_index%
718
}
719
 Gui, 6:Destroy
720
return
721
722
723
724
725
4ButtonFoodKey3:
726
Gui,7:default
727
Gui,7:Font, S16 CDefault, Verdana
728
Gui,7:Add, Text, x146 y27 w180 h40 , Key setup#3
729
Gui,7:Font, S6 CDefault, Verdana
730
Gui,7:Font, S7 CDefault, Verdana
731
Gui,7:Add, CheckBox, x376 y77 w80 h20 vInv3k1 checked%Inv3k1% , Inv1
732
Gui,7:Add, CheckBox, x266 y77 w80 h20 vInv3k2 checked%Inv3k2%, Inv2
733
Gui,7:Add, CheckBox, x136 y77 w80 h20 vInv3k3 checked%Inv3k3%, Inv3
734
Gui,7:Add, CheckBox, x26 y77 w80 h20 vInv3k4  checked%Inv3k4%, Inv4
735
Gui,7:Add, CheckBox, x376 y127 w80 h20 vInv3k5 checked%Inv3k5%, Inv5
736
Gui,7:Add, CheckBox, x266 y127 w80 h20 vInv3k6 checked%Inv3k6%, Inv6
737
Gui,7:Add, CheckBox, x136 y127 w80 h20 vInv3k7 checked%Inv3k7%, Inv7
738
Gui,7:Add, CheckBox, x26 y127 w80 h20 vInv3k8 checked%Inv3k8%, Inv8
739
Gui,7:Add, CheckBox, x376 y177 w80 h20 vInv3k9 checked%Inv3k9%, Inv9
740
Gui,7:Add, CheckBox, x256 y177 w80 h20 vInv3k10 checked%Inv3k10%, Inv10
741
Gui,7:Add, CheckBox, x136 y177 w80 h20 vInv3k11 checked%Inv3k11%, Inv11
742
Gui,7:Add, CheckBox, x26 y177 w80 h20 vInv3k12 checked%Inv3k12%, Inv12
743
Gui,7:Add, CheckBox, x376 y227 w80 h20 vInv3k13 checked%Inv3k13%, Inv13
744
Gui,7:Add, CheckBox, x256 y227 w80 h20 vInv3k14 checked%Inv3k14%, Inv14
745
Gui,7:Add, CheckBox, x136 y227 w80 h20 vInv3k15 checked%Inv3k15%, Inv15
746
Gui,7:Add, CheckBox, x26 y227 w80 h20 vInv3k16 checked%Inv3k16%, Inv16
747
Gui,7:Add, CheckBox, x376 y277 w80 h20 vInv3k17 checked%Inv3k17%, Inv17
748
Gui,7:Add, CheckBox, x256 y277 w80 h20 vInv3k18 checked%Inv3k18%, Inv18
749
Gui,7:Add, CheckBox, x136 y277 w80 h20 vInv3k19 checked%Inv3k19%, Inv19
750
Gui,7:Add, CheckBox, x26 y277 w80 h20 vInv3k20 checked%Inv3k20%, Inv20
751
Gui,7:Add, CheckBox, x376 y327 w80 h20 vInv3k21 checked%Inv3k21%, Inv21
752
Gui,7:Add, CheckBox, x256 y327 w80 h20 vInv3k22 checked%Inv3k22%, Inv22
753
Gui,7:Add, CheckBox, x136 y327 w80 h20 vInv3k23 checked%Inv3k23%, Inv23
754
Gui,7:Add, CheckBox, x26 y327 w80 h20 vInv3k24 checked%Inv3k24%, Inv24
755
Gui,7:Add, CheckBox, x376 y367 w80 h20 vInv3k25 checked%Inv3k25%, Inv325
756
Gui,7:Add, CheckBox, x256 y367 w80 h20 vInv3k26 checked%Inv3k26%, Inv26
757
Gui,7:Add, CheckBox, x136 y367 w80 h20 vInv3k27 checked%Inv3k27%, Inv27
758
Gui,7:Add, CheckBox, x26 y367 w80 h20 vInv3k28 checked%Inv3k28%, Inv28
759
Gui,7:Add, Button,w100 h30 xm x+70 gSave5, Save
760
Gui,7:Show, h500 w500, About ~ OSRS Prayer: By Samerdl
761
Return
762
763
764
765
Save5:
766
Gui, 7:Submit, NoHide
767
        loop, 28
768
{
769
                IniWrite, % Inv3k%a_index%, settings.ini, Foodsettings, Inv3k%a_index%
770
}
771
 Gui, 7:Destroy
772
return
773
774
4ButtonFoodKey4:
775
Gui, 8:default
776
Gui, 8:Font, S16 CDefault, Verdana
777
Gui, 8:Add, Text, x146 y27 w180 h40 , Key setup#4
778
Gui, 8:Font, S6 CDefault, Verdana
779
Gui, 8:Font, S7 CDefault, Verdana
780
Gui, 8:Add, CheckBox, x376 y77 w80 h20 vInv4K1 checked%Inv4K1% , Inv1
781
Gui, 8:Add, CheckBox, x266 y77 w80 h20 vInv4K2 checked%Inv4K2%, Inv2
782
Gui, 8:Add, CheckBox, x136 y77 w80 h20 vInv4K3 checked%Inv4K3%, Inv3
783
Gui, 8:Add, CheckBox, x26 y77 w80 h20 vInv4K4  checked%Inv4K4%, Inv4
784
Gui, 8:Add, CheckBox, x376 y127 w80 h20 vInv4K5 checked%Inv4K5%, Inv5
785
Gui, 8:Add, CheckBox, x266 y127 w80 h20 vInv4K6 checked%Inv4K6%, Inv6
786
Gui, 8:Add, CheckBox, x136 y127 w80 h20 vInv4K7 checked%Inv4K7%, Inv7
787
Gui, 8:Add, CheckBox, x26 y127 w80 h20 vInv4K8 checked%Inv4K8%, Inv8
788
Gui, 8:Add, CheckBox, x376 y177 w80 h20 vInv4K9 checked%Inv4K9%, Inv9
789
Gui, 8:Add, CheckBox, x256 y177 w80 h20 vInv4K10 checked%Inv4K10%, Inv10
790
Gui, 8:Add, CheckBox, x136 y177 w80 h20 vInv4K11 checked%Inv4K11%, Inv11
791
Gui, 8:Add, CheckBox, x26 y177 w80 h20 vInv4K12 checked%Inv4K12%, Inv12
792
Gui, 8:Add, CheckBox, x376 y227 w80 h20 vInv4K13 checked%Inv4K13%, Inv13
793
Gui, 8:Add, CheckBox, x256 y227 w80 h20 vInv4K14 checked%Inv4K14%, Inv14
794
Gui, 8:Add, CheckBox, x136 y227 w80 h20 vInv4K15 checked%Inv4K15%, Inv15
795
Gui, 8:Add, CheckBox, x26 y227 w80 h20 vInv4K16 checked%Inv4K16%, Inv16
796
Gui, 8:Add, CheckBox, x376 y277 w80 h20 vInv4K17 checked%Inv4K17%, Inv17
797
Gui, 8:Add, CheckBox, x256 y277 w80 h20 vInv4K18 checked%Inv4K18%, Inv18
798
Gui, 8:Add, CheckBox, x136 y277 w80 h20 vInv4K19 checked%Inv4K19%, Inv19
799
Gui, 8:Add, CheckBox, x26 y277 w80 h20 vInv4K20 checked%Inv4K20%, InK20
800
Gui, 8:Add, CheckBox, x376 y327 w80 h20 vInv4K21 checked%Inv4K21%, Inv21
801
Gui, 8:Add, CheckBox, x256 y327 w80 h20 vInv4K22 checked%Inv4K22%, Inv22
802
Gui, 8:Add, CheckBox, x136 y327 w80 h20 vInv4K23 checked%Inv4K23%, Inv23
803
Gui, 8:Add, CheckBox, x26 y327 w80 h20 vInv4K24 checked%Inv4K24%, Inv24
804
Gui, 8:Add, CheckBox, x376 y367 w80 h20 vInv4K25 checked%Inv4K25%, Inv25
805
Gui, 8:Add, CheckBox, x256 y367 w80 h20 vInv4K26 checked%Inv4K26%, Inv26
806
Gui, 8:Add, CheckBox, x136 y367 w80 h20 vInv4K27 checked%Inv4K27%, Inv27
807
Gui, 8:Add, CheckBox, x26 y367 w80 h20 vInv4K28 checked%Inv4K28%, Inv28
808
Gui, 8:Add, Button,w100 h30 xm x+70 gSave6, Save
809
Gui, 8:Show, h500 w500, About ~ OSRS Prayer: By Samerdl
810
Return
811
812
Save6:
813
Gui, 8:Submit, NoHide
814
        loop, 28
815
{
816
                IniWrite, % Inv4k%a_index%, settings.ini, Foodsettings, Inv4k%a_index%
817
}
818
 Gui, 8:Destroy
819
return
820
821
822
4ButtonFoodKey5:
823
Gui, 9:default
824
Gui, 9:Font, S16 CDefault, Verdana
825
Gui, 9:Add, Text, x146 y27 w180 h40 , Keysetup #5
826
Gui, 9:Font, S6 CDefault, Verdana
827
Gui, 9:Font, S7 CDefault, Verdana
828
Gui, 9:Add, CheckBox, x376 y77 w80 h20 vInv5k1 checked%Inv5k1% , Inv1
829
Gui, 9:Add, CheckBox, x266 y77 w80 h20 vInv5k2 checked%Inv5k2%, Inv2
830
Gui, 9:Add, CheckBox, x136 y77 w80 h20 vInv5k3 checked%Inv5k3%, Inv3
831
Gui, 9:Add, CheckBox, x26 y77 w80 h20 vInv5k4  checked%Inv5k4%, Inv4
832
Gui, 9:Add, CheckBox, x376 y127 w80 h20 vInv5k5 checked%Inv5k5%, Inv5
833
Gui, 9:Add, CheckBox, x266 y127 w80 h20 vInv5k6 checked%Inv5k6%, Inv6
834
Gui, 9:Add, CheckBox, x136 y127 w80 h20 vInv5k7 checked%Inv5k7%, Inv7
835
Gui, 9:Add, CheckBox, x26 y127 w80 h20 vInv5k8 checked%Inv5k8%, Inv8
836
Gui, 9:Add, CheckBox, x376 y177 w80 h20 vInv5k9 checked%Inv5k9%, Inv9
837
Gui, 9:Add, CheckBox, x256 y177 w80 h20 vInv5k10 checked%Inv5k10%, Inv10
838
Gui, 9:Add, CheckBox, x136 y177 w80 h20 vInv5k11 checked%Inv5k11%, Inv11
839
Gui, 9:Add, CheckBox, x26 y177 w80 h20 vInv5k12 checked%Inv5k12%, Inv12
840
Gui, 9:Add, CheckBox, x376 y227 w80 h20 vInv5k13 checked%Inv5k13%, Inv13
841
Gui, 9:Add, CheckBox, x256 y227 w80 h20 vInv5k14 checked%Inv5k14%, Inv14
842
Gui, 9:Add, CheckBox, x136 y227 w80 h20 vInv5k15 checked%Inv5k15%, Inv15
843
Gui, 9:Add, CheckBox, x26 y227 w80 h20 vInv5k16 checked%Inv5k16%, Inv16
844
Gui, 9:Add, CheckBox, x376 y277 w80 h20 vInv5k17 checked%Inv5k17%, Inv17
845
Gui, 9:Add, CheckBox, x256 y277 w80 h20 vInv5k18 checked%Inv5k18%, Inv18
846
Gui, 9:Add, CheckBox, x136 y277 w80 h20 vInv5k19 checked%Inv5k19%, Inv19
847
Gui, 9:Add, CheckBox, x26 y277 w80 h20 vInv5k20 checked%Inv5k20%, Inv20
848
Gui, 9:Add, CheckBox, x376 y327 w80 h20 vInv5k21 checked%Inv5k21%, Inv21
849
Gui, 9:Add, CheckBox, x256 y327 w80 h20 vInv5k22 checked%Inv5k22%, Inv22
850
Gui, 9:Add, CheckBox, x136 y327 w80 h20 vInv5k23 checked%Inv5k23%, Inv23
851
Gui, 9:Add, CheckBox, x26 y327 w80 h20 vInv5k24 checked%Inv5k24%, Inv24
852
Gui, 9:Add, CheckBox, x376 y367 w80 h20 vInv5k25 checked%Inv5k25%, Inv25
853
Gui, 9:Add, CheckBox, x256 y367 w80 h20 vInv5k26 checked%Inv5k26%, Inv26
854
Gui, 9:Add, CheckBox, x136 y367 w80 h20 vInv5k27 checked%Inv5k27%, Inv27
855
Gui, 9:Add, CheckBox, x26 y367 w80 h20 vInv5k28 checked%Inv5k28%, Inv28
856
Gui, 9:Add, Button,w100 h30 xm x+70 gSave7, Save
857
Gui, 9:Show, h500 w500, About ~ OSRS Prayer: By Samerdl
858
Return
859
860
Save7:
861
Gui, 9:Submit, NoHide
862
        loop, 28
863
{
864
                IniWrite, % Inv5k%a_index%, settings.ini, Foodsettings, Inv5k%a_index%
865
}
866
 Gui, 9:Destroy
867
return
868
869
870
GuiLabels2:
871
 If %A_GuiControl% in +,^,!,+^,+!,^!,+^!    ;If the hotkey contains only modifiers, return to wait for a key.
872
  return
873
 If InStr(%A_GuiControl%,"vk07")            ;vk07 = MenuMaskKey (see below)
874
  GuiControl,,%A_GuiControl%, % lastFK      ;Reshow the hotkey, because MenuMaskKey clears it.
875
 Else
876
  validateFK(A_GuiControl)
877
return
878
879
validateFK(GuiControl) {
880
 global lastFK
881
 Gui, Submit, NoHide
882
 lastFK := %GuiControl%                     ;Backup the hotkey, in case it needs to be reshown.
883
 num := SubStr(GuiControl,3)                ;Get the index number of the hotkey control.
884
 If (FK%num% != "") {                       ;If the hotkey is not blank...
885
  StringReplace, FK%num%, FK%num%, SC15D, AppsKey      ;Use friendlier names,
886
  StringReplace, FK%num%, FK%num%, SC154, PrintScreen  ;  instead of these scan codes.
887
  If CB%num%                                ;  If the 'Win' box is checked, then add its modifier (#).
888
   FK%num% := "#" FK%num%
889
  If !RegExMatch(FK%num%,"[#!\^\+]")        ;  If the new hotkey has no modifiers, add the (~) modifier.
890
   FK%num% := "~" FK%num%                   ;    This prevents any key from being blocked.
891
  checkDuplicateFK(num)
892
 }
893
 If (savedFK%num% || FK%num%)               ;Unless both are empty,
894
  setFK(num, savedFK%num%, FK%num%)         ;  update INI/GUI
895
}
896
897
checkDuplicateFK(num) {
898
 global #ctrls
899
 Loop,% #ctrls
900
  If (FK%num% = savedFK%A_Index%) {
901
   dup := A_Index
902
   Loop,6 {
903
    GuiControl,% "Disable" b:=!b, FK%dup%   ;Flash the original hotkey to alert the user.
904
    Sleep,200
905
   }
906
   GuiControl,,FK%num%,% FK%num% :=""       ;Delete the hotkey and clear the control.
907
   break
908
  }
909
}
910
911
setFK(num,INI,GUI) {
912
 If INI                           ;If previous hotkey exists,
913
  Hotkey, %INI%, Labels%num%, Off  ;  disable it.
914
 If GUI                           ;If new hotkey exists,
915
  Hotkey, %GUI%, Labels%num%, On   ;  enable it.
916
 IniWrite,% GUI ? GUI:null, settings.ini, Hotkeys2, %num%
917
 savedFK%num%  := FK%num%
918
}
919
920
#MenuMaskKey vk07                 ;Requires AFK_L 38+
921
#If ctrl := HotkeyCtrlHasFocus1()
922
  modifier := ""
923
  If GetKeyState("Shift","P")
924
   modifier .= "+"
925
  If GetKeyState("Ctrl","P")
926
   modifier .= "^"
927
  If GetKeyState("Alt","P")
928
   modifier .= "!"
929
  Gui, Submit, NoHide             ;If BackSpace is the first key press, Gui has never been submitted.
930
  If (A_ThisHotkey == "*BackSpace" && %ctrl% && !modifier)   ;If the control has text but no modifiers held,
931
   GuiControl,,%ctrl%                                       ;  allow BackSpace to clear that text.
932
  Else                                                     ;Otherwise,
933
   GuiControl,,%ctrl%, % modifier SubStr(A_ThisHotkey,2)  ;  show the hotkey.
934
  validateFK(ctrl)
935
 return
936
#If
937
938
HotkeyCtrlHasFocus1() {
939
 GuiControlGet, ctrl, Focus       ;ClassNN
940
 If InStr(ctrl,"hotkey") {
941
  GuiControlGet, ctrl, FocusV     ;Associated variable
942
  Return, ctrl
943
 }
944
}
945
946
947
948
#If WinActive("Orion") || WinActive("Old School RuneScape") || WinActive("OSBot") || WinActive("Runescape") || WinActive("Tribot") || WinActive("SwiftKit") 
949
950
951
952
/*
953
Inven= inven-1
954
Slot=mod(Inven,4)
955
Row=Inven/4 
956
  
957
IIX=720
958
IIY=250 ;Am too lazy, went the easy way. 
959
960
EIX=41
961
EIY=35
962
963
IndexVar := Mod(A_Index, 50)
964
*/
965
966
#If WinActive("Orion") || WinActive("Old School RuneScape") || WinActive("OSBot") || WinActive("Runescape") || WinActive("Tribot") || WinActive("SwiftKit") 
967
968
labels1:
969
Blockinput on
970
IfWinActive Old School RuneScape
971
{
972
loop,28 
973
{
974
if inv%A_index% 
975
{
976
 if A_Index < 5
977
{
978
mouseclick, left, 720 - 41*(A_index-1),250,,2
979
}
980
if a_index < 5
981
continue
982
983
984
if a_index < 9
985
{
986
mouseclick, left, 720 - 41*(A_index-5),250+35,,2
987
}
988
if a_index < 9
989
continue
990
991
992
if a_index < 13
993
{
994
mouseclick, left, 720 - 41*(A_index-9),250+ (35*2),,2
995
} 
996
if a_index < 13
997
continue
998
999
1000
if a_index < 17
1001
{
1002
mouseclick, left, 720 - 41*(A_index-13),250+ (35*3),,2
1003
} 
1004
if a_index < 17
1005
continue
1006
1007
if a_index < 21
1008
{
1009
mouseclick, left, 720 - 41*(A_index-17),250+ (35*4),,2
1010
} 
1011
if a_index < 21
1012
continue
1013
1014
if a_index < 25
1015
{
1016
mouseclick, left, 720 - 41*(A_index-21),250+ (35*5),,2
1017
} 
1018
if a_index < 25
1019
continue
1020
1021
if a_index < 29
1022
{
1023
mouseclick, left, 720 - 41*(A_index-25),250+ (35*6),,2
1024
} 
1025
}
1026
}
1027
}
1028
1029
1030
IfWinNotActive Old School RuneScape
1031
{
1032
1033
loop,28 
1034
{
1035
1036
if inv%A_index% 
1037
{
1038
 if a_index < 5
1039
{
1040
mouseclick, left, 705 - 41*(A_index-1),280,,2
1041
}
1042
if a_index < 5
1043
continue
1044
1045
if a_index < 9
1046
{
1047
mouseclick, left, 705 - 41*(A_index-5),280+35,,2
1048
}
1049
if a_index < 9
1050
continue
1051
1052
1053
1054
if a_index < 13
1055
{
1056
mouseclick, left, 705 - 41*(A_index-9),280+ (35*2),,2
1057
} 
1058
if a_index < 13
1059
continue
1060
1061
1062
if a_index < 17
1063
{
1064
mouseclick, left, 705 - 41*(A_index-13),280+ (35*3),,2
1065
} 
1066
if a_index < 17
1067
continue
1068
1069
if a_index < 21
1070
{
1071
mouseclick, left, 705 - 41*(A_index-17),280+ (35*4),,2
1072
} 
1073
1074
if a_index < 21
1075
continue
1076
1077
if a_index < 25
1078
{
1079
mouseclick, left, 705 - 41*(A_index-21),280+ (35*5),,2
1080
} 
1081
1082
if a_index < 25
1083
continue
1084
1085
1086
if a_index < 29
1087
{
1088
mouseclick, left, 705 - 41*(A_index-25),280+ (35*6),,2
1089
}
1090
1091
}
1092
}
1093
}
1094
gosub MouseArea
1095
Blockinput off
1096
return
1097
1098
labels2:
1099
Blockinput on
1100
IfWinActive Old School RuneScape
1101
{
1102
loop,28 
1103
{
1104
if inv2k%A_index% 
1105
{
1106
 if A_Index < 5
1107
{
1108
mouseclick, left, 720 - 41*(A_index-1),250,,2
1109
}
1110
if a_index < 5
1111
continue
1112
1113
if a_index < 9
1114
{
1115
mouseclick, left, 720 - 41*(A_index-5),250+35,,2
1116
}
1117
if a_index < 9
1118
continue
1119
1120
1121
if a_index < 13
1122
{
1123
mouseclick, left, 720 - 41*(A_index-9),250+ (35*2),,2
1124
} 
1125
if a_index < 13
1126
continue
1127
1128
1129
if a_index < 17
1130
{
1131
mouseclick, left, 720 - 41*(A_index-13),250+ (35*3),,2
1132
} 
1133
if a_index < 17
1134
continue
1135
1136
if a_index < 21
1137
{
1138
mouseclick, left, 720 - 41*(A_index-17),250+ (35*4),,2
1139
} 
1140
if a_index < 21
1141
continue
1142
1143
if a_index < 25
1144
{
1145
mouseclick, left, 720 - 41*(A_index-21),250+ (35*5),,2
1146
} 
1147
if a_index < 25
1148
continue
1149
1150
if a_index < 29
1151
{
1152
mouseclick, left, 720 - 41*(A_index-25),250+ (35*6),,2
1153
} 
1154
}
1155
}
1156
}
1157
1158
1159
IfWinNotActive Old School RuneScape
1160
{
1161
1162
loop,28 
1163
{
1164
if inv2k%A_index% 
1165
{
1166
 if a_index < 5
1167
{
1168
mouseclick, left, 705 - 41*(A_index-1),280,,2
1169
}
1170
if a_index < 5
1171
continue
1172
1173
if a_index < 9
1174
{
1175
mouseclick, left, 705 - 41*(A_index-5),280+35,,2
1176
}
1177
if a_index < 9
1178
continue
1179
1180
1181
1182
if a_index < 13
1183
{
1184
mouseclick, left, 705 - 41*(A_index-9),280+ (35*2),,2
1185
} 
1186
if a_index < 13
1187
continue
1188
1189
1190
if a_index < 17
1191
{
1192
mouseclick, left, 705 - 41*(A_index-13),280+ (35*3),,2
1193
} 
1194
if a_index < 17
1195
continue
1196
1197
if a_index < 21
1198
{
1199
mouseclick, left, 705 - 41*(A_index-17),280+ (35*4),,2
1200
} 
1201
if a_index < 21
1202
continue
1203
1204
if a_index < 25
1205
{
1206
mouseclick, left, 705 - 41*(A_index-21),280+ (35*5),,2
1207
} 
1208
if a_index < 25
1209
continue
1210
1211
1212
if a_index < 29
1213
{
1214
mouseclick, left, 705 - 41*(A_index-25),280+ (35*6),,2
1215
}
1216
}
1217
}
1218
}
1219
gosub MouseArea
1220
Blockinput off
1221
return
1222
1223
1224
labels3:
1225
Blockinput on
1226
IfWinActive Old School RuneScape
1227
{
1228
loop,28 
1229
{
1230
if inv3k%A_index% 
1231
{
1232
 if A_Index < 5
1233
{
1234
mouseclick, left, 720 - 41*(A_index-1),250,,2
1235
}
1236
if a_index < 5
1237
continue
1238
1239
1240
if a_index < 9
1241
{
1242
mouseclick, left, 720 - 41*(A_index-5),250+35,,2
1243
}
1244
if a_index < 9
1245
continue
1246
1247
1248
if a_index < 13
1249
{
1250
mouseclick, left, 720 - 41*(A_index-9),250+ (35*2),,2
1251
} 
1252
if a_index < 13
1253
continue
1254
1255
1256
if a_index < 17
1257
{
1258
mouseclick, left, 720 - 41*(A_index-13),250+ (35*3),,2
1259
} 
1260
if a_index < 17
1261
continue
1262
1263
if a_index < 21
1264
{
1265
mouseclick, left, 720 - 41*(A_index-17),250+ (35*4),,2
1266
} 
1267
if a_index < 21
1268
continue
1269
1270
if a_index < 25
1271
{
1272
mouseclick, left, 720 - 41*(A_index-21),250+ (35*5),,2
1273
} 
1274
if a_index < 25
1275
continue
1276
1277
if a_index < 29
1278
{
1279
mouseclick, left, 720 - 41*(A_index-25),250+ (35*6),,2
1280
} 
1281
}
1282
}
1283
}
1284
1285
1286
IfWinNotActive Old School RuneScape
1287
{
1288
1289
loop,28 
1290
{
1291
1292
if inv3k%A_index% 
1293
{
1294
 if a_index < 5
1295
{
1296
mouseclick, left, 705 - 41*(A_index-1),280,,2
1297
}
1298
if a_index < 5
1299
continue
1300
1301
if a_index < 9
1302
{
1303
mouseclick, left, 705 - 41*(A_index-5),280+35,,2
1304
}
1305
if a_index < 9
1306
continue
1307
1308
1309
1310
if a_index < 13
1311
{
1312
mouseclick, left, 705 - 41*(A_index-9),280+ (35*2),,2
1313
} 
1314
if a_index < 13
1315
continue
1316
1317
1318
if a_index < 17
1319
{
1320
mouseclick, left, 705 - 41*(A_index-13),280+ (35*3),,2
1321
} 
1322
if a_index < 17
1323
continue
1324
1325
if a_index < 21
1326
{
1327
mouseclick, left, 705 - 41*(A_index-17),280+ (35*4),,2
1328
} 
1329
if a_index < 21
1330
continue
1331
1332
if a_index < 25
1333
{
1334
mouseclick, left, 705 - 41*(A_index-21),280+ (35*5),,2
1335
} 
1336
if a_index < 25
1337
continue
1338
1339
1340
if a_index < 29
1341
{
1342
mouseclick, left, 705 - 41*(A_index-25),280+ (35*6),,2
1343
}
1344
1345
}
1346
}
1347
}
1348
gosub MouseArea
1349
Blockinput off
1350
return
1351
1352
labels4:
1353
Blockinput on
1354
IfWinActive Old School RuneScape
1355
{
1356
loop,28 
1357
{
1358
if inv4k%A_index% 
1359
{
1360
 if A_Index < 5
1361
{
1362
mouseclick, left, 720 - 41*(A_index-1),250,,2
1363
}
1364
if a_index < 5
1365
continue
1366
1367
1368
if a_index < 9
1369
{
1370
mouseclick, left, 720 - 41*(A_index-5),250+35,,2
1371
}
1372
if a_index < 9
1373
continue
1374
1375
1376
if a_index < 13
1377
{
1378
mouseclick, left, 720 - 41*(A_index-9),250+ (35*2),,2
1379
} 
1380
if a_index < 13
1381
continue
1382
1383
1384
if a_index < 17
1385
{
1386
mouseclick, left, 720 - 41*(A_index-13),250+ (35*3),,2
1387
} 
1388
if a_index < 17
1389
continue
1390
1391
if a_index < 21
1392
{
1393
mouseclick, left, 720 - 41*(A_index-17),250+ (35*4),,2
1394
} 
1395
if a_index < 21
1396
continue
1397
1398
if a_index < 25
1399
{
1400
mouseclick, left, 720 - 41*(A_index-21),250+ (35*5),,2
1401
} 
1402
if a_index < 25
1403
continue
1404
1405
if a_index < 29
1406
{
1407
mouseclick, left, 720 - 41*(A_index-25),250+ (35*6),,2
1408
} 
1409
}
1410
}
1411
}
1412
1413
1414
IfWinNotActive Old School RuneScape
1415
{
1416
1417
loop,28 
1418
{
1419
1420
if inv4k%A_index% 
1421
{
1422
 if a_index < 5
1423
{
1424
mouseclick, left, 705 - 41*(A_index-1),280,,2
1425
}
1426
if a_index < 5
1427
continue
1428
1429
if a_index < 9
1430
{
1431
mouseclick, left, 705 - 41*(A_index-5),280+35,,2
1432
}
1433
if a_index < 9
1434
continue
1435
1436
1437
1438
if a_index < 13
1439
{
1440
mouseclick, left, 705 - 41*(A_index-9),280+ (35*2),,2
1441
} 
1442
if a_index < 13
1443
continue
1444
1445
1446
if a_index < 17
1447
{
1448
mouseclick, left, 705 - 41*(A_index-13),280+ (35*3),,2
1449
} 
1450
if a_index < 17
1451
continue
1452
1453
if a_index < 21
1454
{
1455
mouseclick, left, 705 - 41*(A_index-17),280+ (35*4),,2
1456
} 
1457
if a_index < 21
1458
continue
1459
1460
if a_index < 25
1461
{
1462
mouseclick, left, 705 - 41*(A_index-21),280+ (35*5),,2
1463
} 
1464
if a_index < 25
1465
continue
1466
1467
1468
if a_index < 29
1469
{
1470
mouseclick, left, 705 - 41*(A_index-25),280+ (35*6),,2
1471
}
1472
1473
}
1474
}
1475
}
1476
gosub MouseArea
1477
Blockinput off
1478
return
1479
1480
labels5:
1481
Blockinput on
1482
IfWinActive Old School RuneScape
1483
{
1484
loop,28 
1485
{
1486
if inv5k%A_index% 
1487
{
1488
 if A_Index < 5
1489
{
1490
mouseclick, left, 720 - 41*(A_index-1),250,,2
1491
}
1492
if a_index < 5
1493
continue
1494
1495
1496
if a_index < 9
1497
{
1498
mouseclick, left, 720 - 41*(A_index-5),250+35,,2
1499
}
1500
if a_index < 9
1501
continue
1502
1503
1504
if a_index < 13
1505
{
1506
mouseclick, left, 720 - 41*(A_index-9),250+ (35*2),,2
1507
} 
1508
if a_index < 13
1509
continue
1510
1511
1512
if a_index < 17
1513
{
1514
mouseclick, left, 720 - 41*(A_index-13),250+ (35*3),,2
1515
} 
1516
if a_index < 17
1517
continue
1518
1519
if a_index < 21
1520
{
1521
mouseclick, left, 720 - 41*(A_index-17),250+ (35*4),,2
1522
} 
1523
if a_index < 21
1524
continue
1525
1526
if a_index < 25
1527
{
1528
mouseclick, left, 720 - 41*(A_index-21),250+ (35*5),,2
1529
} 
1530
if a_index < 25
1531
continue
1532
1533
if a_index < 29
1534
{
1535
mouseclick, left, 720 - 41*(A_index-25),250+ (35*6),,2
1536
} 
1537
}
1538
}
1539
}
1540
1541
1542
IfWinNotActive Old School RuneScape
1543
{
1544
1545
loop,28 
1546
{
1547
1548
if inv5k%A_index% 
1549
{
1550
 if a_index < 5
1551
{
1552
mouseclick, left, 705 - 41*(A_index-1),280,,2
1553
}
1554
if a_index < 5
1555
continue
1556
1557
if a_index < 9
1558
{
1559
mouseclick, left, 705 - 41*(A_index-5),280+35,,2
1560
}
1561
if a_index < 9
1562
continue
1563
1564
1565
1566
if a_index < 13
1567
{
1568
mouseclick, left, 705 - 41*(A_index-9),280+ (35*2),,2
1569
} 
1570
if a_index < 13
1571
continue
1572
1573
1574
if a_index < 17
1575
{
1576
mouseclick, left, 705 - 41*(A_index-13),280+ (35*3),,2
1577
} 
1578
if a_index < 17
1579
continue
1580
1581
if a_index < 21
1582
{
1583
mouseclick, left, 705 - 41*(A_index-17),280+ (35*4),,2
1584
} 
1585
if a_index < 21
1586
continue
1587
1588
if a_index < 25
1589
{
1590
mouseclick, left, 705 - 41*(A_index-21),280+ (35*5),,2
1591
} 
1592
if a_index < 25
1593
continue
1594
1595
1596
if a_index < 29
1597
{
1598
mouseclick, left, 705 - 41*(A_index-25),280+ (35*6),,2
1599
}
1600
}
1601
}
1602
}
1603
gosub MouseArea
1604
Blockinput off
1605
return
1606
1607
#If WinActive("Orion") || WinActive("Old School RuneScape") || WinActive("OSBot") || WinActive("Runescape") || WinActive("Tribot") || WinActive("SwiftKit") || WinActive("Smart")  
1608
1609
1610
#If WinActive("Orion") || WinActive("Old School RuneScape") || WinActive("OSBot") || WinActive("Runescape") || WinActive("Tribot") || WinActive("SwiftKit") 
1611
1612
1613
1614
Label1:
1615
1616
Blockinput on
1617
MouseGetPos, XX, YY
1618
gosub binding
1619
gosub %F1downs%
1620
if prot1 {
1621
gosub checkboxes
1622
} else { 
1623
send {esc}
1624
}
1625
if arm1 {
1626
gosub armors
1627
}
1628
1629
if Un1 {
1630
gosub %Armun%
1631
}
1632
gosub MouseArea
1633
Blockinput off
1634
return
1635
1636
1637
Label2:
1638
Blockinput on
1639
MouseGetPos, XX, YY
1640
gosub binding
1641
gosub %F2downs%
1642
if prot2 {
1643
gosub checkboxes
1644
} else { 
1645
send {esc}
1646
}
1647
if arm2 {
1648
gosub armors
1649
}
1650
1651
if Un2 {
1652
gosub %Armun%
1653
}
1654
1655
gosub MouseArea
1656
Blockinput off
1657
return
1658
1659
1660
1661
Label3:
1662
Blockinput on
1663
MouseGetPos, XX, YY
1664
gosub binding
1665
gosub %F3downs%
1666
if prot3 {
1667
gosub checkboxes
1668
} else { 
1669
send {esc}
1670
}
1671
if arm3 {
1672
gosub armors
1673
}
1674
1675
1676
if Un3 {
1677
gosub %Armun%
1678
}
1679
1680
gosub MouseArea
1681
Blockinput off
1682
return
1683
1684
1685
1686
Label4:
1687
Blockinput on
1688
MouseGetPos, XX, YY
1689
gosub binding
1690
gosub %F4downs%
1691
if prot4 {
1692
gosub checkboxes
1693
} else { 
1694
send {esc}
1695
}
1696
if arm4 {
1697
gosub armors
1698
}
1699
1700
1701
if Un4 {
1702
gosub %Armun%
1703
}
1704
1705
gosub MouseArea
1706
Blockinput off
1707
return
1708
1709
1710
1711
Label5:
1712
Blockinput on
1713
MouseGetPos, XX, YY
1714
gosub binding
1715
gosub %F5downs%
1716
if prot5 {
1717
gosub checkboxes
1718
} else { 
1719
send {esc}
1720
}
1721
if arm5 {
1722
gosub armors
1723
}
1724
1725
1726
if Un5 {
1727
gosub %Armun%
1728
}
1729
1730
gosub MouseArea
1731
Blockinput off
1732
return
1733
1734
1735
Label6:
1736
Blockinput on
1737
MouseGetPos, XX, YY
1738
gosub binding
1739
gosub %F6downs%
1740
if prot6 {
1741
gosub checkboxes
1742
} else { 
1743
send {esc}
1744
}
1745
if arm6 {
1746
gosub armors
1747
}
1748
1749
1750
if Un6 {
1751
gosub %Armun%
1752
}
1753
1754
gosub MouseArea
1755
Blockinput off
1756
return
1757
1758
1759
Label7:
1760
Blockinput on
1761
MouseGetPos, XX, YY
1762
gosub binding
1763
gosub %F7downs%
1764
if prot7 {
1765
gosub checkboxes
1766
} else { 
1767
send {esc}
1768
}
1769
if arm7 {
1770
gosub armors
1771
}
1772
1773
1774
if Un7 {
1775
gosub %Armun%
1776
}
1777
1778
gosub MouseArea
1779
Blockinput off
1780
return
1781
1782
Label0:
1783
BlockInput on
1784
if FRunning {
1785
MouseGetPos, XX, YY
1786
IfWinNotActive Old School RuneScape
1787
{
1788
MouseClick , Left , X8+ Ran(offset), Y8+ Ran(offset)
1789
}
1790
IfWinActive Old School RuneScape
1791
{
1792
MouseClick , Left , Ran(offset)+ XR8, Ran(offset)+ Yr8
1793
}
1794
}
1795
gosub MouseArea
1796
BlockInput off
1797
return
1798
1799
#If WinActive("Orion") || WinActive("Old School RuneScape") || WinActive("OSBot") || WinActive("Runescape") || WinActive("Tribot") || WinActive("SwiftKit") 
1800
1801
1802
1803
Quick:
1804
IfWinNotActive Old School RuneScape
1805
{
1806
MouseClick , Left , X10+ Ran(offset), Y10+ Ran(offset)
1807
}
1808
IfWinActive Old School RuneScape
1809
{
1810
MouseClick , Left , Ran(offset)+ XR10, Ran(offset)+ Yr10
1811
}
1812
return
1813
1814
1815
1816
Melee:
1817
send {f5}
1818
Gosub Sleeping
1819
IfWinNotActive Old School RuneScape
1820
{
1821
MouseClick , Left , X1+ Ran(offset), Y1+ Ran(offset)
1822
}
1823
IfWinActive Old School RuneScape
1824
{
1825
MouseClick , Left ,  Ran(offset)+ XR1, Ran(offset)+ Yr1
1826
}
1827
return
1828
1829
Range:
1830
send {f5}
1831
Gosub Sleeping
1832
IfWinNotActive Old School RuneScape
1833
{
1834
MouseClick , Left , X2+ Ran(offset), Y2+ Ran(offset)
1835
}
1836
IfWinActive Old School RuneScape
1837
{
1838
MouseClick , Left , Ran(offset)+ XR2, Ran(offset)+ Yr2
1839
}
1840
return
1841
1842
1843
1844
Mage:
1845
send {f5}
1846
Gosub Sleeping
1847
IfWinNotActive Old School RuneScape
1848
{
1849
MouseClick , Left , X3+ Ran(offset), Y3+ Ran(offset)
1850
}
1851
IfWinActive Old School RuneScape
1852
{
1853
MouseClick , Left , Ran(offset)+ XR3, Ran(offset)+ Yr3
1854
}
1855
return
1856
1857
1858
#If WinActive("Orion") || WinActive("Old School RuneScape") || WinActive("OSBot") || WinActive("Runescape") || WinActive("Tribot") || WinActive("SwiftKit") 
1859
1860
1861
1862
1863
1864
1865
1866
checkboxes:
1867
send {f5}
1868
if SteelSkins {
1869
	IfWinNotActive Old School RuneScape
1870
{
1871
MouseClick , Left , X4+ Ran(offset), Y4+ Ran(offset)
1872
}
1873
IfWinActive Old School RuneScape
1874
{
1875
MouseClick , Left , Ran(offset)+ XR4, Ran(offset)+ Yr4
1876
}
1877
1878
}
1879
if ItemProtects {
1880
	IfWinNotActive Old School RuneScape
1881
{
1882
MouseClick , Left , X5+ Ran(offset), Y5+ Ran(offset)
1883
}
1884
IfWinActive Old School RuneScape
1885
{
1886
MouseClick , Left , Ran(offset)+ XR5, Ran(offset)+ Yr5
1887
}
1888
}
1889
if MysticMight {
1890
	IfWinNotActive Old School RuneScape
1891
{
1892
MouseClick , Left , X6+ Ran(offset), Y6+ Ran(offset)
1893
}
1894
IfWinActive Old School RuneScape
1895
{
1896
MouseClick , Left , Ran(offset)+ XR6, Ran(offset)+ Yr6
1897
}
1898
}
1899
send {esc}
1900
return
1901
1902
1903
1904
One:
1905
send {F4}
1906
gosub sleeping
1907
IfWinNotActive Old School RuneScape
1908
{
1909
MouseClick , Left , X15+ Ran(offset), Y15+ Ran(offset),,2
1910
}
1911
IfWinActive Old School RuneScape
1912
{
1913
MouseClick , Left , XR15 + Ran(offset), YR15 + Ran(offset),, 2
1914
}
1915
send {esc}
1916
return
1917
1918
1919
Two:
1920
send {F4}
1921
gosub sleeping
1922
IfWinNotActive Old School RuneScape
1923
{
1924
MouseClick , Left , X15+ Ran(offset), Y15+ Ran(offset),,2
1925
MouseClick , Left , X16+ Ran(offset), Y16+ Ran(offset),,2
1926
}
1927
IfWinActive Old School RuneScape
1928
{
1929
MouseClick , Left , XR15 + Ran(offset), YR15 + Ran(offset),, 2
1930
MouseClick , Left , XR16 + Ran(offset), YR16 + Ran(offset),, 2
1931
}
1932
send {esc}
1933
return
1934
1935
Three:
1936
send {F4}
1937
gosub sleeping
1938
IfWinNotActive Old School RuneScape
1939
{
1940
MouseClick , Left , X15+ Ran(offset), Y15+ Ran(offset),,2
1941
MouseClick , Left , X16+ Ran(offset), Y16+ Ran(offset),,2
1942
MouseClick , Left , X17+ Ran(offset), Y17+ Ran(offset),,2
1943
}
1944
IfWinActive Old School RuneScape
1945
{
1946
MouseClick , Left , XR15 + Ran(offset), YR15 + Ran(offset),, 2
1947
MouseClick , Left , XR16 + Ran(offset), YR16 + Ran(offset),, 2
1948
MouseClick , Left , XR17 + Ran(offset), YR17 + Ran(offset),, 2
1949
}
1950
send {esc}
1951
return
1952
1953
Four:
1954
send {F4}
1955
gosub sleeping
1956
IfWinNotActive Old School RuneScape
1957
{
1958
MouseClick , Left , X15+ Ran(offset), Y15+ Ran(offset),,2
1959
MouseClick , Left , X16+ Ran(offset), Y16+ Ran(offset),,2
1960
MouseClick , Left , X17+ Ran(offset), Y17+ Ran(offset),,2
1961
MouseClick , Left , X18+ Ran(offset), Y18+ Ran(offset),,2
1962
}
1963
IfWinActive Old School RuneScape
1964
{
1965
MouseClick , Left , XR15 + Ran(offset), YR15 + Ran(offset),, 2
1966
MouseClick , Left , XR16 + Ran(offset), YR16 + Ran(offset),, 2
1967
MouseClick , Left , XR17 + Ran(offset), YR17 + Ran(offset),, 2
1968
MouseClick , Left , XR18 + Ran(offset), YR18 + Ran(offset),, 2
1969
}
1970
send {esc}
1971
return
1972
1973
1974
Armors:
1975
if Radio1 { 
1976
IfWinNotActive Old School RuneScape
1977
{
1978
MouseClick , Left , X11+ Ran(offset), Y11+ Ran(offset),,2
1979
}
1980
IfWinActive Old School RuneScape
1981
{
1982
MouseClick , Left , XR11 + Ran(offset), YR11 + Ran(offset),, 2
1983
}
1984
}
1985
1986
if Radio2 {
1987
IfWinNotActive Old School RuneScape
1988
{
1989
MouseClick , Left , X11+ Ran(offset), Y11+ Ran(offset),,2
1990
gosub sleeping
1991
MouseClick , Left , X12+ Ran(offset), Y12+ Ran(offset),,2
1992
}
1993
1994
IfWinActive Old School RuneScape
1995
{
1996
MouseClick , Left , XR11 + Ran(offset), YR11 + Ran(offset),, 2
1997
gosub sleeping
1998
MouseClick , Left , XR12+ Ran(offset), YR12+ Ran(offset),,2
1999
}
2000
}
2001
2002
2003
if Radio3 {
2004
IfWinNotActive Old School RuneScape
2005
{
2006
MouseClick , Left , X11+ Ran(offset), Y11+ Ran(offset),,2
2007
gosub sleeping
2008
MouseClick , Left , X12+ Ran(offset), Y12+ Ran(offset),,2
2009
gosub sleeping
2010
MouseClick , Left , X13+ Ran(offset), Y13+ Ran(offset),,2
2011
}
2012
2013
IfWinActive Old School RuneScape
2014
{
2015
MouseClick , Left , XR11 + Ran(offset), YR11 + Ran(offset),, 2
2016
gosub sleeping
2017
MouseClick , Left , XR12+ Ran(offset), YR12+ Ran(offset),,2
2018
gosub sleeping
2019
MouseClick , Left , XR13+ Ran(offset), YR13+ Ran(offset),,2
2020
}
2021
}
2022
2023
2024
if Radio4 {
2025
IfWinNotActive Old School RuneScape
2026
{
2027
MouseClick , Left , X11+ Ran(offset), Y11+ Ran(offset),,2
2028
gosub sleeping
2029
MouseClick , Left , X12+ Ran(offset), Y12+ Ran(offset),,2
2030
gosub sleeping
2031
MouseClick , Left , X13+ Ran(offset), Y13+ Ran(offset),,2
2032
gosub sleeping
2033
MouseClick , Left , X14+ Ran(offset), Y14+ Ran(offset),,2
2034
}
2035
2036
IfWinActive Old School RuneScape
2037
{
2038
MouseClick , Left , XR11+ Ran(offset), YR11+ Ran(offset),, 0
2039
MouseClick , Left , XR11+ Ran(offset), YR11+ Ran(offset),, 0
2040
gosub sleeping
2041
MouseClick , Left , XR12+ Ran(offset), YR12+ Ran(offset),,0
2042
MouseClick , Left , XR12+ Ran(offset), YR12+ Ran(offset),,0
2043
gosub sleeping
2044
MouseClick , Left , XR13+ Ran(offset), YR13+ Ran(offset),,0
2045
MouseClick , Left , XR13+ Ran(offset), YR13+ Ran(offset),,0
2046
gosub sleeping
2047
MouseClick , Left , XR14+ Ran(offset), YR14+ Ran(offset),,0
2048
MouseClick , Left , XR14+ Ran(offset), YR14+ Ran(offset),,0
2049
}
2050
}
2051
2052
return
2053
2054
2055
^F12::
2056
IfWinExist Old School RuneScape
2057
{
2058
WinActivate
2059
ResizeWin(793,571)
2060
gosub sleeping
2061
ResizeWin(793,571)
2062
}
2063
return
2064
2065
2066
2067
Mousearea:
2068
if Invs {
2069
IfWinNotActive Old School RuneScape
2070
{
2071
MouseMove, X7+ Ran(offset), Y7+ Ran(offset), 0
2072
}
2073
IfWinActive Old School RuneScape
2074
{
2075
MouseMove, Ran(offset)+ XR7, Ran(offset)+ Yr7, 0
2076
}
2077
}
2078
2079
if Origin {
2080
IfWinNotActive Old School RuneScape
2081
{
2082
MouseMove, XX+ Ran(offset), YY+ Ran(offset), 0
2083
}
2084
IfWinActive Old School RuneScape
2085
{
2086
MouseMove, xx+ Ran(offset), yy+ Ran(offset), 0
2087
}
2088
}
2089
2090
return
2091
2092
2093
2094
2095
2096
Binding:
2097
if Fbinds {
2098
IfWinNotActive Old School RuneScape
2099
{
2100
MouseClick , Left , X9+ Ran(offset), Y9+ Ran(offset),,0
2101
}
2102
IfWinActive Old School RuneScape
2103
{
2104
MouseClick , Left , Ran(offset)+ XR9, Ran(offset)+ Yr9,,0
2105
}
2106
}
2107
return
2108
2109
none:
2110
sleep 50
2111
return
2112
2113
2114
2115
Sleeping:
2116
if Fsleep {
2117
Random, Rand, Sleep1, Sleep2
2118
sleep %rand%
2119
}
2120
return
2121
2122
2123
2124
Ran(Num)
2125
{
2126
	Random, r, -1*Num, Num
2127
	Return r
2128
}
2129
2130
2131
ResizeWin(Width = 0,Height = 0)
2132
{
2133
  WinGetPos,X,Y,W,H,A
2134
  If %Width% = 0
2135
    Width := W
2136
2137
  If %Height% = 0
2138
    Height := H
2139
2140
  WinMove,A,,%X%,%Y%,%Width%,%Height%
2141
}