Помогите исправить.

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
quinta
Posts: 10
Joined: 2006-05-22 17:53:43

Помогите исправить.

Post by quinta »

sub tinker()
VAR Sunduk = '0x404C8013' ; ид сундука
VAR Ingi = '0x1bef' ; тип ингов
VAR Instrum = '0x1ebc' ; тип инструмента
VAR lockpick = '0x0f0e' ; тип бутылок
VAR Kolvo = 800 ; берем из сундука
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.autoMenu ('Tinkering', 'Tools')
UO.autoMenu ('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( lockpick ) > 0 then
UO.FindType( lockpick, -1, -1 )
UO.MoveItem( 'finditem', 0, Sunduk )
wait( 1000 )
UO.Print( 'lockpick' )
end if
Wend
Wend
end sub



Помогите пожалуста зациклить его - чтоб он постоянно брал инги по 800 штук (в данный момент по окончанию ингов в паке он останавливается) и делал бутылки складывая их в другой мешек а не в общий сундук (так как щас он кладет туда же де и берет инги).

Заранее очень благодарен.
BigMouseI
Posts: 93
Joined: 2006-04-15 09:00:35

Post by BigMouseI »

1) скрипт всегда пихай в код
2) убей аффтара :D
3) Попробуй так

Code: Select all

sub tinker()
VAR Sunduk = '0x404C8013' ; ид сундука
VAR Ingi = '0x1bef' ; тип ингов
VAR Instrum = '0x1ebc' ; тип инструмента
VAR lockpick = '0x0f0e' ; тип бутылок
VAR Kolvo = 800 ; берем из сундука
VAR k = 0
repeat
 UO.FindType( Ingi, -1, Sunduk )
 If UO.FindCount() < 10 Then
  UO.Print("Iron Ingots not found, script terminated")
  return
 Endif
 UO.Grab( Str( Kolvo ), 'finditem' )
 wait( 2000 )
 While UO.Count( Ingi ) > 3
  UO.Print('Ostalos ' + Str( UO.Count( Ingi ) ) + ' ingots' )
  UO.DeleteJournal()
  UO.CancelMenu()
  UO.autoMenu ('Tinkering', 'Tools')
  UO.autoMenu ('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( lockpick ) > 0 then
   UO.FindType( lockpick, -1, -1 )
   UO.MoveItem( 'finditem', 0, Sunduk )
   wait( 1000 )
  end if
 wend
Until not uo.dead()
end sub
quinta
Posts: 10
Joined: 2006-05-22 17:53:43

Post by quinta »

Он терь сразу пишет что нет айрона и вырубается.
Rijo
Posts: 95
Joined: 2006-04-06 17:16:54
Location: Khab

Post by Rijo »

quinta wrote:Он терь сразу пишет что нет айрона и вырубается.

Ну инжект видит вещи в тех сундуках(контейнерах) которые хоть раз открывались с момента входа в игру. Попробуй открыть и закрыть сундук и запусти скрипт. Сам скрипт я еще не смотрел.
А сообщения что нету айрона вылетает желтыми буквами?
quinta
Posts: 10
Joined: 2006-05-22 17:53:43

Post by quinta »

Цвет букв желтый. Я сундук сразу открывал вручную.
Rijo
Posts: 95
Joined: 2006-04-06 17:16:54
Location: Khab

Post by Rijo »

quinta wrote:Цвет букв желтый. Я сундук сразу открывал вручную.

ну раз желтый значит инжа пишет, а если инжа пишет значит вылетает вот это сообщение Iron Ingots not found, script terminated А раз вылетает это сообщение, то либо в сундуке нету айрон инготов, либо сундук не был открыт с первого запуска, либо неправильно указан ID сундука, либо неправильно указан тип ингов
DerMeister =)
Expert!
Posts: 1032
Joined: 2006-02-25 21:48:38

Post by DerMeister =) »

Я хз, но иногда помогает взять все параметры UO.FindType() в кавычки. Пример:

Code: Select all

UO.FindType('Ingi','-1','Sunduk')
DerMeister сейчас на нейрале!
quinta
Posts: 10
Joined: 2006-05-22 17:53:43

Post by quinta »

Дело в том что первый скрипт который я просил исправить все делает, только он останавливается када закончились инги в паке, а тот что написали второй сразу говорит что нет ингов - мои действия те же что и с первым скриптом - открыл сундук проверил есть ли инги (20к) и запустил - первый работает второй нет. Все типы и ид сундука совпадают в обоих скриптах.
DerMeister =)
Expert!
Posts: 1032
Joined: 2006-02-25 21:48:38

Post by DerMeister =) »

to BigmouseI:

патсулом... Что ты имелл ввиду под этим: If UO.FindCount() < 10 Then :?: :?: :?:

Расшифровка: "Если у тебя меньше 10 кучек айрона, то условие не выполняется".

Если я тебя правильно понял, то используй

Code: Select all

if uo.getquantity('finditem') < 10 then
DerMeister сейчас на нейрале!
DerMeister =)
Expert!
Posts: 1032
Joined: 2006-02-25 21:48:38

Post by DerMeister =) »

quinta wrote:Он терь сразу пишет что нет айрона и вырубается.

BigMouseI ошибся... читай мой пост выше ;)
DerMeister сейчас на нейрале!
quinta
Posts: 10
Joined: 2006-05-22 17:53:43

Post by quinta »

sub tinker()
VAR Sunduk = '0x404C8013' ; èä ñóíäóêà
VAR Ingi = '0x1bef' ; òèï èíãîâ
VAR Instrum = '0x1ebc' ; òèï èíñòðóìåíòà
VAR lockpick = '0x0f0e' ; òèï áóòûëîê
VAR Kolvo = 800 ; áåðåì èç ñóíäóêà
VAR k = 0
repeat
UO.FindType( Ingi, -1, Sunduk )
if uo.getquantity('finditem') < 10 then
UO.Print("Iron Ingots not found, script terminated")
return
Endif
UO.Grab( Str( Kolvo ), 'finditem' )
wait( 2000 )
While UO.Count( Ingi ) > 3
UO.Print('Ostalos ' + Str( UO.Count( Ingi ) ) + ' ingots' )
UO.DeleteJournal()
UO.CancelMenu()
UO.autoMenu ('Tinkering', 'Tools')
UO.autoMenu ('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( lockpick ) > 0 then
UO.FindType( lockpick, -1, -1 )
UO.MoveItem( 'finditem', 0, Sunduk )
wait( 1000 )
end if
wend
Until not uo.dead()
end sub




Исправил все как сказали - он взял инги сделал бутли и вырубился ничего не сказав - оталось 19к ингов -((( как его зациклить чтоб он не останавливался и отработал все инги. Так как этот щас работает - работал и первый скрипт.
omi4
Posts: 457
Joined: 2005-07-10 21:53:05

Post by omi4 »

Code: Select all

sub tinker()

   var Sunduk = '0x404C8013'
   var Ingi = '0x1BEF'
   var Instrum = '0x1EBC'
   var lockpick = '0x0F0E'
   var Kolvo = 800
   var LTimer

   UO.CancelMenu()
   UO.AutoMenu ('Tinkering', 'Tools')
   UO.AutoMenu ('Tools', 'Empty bottle')

   repeat
      if UO.Count(Ingi) < Kolvo then
         UO.MoveItem( Sunduk + '.' + Ingi, Kolvo - UO.Count(Ingi))
         if UO.Count(Ingi) < Kolvo && UO.Count(Instrum) then
            UO.Print("Iron Ingots not found, script terminated")
            UO.CancelMenu()
            return
         end if
      end if

      while UO.Count(Ingi) > 3 && UO.Count(Instrum)
         UO.DeleteJournal()
         LTimer = UO.Timer()
         UO.UseType(Instrum)
         repeat
            wait(500)
         until UO.InJournal('You put|fail') || LTimer + 60 > UO.Timer()
         
         if UO.Count(lockpick) then
            UO.MoveItem( '^' + lockpick, 1, Sunduk )
         end if
      wend
   until UO.Dead()
   UO.CancelMenu()
end sub
Post Reply