Спасибо, Beyonder тру скрипт замутил!
раскладываем вокруг себя 25 мешков кожу в сумку еду в сумку тюбик с краской в сумку
Code:
##############################
#######MIDDLE-EARTH.RU########
##############################
#Раскладываем вокруг себя 25 мешков. Кожу,еду, тюбик с краской в сумку.
#Скрипт красит сумку в указанный цвет когда она заполниться.
var SewingKit =0x0f9d
var Hides =0x1078
var cap =0x1db9
var food=0x097B
var bag=0x0E76
var dyetub=0x0FAB
var full=0x0250
var curBag = 0
sub statusChecker()
while (true)
WaitJournal('status',-1)
DeleteJournalLine('status')
UO.Sayu('.reply Bag number ',str(curBag+1))
wend
end sub
sub doMakeCapsFromBackPack()
dim bags[256]
var bagcnt = 0
;Filling bag array
UO.IgnoreReset()
uo.set( 'finddistance', 2 )
UO.FindType(bag,-1,'ground')
while (UO.FindCount())
bags[bagcnt] = UO.GetSerial('finditem')
UO.Ignore(bags[bagcnt])
UO.Print("Found bag: "+bags[bagcnt])
bagcnt = bagcnt + 1
UO.FindType(bag,-1,'ground')
wend
UO.IgnoreReset()
uo.set( 'finddistance', 32 )
;End of bag array filling
var newCap = 0
var break = false
while (not UO.InJournal('destroy')) and (curBag < bagCnt)
UO.DeleteJournal()
UO.WaitMenu('Choose','leather','What','Leather Cap')
UO.WaitTargetType(Hides)
UO.usetype(SewingKit)
wait(500)
UO.WaitTargetType(Hides) ;for exceptional target
WaitJournal('in your pack|destroy',10000)
wait(500)
if (UO.InJournal('exceptional') == 0) then ;no exceptional
UO.canceltarget() ;cancel target wait
endif
newCap = WaitType(cap,1000)
UO.MoveItem(newCap,0,bags[curBag])
wait(300)
if (UO.InJournal('heavy')) then
uo.waittargetobject(bags[curBag])
uo.usetype(dyetub,full)
curBag = curBag + 1
if (curBag < bagCnt) then
UO.MoveItem(newCap,0,bags[curBag])
endif
endif
wait(100)
uo.usetype(food)
wait(100)
wend
end sub
sub doMakeCapsFromGround()
dim bags[256]
var bagcnt = 0
;Filling bag array
UO.IgnoreReset()
uo.set( 'finddistance', 2 )
UO.FindType(bag,-1,'ground')
while (UO.FindCount())
bags[bagcnt] = UO.GetSerial('finditem')
UO.Ignore(bags[bagcnt])
UO.Print("Found bag: "+bags[bagcnt])
bagcnt = bagcnt + 1
UO.FindType(bag,-1,'ground')
wend
UO.IgnoreReset()
uo.set( 'finddistance', 32 )
;End of bag array filling
var newCap = 0
var break = false
while (not UO.InJournal('destroy')) and (curBag < bagCnt)
UO.DeleteJournal()
UO.WaitMenu('Choose','leather','What','Leather Cap')
UO.WaitTargetGround(Hides)
UO.usetype(SewingKit)
wait(500)
UO.WaitTargetGround(Hides) ;for exceptional target
WaitJournal('in your pack|destroy',10000)
wait(500)
if (UO.InJournal('exceptional') == 0) then ;no exceptional
UO.canceltarget() ;cancel target wait
endif
newCap = WaitType(cap,1000)
UO.MoveItem(newCap,0,bags[curBag])
wait(300)
if (UO.InJournal('heavy')) then
uo.waittargetobject(bags[curBag])
uo.usetype(dyetub,full)
curBag = curBag + 1
if (curBag < bagCnt) then
UO.MoveItem(newCap,0,bags[curBag])
endif
endif
wait(100)
uo.usetype(food)
wait(100)
wend
end sub
sub WaitJournal(Line,maxWait)
if (maxWait < 0) then
maxWait = 60*60*24*30*12
end if
while (not UO.InJournal(Line)) and (maxWait > 0)
wait(100)
maxWait = maxWait - 100
wend
wait(100)
end sub
sub WaitType(Type,maxWait)
if (maxWait < 0) then
maxWait = 60*60*24*30*12
end if
UO.findtype(Type,-1,-1)
while (not UO.FindCount()) and (maxWait > 0)
wait(100)
maxWait = maxWait - 100
UO.findtype(Type,-1,-1)
wend
return uo.getserial("finditem")
end sub
Sub DeleteJournalLine(msg)
while uo.injournal(msg)
uo.setjournalline(uo.injournal(msg)-1,"")
wend
endsub