Page 1 of 1
По поводу Running functions
Posted: 2005-08-21 17:51:06
by Entertainer
как сделать так, чтобы можно было запустить только один sub с конкретным названием
т.е. у меня в автолоде допустим есть скрипт на хилинг и в бою я нервно хапускаю этот скрипт несколько раз, дак вот как сделать так, чтобы если я пустил 1, то его же я уже не мог запустить
т.е. существует ли какая-то проверка либо программная либо в самом скрипт
типа
if uo.execed('main') then
uo.terminate('current sub')
типа такого
Posted: 2005-08-21 17:55:16
by flake
Code: Select all
; глобалка
Sub autostart()
UO.SetGlobal( 'check', '0' )
endsub
Sub Heal()
If UO.GetGlobal( 'check' ) == 0 Then
UO.SetGlobal( 'check', '1' )
#
# тут собственно твой макр
#
UO.SetGlobal( 'check', '0' )
EndIf
endsub
Posted: 2005-08-21 22:05:25
by Entertainer
хмхм, сделал вроде как ты сказал
но почему-то ни автостарта ни хила нет в списке функций
и простой exec не помогает
т.е. пускаю то автостарт то хил то вместе - ничего не происходит
Posted: 2005-08-22 13:28:43
by flake
автостарт просто запусти когда заходишь в УО. 1 раз.
Posted: 2005-08-22 15:09:14
by Entertainer
в смысле когда уже в игре, или когда только захожу
его просто нет в списке функций, запускать нечего
если запускать с хоткея - ничего не происходит
Posted: 2005-08-22 15:11:12
by Leo
Что бы запускались Sub напиши с маленькой буквы (sub).
Posted: 2005-08-22 15:44:16
by Entertainer
все понятно, должны быть == '0' в апострофах
Posted: 2005-08-22 15:57:50
by PCGamer
Entertainer wrote:все понятно, должны быть == '0' в апострофах
Да. Либо используй val()
Code: Select all
If val(UO.GetGlobal( 'check' )) == 0 Then
Posted: 2005-08-22 16:12:47
by flake
Упс, моя ошибка.
З.Ы.
Ты когда запускаешь автостарт ниче и не должно происходить.