Page 1 of 1
Помогите править скрипт
Posted: 2005-09-18 17:24:15
by Thanatosik
Вот написал свой первый скрипт.. В принципе рабоает, только вот функция Meditation "плодится".. подредактируйте кому не трудно плиз так, что бы после того как чар отметировал он "убивал" функуцию медитации и начинал кастовать ...
Code: Select all
sub cast()
while true
UO.Exec("cast 'Earthquake'"); # кастуем инвиз
wait(4500);
if UO.Mana <30 then
UO.Say(",exec meditation")
while Uo.Mana<90
wend
end if
WEND
end sub
sub meditation()
if UO.Mana <35 then # если мана меньше 35
UO.UseSkill("Meditation"); # медитируем
repeat
wait(100)
until UO.InJournal("You are at peace");
##### Вот тут по идее должна быть команда что бы
##### убивать єту функцию
UO.Say(",exec Cast")
wend
end if
WEND
end sub
Posted: 2005-09-18 17:28:13
by Leo
Posted: 2005-09-18 17:46:13
by Thanatosik
Я єто читал, но не понял куда именно её вставлять.. если не сложно помоги, ато я уже повставлял ету функцию куда только можна )))
Posted: 2005-09-18 17:52:37
by Leo
Вот твой скрипт, тока всё намного проще и удобнее.
Code: Select all
sub cast()
while UO.Mana >= UO.INT
UO.Exec("cast 'Earthquake'")
wait(4500)
wend
UO.UseSkill('Meditation')
repeat
wait(500)
until UO.Mana >= UO.INT
UO.Exec("exec cast")
endsub
Posted: 2005-09-18 18:47:49
by Thanatosik
Спасибо но если не трудно всё же скажи как сделать то, просто то мой первый скрипт был, хотелось бы узнать что там и как ... кстати можно в инжекте сделать процидуру что бы например когда магери 105 начинал качать резист? То есть переходил на другой sub ?
Posted: 2005-09-19 05:39:47
by Solaire
Thanatosik wrote:Спасибо но если не трудно всё же скажи как сделать то, просто то мой первый скрипт был, хотелось бы узнать что там и как ... кстати можно в инжекте сделать процидуру что бы например когда магери 105 начинал качать резист? То есть переходил на другой sub ?
Code: Select all
sub cast()
while not UO.SkillVal("Magery", 1) ==1000
UO.Exec("cast 'Earthquake'"); # кастуем инвиз
wait(4500);
if UO.Mana <30 then
meditation()
;while Uo.Mana<90
;wend
end if
wend
end sub
sub meditation()
if UO.Mana <35 then # если мана меньше 35
UO.UseSkill("Meditation"); # медитируем
repeat
wait(100)
until UO.Mana >= UO.INT
;UO.Say(",exec Cast")
;wend
end if
;WEND
end sub
Вот, исправила. Во второй строке проверка на значение скилла.
Функцию медитации вызывать надо не так, тогда и прерывать не понадобится.
И еще. Из функции медитации он у тебя не выходил, если медитация физлилась. Так что либо так, как я исправила, либо делай проверку на сообщение о физле, и чтоб он пробовал заново. И, если работаешь с журналом, не забывай об UO.DeleteJournal().
