Page 1 of 1

помогите доделать скрипт на магери

Posted: 2005-05-01 16:43:22
by Kashita
у меня на шарде (шард доминарий), при касте поисона на себя, он себя отравляет, и как мне сделать чтоб при жизне меньше 50, он лечился...
и потом заново продолжал

Posted: 2005-05-01 21:57:04
by Kashita
ну вот чего то сделал,

Code: Select all

 sub magery() 
VAR LastTimer 
while NOT UO.Dead() 
UO.DeleteJournal() 
CheckLag() 
while UO.Mana>=10 
UO.Cast ('Poison', 'Self')
wait(3000) 
wend 
while UO.Mana<UO.Int 
LastTimer=UO.Timer() 
UO.UseSkill('Meditation') 
repeat 
wait(100) 
until UO.InJournal("You are") OR UO.InJournal("You lose") OR UO.Timer()>LastTimer+200 
UO.DeleteJournal()
CheckHeal()  
wait(2000) 
wend 
wend 
uo.useskill ("Spirit Speak") 
wait(4000)
end sub 

sub CheckLag() 
UO.DeleteJournal() 
UO.Click('backpack') 

repeat 
wait(500) 
until UO.InJournal('backpack') 
end sub

 
sub CheckHeal() 
if UO.Life<55 then 
UO.Say('guards') 
Repeat 
uo.Exec('warmode 0')
UO.Usetype("0x0E21") #Bandages 
UO.Exec("waittargetobject 0x00023D13")  # àéäè ÷àðà 
wait(3500) 
Until (UO.InJournal("need healing")) 
end if 
end sub 
подскажите что тут не правильно, и какие ошибки...

П.С. выдает ошибку "invalid serial index", пишет ее прям в окошке УО

Posted: 2005-05-02 07:44:33
by Sfagnum
UO.Exec("waittargetobject 0x00023D13") - это что? проверь серийник и необходимость этой строки.

Posted: 2005-05-02 08:09:50
by Beyonder
Помоему это прицел на себя. И стоит он не перед а после использования бинтов. И зачем-то еще и выставлен серийник на себя.
Вот модифицированный вариант этой функции.
Сразу скажу что журнал и его проверку я не терплю и сделал все проверки через количество бинтов, силу и жизни.

Code: Select all

sub CheckHeal()
  var BCount; //Количество бинтов в начале
  if UO.Life<55 then
    UO.Say('guards')
    uo.WarMode(0)
    Repeat
      UO.WaitTargetObject('self')
      UO.Usetype("0x0E21") #Bandages
      BCount=UO.Count('0x0E21') #Сколько было бинтов
      repeat
        wait(100)
      until UO.Count(0x0E21)<>BCount #Пока бинтов не станет меньше
    Until UO.Life==UO.Str #Пока не вылечимся
  end if
end sub

Posted: 2005-05-02 10:08:08
by Sfagnum
Beyonder wrote:Помоему это прицел на себя. И стоит он не перед а после использования бинтов. И зачем-то еще и выставлен серийник на себя.
хз... я чашку уже помыл... так что гадать не начем ;)
Beyonder wrote:

Code: Select all

      UO.WaitTargetObject('self')
      UO.Usetype("0x0E21") #Bandages
UO.bandageself() - м? :roll:

Posted: 2005-05-03 11:00:13
by Beyonder
У bandageself-а бывают странные глюки если в рюкзаке много цветных кучек бинтов. Он тогда не находит ни одну из кучек.

Posted: 2005-05-03 11:20:33
by Sfagnum
Beyonder wrote:У bandageself-а бывают странные глюки если в рюкзаке много цветных кучек бинтов. Он тогда не находит ни одну из кучек.
не без этого ;) лечится - открытием/закрытием бакпака или перезакидыванием оных в пак.
а предложенный вариант таки не выдаёт таких артефактов вообще?

Posted: 2005-05-03 13:55:47
by DIKIY
На этом шарде магию качать "Ин Лором" нужно!

Posted: 2005-05-04 12:04:32
by Beyonder
2 Сфагнум:
Помоему не выдает. Тут вообще-то упрощенный вариант, я так вообще-то у себя сделал так:

Code: Select all

UO.FindType('bandage',-1,'self')
UO.WaitTargetObject('self')
UO.UseObject('finditem')
Так точно не сбиваеться.
2 Дикий:
Поменяй в строчке:

Code: Select all

UO.Cast ('Poison', 'Self')
название спела на любое какое хочешь и будет тебе счастье :).

Posted: 2005-05-04 14:15:56
by Sfagnum
Beyonder wrote:2 Сфагнум:
Помоему не выдает. Тут вообще-то упрощенный вариант, я так вообще-то у себя сделал так:

Code: Select all

UO.FindType('bandage',-1,'self')
UO.WaitTargetObject('self')
UO.UseObject('finditem')
Так точно не сбиваеться.
век живи - век учись :lol:

Posted: 2005-05-04 15:20:32
by Destruction
DIKIY wrote:На этом шарде магию качать "Ин Лором" нужно!
Ты не прав, он не магию качает, а хилинг, не надо тут писать не по теме, тем более если сам играть толком на оминарии еще не научился.

Posted: 2005-05-05 10:22:37
by DIKIY
Destruction wrote:
DIKIY wrote:На этом шарде магию качать "Ин Лором" нужно!
Ты не прав, он не магию качает, а хилинг, не надо тут писать не по теме, тем более если сам играть толком на оминарии еще не научился.
:roll: