Мобокилл

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
kuviCk
Posts: 127
Joined: 2004-09-08 13:09:13
Contact:

Мобокилл

Post by kuviCk »

Имеется вот такой скрипт. Никак не могу понять как в него вставить массив мобов. Может быть кто-нибудь поможет...

Code: Select all

var MobType,WeaponType,ShieldType,Mob,Distance,Corpse,Amount
; Переменные
WeaponType=UO.GetSerial(UO.ObjAtLayer('Rhand'))
ShieldType=UO.GetSerial(UO.ObjAtLayer('Lhand'))
Distance=15 ; дистанция
Bandages='0x0E21' ; тип бинтов
MobType='0x0003' ; тип моба

sub UOKillerBot()
dim Looting[10]
Looting[0]=4
Looting[1]='0x1450'
Looting[2]='0x1452'
Looting[3]='0x1451'
Looting[4]='0x1453'

UO.Set('finddistance',Distance)
while not UO.Dead()
UO.FindType(MobType,'-1','ground')
if UO.FindCount()>0 then
Mob=UO.GetSerial('finditem')
while UO.GetDistance(Mob)>1
Walker(UO.GetX(Mob),UO.GetY(Mob),1)
wend
UO.Exec('warmode 1')
UO.DeleteJournal()
UO.UseType(WeaponType)
UO.UseType(ShieldType)
wait(100)
UO.WaitTargetType(Mob)
wait(100)
UO.Attack(Mob)
repeat
wait(100)
if UO.GetDistance(Mob)>1 then
Walker(UO.GetX(Mob),UO.GetY(Mob),1)
end if
until UO.InJournal('Body of')
UO.Exec('warmode 0')
wait(100)
; Looting
Corpse=UO.GetSerial('lastcorpse')
UO.UseObject(Corpse)
wait(1000)
for Amount=1 to Looting[0]
while UO.GetQuantity('<'+Looting[i])
UO.MoveItem('<'+Looting[i])
wait(700)
wend
next
while UO.Life<UO.STR-30 and UO.Count(Bandages)
UO.BandageSelf()
wait(3500)
wend
end if
wend
end sub
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Мобокилл

Post by Mirage »

Code: Select all

while not UO.Dead()
for i =0 to 100
UO.FindType(MobType[i],'-1','ground')
...
kuviCk
Posts: 127
Joined: 2004-09-08 13:09:13
Contact:

Re: Мобокилл

Post by kuviCk »

а закрывать for где ? :) вот в этом основной вопрос :)
kuviCk
Posts: 127
Joined: 2004-09-08 13:09:13
Contact:

Re: Мобокилл

Post by kuviCk »

Вот посмотри мираж вродибы так ?

Code: Select all

var MobType,WeaponType,ShieldType,Mob,Distance,Corpse,Amount,i,Bandages
; Переменные
Distance=10 ; дистанция
Bandages='0x0E21' ; тип бинтов
MobType='0x0003' ; тип моба

sub UOKillerBot()
WeaponType=UO.GetSerial(UO.ObjAtLayer('Rhand'))
ShieldType=UO.GetSerial(UO.ObjAtLayer('Lhand'))

dim Mobs[10]
Mobs[0]=1
Mobs[1]='0x0003'
Mobs[2]=''
Mobs[3]=''

dim Looting[10]
Looting[0]=1
Looting[1]='0x0EED'
Looting[2]=''
Looting[3]=''
Looting[4]=''

UO.Set('finddistance',Distance)
while not UO.Dead()
for i=1 to Mobs[0]
UO.FindType(Mobs[i],'-1','ground')
if UO.FindCount()>0 then
Mob=UO.GetSerial('finditem')
while UO.GetDistance(Mob)>1
CheckLag()
Walker(UO.GetX(Mob),UO.GetY(Mob),1)
wend
UO.Exec('warmode 1')
UO.DeleteJournal()
CheckLag()
UO.UseObject(WeaponType)
UO.UseObject(ShieldType)
wait(100)
UO.WaitTargetType(Mob)
wait(100)
UO.Attack(Mob)
repeat
wait(100)
if UO.GetDistance(Mob)>1 then
CheckLag()
Walker(UO.GetX(Mob),UO.GetY(Mob),1)
end if
until UO.InJournal('Body of')
UO.Exec('warmode 0')
wait(100)
; Looting
Corpse=UO.GetSerial('lastcorpse')
CheckLag()
UO.UseObject(Corpse)
wait(1000)
for Amount=1 to Looting[0]
while UO.GetQuantity('<'+Looting[Amount])
CheckLag()
UO.MoveItem('<'+Looting[Amount])
wait(700)
wend
next
while UO.Life<UO.STR-20 and UO.Count(Bandages)
CheckLag()
UO.BandageSelf()
wait(3500)
wend
end if
next
wend
end sub

sub CheckLag()
if UO.Waiting()>0 then
UO.Exec('canceltarget')
end if
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(100)
until UO.InJournal('backpack')
end sub

Только вот единственная проблема. Мобов бить - бьет ходить ходит лутает но когда мобы кончаются и появляются снова он их как будето не видит. Из-за чего это может быть ?
Last edited by kuviCk on 2011-04-12 20:33:19, edited 1 time in total.
kuviCk
Posts: 127
Joined: 2004-09-08 13:09:13
Contact:

Re: Мобокилл

Post by kuviCk »

Хотя вроди сам тупанул бью скеллетонов от которых не остается корпса. и нету Body of :roll:
Post Reply