Code: ################## # Black Smithing # ################## # # Ignots on the ground. Smith hammer on the right hand. # We're standing near a forge, which we'll target and # near ingots. If you can't find ingots - ,set finddistance 10 # When a quantity of produced item more than 20 -smelthing # for ingots. # 21.12.06 .Tested on shard Dragon World # var kls=0 var Container='0x4050B366' ;Сундук с ингами var Containerb='0x402C32D2' ;Сундук с багами var Unload='0x402BD1E0' ;Куда все кидать var CountIng=50 ; Сколько ингов брать var meshok='0x0E76' ;Тип бага) var smeshok VAR CraftChest='0x402C32D2' VAR OreBox = "0x4050B366" VAR bag='0x0E76'
sub main() var Exit=0, LastTimer uo.useobject(Container) wait(1000) uo.useobject(Containerb) wait(1000) uo.useobject(Unload) wait(1000) var MenuIron="'Blacksmithing' 'Weapons'" var MenuOther="'Colored' 'Weapons'" var MenuSwords="Weapons' 'Swords'" var MenuDagger="'Swords' 'Dagger'" var MenuDagger1="'Swords' 'Dagger'"
var i=0
wait(1000)
dim ColorOfIng[9] dim NameOre[9] dim TypeOre[9]
NameOre[0]="' " NameOre[1]="'Rusty " NameOre[2]="'Old Copper " NameOre[3]="'Dull Copper " NameOre[4]="'Copper " NameOre[5]="'Bronze " NameOre[6]="'Silver " NameOre[7]="'Shadow " NameOre[8]="'Agapite " NameOre[9]="'Rose "
TypeOre[0]='0x1BEF' ; Iron TypeOre[1]='0x1BEF' ; Rusty TypeOre[2]='0x1BEF' ; Old Copper TypeOre[3]='0x1BEF' ; Dull Copper TypeOre[4]='0x1BE3' ; Copper TypeOre[5]='0x1BEF' ; Bronze TypeOre[6]='0x1BF5' ; Silver TypeOre[7]='0x1BEF' ; Shadow TypeOre[8]='0x1BEF' ; Agarite TypeOre[9]='0x1BEF' ; Rose
ColorOfIng[0]='0x0000' ; Iron ColorOfIng[1]='0x0750' ; Rusty ColorOfIng[2]='0x0590' ; Old Copper ColorOfIng[3]='0x060A' ; Dull Copper ColorOfIng[4]='0x0000' ; Copper ColorOfIng[5]='0x0488' ; Bronze ColorOfIng[6]='0x0000' ; Silver ColorOfIng[7]='0x096B' ; Shadow ColorOfIng[8]='0x0193' ; Agarite ColorOfIng[9]='0x0014' ; Rose
while not uo.dead()
for i=0 to 9 checklags() uo.FindType(TypeOre[i],ColorOfIng[i],Container) if uo.GetQuantity('finditem') > 10 then uo.cancelmenu() uo.Exec('automenu '+MenuDagger) uo.Exec('automenu '+NameOre[i]+MenuSwords) if i>0 Then uo.Exec('automenu '+MenuOther) end if uo.Exec('automenu '+MenuDagger1) uo.Exec('automenu '+MenuIron) bs(TypeOre[i],ColorOfIng[i],NameOre[i]) endif next
wend end sub
sub bs(IngType,IngColor,NameOre) var ext=0,vs,c=0
while ext <> 1 if kls == 0 then checklags() UO.UnSetCatchBag() UO.SetCatchBag(Unload) wait(2000) UO.FindType( meshok, -1, Containerb ) if uo.FindCount() > 0 then UO.Grab('1','finditem') wait(2000) smeshok=UO.GetSerial('finditem') UO.UnSetCatchBag() wait(2000) UO.SetCatchBag(smeshok) else uo.print("Закончились мешки конец") uo.exec("terminate all") endif kls=kls+1 wait(700) end if
uo.FindType(IngType,IngColor,'backpack') if uo.GetQuantity('finditem') < 10 then checklags() UO.UnSetCatchBag() wait(2000) GetItem(IngType,IngColor,CountIng,Container,'backpack') uo.FindType(IngType,IngColor,'backpack') if uo.GetQuantity('finditem') < 10 then ext=1 wait(1500) uo.print('Закончились '+NameOre+' инги берем другие') GetItem(IngType,IngColor,'all','backpack',Container) else uo.print('Взяли ' + Str( UO.Count( IngType ) ) + ' ингов') end if UO.SetCatchBag(smeshok) wait(1000) end if
uo.DeleteJournal() if ext <> 1 then checklags() uo.UseType(IngType) repeat wait(100) until uo.InJournal('put') || uo.InJournal('fail') endif
if uo.InJournal('put') then checklags() kls=kls+1 wait(500) if kls == 256 then kls=0 end if end if UO.Print('Осталось: ' + Str( UO.Count( IngType ) ) + ' ингов, сделано '+str(kls-1)+' дагеров' ) c=c+1 if c==10 then c=0 uo.usetype('0x097B') wait(700) uo.usetype('0x097B') wait(1000) checklags() uo.print("Spirit Speak...") uo.useskill ("Spirit Speak") uo.deletejournal() repeat wait(190) until UO.InJournal("You establish a connection to the netherworld.") or UO.InJournal("You fail your attempt at contacting the netherworld.") end if wend end sub
########### # GetItem # ###########
sub GetItem(type, color, quantity, where , to) uo.FindType(type,color,where) if uo.FindCount() then uo.moveitem('finditem',quantity,to) wait(750) else return false endif end sub
sub checklags() UO.DeleteJournal() UO.Click('backpack')
Repeat wait(700) Until UO.InJournal('backpack')
end sub
зделаити плиз чтобы если закончилась инги чтобы скрипт перишол на другой скрипт
вот это слово uo.exec('terminate all; exec smelting')
шард дрв СПС
|