script na TINKERING

Ask for scripts here

Moderators: Murderator+, Murderator

Post Reply
romans892
Posts: 16
Joined: 2011-06-15 15:33:34

script na TINKERING

Post by romans892 »

#########################

#########################

###################
; EmptyBottle Craft v.1.00 © Skiv
sub EmptyBottel()
VAR Sunduk = '0x403106BC'
VAR Ingi = '0x1BEF'
VAR Instrum = '0x1EBC'
VAR EmBot = '0x0F0E'
VAR Kolvo = 30
VAR k = 0
UO.SetGlobal( 'TimeProcess', str( UO.Timer() ) )
repeat
While TRUE
UO.FindType( Ingi, -1, Sunduk )
If UO.FindCount() == 0 Then
UO.Print("Ingots not found, script terminated")
return
Endif
UO.Grab( Str( Kolvo ), 'finditem' )
wait( 2000 )
While UO.Count( Ingi ) > 5
; Iiea a iaea anou eiae
;UO.CancelMenu()
UO.Print('Ostalos ' + Str( UO.Count( Ingi ) ) + ' ingots' )
UO.DeleteJournal()
UO.WaitMenu ('Tinkering','Tools','Tools','empty bottle')
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( EmBot ) > 0 then
UO.FindType( EmBot, -1, -1 )
UO.MoveItem( 'finditem', 0, Sunduk )
wait( 1000 )
UO.Print( 'Empty Bottle moved' )
end if
Wend
Wend
end sub





4AR SNA4ALO VSE DELAET KAK NADO POSLE PARU POPITOK PIWET TINKERING FILED I TAK POVTORAETSA POKA NEZAKONSHATSA INGOTI V PAKE VOOBWEM TUPO SZIGAET INGOTI.... POMOGITE POZALUSTA KTO ZNAET KAK IZBAVETSA OT ETOGO GLUKA
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: script na TINKERING

Post by Mirage »

1)http://translit.ru/ не ломай нам и себе глаза.
2)вторая строка моей подписи - у тебя цикл не закрыт.
romans892
Posts: 16
Joined: 2011-06-15 15:33:34

Re: script na TINKERING

Post by romans892 »

можеш пожалуйста копию наманого рабочего кинуть я не знаю где чего писать надо в етих циклах, я в этом не разбераюсь тока ползуюсь ими, спасибо
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: script na TINKERING

Post by Mirage »

В поиске можно было набрать empty bottle

Последнее сообщение в этой теме.

В твоем скрипте первый repeat был лишним.

Code: Select all

sub EmptyBottel()
   VAR Sunduk = '0x403106BC'
   VAR Ingi = '0x1BEF'
   VAR Instrum = '0x1EBC'
   VAR EmBot = '0x0F0E'
   VAR Kolvo = 30
   VAR k = 0
   While TRUE
      UO.FindType( Ingi, -1, Sunduk )
      If UO.FindCount() == 0 Then
         UO.Print("Ingots not found, script terminated")
         return
      Endif
      UO.Grab( Str( Kolvo ), 'finditem' )
      wait( 2000 )
      While UO.Count( Ingi ) > 5
         UO.Print('Ostalos ' + Str( UO.Count( Ingi ) ) + ' ingots' )
         UO.DeleteJournal()
         UO.WaitMenu ('Tinkering','Tools','Tools','empty bottle')
         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( EmBot ) > 0 then
            UO.FindType( EmBot, -1, -1 )
            UO.MoveItem( 'finditem', 0, Sunduk )
            wait( 1000 )
            UO.Print( 'Empty Bottle moved' )
         end if
      Wend
   Wend
end sub


Если будут проблемы пиши какая ошибка и в какой строке или действии возникает.
romans892
Posts: 16
Joined: 2011-06-15 15:33:34

Re: script na TINKERING

Post by romans892 »

спасибо вроде работает если вдруг что случитса отпешу
romans892
Posts: 16
Joined: 2011-06-15 15:33:34

Re: script na TINKERING

Post by romans892 »

вообщем таже ошибка пишет тинкер фдаилед и желтым шрифтом осталось инготов 25,24,23,22 и так до 0 пока опать 30 не возмет потом опать намано делает потом иногда опат етот глук случаетса..... чего делать?
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: script na TINKERING

Post by Mirage »

замени AND на OR вот так

Code: Select all

         while NOT UO.InJournal('You put') OR NOT UO.InJournal('fail') OR ( k < 30 )
            k = k + 1
            wait(500)
         wend

условия должны выполнятся не все, а по одиночке.
romans892
Posts: 16
Joined: 2011-06-15 15:33:34

Re: script na TINKERING

Post by romans892 »

Ok,попробую если что отпешу спасибо
romans892
Posts: 16
Joined: 2011-06-15 15:33:34

Re: script na TINKERING

Post by romans892 »

все ок тока тормазит както зделал бутылку ждет чегото сек 5 потом ложит её делает еще одну ждет сек 5 опать потом ложит...
romans892
Posts: 16
Joined: 2011-06-15 15:33:34

Re: script na TINKERING

Post by romans892 »

и после тинкр фаил ни4его непроисходит болше :(
ZeroDX
Posts: 718
Joined: 2006-12-08 10:51:50
Location: Москва
Contact:

Re: script na TINKERING

Post by ZeroDX »

Попробуй вот так. В паке только инструмент, в сундуке инги.

Code: Select all

sub Tinkering()
  var t_Ingots = '0x1BEF', c_Ingots = '0x0000', t_TinkerTools = '0x1EBC', t_EmptyBottle = '0x0F0E', c_EmptyBottle = '0x0000'
  var id_Container = '0x403106BC', Pause = 1000, Time, Delay = 5, msg = 'ou put|fail'
  While UO.SkillVal('Tinkering', 1) < 1000
    If UO.Count(t_EmptyBottle, c_EmptyBottle) >= 10 then
      UO.FindType(t_EmptyBottle, c_EmptyBottle, 'backpack')
      If UO.FindCount() then
        CheckLag()
        UO.MoveItem('finditem', -1, id_Container)
        Wait(Pause)
       else
        Wait(Pause)
      Endif
     else
      If UO.Count(t_Ingots, c_Ingots) > 5 then
        DelJournal(msg)
        Time = UO.Timer()
        UO.WaitMenu('Tinkering', 'Tools', 'Tools', 'empty bottle')
        UO.UseType(t_TinkerTools)
        Repeat
          Wait(100)
        Until UO.InJournal(msg) or Time + Delay * 10 <= UO.Timer()
       else
        UO.FindType(t_Ingots, c_Ingots, id_Container)
        If UO.FindCount() then
          CheckLag()
          UO.MoveItem('finditem', -1, 'backpack')
          Wait(Pause)
         else
          UO.Print('Not enough ingots')
          Return
        Endif
      Endif
    Endif
  Wend
Endsub

Sub DelJournal(msg)
  While UO.InJournal(msg)
    UO.SetJournalLine(UO.InJournal(msg) - 1, '')
  Wend
Endsub

Sub CheckLag()
  DelJournal('ackpack')
  UO.Click('backpack')
  Repeat
    Wait(50)
  Until UO.InJournal('ackpack')
Endsub
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: script na TINKERING

Post by Mirage »

Чегото я ночью не сообразил. При использовании repeat нужно ставить or.
Я в циклах просто обычно использую комбинацию:

Code: Select all

repeat
   wait( 100 )
until UO.InJournal( msg ) or UO.Timer()>LastTimer+150


ZeroDX показал пример.
romans892
Posts: 16
Joined: 2011-06-15 15:33:34

Re: script na TINKERING

Post by romans892 »

that is too havy you cant put that...... nemozet ingi vzatj
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: script na TINKERING

Post by Mirage »

Code: Select all

        UO.FindType(t_Ingots, c_Ingots, id_Container)
        If UO.FindCount() then
          CheckLag()
          UO.MoveItem('finditem',-1, 'backpack')  ; <- вот тут вместо -1 нужно 30 поставить
          Wait(Pause)
         else
Post Reply