/
selector flechas magicas.txt
202 lines (195 loc) · 5.97 KB
/
selector flechas magicas.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
;|-------------------------------|
;| Selector de 'Flechas Magicas' |
;|-------------------------------|
;* Se recomienda llevar una 'Flecha Magica' de cada tipo deseado ('Punzante', 'Helada', 'Explosiva', 'Envenenada' y/o 'Con Punta De Plata') en el primer nivel de la 'Mochila' del personaje
;* Es contraproducente portar mas de un monton de 'Flechas Magicas' del mismo tipo, se incrementa el tiempo de respuesta de este programa
;* Es innecesario tener mas de una 'Flecha Magica' de cada tipo deseado
;** Compatible con el cambio de personajes
set %ARCOS WOH_TOH
set %ArcosDeMaderaMagica 0
set %FLECHAS RWF
set %colPunzante 1109
set %colHelada 1152
set %colExplosiva 1914
set %colEnvenenada 1927
set %colConPuntaDePlata 1154
set %colNoMagica 0
goSub control
goSub scanTecla
sub control
{
if #cliLogged = 1 && #charGhost = NO
{
goSub transCharName
findItem #backpackID C_ , #charID
if #findCnt = 0
{
set %xCharID #cliXRes + #cliLeft
set %yCharID #cliTop
nextCPos %xCharID %yCharID
event SysMessage ~ * , Abriendo la ficha de , #SPC , #charName , ...
event Macro 8 1
}
findItem * C_ , #backpackID
if #findCnt = 0
{
set %xBackpackID #cliXRes + #cliLeft
set %yBackpackID #cliYRes + #cliTop
nextCPos %xBackpackID %yBackpackID
wait 10
event SysMessage ~ * , Abriendo la mochila de , #SPC , #charName , ...
event Macro 8 7
}
findItem %FLECHAS C
if #findCnt > 0
{
for #findIndex 1 #findCnt
{
if #findCol = %colPunzante || #findCol = %colHelada || #findCol = %colExplosiva || #findCol = %colEnvenenada || #findCol = %colConPuntaDePlata
{
if #findBagID <> #backpackID && %msgNotFirstLevelBackpackID <> #TRUE
{
set %msgNotFirstLevelBackpackID #TRUE
display ok Se recomienda portar una 'Flecha Magica' de cada tipo deseado ('Punzante', 'Helada', 'Explosiva', 'Envenenada' y/o 'Con Punta De Plata') en el primer nivel de la 'Mochila' de , #SPC , #charName , #DOT
}
}
else
{
if #findCol = %colNoMagica
{
set %msgNotNoMagica #FALSE
}
}
}
if %msgNotNoMagica <> #FALSE
{
display ok Puede que , #SPC , #charName , #SPC , no tenga municion dentro de su 'Mochila', 'Flechas' normales, no hay ninguna en los contenedores abiertos que forman parte ella , #DOT
}
}
else
{
event ExMsg #charID 3 1970 [ , FLECHAS , ]
}
findItem %ARCOS C
if #findCnt > 0
{
for #findIndex 1 #findCnt
{
event Property #findID
goSub getArcoDeMaderaMagica
if #result = #TRUE
{
set %ArcosDeMaderaMagica %ArcosDeMaderaMagica + 1
}
}
if %ArcosDeMaderaMagica = 0
{
event ExMsg #charID 3 1970 [ , ARCO MAD. MAG. , ]
}
else
{
if %ArcosDeMaderaMagica > 1
{
display ok Es innecesario llevar mas de un 'Arco De Madera Magica' , #DOT
}
}
}
else
{
event ExMsg #charID 3 1970 [ , ARCO MAD. MAG. , ]
}
}
set #sysMsgCol 1391
event SysMessage Selector de 'Flechas Magicas' -Activado-
return
}
sub getArcoDeMaderaMagica
{
str Pos #property ( 1
set #strRes #strRes - 2
str Left #property #strRes
if #strRes = #SPC , Arco , #SPC , De , #SPC , Madera , #SPC , Magica
{
set %cntArcoDeMaderaMagica %cntArcoDeMaderaMagica + 1
set %ArcoDeMaderaMagica . %cntArcoDeMaderaMagica #findID
return #TRUE
}
return #FALSE
}
sub scanTecla
{
while #TRUE
{
goSub filterHotKey
}
return
}
sub filterHotKey
{
if #charGHOST = NO
{
;TECLA [Ctrl] [Shift] [Alt]
onHotKey A ;TECLA: A-Z|0-9|F1-F12|ESC|BACK|TAB|ENTER|PAUSE|CAPSLOCK|SPACE|PGDN|PGUP|END|HOME|LEFT|RIGHT|UP|DOWN|PRNSCR|INSERT|DELETE|NUMLOCK|SCROLLLOCK
{
goSub selectFlechaMagica %colPunzante PUNZANTE
}
;TECLA [Ctrl] [Shift] [Alt]
onHotKey B ;TECLA: A-Z|0-9|F1-F12|ESC|BACK|TAB|ENTER|PAUSE|CAPSLOCK|SPACE|PGDN|PGUP|END|HOME|LEFT|RIGHT|UP|DOWN|PRNSCR|INSERT|DELETE|NUMLOCK|SCROLLLOCK
{
goSub selectFlechaMagica %colHelada HELADA
}
;TECLA [Ctrl] [Shift] [Alt]
onHotKey C ;TECLA: A-Z|0-9|F1-F12|ESC|BACK|TAB|ENTER|PAUSE|CAPSLOCK|SPACE|PGDN|PGUP|END|HOME|LEFT|RIGHT|UP|DOWN|PRNSCR|INSERT|DELETE|NUMLOCK|SCROLLLOCK
{
goSub selectFlechaMagica %colExplosiva EXPLOSIVA
}
;TECLA [Ctrl] [Shift] [Alt]
onHotKey D ;TECLA: A-Z|0-9|F1-F12|ESC|BACK|TAB|ENTER|PAUSE|CAPSLOCK|SPACE|PGDN|PGUP|END|HOME|LEFT|RIGHT|UP|DOWN|PRNSCR|INSERT|DELETE|NUMLOCK|SCROLLLOCK
{
goSub selectFlechaMagica %colEnvenenada ENVENENADA
}
;TECLA [Ctrl] [Shift] [Alt]
onHotKey E ;TECLA: A-Z|0-9|F1-F12|ESC|BACK|TAB|ENTER|PAUSE|CAPSLOCK|SPACE|PGDN|PGUP|END|HOME|LEFT|RIGHT|UP|DOWN|PRNSCR|INSERT|DELETE|NUMLOCK|SCROLLLOCK
{
goSub selectFlechaMagica %colConPuntaDePlata PLATEADA
}
}
return
}
sub selectFlechaMagica
{
findItem %FLECHAS C
if #findCnt > 0
{
for #findIndex 1 #findCnt
{
if #findCol = %1
{
set %lObjectID #lObjectID
set #lObjectID #findID
event Macro 17 0
wait 5
set #lObjectID %lObjectID
if #sysMsg <> No_puedes_usar_eso_donde_se_encuentra... && #sysMsg <> Cambias_la_municion_de_tu_arco_por_flechas_normales!.
{
event ExMsg #charID 3 %1 [ , F. , #SPC , %2 , ]
set %locatedFlechaMagica #TRUE
break
}
}
}
if %locatedFlechaMagica = #TRUE
{
set %locatedFlechaMagica #FALSE
}
else
{
event ExMsg #charID 3 1970 [ , F. , #SPC , %2 , ]
}
}
else
{
event ExMsg #charID 3 1970 [ , FLECHAS , ]
}
return
}