Здравствуйте. Вообще пишу бота и возникла проблема.
Для того чтобы скиллы использовались по КД, необходимо использовать таймер.
вот рабочий пример:
[box title=пример]
[/box]
Всё бы хорошо, но для эстетического вида написал функцию, т.к 1 строчка в коде будет красивее выглядеть чем 5.
[box title=функция]
[/box]
Проблема в том, что функция после использования плюёт на строчку $SName = TimerInit() и следвательно начинает всегда входить в условие if $sDif >= $SDelay.
Если заменить последнюю строчку на $Skill1= TimerInit(), то всё отлично. Но если это сделать, то суть функции пропадает.
Прошу помощи в решении данной проблемы.
Используйте для AutoIt кода тег [autoit]
madmasles.
Для того чтобы скиллы использовались по КД, необходимо использовать таймер.
вот рабочий пример:
[box title=пример]
Код:
;объявляем переменные
Global Skill1 = TimerInit()
Global SKill1Delay = 2000
Global Skill1Button = '{NUMPAD2}'
;используем в цикле
$fDiff = TimerDiff($Skill1)
if $fDiff>=$SKill1Delay Then
ControlSend($hWnd, "", "", $Skill1Button)
$Skill1 = TimerInit()
EndIf
[/box]
Всё бы хорошо, но для эстетического вида написал функцию, т.к 1 строчка в коде будет красивее выглядеть чем 5.
[box title=функция]
Код:
;всё также объявляем переменные в начале скрипта
Global Skill1 = TimerInit()
Global SKill1Delay = 2000
Global Skill1Button = '{NUMPAD2}'
;код функции
Func SkillUse($SName,$SDelay,$SButton)
Local $sDif = TimerDiff($SName)
if $sDif >= $SDelay Then
ControlSend($hWnd,"","",$SButton)
$SName = TimerInit()
EndIf
EndFunc
;вызываем ее
SkillUse($Skill1,$Skill1Delay,$Skill1Button)
[/box]
Проблема в том, что функция после использования плюёт на строчку $SName = TimerInit() и следвательно начинает всегда входить в условие if $sDif >= $SDelay.
Если заменить последнюю строчку на $Skill1= TimerInit(), то всё отлично. Но если это сделать, то суть функции пропадает.
Прошу помощи в решении данной проблемы.
Используйте для AutoIt кода тег [autoit]

madmasles.