Проблема....скрипт встает!?

Ask for help

Moderators: Murderator+, Murderator

Post Reply
Qualis Eram
Posts: 104
Joined: 2005-04-16 23:33:13
Contact:

Проблема....скрипт встает!?

Post by Qualis Eram »

Привет

Вот решил покачать тейлора на рубашках переделал скрипт на тейлор который выложен на форуме....все работает но одна проблема:

Когда я делаю рубашки на нее надо 8 ткани........но когда в сумке остается меньше 8 Ткани макрос встает.....т.е он не берет Ткань с пола.....и все пытается сделать рубашку....но не чего не выходит и вылетает Gump на то что чар может делать из оставшейся ткани в паке: Пример-было 50 Ткани он делал рубашки в сумке осталось 4 Ткани и вылетает Гамп другово меню....а точнее бандан....

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

Code: Select all

sub Tailoring() 
Var Box = '0x4001F699'      ; ID сундука с пустыми мешками
Var Barrel = '0x40024BF4'   ; ID пустого сундука, куда будет складываться изделия
Var Bag = '0x0E76'          ; Тип мешка
Var Cloth = '0x175D'        ; Тип ткани
Var Kit = '0x0F9D'          ; Тип инструмента
Var Crafts = '0x1517'       ; Тип предмета который будем делать
Var Kolvo = 50             ; Сколько брать ресурса
Var BagSer, j, ClothSer, k
While TRUE
     Uo.FindType( Cloth, -1, 1 )    ; Ищем ресурс на полу
     If Uo.FindCount() == 0 Then
     Uo.Print('Ткань не найдена!, скрипт отключается!')
  return
Endif
     Uo.Grab(Str(Kolvo), 'finditem')    ; Кладем ресурс в бакпак
  wait(2000)
     Uo.FindType(Bag, -1, Box)    ; Ищем мешок в сундуке
     BagSer = Uo.GetSerial('finditem')
     Uo.Grab('1', 'finditem')       ; Кладем его в бекпак
  wait(2000)
     Uo.MoveItem(BagSer, 0, Barrel)
  wait(2000)
     While Uo.Count(Cloth) > 0
     Uo.Print('Осталось: ' + Str(Uo.Count( Cloth ) ) + ' Ткани' )
     Uo.FindType(Cloth, -1, 'backpack')
     ClothSer = Uo.GetSerial('finditem')
     Uo.CancelMenu()
     Uo.DeleteJournal()
     Uo.WaitMenu ('Cloth','Shirts','Shirts','shirt')
     Uo.WaitTargetObject(ClothSer)
     Uo.UseType(Kit)
     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(Crafts) > 0 then
     Uo.FindType(Crafts, -1, 'backpack')
     Uo.MoveItem('finditem', 0, BagSer)
  wait(2000)
     Uo.Print('Изделие переложено')
end if
Wend
end sub
Beyonder
Expert!
Posts: 388
Joined: 2005-04-23 10:19:43
Contact:

Post by Beyonder »

Замени:

Code: Select all

While Uo.Count(Cloth) > 0

На:

Code: Select all

While Uo.Count(Cloth) > 8
Post Reply