Что нового

[Автоматизация] Макрос

TiranCool

Новичок
Сообщения
68
Репутация
0
Версия AutoIt:3.5.4 3.
Код:
#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   ;

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

Примечания:
 
A

Alofa

Гость
Код:
#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
 
Автор
T

TiranCool

Новичок
Сообщения
68
Репутация
0
В игре не работает(((, а на рабочем столе пашет, мой вариант в игре работает
 
Автор
T

TiranCool

Новичок
Сообщения
68
Репутация
0
Еще раз пробовал, срабатывает при первом проходе цикла и прекращает свое действие, от имени администратора пробовал не помогло. Так же на рабочем столе при достижения середины монитора, он останавливается, может работает до середины монитора( горизонтально в любой точке). Не знаю почему, но мой скрипт работает из минусов не возвращается в исходную точку(не обновляются значения после отжима ЛКМ).
 
Верх