Yoko

All sides of Injection
It is currently 2018-01-19 17:24:15

All times are UTC+02:00




Post new topic  Reply to topic  [ 3 posts ] 
Author Message
PostPosted: 2016-06-16 20:06:26 
Offline

Joined: 2016-06-12 20:36:28
Posts: 33
Всем доброго времени суток.
Имеется сундук, в котором валяется все подряд в перемешку.
Необходимо чтобы скрипт делал сортировку из этого сундука по мешочкам в примерной последовательности: в одну сумку все сильвер шмотки, в другую обсид, в третью айрон и т.д.
Читал темы про PUTLoot, что-то пробовал но так и не заработало, видимо что-то делаю не так.
Прошу посмотреть на говнокод и подсказать что не так, а по возможности поправить, либо показать пример, а дальше по аналогии допилю.

Code:
sub PUTLoot(MyType,MyColor,SourceContainer,TargetContainer)
   var BagForSort = '0x41154F55' ; сумка в которой валяется все подряд
   var BagSilver = '0x410D2A9A' ;сумка в которую будет падать silver
   UO.IgnoreReset()
   UO.FindType(MyType,MyColor,SourceContainer)
   If uo.FindCount()>0 Then
         if (TargetContainer=='ground') then
            uo.MoveItem('finditem',0,TargetContainer,uo.GetX('self'),uo.GetY('self'),uo.GetZ('self'))
         else
            uo.MoveItem('finditem',0,TargetContainer)
         end if
         wait(100)
      end if
   Until uo.FindCount()<1 or uo.Dead()
   PUTLoot(-1, '0x3411', 'BagForSort', 'BagSI','','','') ;  если я правильно понял тут последовательность такая: -1(игнорировать тип шмотки), искать по определенному цвету, где ищем, куда кидаем, координаты не заданы.
End sub

Что тут не так и как должно быть?


Top
   
PostPosted: 2016-06-16 22:22:06 
Offline

Joined: 2011-05-23 00:33:30
Posts: 942
Если нужно за раз сортировать все что есть а не один определенный цвет то можно использовать что-то типа этого
Code:
sub Sorting()
  var iron = 0x0000, silver = 0x0000, obsidian = 0x0000
  var ironbox = 0x000000000, silverbox = 0x000000000, obsidianbox = 0x000000000
  uo.addobject("box") ; Задаем контейнер в котором лежат вещи
  repeat
    wait(100)
  until not uo.targeting()
  repeat
    if uo.findtype(-1, -1, "box") then
      if uo.getcolor("finditem") == iron then
        uo.moveitem("finditem", 0, ironbox)
        wait(500)
      else
        if uo.getcolor("finditem") == silver then
          uo.moveitem("finditem", 0, silverbox)
          wait(500)
        else
          if uo.getcolor("finditem") == obsidian then
            uo.moveitem("finditem", 0, obsidianbox)
            wait(500)
          end if
        end if
      end if
    end if
  until not uo.findcount() or uo.dead()
end sub

_________________
CodeSweeper


Top
   
PostPosted: 2016-06-17 09:59:13 
Offline

Joined: 2016-06-12 20:36:28
Posts: 33
Спасибо!


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 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