Yoko

All sides of Injection
It is currently 2025-12-10 08:05:19

All times are UTC+02:00




Post new topic  Reply to topic  [ 18 posts ] 
Author Message
PostPosted: 2011-06-23 18:23:09 
Offline

Joined: 2011-06-23 18:18:24
Posts: 9
Привет всем. Играю на Оскоме Фри.
Вот собственно нашол такой скрипт но он частенько выкидывает ошибку в инжекте.
Может у кого есть нормальный или етот отладить нормально.
Прошу помочь и поддержать =)

Сам скрипт:

Quote:
###################################

# Tailoring #
###################################

;|---------------------------|
;| Описание переменных Items |
;|---------------------------|

VAR EQ,RQ1,RQ2,QB
VAR Eat='0x0c77' ; Type Еда (Рыба)
VAR Res1='0x175D' ; Type Ресурс 1 (Ткань)
VAR Res2='0x0FA0' ; Type Ресурс 2 (Нитки)
VAR Kit='0x0F9D' ; Type Инструмента крафта (Sewing Kit)
VAR Items='0x1f01' ; Type Выходного материала
EQ=20 ; Количество ресурса Еда
RQ1=500 ; Количество ресурса Ткань
RQ2=50 ; Количество ресурса Нитки
QB=24 ; Количество сумок в ContainerBag (куда складывать)

;|---------------------------------|
;| Описание переменных контейнеров |
;|---------------------------------|

VAR ContainerRes='0x41515b94' ; Object Контейнер с ресурсами
VAR ContainerBag='0x41234814' ; Object Контейнер с сумками
VAR BagCount='0x0e76' ; Type сумок в контейнере ContainerBag


sub Tailoring()
UO.Set('quiet','1')
UO.Exec('exec Craft')
UO.IgnoreReset()
end sub

Sub OpenBag()
VAR i,BagID
UO.UseObject(ContainerBag)
UO.UseObject(ContainerRes)
UO.IgnoreReset()
Repeat
UO.DeleteJournal()
Wait(1000)
UO.FindType(BagCount,'-1',ContainerBag)
If UO.FindCount('finditem') > 1 Then
i = (UO.FindCount('finditem') +1)
UO.Click('finditem')
If UO.InJournal("a bag") Then
BagID=UO.JournalSerial(UO.InJournal("a bag")-1)
UO.SetJournalLine(UO.InJournal("a bag")-1,"")
UO.FindType(Items,'-1',BagID)
UO.UseObject(BagID)
Wait(2000)
UO.Hide(BagID)
UO.Ignore(BagID,'on')
EndIF
EndIf
i = (i - 1)
Until i == 0
UO.Hide(ContainerBag)
UO.Hide(ContainerRes)
UO.Resend()
Wait(3000)
UO.IgnoreReset()
end sub


Sub Craft()
VAR Last=0,LastTimer
OpenBag()
While NOT UO.Dead()

;|-----------------------------------|
;| Search of resources and Take them |
;|-----------------------------------|

UO.FindType(Eat,'-1','me')
If UO.GetQuantity('finditem') < 1 then
UO.FindType(Eat,'-1',ContainerRes)
If UO.GetQuantity('finditem') > 1 then
ToTake(3)
Else
UO.Exec ('Terminate Craft')
EndIf
Else
ToEat()
EndIf
UO.FindType(Res1,'-1','me')
If UO.GetQuantity('finditem') < 16 then
UO.FindType(Res1,'-1',ContainerRes)
If UO.GetQuantity('finditem') > 1 then
ToTake(1)
Else
UO.Exec ('Terminate Craft')
EndIf
EndIf
UO.FindType(Res2,'-1','me')
If UO.GetQuantity('finditem') < 1 then
UO.FindType(Res2,'-1',ContainerRes)
If UO.GetQuantity('finditem') > 1 then
ToTake(2)
Else
UO.Exec ('Terminate Craft')
EndIf
EndIf

;|-------------|
;| Craft Items |
;|-------------|

UO.DeleteJournal()
UO.WaitTargetType(Res1)
UO.UseType(Kit)
UO.WaitMenu ('Cloth','Shirts','Shirts','plain dress')
### Название КрафтМеню1(Cloth),ПодМеню2(Shirts) -> КрафтМеню2(Shirts),ПодМеню2(Robe)
LastTimer=UO.Timer()
Repeat
wait(100)
Until UO.InJournal("You put") OR UO.InJournal("Tailoring") OR LastTimer+150<UO.Timer()
UnLoadItem()
Wend
end sub

Sub ToTake(i)
VAR G,F
If i == 1 Then
G = RQ1
F = Res1
EndIf
If i == 2 Then
G = RQ2
F = Res2
EndIf
If i == 3 Then
G = EQ
F = Eat
EndIf
UO.FindType(F,'-1',ContainerRes)
if UO.GetQuantity('finditem') > 1 then
UO.Grab(''+str(G)+'','finditem')
UO.DeleteJournal()
Repeat
UO.FindType(F,'-1','me')
Wait(1500)
Until UO.InJournal("That is too") OR UO.GetQuantity('finditem') > 1
endif
end sub

Sub ToEat()
UO.UseType(Eat)
end sub

Sub UnLoadItem()
VAR BagID
VAR i=0
VAR m=0
Repeat
UO.DeleteJournal()
UO.FindType(BagCount,'-1',ContainerBag)
UO.Click('finditem')
m = 0
Repeat
Wait(1000)
Until UO.InJournal("a bag")
If UO.InJournal("a bag") Then
BagID=UO.JournalSerial(UO.InJournal("a bag")-1)
UO.SetJournalLine(UO.InJournal("a bag")-1,"")
UO.FindType('-1','-1',BagID)
If UO.FindCount('finditem') < 220 then
m = UO.FindCount('finditem')
UO.SetReceivingContainer(BagID)
UO.FindType(Items,'-1','me')
UO.Grab('0','finditem')
UO.ConColor('0x0021')
UO.Set('quiet','0')
UO.Print(UO.Print('In BagPack#'+Str(i+1)+' items '+Str(m)+''))
UO.Set('quiet','1')
UO.ConColor('0x0035')
Wait(1000)
UO.UnSetReceivingContainer()
Else
i = i + 1
UO.Ignore(BagID, 'on')
EndIf
EndIf
If i == QB Then
UO.IgnoreReset()
i = 0
EndIf
UO.FindType(Items,'-1','me')
Until UO.FindCount('finditem') < 1
end sub


Top
   
PostPosted: 2011-06-23 18:33:17 
Offline

Joined: 2005-04-19 18:00:29
Posts: 2259
Location: Московская область
Какая ошибка?


Top
   
PostPosted: 2011-06-23 18:37:27 
Offline

Joined: 2011-06-23 18:18:24
Posts: 9
просто пишет что Terminate uo ...

а ошибка чето там in parse ....

Но ошибка вылетает через довольно длительно время от 1 до 5 часов ....

Будет ошибка точно напишу как есть...


Top
   
PostPosted: 2011-06-23 18:46:29 
Offline

Joined: 2011-06-23 18:18:24
Posts: 9
Вот что нашол по даному скрипту.
Но как сделать пока незнаю.

Quote:
UO.DeleteJournal()
UO.FindType(BagCount,'-1',ContainerBag)
UO.Click('finditem')
m = 0
Repeat
Wait(1000)
Until UO.InJournal("bag")
If UO.InJournal("bag") Then
BagID=UO.JournalSerial(UO.InJournal("bag")-1)

Постарайся избавиться от этого. Чек лаг и гет сериал тебе в помощь.


Top
   
PostPosted: 2011-06-23 21:16:55 
Offline
User avatar

Joined: 2006-12-08 10:51:50
Posts: 718
Location: Москва
На вот попробуй скрипт, но прежде настрой
Code:
var Delay = 10, Pause = 1000, ThreadsNeed = 1, ClothNeed = 10, ClothMove = 500, ThreadsMove = 50

Pause - Задержка перемещения вещей на сервере
ThreadsNeed, ClothNeed - Сколько нужно конкретного ресусра для крафта 1-ой робы.
ClothMove, ThreadsMove - Сколько перетаскивать в пак (содрал со скрипта, который ты выложил)

Ну и сам скрипт
Code:
sub Tailoring()
  Dim t_Resources[2]
    t_Resources[0] = '0x175D' ;Тип ткани
    t_Resources[1] = '0x0FA0' ;Тип ниток
  var t_SewingKit = '0x0F9D', t_Robe = '0x1f01', t_Bag = '0x0e76', t_Steaks = '0x0c77'
  var id_Container = '0x41515b94', id_RecContainer = '0x41234814'
  var Delay = 10, Pause = 1000, ThreadsNeed = 1, ClothNeed = 10, ClothMove = 500, ThreadsMove = 50
  var msg = 'ou put|fail', Time, id_Bag, ResMove, i
  UO.UseObject(id_Container)
  UO.UseObject(id_RecContainer)
  While true
    If UO.Count(t_Resources[0]) >= ClothNeed and UO.Count(t_Resources[1]) >= ThreadsNeed then
      If UO.Targeting() then
        UO.CancelTarget()
      Endif
      DelJournal(msg)
      Time = UO.Timer()
      UO.WaitMenu('Cloth', 'Shirts', 'Shirts', 'plain dress')
      UO.WaitTargetType(t_Resources[0])
      UO.UseType(t_SewingKit)
      Repeat
        Wait(100)
      Until UO.InJournal(msg) or Time + Delay * 10 <= UO.Timer()
     else
      While UO.Count(t_Robe)
        UO.FindType(t_Bag, -1, id_RecContainer)
        If UO.FindCount() then
          id_Bag = UO.GetSerial('finditem')
          UO.UseObject(id_Bag)
          Wait(100)
          UO.FindType(-1, -1, id_Bag)
          If UO.FindCount() < 255 then
            UO.FindType(t_Robe, -1, 'backpack')
            If UO.FindCount() then
              CheckLag()
              UO.MoveItem('finditem', -1, id_Bag)
              Wait(Pause)
             else
              UO.Print('Непонятная ошибка 404 :Р')
              Return
            Endif
           else
            UO.Ignore(id_Bag)
          Endif
         else
          UO.Print('Вроде как закончились пустые сумки')
          Return
        Endif
      Wend
      UO.IgnoreReset()
      For i = 0 to 1
        UO.FindType(t_Resources[i], -1, id_Container)
        If UO.FindCount() then
          If i > 0 then
            ResMove = ThreadsMove
           else
            ResMove = ClothMove
          Endif
          CheckLag()
          UO.MoveItem('finditem', ResMove - UO.Count(t_Resources[i]), 'backpack')
          Wait(Pause)
         else
          UO.Print('В ' + id_Container + ' не найден один из ресурсов.')
          Return
        Endif
      Next
    Endif
    Eat(id_Container, t_Steaks, Pause)
  Wend
Endsub

Sub Eat(id, type, pause)
  var msg = 'simply|ou can|full', Time, Delay = 10
  DelJournal(msg)
  Time = UO.Timer()
  Repeat
    If UO.Count(type) then
      UO.UseType(type)
      Wait(100)
     else
      UO.FindType(type, -1, id)
      If UO.FindCount() then
        CheckLag()
        UO.MoveItem('finditem', 20, 'backpack')
        Wait(Pause)
       else
        UO.Print('Еды нету')
        Return
      Endif
    Endif
  Until UO.InJournal(msg) or Time + Delay * 10 <= UO.Timer()
Endif

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


Сразу говорю, что работоспособность не проверял, если будут ошибки - пиши.
PS Проще новый скрипт написать, чем ломать можг над чужими, которые без отступов и по журналу что-то там чекают :roll:


Top
   
PostPosted: 2011-06-23 21:42:12 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
если рассматривать скрипт на крафт продукции в мешки то мне больше нравится следующий алгоритм:
1) два сундука - один с пустыми мешками, сирьем, едой и инструментами; второй пустой
2) мешок переносится в пустой сундук и заполняется готовой продукцией.
Если скрипт выключить в процессе то будет один не до конца заполненный мешок.

Code:
VAR Container   = '0x40B5267F'   ;айрон, рыба, инструменты, может быть равен Sunduk 1
VAR Sunduk1   = '0x40B5267F'      ;пустые мешки
VAR Sunduk2   = '0x40B52599'      ;полные
VAR spool   = '0x0FA0'      #нитки#
VAR dress   = 'ТИП ВЕЩИ'      #               <-----------------------
VAR cloth   = '0x175D'      #ткань#
VAR Skit   = '0x0F9D'      #швейный набор#
VAR Meshok    = '0x0E76'      ;тип мешка
var havka   = '0x097B'
VAR MeshSer, d, LastTimer, timemove, itemM
var quantity = 250; количество предметов в 1 мешке
var msg ='You put|положили|fail|не удалось|You broke|сломали'
var printcolour = '1069'
sub Tailor()
   var menu = "waitmenu 'Cloth' 'Shirts' 'Shirts' 'plain dress'"  ;  меню крафта
   var item = dress
   UO.UseObject(Container)
   wait( 100 )
   UO.UseObject(Sunduk1)
   wait( 100 )
   UO.UseObject(Sunduk2)
   wait( 100 )
   WHILE NOT UO.Dead()
      UO.FindType( Meshok, '-1', Sunduk1 )
      MeshSer = UO.GetSerial( 'finditem' )
      UO.MoveItem( MeshSer, 0, Sunduk2 )
      checklag()
      uo.useobject( MeshSer )
      eat()
      REPEAT
         GET(cloth, Container, 16, 100)
         GET(spool, Container, 1, 100)
         Repeat
            UO.DeleteJournal()
            LastTimer=UO.Timer()
            UO.exec( menu )
            UO.waittargettype ( cloth )
            UO.Usetype( Skit )
            repeat
               wait( 100 )
            until UO.InJournal( msg ) or UO.Timer()>LastTimer+150
         Until UO.Count( item ) > 0
         checklag()
         PUT(item , MeshSer)
         UO.FindType( item , -1, MeshSer)
         uo.charprint(printcolour,'Предметов сделано: ' + Str( UO.FindCount( item ) ) )
      UNTIL UO.FindCount()>=quantity
      uo.charprint(printcolour,'Берем другую сумку' )
      wait( 300 )
   WEND
end sub
Sub eat()
   GET(havka, Container, 1, 20)
   REPEAT
      UO.DeleteJournal()
      LastTimer=UO.Timer()
      UO.findtype(havka,-1,'backpack')
      If UO.FindCount() > 0 Then
         UO.Useobject('finditem')
         wait(200)
      Else
         uo.charprint(printcolour, 'кончилась рыба' )
         return 0
      end if
   Until UO.InJournal("simply too full to eat|stuffed!|think|found|Вы ничего не можете") OR UO.Timer()>LastTimer+200
   PUT(havka, Container)
end sub
Sub GET(item, cont, min, max) ; предмет, откуда, минимум, сколько брать
   If UO.Count( item ) < min Then
      UO.FindType( item, '-1', cont )
      if UO.FindCount() > 0 Then
         uo.charprint(printcolour,'Сырья в сундуке: '+Str(UO.GetQuantity('finditem')) ) 
         itemM=UO.GetSerial('finditem')
         timemove=UO.Timer()
         while UO.ContainerOf(itemM)==cont && timemove+20>UO.Timer()
            uo.moveitem('finditem', max, 'backpack')
            wait(300)
         wend
      else
         uo.charprint(printcolour, 'Полностью кончилось сырье' )
         UO.CancelMenu()
         MyTerminate()
      endif
   Endif
end sub
Sub PUT(item, cont)
   while UO.Count( item ) > 0
      UO.FindType( item, -1, -1 )
      itemM=UO.GetSerial('finditem')
      timemove=UO.Timer()
      UO.MoveItem( 'finditem', 0, cont )
      while UO.ContainerOf(itemM)=='my' && timemove+20>UO.Timer()
         wait(300)
      wend
   wend
end sub
Sub DeleteJournal(msg)
   While UO.InJournal(msg)
      UO.SetJournalLine(UO.InJournal(msg) - 1,'')
   wend
endsub
Sub MyTerminate()
   UO.Set('quiet','1')
   UO.CancelMenu()
   UO.IgnoreReset()
   UO.Set('quiet','0')
   UO.Exec('terminate all')
end sub
Sub checklag()
   DeleteJournal("ackpack")
   UO.Click("backpack")
   repeat
      wait(100)
   until UO.InJournal("ackpack")
end sub

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
PostPosted: 2011-06-24 01:17:29 
Offline
User avatar

Joined: 2006-12-08 10:51:50
Posts: 718
Location: Москва
Code:
UO.FindType(-1, -1, id_Bag)
If UO.FindCount() < 255 then
  ...
 else
  UO.Ignore(id_Bag)
Endif


Где тут эта вероятность? Если в мешке 255 итемов - в игнор его.


Top
   
PostPosted: 2011-06-24 06:48:30 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Пардон, просмотрел.

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
PostPosted: 2011-06-24 08:07:39 
Offline

Joined: 2011-06-23 18:18:24
Posts: 9
Спасибо огромное ! Буду пробовать )))
Если что напишу...


Top
   
PostPosted: 2011-06-24 09:09:05 
Offline

Joined: 2011-06-23 18:18:24
Posts: 9
ZeroDX


Скрипт выдает ошибку (чтото связано с едой):

Line 72: Variable already defined - ID


можно както подправить

И как узнать задержку на сервере...


Mirage
Ваш скрипт не работает. Не делает ничего. чтото там с меню ...

Code:
sub Tailoring()
  Dim t_Resources[2]
    t_Resources[0] = '0x175D' ;Тип ткани
    t_Resources[1] = '0x0FA0' ;Тип ниток
  var t_SewingKit = '0x0F9D', t_Robe = '0x1f01', t_Bag = '0x0e76', t_Steaks = '0x0c77'
  var id_Container = '0x41515b94', id_RecContainer = '0x41234814'
  var Delay = 10, Pause = 1000, ThreadsNeed = 1, ClothNeed = 10, ClothMove = 500, ThreadsMove = 50
  var msg = 'ou put|fail', Time, id_Bag, ResMove, i
  UO.UseObject(id_Container)
  UO.UseObject(id_RecContainer)
  While true
    If UO.Count(t_Resources[0]) >= ClothNeed and UO.Count(t_Resources[1]) >= ThreadsNeed then
      If UO.Targeting() then
        UO.CancelTarget()
      Endif
      DelJournal(msg)
      Time = UO.Timer()
      UO.WaitMenu('Cloth', 'Shirts', 'Shirts', 'plain dress')
      UO.WaitTargetType(t_Resources[0])
      UO.UseType(t_SewingKit)
      Repeat
        Wait(100)
      Until UO.InJournal(msg) or Time + Delay * 10 <= UO.Timer()
     else
      While UO.Count(t_Robe)
        UO.FindType(t_Bag, -1, id_RecContainer)
        If UO.FindCount() then
          id_Bag = UO.GetSerial('finditem')
          UO.UseObject(id_Bag)
          Wait(100)
          UO.FindType(-1, -1, id_Bag)
          If UO.FindCount() < 255 then
            UO.FindType(t_Robe, -1, 'backpack')
            If UO.FindCount() then
              CheckLag()
              UO.MoveItem('finditem', -1, id_Bag)
              Wait(Pause)
             else
              UO.Print('Непонятная ошибка 404 :Р')
              Return
            Endif
           else
            UO.Ignore(id_Bag)
          Endif
         else
          UO.Print('Вроде как закончились пустые сумки')
          Return
        Endif
      Wend
      UO.IgnoreReset()
      For i = 0 to 1
        UO.FindType(t_Resources[i], -1, id_Container)
        If UO.FindCount() then
          If i > 0 then
            ResMove = ThreadsMove
           else
            ResMove = ClothMove
          Endif
          CheckLag()
          UO.MoveItem('finditem', ResMove - UO.Count(t_Resources[i]), 'backpack')
          Wait(Pause)
         else
          UO.Print('В ' + id_Container + ' не найден один из ресурсов.')
          Return
        Endif
      Next
    Endif
    Eat(id_Container, t_Steaks, Pause)
  Wend
Endsub

Sub Eat(id, type, pause)
  var msg = 'simply|ou can|full', Time, Delay = 10
  DelJournal(msg)
  Time = UO.Timer()
  Repeat
    If UO.Count(type) then
      UO.UseType(type)
      Wait(100)
     else
      UO.FindType(type, -1, id)
      If UO.FindCount() then
        CheckLag()
        UO.MoveItem('finditem', 20, 'backpack')
        Wait(Pause)
       else
        UO.Print('Еды нету')
        Return
      Endif
    Endif
  Until UO.InJournal(msg) or Time + Delay * 10 <= UO.Timer()
Endif

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


Top
   
PostPosted: 2011-06-24 10:04:36 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Свой скрипт я поправил, попробуй. Тип вещи только напиши там.

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
PostPosted: 2011-06-24 10:06:55 
Offline

Joined: 2011-06-23 18:18:24
Posts: 9
Спасибо будем пробовать )


Top
   
PostPosted: 2011-06-24 11:04:19 
Offline

Joined: 2011-06-23 18:18:24
Posts: 9
Mirage

Шить он уже может, но не достает из контенера ни один ресурс (нитки, ткань, еда.)
Осталась одна нитка и 3 ткани ... просто открылось меню крафта и все...


Top
   
PostPosted: 2011-06-24 12:10:37 
Offline
User avatar

Joined: 2006-12-08 10:51:50
Posts: 718
Location: Москва
Поменял названия переменных, мало-ли

Code:
Sub Eat(cont, food, del)
  var msg = 'simply|ou can|full', Time, Delay = 10
  DelJournal(msg)
  Time = UO.Timer()
  Repeat
    If UO.Count(food) then
      UO.UseType(food)
      Wait(100)
     else
      UO.FindType(food, -1, cont)
      If UO.FindCount() then
        CheckLag()
        UO.MoveItem('finditem', 20, 'backpack')
        Wait(del)
       else
        UO.Print('Еды нету')
        Return
      Endif
    Endif
  Until UO.InJournal(msg) or Time + Delay * 10 <= UO.Timer()
Endif


Top
   
PostPosted: 2011-06-24 13:54:08 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Levo wrote:
Mirage
просто открылось меню крафта и все...

контейнеры прописал вверху?
Они должны открыться перед шитьем.
Проверь скрипт ZeroDX. Если он работает то интересный вариант работы с мешками и игнором. Нужно взять на заметку.

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
PostPosted: 2011-06-24 20:05:48 
Offline

Joined: 2011-06-23 18:18:24
Posts: 9
Работает. Спасибо огромное ZeroDX. И Вам Mirage спасибо за поддержку =)

В етом скрипте только еду переделать нада.
Кидает такую ошибку: Line 72: Variable already defined - ID

я просто закоментировал # Eat(id_Container, t_Steaks, Pause) --- кушаем руками =)


Code:
Eat(id_Container, t_Steaks, Pause)

Sub Eat(cont, food, del)
  var msg = 'simply|ou can|full', Time, Delay = 10
  DelJournal(msg)
  Time = UO.Timer()
  Repeat
    If UO.Count(food) then
      UO.UseType(food)
      Wait(100)
     else
      UO.FindType(food, -1, cont)
      If UO.FindCount() then
        CheckLag()
        UO.MoveItem('finditem', 20, 'backpack')
        Wait(del)
       else
        UO.Print('Еды нету')
        Return
      Endif
    Endif
  Until UO.InJournal(msg) or Time + Delay * 10 <= UO.Timer()
Endif


Top
   
PostPosted: 2011-06-24 21:06:59 
Offline
User avatar

Joined: 2006-12-08 10:51:50
Posts: 718
Location: Москва
А если так?
Code:
var t_SewingKit = '0x0F9D', t_Robe = '0x1f01', t_Bag = '0x0e76', t_Steaks = '0x0c77'
var id_Container = '0x41515b94', id_RecContainer = '0x41234814'
var Delay = 10, Pause = 1000, ThreadsNeed = 1, ClothNeed = 10, ClothMove = 500, ThreadsMove = 50

sub Tailoring()
  Dim t_Resources[2]
    t_Resources[0] = '0x175D' ;Тип ткани
    t_Resources[1] = '0x0FA0' ;Тип ниток
  var msg = 'ou put|fail', Time, id_Bag, ResMove, i
  UO.UseObject(id_Container)
  UO.UseObject(id_RecContainer)
  While true
    If UO.Count(t_Resources[0]) >= ClothNeed and UO.Count(t_Resources[1]) >= ThreadsNeed then
      If UO.Targeting() then
        UO.CancelTarget()
      Endif
      DelJournal(msg)
      Time = UO.Timer()
      UO.WaitMenu('Cloth', 'Shirts', 'Shirts', 'plain dress')
      UO.WaitTargetType(t_Resources[0])
      UO.UseType(t_SewingKit)
      Repeat
        Wait(100)
      Until UO.InJournal(msg) or Time + Delay * 10 <= UO.Timer()
     else
      While UO.Count(t_Robe)
        UO.FindType(t_Bag, -1, id_RecContainer)
        If UO.FindCount() then
          id_Bag = UO.GetSerial('finditem')
          UO.UseObject(id_Bag)
          Wait(100)
          UO.FindType(-1, -1, id_Bag)
          If UO.FindCount() < 255 then
            UO.FindType(t_Robe, -1, 'backpack')
            If UO.FindCount() then
              CheckLag()
              UO.MoveItem('finditem', -1, id_Bag)
              Wait(Pause)
             else
              UO.Print('Непонятная ошибка 404 :Р')
              Return
            Endif
           else
            UO.Ignore(id_Bag)
          Endif
         else
          UO.Print('Вроде как закончились пустые сумки')
          Return
        Endif
      Wend
      UO.IgnoreReset()
      For i = 0 to 1
        UO.FindType(t_Resources[i], -1, id_Container)
        If UO.FindCount() then
          If i > 0 then
            ResMove = ThreadsMove
           else
            ResMove = ClothMove
          Endif
          CheckLag()
          UO.MoveItem('finditem', ResMove - UO.Count(t_Resources[i]), 'backpack')
          Wait(Pause)
         else
          UO.Print('В ' + id_Container + ' не найден один из ресурсов.')
          Return
        Endif
      Next
    Endif
    Eat()
  Wend
Endsub

Sub Eat()
  var msg = 'simply|ou can|full', Time, Delay = 10
  DelJournal(msg)
  Time = UO.Timer()
  Repeat
    If UO.Count(t_Steaks) then
      UO.UseType(t_Steaks)
      Wait(100)
     else
      UO.FindType(t_Steaks, -1, id_Container)
      If UO.FindCount() then
        CheckLag()
        UO.MoveItem('finditem', 20, 'backpack')
        Wait(Pause)
       else
        UO.Print('Еды нету')
        Return
      Endif
    Endif
  Until UO.InJournal(msg) or Time + Delay * 10 <= UO.Timer()
Endif

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


Top
   
PostPosted: 2011-06-24 23:48:15 
Offline

Joined: 2011-06-23 18:18:24
Posts: 9
Всеравно не работает.

Возможно инжа глюченая...
Посоветуйте нормальный сборник пожалуйста...
Там я слышал чтото с АСМ ... незнаю просто что ето такое и нада ли оно мне )

Если можно ссылку на файлообменник какой =)


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 18 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited