
2.дошел до первого координата Х,У и потом включается поиск твари
3.нашел бежит к нему с обходом
4. если снято хп больше 50% лечится
5.убил лутит типы итемов
6.залутил потом пишит .sac и на труп
7 бежит к следуещиму координату если там нету твари бежи дальше...
а вам слабо ?

буду приочень благодарен

соедините )
3.
Code: Select all
########################
sub find()
Var lastX,lastY,myX,myY,Victim,LastTimer,i,z
myX=UO.GetX()
myY=UO.GetY()
lastX=myX
lastY=myY
repeat
UO.set('finddistance', 15)
UO.findtype('0x0047','-1','ground')
wait(100)
if UO.FindCount()>0 then
Victim=UO.GetSerial('finditem')
repeat
if UO.GetDistance(Victim)>1 then
WalkN(0,0,Victim)
end if
UO.attack(Victim)
wait(1000)
wait(100)
until uo.dead() or uo.GetX(Victim)<1 or LastTimer+100<UO.Timer()
end if
wait(200)
wait(200)
if Numb(myX-lastX)<=3 and Numb(myY-lastY)<=3 then
end if
if UO.Weight>=UO.Str*4 then
wait(500)
UO.Ignore('finditem')
unload()
end if
until uo.dead()
end sub
sub Numb(num)
if num>=0 then
return num
else
return num*(-1)
end if
end sub
Sub WalkN(x,y,Target)
VAR i, StepSucess, dx, dy, Exit=0
while Exit<>1
###---ÐÀÑ×ÅÒ ÄÂÈÆÅÍÈß
if Target<>"" then
dx=UO.GetX(Target)-UO.GetX()
dy=UO.GetY(Target)-UO.GetY()
if UO.GetDistance(Target)<2 then
Exit=1
end if
else
dx=x-UO.GetX()
dy=y-UO.GetY()
if dx==0 AND dy==0 Then
Exit=1
end if
end if
if dx<>0 AND dy<>0 then
if dx>0 AND dy>0 then
StepSucess=Go(3,40,300) # SE - DownArrow
if StepSucess==-1 then
StepSucess=Go(7,38,300) # WN - UpArrow
StepSucess=Go(1,39,300) # NE - RightArrow
if StepSucess==-1 then
StepSucess=Go(5,37,300) # SW - LeftArrow
end if
end if
end if
if dx>0 AND dy<0 then
StepSucess=Go(1,39,300) # NE - RightArrow
if StepSucess==-1 then
StepSucess=Go(5,37,300) # SW - LeftArrow
StepSucess=Go(3,40,300) # SE - DownArrow
if StepSucess==-1 then
StepSucess=Go(7,38,300) # WN - UpArrow
end if
end if
end if
if dx<0 AND dy>0 then
StepSucess=Go(5,37,300) # SW - LeftArrow
if StepSucess==-1 then
StepSucess=Go(1,39,300) # NE - RightArrow
StepSucess=Go(7,38,300) # WN - UpArrow
if StepSucess==-1 then
StepSucess=Go(3,40,300) # SE - DownArrow
end if
end if
end if
if dx<0 AND dy<0 then
StepSucess=Go(7,38,300) # WN - UpArrow
if StepSucess==-1 then
StepSucess=Go(3,40,300) # SE - DownArrow
StepSucess=Go(5,37,300) # SW - LeftArrow
if StepSucess==-1 then
StepSucess=Go(1,39,300) # NE - RightArrow
end if
end if
end if
end if
if dx<>0 AND dy==0 then
if dx>0 then
StepSucess=Go(2,34,300) # E - PgDown
if StepSucess==-1 then
StepSucess=Go(3,40,300) # SE - DownArrow
if StepSucess==-1 then
StepSucess=Go(1,39,300) # NE - RightArrow
end if
StepSucess=Go(2,34,300) # E - PgDown
end if
end if
if dx<0 then
StepSucess=Go(6,36,300) # W - Home
if StepSucess==-1 then
StepSucess=Go(7,38,300) # WN - UpArrow
if StepSucess==-1 then
StepSucess=Go(5,37,300) # SW - LeftArrow
end if
StepSucess=Go(6,36,300) # W - Home
end if
end if
end if
if dx==0 AND dy<>0 then
if dy>0 then
StepSucess=Go(4,35,300) # S - End
if StepSucess==-1 then
StepSucess=Go(3,40,300) # SE - DownArrow
if StepSucess==-1 then
StepSucess=Go(5,37,300) # SW - LeftArrow
end if
StepSucess=Go(4,35,300) # S - End
end if
end if
if dy<0 then
StepSucess=Go(0,33,300) # N - PgUp
if StepSucess==-1 then
StepSucess=Go(1,39,300) # NE - RightArrow
if StepSucess==-1 then
StepSucess=Go(7,38,300) # WN - UpArrow
end if
StepSucess=Go(0,33,300) # N - PgUp
end if
end if
end if
wend
end sub
Sub Go(dir,key,walkwait)
VAR x,y, OldDir, w=30
x=UO.GetX()
y=UO.GetY()
OldDir=UO.GetDir()
if UO.GetDir()<>dir then
UO.Press(key)
wait(walkwait)
end if
UO.Press(key)
wait(w)
if x==UO.GetX() AND y==UO.GetY() AND OldDir<>UO.GetDir() then
UO.Press(key)
wait(w)
end if
end sub
4.
###################
Code: Select all
#Healing Script
sub Healing()
UO.print("Autohealing for BeePK")
UO.DeleteJournal()
repeat
if not uo.dead() then
if UO.InJournal("You feel very ill")>0 or UO.InJournal("You feel deathly sick")>0 or UO.InJournal("You feel extremely sick")>0 or UO.InJournal("You contaminated")>0 then
UO.Exec("bandageself")
wait(1400)
UO.DeleteJournal()
end if
if uo.life < uo.str-10 then
uo.exec("bandageself")
end if
end if
wait(1400)
until false
5.
###########################
Code: Select all
sub Looting()
var t,l,m
m=8 ##
t=300
dim LootingItem[8] ## Ìàññèâ øìîòîê äëÿ ëóòà
LootingItem[1] = 0x02C5 ## Òîì äåêñû
LootingItem[2] = 0x028B ## Òîì ñèëû
LootingItem[3] = 0x0EED ## lave
LootingItem[4] = 0x1406 ## kryss
LootingItem[5] = 0x1400 ## mace
LootingItem[6] = 0x13FC ## crossbow
LootingItem[7] = 0x13B1 ## bow
LootingItem[8] = 0x0E76 ## sumka DM
uo.set("finddistance",4)
for l=1 to m
uo.findtype(LootingItem[l],"-1","1")
while uo.FindCount() > 0
uo.grab("0","finditem")
wait(300)
uo.findtype(LootingItem[l],"-1","1")
wend
next
if uo.GetSerial("lastcontainer") == uo.GetSerial(uo.ObjAtLayer('Bpack')) then
goto end
endif
for l=1 to m
uo.FindType(LootingItem[l],"-1","lastcontainer")
while UO.FindCount() > 0
uo.grab(0,"finditem")
wait(50)
uo.FindType(LootingItem[l],"-1","lastcontainer")
wend
next
end:
end sub
6.
#################################
Code: Select all
sub tix()
While Not uo.dead()
if uo.injournal('Body') and uo.getdistance('lastcorpse')<9 then
Uo.waittargetobject('lastcorpse')
Uo.msg('.sac')
Uo.deletejournal()
endif
Endif
wait(1)
if uo.injournal('Body') and uo.getdistance('lastcorpse')<9 then
uo.waittargetobject('lastcorpse')
UO.msg('.sac')
uo.deletejournal()
Endif
wend
end sub
#################################################################
Code: Select all
А вам слабо использовать теги? aka I'm