Page 1 of 1

ПРошу скрипт на тинкеринг!

Posted: 2005-08-25 22:08:05
by abas
дайте пожалуйста скрипт на тинкеринг что бы делать никлэйки!

Posted: 2005-08-26 11:45:28
by Leo

Code: Select all

VAR Cont1 = '0x4037360A' ;ресурсы, пустые мешки и фишстейки 
VAR Cont2 = '0x40285A50' ;сундук де будут лежать полные мешки
VAR Count = 250 ;какое количество ресусров бёрем
var Tools = '0x1EBC' ;инструмент, при котором появляется
var Creat = '0x1085' ;тип созданной вещи(удочка, даггер и т.д.)
VAR Food = '0x097B' ;тип еды, кторую будем кушать
var Bag = '0x0E76' ;тип мешочков
var Source = '0x1BEF'
var BagSer, i=0, fizl=0, control=5, time, z

sub tinkIron()
Tools = '0x1EBC'
Creat = '0x1085'
Source = '0x1BEF'
UO.CancelMenu()
UO.AutoMenu('Tinkering','Jewelry')
UO.AutoMenu('Jewelry','necklace')
if UO.Count(Tools) > 0 then
   UO.FindType(Tools,'-1','backpack')
   UO.AddObject('objTools','finditem')
   main()
end if
UO.CancelMenu()
end sub

sub main()
var CountSource = 1 ;кол-во разных типов сырья, которые мы возьмем из сундука
Open('backpack')
NewBag()
if UO.Count(Source) then
   UO.FindType(Source,'0x0000', 'backpack')
   UO.MoveItem('finditem','-1',Cont1)
   wait(1000)
end if
UO.FindType(Source,'0x0000', Cont1)
UO.Grab(STR(Count),'finditem')
wait(1000)
CheckLag()       
while UO.Count(Source) > 0
   if UO.Count(Source) < 2 then
      UO.FindType(Source,'0x0000', Cont1)
      UO.Grab(STR(Count),'finditem')
      wait(1000)
   endif
   UO.DeleteJournal()
   UO.UseObject('objTools')
   Repeat
      wait(500)
   Until UO.InJournal('You put ') OR UO.InJournal('failed') or UO.InJournal('You fail ')   
   While UO.Count(Creat)>0
      UO.FindType(Creat,'-1',-1)
      UO.MoveItem('finditem','0',BagSer)
      If UO.Count(Creat)>0 then
         FastLootCheck()
      endif
      if UO.InJournal("Too many items") then
         NewBag()
      endif
   Wend     
Wend
UO.CancelMenu()
end sub

sub Open(Container)
   UO.DeleteJournal()
   UO.UseObject(Container)
   wait(500)
end sub

sub FastLootCheck()
   UO.DeleteJournal()
   wait(450)
   If UO.InJournal("FastLoot") OR UO.InJournal("World save") then
      UO.Click('backpack')
      repeat
         wait(300)
      until UO.InJournal('backpack')
   Endif
end sub

sub NewBag()
   Open(Cont1)
   Open(Cont2)
   ToEat()
   UO.FindType(Bag, -1, Cont1)
   UO.Print('Ok')
   if UO.FindCount() < 1 then
   end if
   BagSer=UO.GetSerial('finditem')     
   UO.MoveItem(BagSer, 0, Cont2)
   wait(1000)
end sub

sub ToEat()
   UO.FindType('0x097B', '0x0000',Cont1)
   if UO.FindCount() > 0 then
      UO.MoveItem('finditem','20','backpack')
   else
      return
   end if
   repeat     
      CheckLag()
      uo.UseType('0x097B')
      while not uo.InJournal("can't") and not uo.InJournal('full') and not uo.InJournal('stuffed') and not uo.InJournal('hungry') and not uo.InJournal('satiated') and not UO.Dead()
         wait(100)
      wend
   until uo.InJournal('too full') or UO.Dead() or uo.InJournal("can't")
   UO.FindType('0x097B', '0x0000','backpack')
   if UO.FindCount() > 0 then
      UO.MoveItem('finditem','20','Cont1')     
   end if
end sub

sub CheckLag()
   UO.DeleteJournal()
   UO.Click('backpack')
   repeat
      wait(50)
   until UO.InJournal('backpack')
end sub

Posted: 2005-08-30 01:02:31
by Dirol
Leo, при запуске твоего скрипта чар перекладывает 1 мешок в другой сундук, берёт еду, айрон и останавливается. Пишет "You can't see the target". В чём может быть проблема? :roll:

Posted: 2005-08-30 12:53:42
by BOBKAMAT
Красиво, но слишком навороченно, а если просто нужны неклессы из золота без питания перса со складыванием в стоящий рядом сундук?

Posted: 2005-08-30 12:57:52
by Leo
Dirol wrote:Leo, при запуске твоего скрипта чар перекладывает 1 мешок в другой сундук, берёт еду, айрон и останавливается. Пишет "You can't see the target". В чём может быть проблема? :roll:


Ты, наверное запускаешь процедуру main, а надо tinkIron

Posted: 2005-08-30 13:10:41
by Leo
BOBKAMAT wrote:Красиво, но слишком навороченно, а если просто нужны неклессы из золота без питания перса со складыванием в стоящий рядом сундук?

Не тестил.

Code: Select all

sub Tinkering() 
VAR eda = '0x097B'
repeat
UO.UseSkill('Spirit')
wait (600)
uo.usetype(eda)
wait (300)
CheckLag()
UO.FindType('0x1BE9','0x0000','backpack')
If UO.GetQuantity('finditem')<10 then
UO.FindType('0x1BE9','0x0000','0x400B29CD') ;serial sunduka s iron
UO.Grab('100','finditem')
wait(300)
Endif
if UO.count('0x1086','0x0000')>1 then
CheckLag()
UO.FindType('0x1086','0x0000','backpack')
UO.setreceivingcontainer('0x400B29CD') ;serial sunduka s iron
UO.Grab('0','finditem')
wait(300)
endif
CheckLag()
UO.Usetype('0x1EBC')
UO.WaitMenu('Tinkering','Tools','Tools','lockpick')
wait (1000)
CheckLag()
UO.DeleteJournal()
while not (UO.InJournal("You put") or UO.InJournal("Tinkering failed"))
wait(300)
wend
UO.UnSetReceivingContainer()
wait(200)
until UO.Dead()
end sub

sub CheckLag()
   UO.DeleteJournal()
   UO.Click('backpack')
   repeat
      wait(50)
   until UO.InJournal('backpack')
   UO.DeleteJournal()
end sub

Posted: 2005-08-30 14:49:50
by Dirol
Leo wrote:Ты, наверное запускаешь процедуру main, а надо tinkIron

Да, ты прав. Запустил tinkIron теперь он всё взял, скрафтил 1 неклайс и остановился. :(