Page 1 of 1

помогите с резистом... плиз

Posted: 2006-11-28 14:40:36
by Grim Reaper
вот скрипт на спаринг

Code: Select all

sub maina() 
   VAR E, t, Enemy='0x0005EB3A' , MinHP=70, G=true, L, Weap='0x4046DE99' ; type of weapon
     UO.Attack(Enemy) 
   UO.DeleteJournal() 
   while G==true 
      wait(500) 
      if  not UO.ObjAtLayer("Rhand") then 
         UO.FindType(Weap,-1,'backpack') 
         if  UO.FindCount() then 
            UO.Equip('Rhand','finditem') 
         endif 
      endif 
      if  UO.InJournal("stay") or UO.Life<MinHP then 
         UO.Say("stay") 
         t=UO.Timer() 
         repeat 
            E=true 
            UO.Exec('warmode 0') 
            wait(500) 
            if  UO.WarMode()==1 then 
               E=false 
               UO.Say("stay") 
               t=UO.Timer() 
            endif 
         until E==true and UO.Timer()>=t+30 
         CheckLag() 
         UO.SetArm('myarm') 
         while UO.Life<UO.Str 
            L=UO.Life 
            UO.Exec('warmode 0') 
            DelJ("the") 
            t=UO.Timer() 
            UO.Exec('bandageself') 
            repeat 
               Wait(500) 
            until UO.InJournal("You put") or UO.InJournal("barely help") or UO.InJournal("need healing") or UO.Life<L or UO.Timer()>t+100 
            CheckLag() 
            if UO.Life<L then 
               UO.Say("stay") 
            endif 
         wend 
         CheckBandage() 
         UO.Arm('myarm') 
         if not UO.InJournal("iiaoaee!") then 
            UO.Say("go") 
            repeat 
               wait(50) 
            until UO.InJournal("go") or UO.Life<UO.Str 
            DelJ(UO.GetName()+": go") 
            repeat 
               wait(50) 
            until UO.InJournal("go") or UO.Life<UO.Str 
         else 
            UO.Say("go") 
         endif 
         UO.DeleteJournal() 
         UO.Attack(Enemy) 
      endif 
      if UO.Dead() then 
         UO.Exec('warmode 1') 
      endif 
   wend 
end sub 

sub DelJ(s) 
   VAR MN=UO.InJournal(s) 
    while MN > 0    
       UO.SetJournalLine(MN-1, '')    
       MN=UO.InJournal(s) 
    wend 
end sub 

sub CheckLag() 
   DelJ("backpack") 
   UO.Click('backpack') 
   repeat 
      wait(500) 
   until UO.InJournal('backpack') 
end sub 

sub CheckBandage() 
   VAR Banka='0x40109A6E' ; ID of wash basin 
   UO.waittargetobject(banka) 
   UO.usetype(0x0e20) 
   Wait(1000) 
end sub

Code: Select all

Когда-нибудь мне надоест :( aka I'm
сделайте плиз чтобы чары друг в друга кидали стрелки, если маны мало пьёт манку и медитирует(шард ДРВ)

to murderators: Задолбали флудерасить! Если Yoko суд ходит раз в месяц, то вы считаете, что после каждого его визиа можно срач устаивать?

to Grim Reaper: не флуди и не апай. Кто захочет - поможет.

Posted: 2006-11-28 22:34:14
by Destruction
Вот вы просите о помощи, а сами не можете даже предоставить всю необходимую информацию.

Попозже прибью топик с тем, какую информацию надо предоставлять.

PS: Ответом на ваш вопрос, вполне является такое:

Code: Select all

sub cast_p1()
uo.cast("Magic Arrow", "p2")
endsub

sub cast_p2()
uo.cast("Magic Arrow", "p1")
endsub
Я незнаю и знать не хочу, что произошло в этой теме, но пока не уточнишь вопрос предельно ясно - ответ не получишь, т.к. телепатов похитили инопланетяне.

Posted: 2006-12-09 12:40:18
by Grim Reaper
вот примерный план скрипта

Code: Select all

проверка регов
проверка маны
если мало - медитируем
запуск стрелки в товарища
проверка на физл
сказать {go}
удалить журнал
ждем пока товарищ скажет {go}
удалить журнал
проверка хелов если меньше 70 то сказать {stay}
если в журнале {stay} то хилимся
удалить журнал
если нет то сначала

Posted: 2006-12-09 14:04:31
by Destruction
Описание не совсём ясное, вот написал тут, в окошке скрипта..

Code: Select all

sub cast.MagicArrow()
var msg, rep
repeat
   uo.addObject( "target" )
   while uo.targeting()
      wait( 100 )
   wend
   if NOT Check.Reagents( "Magic Arrow" ) then
      uo.print( "No reagents" )
      return false
   endif
   Check.Mana( "Magic Arrow" )
   uo.cast( "Magic Arrow", "target" )
   uo.print( "{go}" )
   uo.deletejournal()
   repeat
      wait( 100 )
      msg = uo.injournal( "{go}" ) -1
   until uo.journalserial( msg ) == uo.getSerial( "target" )
   if uo.getHP() < 70 then
      uo.print( "{stay}" )
   endif
   if uo.injournal( "{stay}" ) then
      healing()
      uo.deletejournal()
   else
      rep = true
   endif
until NOT rep
endsub

Sub healing()
   ; лечение
endsub

Sub Check.Reagents( spell )
if spell == "Magic Arrow" then
   ; проверка необходимых регов
endif
endsub

Sub Check.Mana( spell )
if spell = "Magic Arrow" then
   while uo.mana < 4
      if uo.warmode() then
         uo.warmode( false )
      endif
      uo.useskill( "Meditation" )
      wait( 500 )
   wend
endif
endsub
PS: Надо бы юзеров научить блок-схемы рисовать, а то понять невозможно что пишут -(

Posted: 2006-12-09 20:37:32
by Grim Reaper
Вот, наваял а работоть не хочет помогите плиз...

Code: Select all

sub cast()
var rep
var opponent='id vraga'
var fizzle='The spell'
uo.deletejournal()
   if NOT Check.Reagents( "Magic Arrow" ) then 
      uo.print( "No reagents" ) 
      return false
   endif
   Check.Mana( "Magic Arrow" ) 
   uo.cast( "Magic Arrow", "opponent" ) 
   if uo.injournal(fizzle) then
   repeat
   else
      uo.deletejournal()
   endif
   wait(100)
   until uo.journalserial("go") == uo.getSerial( "opponent" ) 
      if uo.getHP() < 70 then 
      uo.say("stay") 
   endif 
   if uo.injournal("stay") then 
      healing() 
      uo.deletejournal() 
   else 
      rep = true 
   endif 
until NOT rep 
endsub 

Sub healing() 
var myarm 
uo.setarm('myarm') 
uo.bandageself()
wait(500) 
UO.arm('myarm') 
endsub 

Sub Check.Reagents( spell ) 
if spell == "Magic Arrow" then 
   ; проверка необходимых регов 
endif 
endsub 

Sub Check.Mana( spell ) 
if spell = "Magic Arrow" then 
   while uo.mana < 4 
      if uo.warmode() then 
         uo.warmode( false ) 
      endif 
      uo.useskill( "Meditation" ) 
      wait( 500 ) 
   wend 
endif 
endsub