Что нового

[Мышь, клавиатура] Не получается послать сочетание клавиш в клиент Ragnarok Online[MOTR]

Snake-345

Новичок
Сообщения
6
Репутация
1
Я недавно начал изучать AutoIt. Решил сделать для Ragnarok Online сприпт который бы сам кормил гомункула. В общем алгоритм там не сложный, необходимо послать сочетание клавиш Alt+R, щёлкнуть по кнопке Feed, щёлкнуть по кнопке Ok.
Столкнулся с проблемой отправки сочетания клавиш.
Пробовал писать так
Код:
send("!r")
Ничего не получилось...он просто в чат писал r
После недолгих поисков по форуму нашол что стоит попробовать написать вместо "!r", "!к"
Попробовал получилось тоже самое.
После я нашол на форуме где решали проблему с кодировкой там была такая функция
Код:
_SendExEx("!к")

Func _SendExEx($sKeys, $iFlag=0)
    If @KBLayout = 0419 Then
        Local $sANSI_Chars = "ёйцукенгшщзхъфывапролджэячсмитьбю.?"
        Local $sASCII_Chars = "`qwertyuiop[]asdfghjkl;'zxcvbnm,./&"
        
        Local $aSplit_Keys = StringSplit($sKeys, "")
        Local $sKey
        $sKeys = ""
        
        For $i = 1 To $aSplit_Keys[0]
            $sKey = StringMid($sANSI_Chars, StringInStr($sASCII_Chars, $aSplit_Keys[$i]), 1)
            
            If $sKey <> "" Then
                $sKeys &= $sKey
            Else
                $sKeys &= $aSplit_Keys[$i]
            EndIf
        Next
    EndIf
    
    Return Send($sKeys, $iFlag)
EndFunc
С помощью данной функции всё на первый взгляд работало...но когда я вставил её в цикл она срабатывала не всегда допустим я делал цикл из 10ти повторений этой функции с задержкой в 5 секунд...сочетание клавиш посылалось раз 6-7 из 10ти

В чём может быть проблема?

P.S. Надеюсь всё правильно оформил и внятно объяснил =)
 
Автор
S

Snake-345

Новичок
Сообщения
6
Репутация
1
Пока ждал ответа нашёл его сам =)
Проблема была решена путем добавления таких команд
Код:
Opt("SendKeyDownDelay", 150)
Opt("MouseClickDelay", 100)
Opt("MouseClickDownDelay", 100)
Opt("MouseClickDragDelay", 150)

Теперь он исправно нажимает необходимые сочетания клавиш и тычет по кнопкам =)
 

Megofarmer

Новичок
Сообщения
5
Репутация
0
Проблема такого же рода. Только нужно сделать CTRL+V чтобы вставлял в программу. А вставляет только V.
 

rollex

Новичок
Сообщения
66
Репутация
1
Megofarmer
используй сочетание Shift + Insert
 
Верх