Yoko

All sides of Injection
It is currently 2025-10-17 23:59:29

All times are UTC+02:00




Post new topic  Reply to topic  [ 3 posts ] 
Author Message
PostPosted: 2009-06-09 10:17:43 
Offline

Joined: 2009-03-22 23:32:21
Posts: 13
Location: Ростов-на-Дону
Есть отличный скриптик от 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


Top
   
 Post subject:
PostPosted: 2009-06-09 11:02:34 
Offline

Joined: 2005-08-17 15:58:05
Posts: 45
Както в руки попал вот такои скрипт ...

Code:
sub Sort_Regs()

var Sunduk=0x40126158
var Sunduk2=0x4003AC89
var bag=0x0E76
var i, bagg

DIM reg[8]

reg[0]=0x0F88
reg[1]=0x0F85
reg[2]=0x0F7A
reg[3]=0x0F86
reg[4]=0x0F8D
reg[5]=0x0F7B
reg[6]=0x0F8C
reg[7]=0x0F84
reg[8]=0x0F88

uo.FindType(bag,'-1',Sunduk)
while uo.FindCount()
if uo.FindCount() then
  uo.moveitem('finditem')
  wait(100)
  uo.UseObject('finditem')
  wait(100)
  bagg=uo.GetSerial('finditem')
  for i=0 to 8
    uo.FindType(reg[i],'-1',bagg)
    if uo.FindCount(0x0F88)  then
      uo.moveitem('finditem','all',Sunduk2)
      wait(400)
    end if
    wait(100)
  next
end if
uo.FindType(bag,'-1',Sunduk)
wend

end sub


Top
   
 Post subject:
PostPosted: 2009-06-09 11:30:42 
Offline

Joined: 2009-03-22 23:32:21
Posts: 13
Location: Ростов-на-Дону
duzik wrote:
Както в руки попал вот такои скрипт ...

Пасибки за пример! :D Теперь понятно, что и как надо сделать, надеюсь сам справиться. про реги это было просто так, сам поменял в строке
UO.FindType(ItemType, -1, 'lastcontainer') ;Ищем предметы в открытом мешке
ItemType на -1 и пересыпал все реги. Но задачка состоит в выборе из кучи мусора по мешкам немногих нужных вещей. Теперь я ее решу! )))


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

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 1 guest


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:  
cron
Powered by phpBB® Forum Software © phpBB Limited