Защита от двойного нажатия бинда..
Moderators: Murderator+, Murderator
Защита от двойного нажатия бинда..
Целый день ломаю голову.. но видимо что-то не учитываю..
Задача:
Есть некий бинд на каст..
Есть время каста...
Необходимо, чтобы при нажатии кнопки бинда происходил каст..
Далее, если каст вызывается повторно в то время, как 1й каст ещё НЕ окончился (скадем спелл кастится 3 сек, а повторное нажатие на кнопку произошло через 1.5), то необходимо, чтобы скрипт(бинд) не перевызывался заново, сбивая тем самым неоконченный каст, а проверяя некое условие выводил бы сообщение мол "рано ещё"..
Вот только как заставить это работать ... не знаю)
Пробовал назначать глобальные переменные, но эффекта это не дало.. Всё равно сбивается...
Задача:
Есть некий бинд на каст..
Есть время каста...
Необходимо, чтобы при нажатии кнопки бинда происходил каст..
Далее, если каст вызывается повторно в то время, как 1й каст ещё НЕ окончился (скадем спелл кастится 3 сек, а повторное нажатие на кнопку произошло через 1.5), то необходимо, чтобы скрипт(бинд) не перевызывался заново, сбивая тем самым неоконченный каст, а проверяя некое условие выводил бы сообщение мол "рано ещё"..
Вот только как заставить это работать ... не знаю)
Пробовал назначать глобальные переменные, но эффекта это не дало.. Всё равно сбивается...
-
- 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")
Насколько я помню.. Отличия в том, что это пишется в реестр. а не в память инжекта.., что несколько снижает скорость обработки, но увеличивает стабильность...
Что же.. потестируем и такой вариант.
-
- Posts: 38
- Joined: 2004-05-26 16:39:57
- Location: www.myruo.ru
- Contact:
-
- 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
чет не парит такая система....
-
- 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
а вот такая заработала....ыыыыыыыыыы
