Page 1 of 1

Драгоценные камни

Posted: 2012-04-17 19:31:49
by Siva
Как можно добавить в этот скрипт выгрузку драгоценных камней, что бы не прописывать все Type=0x0F26 и ......., камней??

Code: Select all

var Chest='0x400F05E5'

sub Drop()
uo.useobject(Chest)
wait(1000)
uo.findtype('0x19B7',-1,'backpack')
repeat
   if uo.findcount() then
      uo.MoveItem('finditem','0',Chest)
   endif
wait(800)
until uo.findcount()==0
uo.findtype('0x19B7',-1,'backpack')
      wait(800)
   endif
endif
end sub

Re: Драгоценные камни

Posted: 2012-04-17 20:03:27
by Mirage
Драг камней всего то штук 8-10.
Массив или чтото типо такого:

Code: Select all

sub main()
   Loot2(0xf0f, 0xf30, '-1', SundLoot, SundBi,'','','')      ; камни
endsub
   
Sub Loot2(Type1, Type2, Color, SourceContainer, TargetContainer,X,Y,Z)
   for TType = Type1 to Type2
      PUTLoot(TType, Color, SourceContainer, TargetContainer,X,Y,Z)
   next
end sub
Sub Loot(Type, Color, SourceContainer, TargetContainer,X,Y,Z)
   UO.FindType(Type, Color, SourceContainer)
   while UO.FindCount()
         timemove=UO.Timer()
         while UO.ContainerOf( UO.GetSerial('finditem') )==SourceContainer && timemove+20>UO.Timer()
            uo.MoveItem('finditem',0,TargetContainer,X,Y,Z)
            wait(lootwait)
         wend
      UO.FindType(Type, Color, SourceContainer)
   wend
end sub

Re: Драгоценные камни

Posted: 2012-04-18 20:03:35
by Siva
отдельно лутить или выгружать я могу, просто майнеры носят собой кучи камней, пока их не убьют и не выгружают, если не сложно посоветуюте можно ли рописать все Type одной строчкой без добавления новой функции

Code: Select all

sub main()
   Loot2(0xf0f, 0xf30, '-1', SundLoot, SundBi,'','','')      ; камни
endsub

Re: Драгоценные камни

Posted: 2012-04-18 22:13:46
by Mirage
не понял вопроса. А тут сколько строк и что именно нужно чтобы делал скрипт?

Re: Драгоценные камни

Posted: 2012-04-19 13:32:35
by Siva
Скрипт лесоруба, переделал его в майнетр, все работает, но у лесоруба и майнера немного разная выгрузка, я не смогу добавить в большой скрипт новые функции просто знаний не хватит, поэтому просто переделал скрипт выгрузки, мне хотелось бы понять или на примере что я должен добавить в свой скрипт чтобы он выгружал инги и все камни?

Code: Select all

sub Drop()
uo.useobject(Chest)
wait(1000)
uo.findtype('0x19B7',-1,'backpack')
repeat
   if uo.findcount() then
      uo.MoveItem('finditem','0',Chest)
   endif
waits(800)
uo.findtype('0x19B8',-1,'backpack')
repeat
   if uo.findcount() then
      uo.MoveItem('finditem','0',Chest)
   endif
waits(800)
uo.findtype('0x19B9',-1,'backpack')
repeat
   if uo.findcount() then
      uo.MoveItem('finditem','0',Chest)
   endif
waits(800)
uo.findtype('0x19BA',-1,'backpack')
repeat
   if uo.findcount() then
      uo.MoveItem('finditem','0',Chest)
   endif
waits(800)
 uo.findtype('0x19B7',-1,'backpack')
until uo.findcount()==0
   endif
uo.findtype('0x19B8',-1,'backpack')
until uo.findcount()==0
   endif
uo.findtype('0x19B9',-1,'backpack')
until uo.findcount()==0
   endif
until uo.findcount()==0
uo.findtype('0x19BA',-1,'backpack')
waits(1000)
if uo.count('0x0F0E','0x0631')<GetInvis then
   uo.findtype('0x0F0E','0x0631',ResChest)
   if uo.findcount() then
      uo.moveitem('finditem',str(GetInvis-uo.count('0x0F0E','0x0631')),'backpack')
      waits(800)
   endif
endif
end sub

Re: Драгоценные камни

Posted: 2012-04-19 18:48:51
by Mirage
нужно прочитать уроки про массивы и циклы for next. И попытаться осилить их. Ничего сложного в задаче нет.

Я же привел пример перекладывания ВСЕХ существующих драгоценных камней из сумки в сумку.

Ну вот пример попроще, без циклов.

Code: Select all

var ore1 = '0x19B7'
var ore2 = '0x19BA'
var ore3 = '0x19B8'
var ore4 = '0x19B9'

sub main()
putore()    ; скидываем руду
end sub

Sub putore()
   put(ore1,bag)
   put(ore2,bag)
   put(ore3,bag)
   put(ore4,bag)
end sub

Sub PUT(item, cont)
   while UO.Count( item ) > 0
      UO.FindType( item, -1, -1 )
      UO.MoveItem( 'finditem', 0, cont )
      wait(1000)
   wend
end sub