Суть проблемы в следующем:
В скрипте надо заменить {NUMPA1} на его клавиатурный код
для того чтобы скрипт в игре работал как с включенным нумлуком так и без.
(в автохоткее это решалось просто заменой NumPad1 на CS 04f)
кто знает как это реализовать в автоите?
Заранее благодарен!!!
В скрипте надо заменить {NUMPA1} на его клавиатурный код
для того чтобы скрипт в игре работал как с включенным нумлуком так и без.
(в автохоткее это решалось просто заменой NumPad1 на CS 04f)
кто знает как это реализовать в автоите?
Заранее благодарен!!!
WinWaitActive("Untitled - Darkfall Online")
;константа количество используемых реев
Const $num_ray = 5
; Объявляем переменные
;блок назначения клавишь для реев
Global $k_array[$num_ray] = ["+6","+7","+8","+9","+0"]
;["+6"] impale
;["+7"] Pungent Mist
;["+8"] Unholy Caress
;["+9"] Dragon's Breath
;["+0"] Insect Swarm
; end
; блок значений времени отката реев
Global $cd_array[$num_ray] = [ 6500, 14000, 14000, 14000, 13000]
;[14000] Impale [6500] Pungent Mist [14000] Unholy Caress [14000] Dragon's Breath [13000] Insect Swarm
; end
;инициируем переменную перегрузки времени
$time_reload = 0
;масив для хранения времени последнего каста каждого рея и переменная для перегрузки
Global $time_cast[$num_ray], $ray_key
; инициализация массива очередности реев
; будет выбран ближайший элемент массива с значением 1
Global $next_ray[$num_ray] = [1, 1, 1, 1, 1]
; end
; задаем горячую клавишу или сочетание клавиш для выбора рея и его каста
; Shift = +, Ctrl = ^, Alt = !
HotKeySet ("{NUMPAD1}", "RayScroll")
While 1
Sleep(100)
WEnd
;функция RayScroll
Func RayScroll ()
Send ("{F10 down}")
Send ("{F10 up}")
Sleep (258)
HotKeySet ("{NUMPAD1}")
Send ("{NUMPAD1 down}")
Send ("{NUMPAD1 up}")
HotKeySet ("{NUMPAD1}", "RayScroll")
Sleep (100)
$ray_key = RayLogic()
Send ($ray_key)
Sleep (79)
MouseClick("left")
$time_reload = TimerLogic()
Sleep (79)
EndFunc
Func RayLogic ()
$num = $num_ray - 1
Local $time
For $i = 0 to $num Step 1
$time = TimerDiff($time_cast[$i])
If $next_ray[$i] = 1 Then
$next_ray[$i] = 0
Return ($k_array[$i])
ElseIf $time >= $cd_array[$i] Then
$next_ray[$i] = 0
Return ($k_array[$i])
EndIf
Next
;Send ("end")
Return ("")
EndFunc
Func TimerLogic()
$key = $ray_key
$time = TimerInit()
$num = $num_ray - 1
For $i = 0 To $num Step 1
If $key = $k_array[$i] Then
$time_cast[$i] = $time
EndIf
Next
EndFunc
;константа количество используемых реев
Const $num_ray = 5
; Объявляем переменные
;блок назначения клавишь для реев
Global $k_array[$num_ray] = ["+6","+7","+8","+9","+0"]
;["+6"] impale
;["+7"] Pungent Mist
;["+8"] Unholy Caress
;["+9"] Dragon's Breath
;["+0"] Insect Swarm
; end
; блок значений времени отката реев
Global $cd_array[$num_ray] = [ 6500, 14000, 14000, 14000, 13000]
;[14000] Impale [6500] Pungent Mist [14000] Unholy Caress [14000] Dragon's Breath [13000] Insect Swarm
; end
;инициируем переменную перегрузки времени
$time_reload = 0
;масив для хранения времени последнего каста каждого рея и переменная для перегрузки
Global $time_cast[$num_ray], $ray_key
; инициализация массива очередности реев
; будет выбран ближайший элемент массива с значением 1
Global $next_ray[$num_ray] = [1, 1, 1, 1, 1]
; end
; задаем горячую клавишу или сочетание клавиш для выбора рея и его каста
; Shift = +, Ctrl = ^, Alt = !
HotKeySet ("{NUMPAD1}", "RayScroll")
While 1
Sleep(100)
WEnd
;функция RayScroll
Func RayScroll ()
Send ("{F10 down}")
Send ("{F10 up}")
Sleep (258)
HotKeySet ("{NUMPAD1}")
Send ("{NUMPAD1 down}")
Send ("{NUMPAD1 up}")
HotKeySet ("{NUMPAD1}", "RayScroll")
Sleep (100)
$ray_key = RayLogic()
Send ($ray_key)
Sleep (79)
MouseClick("left")
$time_reload = TimerLogic()
Sleep (79)
EndFunc
Func RayLogic ()
$num = $num_ray - 1
Local $time
For $i = 0 to $num Step 1
$time = TimerDiff($time_cast[$i])
If $next_ray[$i] = 1 Then
$next_ray[$i] = 0
Return ($k_array[$i])
ElseIf $time >= $cd_array[$i] Then
$next_ray[$i] = 0
Return ($k_array[$i])
EndIf
Next
;Send ("end")
Return ("")
EndFunc
Func TimerLogic()
$key = $ray_key
$time = TimerInit()
$num = $num_ray - 1
For $i = 0 To $num Step 1
If $key = $k_array[$i] Then
$time_cast[$i] = $time
EndIf
Next
EndFunc