Ksaan
Знающий
- Сообщения
- 207
- Репутация
- 15
В общем суть вот в чём, как то делал макрос на мышь для шутеров и вроде всё работает как надо :-\ НО в скомпилированном скрипте оси уже не поменяешь, решил сделать вот так.
а вот сам cmd.txt
И вот тут я встал в ступор :stars: почему он всё время берёт только первое значение? Через MsgBox всё идет как надо :wall_brake:
Как сделать чтобы он при каждом новом MouseMove брал новые значение из строки ниже??
Код:
$sPath = 'd:\cmd.txt';<--- Путь до текстового файла с числами
$sSep = '/' ;<--- Разделитель,
$sAppPath = 'c:\1.exe';<--- Путь до программы для запуска с ключамиp
$hFile = FileOpen($sPath, 0);<--- Открываем файл для чтения
$iIND = 1;<--- Индикатор выхода из цикла
While 1;<--- Цикл
$sLine = FileReadLine($hFile);<--- Считываем файл
$iIND = @error;<--- Проверяем не конец ли файла
If $iIND = -1 Then ExitLoop;<--- Если конец, дальще не обратаываем файл
$aLine = StringSplit($sLine, $sSep);<--- Разделяем строку разделителем
If $aLine[0] = 1 Then;<--- Проверка на наличие второго числа (отсутствие)
$iParam1 = $aLine[1];<--- Первый параметр
$iParam2 = 0;<--- Второй параметр
Else;<--- Проверка на наличие второго числа (присутствие)
$iParam1 = $aLine[1];<--- Первый параметр
$iParam2 = $aLine[2];<--- Второй параметр
EndIf
;~ MsgBox ( 0, $iIND, 'iparam1 = ' & $iParam1 & @CRLF & 'iparam = ' & $iParam2) - через MsgBox все работает как надо
While 1
If Not $Paused Then
Send('{з down}')
$pos = MouseGetPos()
Sleep(98)
If $Paused Then
Send('{з up}')
ContinueLoop
EndIf
$pos1 = MouseGetPos()
MouseMove($pos1[0] - $iParam1 , $pos1[1] + $iParam2, 0)
Sleep(98)
If $Paused Then
Send('{з up}')
ContinueLoop
EndIf
$pos2 = MouseGetPos()
MouseMove($pos2[0] + $iParam1 , $pos2[1] + $iParam2, 0)
Sleep(98)
If $Paused Then
Send('{з up}')
ContinueLoop
EndIf
$pos3 = MouseGetPos()
MouseMove($pos3[0] - $iParam1 , $pos3[1] + $iParam2, 0)
Sleep(98)
If $Paused Then
Send('{з up}')
ContinueLoop
EndIf
$pos4 = MouseGetPos()
MouseMove($pos4[0] + $iParam1 , $pos4[1] + $iParam2, 0)
Sleep(98)
If $Paused Then
Send('{з up}')
ContinueLoop
EndIf
Else
Sleep(1)
EndIf
WEnd
WEnd
а вот сам cmd.txt
Код:
80/10
30/24
10/30
32/14
Как сделать чтобы он при каждом новом MouseMove брал новые значение из строки ниже??