1

Тема: AHK: SetKeyDelay или SetTimer?

Уважаемые форумчане!
Столкнулся с таковой проблемой: использую PixelSearch для поиска по цвету монстра на экране и последующего его убийства, но когда монстр стоит за какой-либо преградой (будь-то дом, забор и т.д.) мой персонаж наводится на него, пытается атаковать, но ему это не удается и он бесконечное время стоит на месте... Возможно ли как-то сделать так, чтобы в данных ситуациях мой персонаж нажимал, к примеру, F2 и телепортировался?
Если же нет, подскажите, куда вставить часть скрипта, чтобы, к примеру, каждые 5 минут независимо от скрипта клацалось Alt+0? Если я не ошибаюсь это делается либо через SetKeyDelay, либо через SetTimer? Ниже привожу свой скрипт.

F1::

SetTimer, ImageCheck, 100
return

ImageCheck:

{
PixelSearch x, y, 1508, 81, 1508, 96, 0xD6CFCE, 5, Fast
    if ( ErrorLevel > 0 )
{
PixelSearch x, y, 3, 25, 1675, 1048, 0x9bbd9f, 5, Fast
    if ( ErrorLevel > 0 )
        {
        ;если ErrorLevel > 0
        Send, {F2}
sleep, 1000
        return
        }
Send, {F4}
sleep, 50
Click %x% %y%
sleep, 100
return
}
sleep, 100
Send !0
sleep, 5000
click 608, 285
sleep, 1000
click 1080, 274
sleep, 1000
Send, {Enter}
sleep, 1000
Send, {Enter}
sleep, 1000
return

}

F3::Pause

Заранее благодарен!!!

2 (изменено: creature.ws, 2012-09-25 18:39:01)

Re: AHK: SetKeyDelay или SetTimer?

Ваш вопрос остаётся без ответа, потому как он обрамлён излишними узкоспециализированными подробностями.

каждые 5 минут независимо от скрипта клацалось Alt+0

Значит при запуске выполнения скрипта нужно включить таймер, который будет обращаться к некой метке каждые 5 минут.
«При запуске» подразумевает либо в секции автовыполнения, либо в начале подпрограммы горячей клавиши, «запускающей» выполнение требуемых действий.
Например:

Settimer, Send_alt+0, % 1000*60*5
return ; конец секции автовыполнения

Send_alt+0:
    Send !{0}
    return

3

Re: AHK: SetKeyDelay или SetTimer?

А можно, пожалуйста, уточнить куда конкретно в МОЙ код вставить ВАШ код? Я чайник... Было бы замечательно если бы Вы прямо в моём коде это сделали...

4

Re: AHK: SetKeyDelay или SetTimer?

F1::
    Settimer, Send_alt+0, % 1000*60*5
    SetTimer, ImageCheck, 100
    return

ImageCheck:
    PixelSearch x, y, 1508, 81, 1508, 96, 0xD6CFCE, 5, Fast
    if (ErrorLevel > 0)
    {
        PixelSearch x, y, 3, 25, 1675, 1048, 0x9bbd9f, 5, Fast
        if (ErrorLevel > 0)
        {
            Send, {F2}
            sleep, 1000
            return
        }
        Send, {F4}
        sleep, 50
        Click %x% %y%
        sleep, 100
        return
    }

    sleep, 100
    Send !0
    sleep, 5000
    click 608, 285
    sleep, 1000
    click 1080, 274
    sleep, 1000
    Send, {Enter}
    sleep, 1000
    Send, {Enter}
    sleep, 1000
    return

F3::Pause

Send_alt+0:
    Send !{0}
    return

5

Re: AHK: SetKeyDelay или SetTimer?

Отлично, работает!!! Спасибо большое за помощь, тему можно закрывать!