Page 1 of 1

перекладывание из сундука с подсумками?! как?!

Posted: 2008-01-30 21:14:50
by fearfactor
Здравствуйте.

У меня стоит сундук в сундуке 30 сумочек в сумках по 200 роб в каждой . Как прописать чтобы в мой бек перекидывалось по 150 роб(НА ЧАРА).
И если робы заканчивались в одной сумкке то он брал бы их из следущей.

( НЕ МОГЛИ БЫ НАПИСАТЬ ТАКОЙ СКРИПТ С КОМЕНТАРИЯМИ К КАЖДОЙ СТРОЧКЕ БЫЛ БЫ ОЧЕНЬ ПРИЗНАТЕЛЕН И БЛАГОДАРЕН)

Прочитал кучу всяких топиков.Но так и не смог написать скрипт.Ничего не получаеться убил пару дней .Уже просто не могу . не понимаю в чём мои ошибки..или я просто не создан понять программирование , пускай даже простейшее.

Заранее благодарю.

Posted: 2008-01-31 10:43:14
by fearfactor
ктонибудь...........!!! ))
не ленитесь . понимаю что впадлу писать )))) одно и тоже и разъеснять )

Posted: 2008-01-31 11:05:54
by AGRS
Воть нашел свой скрипт по пополнению наличкой из банка.
Добавил тебе поиск по подконтейнерам и написал комменты. Учись на здоровье. :)

Code: Select all

sub Main()
;Константы
Var Chest = 0x4000463C      ;Серийник сундука в котором лежат мешочки
Var BagType = 0x0E75        ;Графический тип мешочков (например паки)
Var ItemAmountNeeded = 44   ;Необходимое кол-во предметов (например 44)
Var ItemType = 0x0EED       ;Графический тип предметов (например золотые монетки)
;Переменные

UO.UseObject('backpack') ;Открываем рюкзак
WaitDelay() ;Делаем задержку
UO.UseObject(Chest) ;Открываем сундук с мешками
WaitDelay() ;Делаем задержку
UO.IgnoreReset() ;Обнуляем игнор лист объектов
If UO.Count(ItemType) < ItemAmountNeeded Then ;Проверяем, вдруг у нас уже есть нужные предметы
  Repeat ;Организуем цикл(1) по открыванию мешков из сундука одного за другим
    UO.FindType(BagType, -1, Chest) ;Ищем мешок в сундуке
    If UO.FindCount() Then ;Если(1) мешок найден, то лутаем его
      UO.UseObject('finditem') ;Но сначала мешок надо открыть
      WaitDelay() ;Делаем задержку
      Repeat ;Организуем цикл(2) по поиску нужных предметов в открытом мешке
        UO.FindType(ItemType, -1, 'lastcontainer') ;Ищем предметы в открытом мешке
        If UO.FindCount() Then ;Если(2) предмет найден, то...
          UO.MoveItem('finditem', Str(ItemAmountNeeded - UO.Count(ItemType)), 'backpack') ;Перемещаем недостающее кол-во себе в рюкзак
          WaitDelay() ;Делаем задержку
        EndIf ;Больше никаких если(2)! Идем дальше!
      Until (UO.Count(ItemType) >= ItemAmountNeeded) Or (Not UO.FindCount()) ;Цикл(2) завершен если у нас достаточно предметов или мешок пуст
      UO.Ignore('lastcontainer') ;Игнорируем мешок, ибо пустые мешки нам нах не нужны.
    EndIf ;Больше никаких если(1)! Идем дальше!
    UO.FindType(BagType, -1, Chest) ;Проверяем, есть ли еще мешки с предметами, в которых можно поживиться
  Until (UO.Count(ItemType) >= ItemAmountNeeded) Or (Not UO.FindCount()) ;Цикл(1) завершен если мешки закончились или если предметов у нас уже достаточно
EndIf
UO.Print('Now You have '+Str(UO.Count(ItemType))+' of items in Your backpack.') ;Отчет о проделанной работе
end sub


sub WaitDelay()
  Wait(750)
end sub

Posted: 2008-01-31 11:37:54
by fearfactor
оооо ))супер . я так и знал что там какие то нереальные строчки . а я пытался всё вписать в строчек 6 ))))а тут огоГо)

жду вечера чтобы проверить всё .

Спасибо.

Posted: 2008-02-01 09:06:44
by fearfactor
спасибо )
вчера под коньячок разьирался и наблюдал как робы складываються в бек ))))ыыыы