| Yoko http://forum.yoko.com.ua/ |
|
| Перекладывание итемов. Помогите доделать. http://forum.yoko.com.ua/viewtopic.php?f=17&t=14843 |
Page 1 of 1 |
| Author: | Pe4niK [ 2009-06-09 10:17:43 ] |
| Post subject: | Перекладывание итемов. Помогите доделать. |
Есть отличный скриптик от AGRS для этого дела. (viewtopic.php?p=70833#70833) Но когда типов итемов много, приходится менять переменные и перезапускать его. (например перекладка регов из кучи мешков в один) Требуется дополнить скрипт массивом и встроить перебор этого массива. Сам по этой части очень слаб... Вот исходник: 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 |
|
| Author: | duzik [ 2009-06-09 11:02:34 ] |
| Post subject: | |
Както в руки попал вот такои скрипт ... Code: sub Sort_Regs() |
|
| Author: | Pe4niK [ 2009-06-09 11:30:42 ] |
| Post subject: | |
duzik wrote: Както в руки попал вот такои скрипт ...
Пасибки за пример! UO.FindType(ItemType, -1, 'lastcontainer') ;Ищем предметы в открытом мешке ItemType на -1 и пересыпал все реги. Но задачка состоит в выборе из кучи мусора по мешкам немногих нужных вещей. Теперь я ее решу! ))) |
|
| Page 1 of 1 | All times are UTC+02:00 |
| Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |
|