Page 1 of 1

Крафт неклейсов, по мешкам

Posted: 2006-07-07 14:31:54
by obiwan
Есть такой скрипт:

Code: Select all

##################################################################### 
; Tinker. v.1.00b (c) Edred
;
; ×àð áåðåò èç ñóíäóêà èíãîòû, êðàôòèò èç íèõ áóòûëêè
; è ñêëàäûâàåò ýòè áóòûëêè â ýòîò æå ñóíäóê.
; Åñëè èíãè çàêîí÷èëèñü - âûõîä.
;
sub tinker()
   VAR Sunduk = '0x4029E435'       ; Ñåðèàë ñóíäóêà
   VAR Ingi = '0x1BEF'          ; Òèï èíãîâ
   VAR Instrum = '0x1EBC'          ; Òèï èíñòðóìåíòà òèíêåðà
   VAR Bottle = '0x1085'          ; Òèï áóòûëêè
   VAR Kolvo = 200          ; Áðàòü èíãîâ
   VAR k = 0
   While TRUE
      UO.FindType( Ingi, -1, Sunduk )   ; Èùåì èíãè â ñóíäóêå
      If UO.FindCount() == 0 Then
         UO.Print("Iron Ingots not found, script terminated")
         return
      Endif
      UO.Grab( Str( Kolvo ), 'finditem' )
      wait( 2000 )
      While UO.Count( Ingi ) > 0
         ; Ïîêà â ïàêå åñòü èíãè
         UO.Print('Ostalos ' + Str( UO.Count( Ingi ) ) + ' ingots' )
         UO.DeleteJournal()
         UO.CancelMenu()
         UO.WaitMenu ('Tinkering', 'Jewelry', 'Jewelry', 'necklace' )
         UO.UseType( Instrum )
         k = 0
         while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 30 )
            k = k + 1
            wait(500)
         wend
         if UO.Count( Bottle ) > 0 then
            UO.FindType( Bottle, -1, -1 )
            UO.MoveItem( 'finditem', 0, Sunduk )
            wait( 1000 )
            UO.Print( 'Bottle moved' )
         end if
      Wend
   Wend
end sub


Скрипт делает неклейсы и складывает их в мешок. Можно ли сделать (бесплатно сделать :wink: :lol: )так, чтоб чар брал из сундука мешок, заполнял его неклейсами, убирал, доставал новый мешок и т.д.
Заранее спасибо

Posted: 2006-07-07 20:54:44
by Nmy
для перекида мешков + крафт я толи невидел скрипта, толи пропустил- скрипт "идеальный пример"
кароче зделал сам ...
выкладивать небуду... он ужасный :twisted:

Re: Крафт неклейсов, по мешкам

Posted: 2006-07-10 00:02:43
by Edred
obiwan wrote:Скрипт делает неклейсы и складывает их в мешок. Можно ли сделать (бесплатно сделать :wink: :lol: )так, чтоб чар брал из сундука мешок, заполнял его неклейсами, убирал, доставал новый мешок и т.д.
Заранее спасибо


Объединяй. Возьми мой же скрипт на карпентри или тейлор (карты) и склей из двух один. Скрипты однотипны, так что склеить нет никаких проблем.

Posted: 2006-07-11 20:19:15
by obiwan
щща папробуем... :D

Posted: 2006-07-11 20:38:06
by obiwan

Code: Select all

#####################################################################
;склеено на коленке из скриптов карпентри и тинкеринг (оба by Edred)
;Незнаю, хрень получилась, вроде работает
; Tinker. v.1.00b (c) Edred
;
; ×àð áåðåò èç ñóíäóêà èíãîòû, êðàôòèò èç íèõ áóòûëêè
; è ñêëàäûâàåò ýòè áóòûëêè â ýòîò æå ñóíäóê.
; Åñëè èíãè çàêîí÷èëèñü - âûõîä.
;
sub tinker2()
   VAR Sunduk1 = '0x401B7C3A'       ; Ñåðèàë ñóíäóêà ñ ïóñòûìè ìåøêàìè
   VAR Sunduk2 = '0x401CD0C4'       ; Ñåðèàë ïóñòîãî ñóíäóêà
   VAR Ingi = '0x1BEF'          ; Òèï èíãîâ
   VAR Instrum = '0x1EBC'          ; Òèï èíñòðóìåíòà òèíêåðà
   VAR Bottle = '0x1085'          ; Òèï áóòûëêè
   VAR Kolvo = 255          ; Áðàòü èíãîâ
   VAR k = 0
   VAR Meshok = '0x0E76'          ; Òèï ìåøêà
   VAR MeshSer, j

   While TRUE
      UO.FindType( Ingi, -1, Sunduk1 )   ; Èùåì èíãè â ñóíäóêå 1
      If UO.FindCount() == 0 Then
         UO.Print("Iron Ingots not found, script terminated")
         return



      Endif
      UO.Grab( Str( Kolvo ), 'finditem' )
      wait( 2000 )
     
   UO.FindType( Meshok, -1, Sunduk1 )       ; Èùåì ìåøîê â ñóíäóêå 1
      MeshSer = UO.GetSerial( 'finditem' )
      UO.Grab( '1', 'finditem' )          ; Êëàäåì åãî â áýêïàê
      wait( 2000 )
      UO.MoveItem( MeshSer, 0, Sunduk2 )
      wait( 2000 )

      While UO.Count( Ingi ) > 0
         ; Ïîêà â ïàêå åñòü èíãè
         UO.Print('Ostalos ' + Str( UO.Count( Ingi ) ) + ' ingots' )
         UO.DeleteJournal()
         UO.CancelMenu()
         UO.WaitMenu ('Tinkering', 'Jewelry', 'Jewelry', 'necklace' )
         UO.UseType( Instrum )
         k = 0
         while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 30 )
            k = k + 1
            wait(500)
         wend
         if UO.Count( Bottle ) > 0 then
            UO.FindType( Bottle, -1, 'backpack' )
            UO.MoveItem( 'finditem', 0, MeshSer )
            wait( 1000 )
            UO.Print( 'Bottle moved' )
         end if
      Wend
   Wend
end sub