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
sub cast_p1()
uo.cast("Magic Arrow", "p2")
endsub
sub cast_p2()
uo.cast("Magic Arrow", "p1")
endsub
Я незнаю и знать не хочу, что произошло в этой теме, но пока не уточнишь вопрос предельно ясно - ответ не получишь, т.к. телепатов похитили инопланетяне.
проверка регов
проверка маны
если мало - медитируем
запуск стрелки в товарища
проверка на физл
сказать {go}
удалить журнал
ждем пока товарищ скажет {go}
удалить журнал
проверка хелов если меньше 70 то сказать {stay}
если в журнале {stay} то хилимся
удалить журнал
если нет то сначала
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