Post by sofista » 09 Aug 2022, 19:37
Hola: Cuando un script falla, lo primero que normalmente se hace es tratar de averiguar el mensaje de error que devuelve. No es infalible, pero con esa guía se facilita encontrar el error.
No juego a
RuneLite —en realidad, a ninguno de estos juegos—, así que yo no puedo realizar tests. Sin embargo, me tomé la libertad de reescribir el script, ya que la falta de etiquetas de código —como las que puse más abajo—, sangrado y la repetición de código, lo hace casi ilegible.
Además, le agregué un
MsgBox que mostraría el eventual mensaje de error. Si el mensaje de error es
1, entonces no se encontró el color; si es
2 por alguna razón no especificada, no se pudo llevar a cabo la búsqueda.
Espero que te sirva de ayuda.
Code: Select all
#IfWinActive ahk_exe RuneLite.exe
1::
arr := [ [1422, 591, 3]
, [1381, 586, 3]
, [1374, 630, 3]
, [1382, 655, 3]
, [1373, 692, 3]
, [1381, 730, 3]
, [1383, 767, 3]
, [1380, 801, 3]
, [1422, 799, 3]
, [1425, 761, 3]
, [1423, 727, 3]
, [1428, 694, 3]
, [1420, 656, 3]
, [1416, 618, 3]]
Loop,
{
PixelSearch, Px, Py, 1423, 797, 1423, 797, 0x0D4F35, 1, Fast
if (ErrorLevel = 0) {
Send, {Shift down}
Loop, arr.Count() {
Mousemove, arr[A_Index][1], arr[A_Index][2], arr[A_Index][3]
sleep, 50
click
sleep, 50
}
Send, {Shift up}
sleep, 5000
} else {
MsgBox, % ErrorLevel
Break
}
}
return
2::reload
Esc::exitapp
#IfWinActive
Hola: Cuando un script falla, lo primero que normalmente se hace es tratar de averiguar el mensaje de error que devuelve. No es infalible, pero con esa guía se facilita encontrar el error.
No juego a [c]RuneLite[/c] —en realidad, a ninguno de estos juegos—, así que yo no puedo realizar tests. Sin embargo, me tomé la libertad de reescribir el script, ya que la falta de etiquetas de código —como las que puse más abajo—, sangrado y la repetición de código, lo hace casi ilegible.
Además, le agregué un [c]MsgBox[/c] que mostraría el eventual mensaje de error. Si el mensaje de error es [c]1[/c], entonces no se encontró el color; si es [c]2[/c] por alguna razón no especificada, no se pudo llevar a cabo la búsqueda.
Espero que te sirva de ayuda.
[code]
#IfWinActive ahk_exe RuneLite.exe
1::
arr := [ [1422, 591, 3]
, [1381, 586, 3]
, [1374, 630, 3]
, [1382, 655, 3]
, [1373, 692, 3]
, [1381, 730, 3]
, [1383, 767, 3]
, [1380, 801, 3]
, [1422, 799, 3]
, [1425, 761, 3]
, [1423, 727, 3]
, [1428, 694, 3]
, [1420, 656, 3]
, [1416, 618, 3]]
Loop,
{
PixelSearch, Px, Py, 1423, 797, 1423, 797, 0x0D4F35, 1, Fast
if (ErrorLevel = 0) {
Send, {Shift down}
Loop, arr.Count() {
Mousemove, arr[A_Index][1], arr[A_Index][2], arr[A_Index][3]
sleep, 50
click
sleep, 50
}
Send, {Shift up}
sleep, 5000
} else {
MsgBox, % ErrorLevel
Break
}
}
return
2::reload
Esc::exitapp
#IfWinActive
[/code]