Защита от двойного нажатия бинда..
Moderators: Murderator+, Murderator
Защита от двойного нажатия бинда..
Целый день ломаю голову.. но видимо что-то не учитываю..
Задача:
Есть некий бинд на каст..
Есть время каста...
Необходимо, чтобы при нажатии кнопки бинда происходил каст..
Далее, если каст вызывается повторно в то время, как 1й каст ещё НЕ окончился (скадем спелл кастится 3 сек, а повторное нажатие на кнопку произошло через 1.5), то необходимо, чтобы скрипт(бинд) не перевызывался заново, сбивая тем самым неоконченный каст, а проверяя некое условие выводил бы сообщение мол "рано ещё"..
Вот только как заставить это работать ... не знаю)
Пробовал назначать глобальные переменные, но эффекта это не дало.. Всё равно сбивается...
Задача:
Есть некий бинд на каст..
Есть время каста...
Необходимо, чтобы при нажатии кнопки бинда происходил каст..
Далее, если каст вызывается повторно в то время, как 1й каст ещё НЕ окончился (скадем спелл кастится 3 сек, а повторное нажатие на кнопку произошло через 1.5), то необходимо, чтобы скрипт(бинд) не перевызывался заново, сбивая тем самым неоконченный каст, а проверяя некое условие выводил бы сообщение мол "рано ещё"..
Вот только как заставить это работать ... не знаю)
Пробовал назначать глобальные переменные, но эффекта это не дало.. Всё равно сбивается...
-
arch
- Posts: 38
- Joined: 2004-05-26 16:39:57
- Location: www.myruo.ru
- Contact:
Re: Защита от двойного нажатия бинда..
Значит плохо пробовалLaden wrote: Пробовал назначать глобальные переменные, но эффекта это не дало.. Всё равно сбивается...
Code: Select all
sub cast()
if not uo.getglobal ('ccast') == '1' then
uo.setglobal ('ccast', '1')
uo.cast ('Magic Arrow','self') ###<--- меняем
wait(3000) ###<--- меняем
uo.setglobal ('ccast', '0')
else
uo.print ('Already casting')
end if
end sub
Пробовал хорошо... только неправильно))
Ошибка была в условии проверки...
Большое спасибо.
Что же.. потестируем и такой вариант.
Ошибка была в условии проверки...
Большое спасибо.
Насколько я помню.. Отличия в том, что это пишется в реестр. а не в память инжекта.., что несколько снижает скорость обработки, но увеличивает стабильность...I'm wrote: Можешь сделать через UO.Get/SetEasyUO(number,"text")
Что же.. потестируем и такой вариант.
-
arch
- Posts: 38
- Joined: 2004-05-26 16:39:57
- Location: www.myruo.ru
- Contact:
-
MorbidAngel
- Posts: 51
- Joined: 2004-08-26 16:47:05
Code: Select all
var mega
var cast=0
sub test()
if cast==0 then
mega=uo.mana
UO.Exec("waittargetself")
UO.cast("Cunning")
cast=1
While uo.mana>=mega
Wait(25);
Wend
cast=0
else
uo.print('WAIT!!!')
end if
end sub
-
MorbidAngel
- Posts: 51
- Joined: 2004-08-26 16:47:05
Re: Защита от двойного нажатия бинда..
Rivory wrote:Значит плохо пробовалLaden wrote: Пробовал назначать глобальные переменные, но эффекта это не дало.. Всё равно сбивается...
Code: Select all
sub cast() if not uo.getglobal ('ccast') == '1' then uo.setglobal ('ccast', '1') uo.cast ('Magic Arrow','self') ###<--- меняем wait(3000) ###<--- меняем uo.setglobal ('ccast', '0') else uo.print ('Already casting') end if end sub
Code: Select all
sub arrow()
var mana
mana=uo.mana
if not uo.getglobal ('ccast') == '1' then
uo.setglobal ('ccast', '1')
uo.cast ('Magic Arrow','self')
While uo.mana>=mana
wait(25)
wend
uo.setglobal ('ccast', '0')
else
uo.print ('Already casting')
end if
end sub
sub arrow1()
var mana
mana=uo.mana
if not uo.getglobal ('ccast') == '1' then
uo.setglobal ('ccast', '1')
uo.cast ('Magic Arrow','self')
While uo.mana>=mana
wait(25)
wend
uo.setglobal ('ccast', '0')
else
uo.print ('Already casting')
end if
end sub