Русское сообщество AutoIt

Общий раздел по AutoIt => Стол заказов => Тема начата: TiranCool от Сентябрь 12, 2018, 23:03:48

Название: [Автоматизация] Макрос
Отправлено: TiranCool от Сентябрь 12, 2018, 23:03:48
Версия AutoIt:3.5.4 3.
Код: AutoIt [Выделить]
#include <Misc.au3>
Opt("MouseClickDelay")
Opt("MouseClickDownDelay")
Opt("MouseCoordMode", 1)
Global $bPaused, $hDll, $aXY
OnAutoItExitRegister("_OnExit")
HotKeySet("{f5}", "_Start")
HotKeySet("{f6}", "_Pause")
HotKeySet("{0}", "_Exit")
$r=1
$t=''
$i=''
$hDll = DllOpen("user32.dll")
_Start()

While 1

    If _IsPressed("01", $hDll) Then
         $i+=2+$r
         $aXY = MouseGetPos()
         if $i>11 then $t+=50
                 if $t>190 then $t+=80
        MouseMove($aXY[0] , $aXY[1]+10+$t   ,2)

     EndIf
        Sleep(5)

WEnd

Func _Start()
    $bPaused = False
    EndFunc   ;

Func _Pause( $hDll)
    $bPaused = True
     $i=0
     $t=0
    While $bPaused
        Sleep(100)
    WEnd
EndFunc   ;

Func _OnExit()
    DllClose($hDll)
EndFunc   ;

Func _Exit()
    Exit
EndFunc   ;


 

Описание:При нажатии ЛКМ, мышь двигается вниз с определенным интервалом, но нужно обнулять значения переменной интенсивности при отжатии ЛКМ. Помогите пожалуйста.

Примечания:
Название: Re: [Автоматизация] Макрос
Отправлено: Alofa от Сентябрь 13, 2018, 00:08:28
Код: AutoIt [Выделить]
#include <Misc.au3>
Global $bPaused, $aXY, $i, $t, $bPaused = False, $bExit = False
Global $hDll = DllOpen("user32.dll")
HotKeySet("{f5}", "_Start_Pause")
HotKeySet("{0}", "_Exit")

Do
    If $bPaused And _IsPressed("01", $hDll) Then
        $i += 3
        $aXY = MouseGetPos()
        If $i > 11 Then $t += 50
        If $t > 190 Then $t += 80
        MouseMove($aXY[0], $aXY[1] + 10 + $t, 2)
    Else
        $i = 0
        $t = 0
    EndIf
    Sleep(50)
Until $bExit

DllClose($hDll)

Func _Start_Pause()
    $bPaused = Not $bPaused
EndFunc   ;==>_Start_Pause

Func _Exit()
    $bExit = True
EndFunc   ;==>_Exit

Название: Re: [Автоматизация] Макрос
Отправлено: TiranCool от Сентябрь 13, 2018, 22:19:52
В игре не работает(((, а на рабочем столе пашет, мой вариант в игре работает
Название: Re: [Автоматизация] Макрос
Отправлено: Alofa от Сентябрь 14, 2018, 10:59:36
В игре не работает…
Мой код - это оптимизация вашего и отличается он только отсутствием Opt().
Название: Re: [Автоматизация] Макрос
Отправлено: TiranCool от Сентябрь 15, 2018, 11:48:50
Еще раз пробовал, срабатывает при первом проходе цикла  и прекращает свое действие, от имени администратора пробовал не помогло. Так же на рабочем столе при достижения середины монитора, он останавливается, может работает до середины монитора( горизонтально в любой точке). Не знаю почему, но мой скрипт работает из минусов не возвращается в исходную точку(не обновляются значения после отжима ЛКМ).