
1) скидывает раздельно в 3 разных контейнера: железо, золото+камни, цветную руду.
Code: Select all
sub Dropore()
var tColor = uo.getcolor('finditem')
VAR i,Exit, ConTainer
var Chest = '0x40B3807A'
var OreBox = '0x40DA6660'
var HiOreBox = '0x40F0C0A3'
DIM Ore[13]
Ore[0]='0x19B7' ; 1 ore
Ore[1]='0x19BA' ; 2 ore
Ore[2]='0x19B8' ; 3 ore
Ore[3]='0x19B9' ; >3 ore
Ore[4]='0x0F11' ; saphires
Ore[5]='0x0F16' ; amethysts
Ore[6]='0x0F18' ; tourmalines
Ore[7]='0x0F15' ; citrines
Ore[8]='0x0F10' ; emeralds
Ore[9]='0x0F0F' ; star sapphires
Ore[10]='0x0F26' ; diamonds
Ore[11]='0x1F4C' ; recall scrolls
Ore[12]='0x0EED' ; gold
UO.UseObject(Chest)
wait(500)
UO.UseObject(OreBox)
wait(500)
UO.UseObject(HiOreBox)
For i=0 to 12
Exit=0
repeat
UO.FindType(Ore[i], -1, 'my')
if UO.GetQuantity('finditem')>0 then
If UO.GetColor('finditem')=='0x0000' AND i<4 Then
Container=UO.GetSerial(OreBox)
Else
if i>3 then
Container=UO.GetSerial(Chest)
else
Container=UO.GetSerial(HiOreBox)
Endif
Endif
UO.MoveItem('finditem',0,Container)
wait(500)
Else
Exit=1
endif
until Exit==1
Next
end sub
2) то же самое но с логированием набранной руды. Нужно правильно цвета прописать и больше ничего не трогать.
Code: Select all
sub Dropore()
VAR i,j,Exit,Container
var Chest = '0x40B3807A'
var OreBox = '0x40DA6660'
var HiOreBox = '0x40F0C0A3'
DIM Ore[13]
Ore[0]='0x19B7' ; 1 ore
Ore[1]='0x19BA' ; 2 ore
Ore[2]='0x19B8' ; 3 ore
Ore[3]='0x19B9' ; >3 ore
Ore[4]='0x0F11' ; saphires
Ore[5]='0x0F16' ; amethysts
Ore[6]='0x0F18' ; tourmalines
Ore[7]='0x0F15' ; citrines
Ore[8]='0x0F10' ; emeralds
Ore[9]='0x0F0F' ; star sapphires
Ore[10]='0x0F26' ; diamonds
Ore[11]='0x1F4C' ; recall scrolls
Ore[12]='0x0EED' ; gold
DIM Colors[16]
Colors[0]='0x0000' ; Iron
Colors[1]='0x09F0' ; Gorgan
Colors[2]='0x09D3' ; Steel
Colors[3]='0x0BA7' ; Eldar
Colors[4]='0x08AF' ; Plut
Colors[5]='0x0085' ; Dragon
Colors[6]='0x0060' ; Aqua
Colors[7]='0x09E6' ; Elvin
Colors[8]='0x010F' ; Krinit
Colors[9]='0x09DA' ; Vulkan
Colors[10]='0x09EC' ; Blood Crest
Colors[11]='0x0445' ; Sand Rock
Colors[12]='0x0498' ; Acid
Colors[13]='0x0485' ; Crystaline
Colors[14]='0x0770' ; BlackRock
Colors[15]='0x0498' ; Obsid
DIM log[16]
log[0]=0 ; Iron
log[1]=0 ; Gorgan
log[2]=0 ; Steel
log[3]=0 ; Eldar
log[4]=0 ; Plut
log[5]=0 ; Dragon
log[6]=0 ; Aqua
log[7]=0 ; Elvin
log[8]=0 ; Krinit
log[9]=0 ; Vulkan
log[0]=0 ; Blood Crest
log[11]=0 ; Sand Rock
log[12]=0 ; Acid
log[13]=0 ; Crystaline
log[14]=0 ; BlackRock
log[15]=0 ; Obsid
uo.textclear()
uo.textopen()
UO.UseObject(Chest)
wait(500)
UO.UseObject(HiOreBox)
wait(500)
UO.UseObject(OreBox)
wait(500)
For i=0 to 3
for j=0 to 15
uo.FindType(Ore[i], Colors[j], 'backpack')
if UO.FindCount()>0 then
log[j]=log[j]+UO.GetQuantity('finditem')
uo.click('finditem')
wait(500)
UO.TextPrint('Руда: ' +uo.getname('finditem') +'. Количество = ' +str(log[j]) )
If UO.GetColor('finditem')=='0x0000' Then
UO.Moveitem('finditem', 0, OreBox)
wait(900)
else
UO.MoveItem('finditem', 0, HiOreBox)
wait(900)
endif
endif
next
Next
For i=4 to 12
uo.FindType(Ore[i], -1, 'backpack')
if UO.FindCount()>0 then
UO.MoveItem('finditem', 0, Chest)
wait(900)
endif
Next
end sub
Без обид но опечатки левые совершенно. Хотя бы прочитайте мануалы и посмотрите примеры.