1 (изменено: gamer4eg, 2018-02-01 23:15:23)

Тема: PixelGetColor ломает loop в скрипте.

Проблемма в том что в если в скрипте больше 1 PixelGetColor - скрипт останавливается при нажатии любой кнопки на клавиатуре(но не отпуская Q) .
Если проверка пикселя 1 или ее вообще нет(тупо спамит кнопки) то такой проблеммы нет, и пока я не отпустил Q скрипт будет работать(даже если я не отпуская Q нажимал другие кнопки, WASD например)
Помогите пожалуйста.

sc10::
Loop {
GetKeyState, state, sc10, p ; Q Кликер некроса
if state = U
break
Send, {sc10}

PixelGetColor, Color, 724, 1059
if (Color == 0x3CF3FF)
{
Send, {sc43}
Sleep, 50
break
}
PixelGetColor, Color, 738, 1059
if (Color == 0x3CF3FF)
{
Send, {sc40}
Sleep, 50
break
}
PixelGetColor, Color, 752, 1059
if (Color == 0x3CF3FF)
{
Send, {sc42}
Sleep, 50
break
}
PixelGetColor, Color, 766, 1059
if (Color == 0x3CF3FF)
{
Send, {sc41}
Sleep, 50
break
}


GetKeyState, state, RButton, P  ;Фикс ПКМ(из за одноканальности ахк)
    if state = U
Send, {RButton up}
GetKeyState, state, sc12, P  ;Фикс E(из за одноканальности ахк)
    if state = U
Send, {sc12 up}
GetKeyState, state, sc10, P  ;Фикс Q(из за одноканальности ахк)
    if state = U
Send, {sc13 up}
GetKeyState, state, sc10, P  ;Фикс Q(из за одноканальности ахк)
    if state = U
Send, {sc21 up}
GetKeyState, state, sc2A, P  ;Фикс Шифта(из за одноканальности ахк)
    if state = U
Send, {sc2A up}
Sleep, 100
}
return

Попытался добавить проверку цвета, чтобы скилы жались по порядку(а уже в игре через интерфейс настроил индикацию)
Это попытка модификации вот такого скрипта.

sc10::
Loop {
GetKeyState, state, sc10, p ; Q Кликер некроса
if state = U
break
Send, {sc10}
Send, {sc43}
Send, {sc40}
Send, {sc42}
Send, {sc41}

GetKeyState, state, RButton, P  ;Фикс ПКМ(из за одноканальности ахк)
    if state = U
Send, {RButton up}
GetKeyState, state, sc12, P  ;Фикс E(из за одноканальности ахк)
    if state = U
Send, {sc12 up}
GetKeyState, state, sc10, P  ;Фикс Q(из за одноканальности ахк)
    if state = U
Send, {sc13 up}
GetKeyState, state, sc10, P  ;Фикс Q(из за одноканальности ахк)
    if state = U
Send, {sc21 up}
GetKeyState, state, sc2A, P  ;Фикс Шифта(из за одноканальности ахк)
    if state = U
Send, {sc2A up}
Sleep, 100
}
return

Куча фиксов в конце кода потому что в скрипте используются и другие кнопки.
АЛСО как запихнуть в 1 скрипт два и переключать их нажатием клавиши(те 1 раз нажал-1 скрипт работает, 2 раз нажал- первый выключен, второй работает, 3 раз нажал-опять первый)

2

Re: PixelGetColor ломает loop в скрипте.

Ап.
Помогите пожалуйста с решением проблеммы!
Мб есть другой вариант проверять пиксели?
Разместить например подряд нужное колво пикселей для проверов всего и чекать область?