Скрипт на расскладку итемов

Ask for scripts here

Moderators: Murderator+, Murderator

Post Reply
MERFY
Posts: 13
Joined: 2012-04-12 12:25:52

Скрипт на расскладку итемов

Post by MERFY »

Подскажите пожалуйста скрипт на такую вот раскладку любых итемов, пол ночи искал - результата 0 :(

Image

Ну или что то подобное. Зарание благодарю.

P.S. Использую вот этот скрипт, но он работает через раз и вылазит всё за бекап=(

Image

Image

Code: Select all

sub Sorter()
   UO.IgnoreReset()
   AddObject('sorter','Выберите эталонный предмет')
   VAR ITEM=UO.GetSerial('lasttarget')
   VAR TYPE=UO.GetGraphic(ITEM)
   VAR COLOR=UO.GetColor(ITEM)
   VAR CONT=UO.ContainerOf(ITEM)
   UO.Print(ITEM+' '+TYPE+' '+COLOR)
   if TYPE=='0x0000' or TYPE=='0xFFFF' then
      UO.Print('ERROR!')
      return
   endif
   VAR X=UO.GetX(ITEM)
   VAR Y=UO.GetY(ITEM)
   UO.Ignore(ITEM)
   UO.FindType(TYPE,COLOR,CONT)
   while UO.FindCount()
      X=X+4
      Y=Y
      UO.MoveItem('finditem',-1,CONT,X,Y,0)
      wait(500)
      UO.Ignore('finditem')
      UO.FindType(TYPE,COLOR,CONT)
   wend
   UO.IgnoreReset()
endsub

Sub AddObject(obj,msg)
UO.Forget(obj)
UO.Print(msg)
UO.Set('quiet','1')
UO.CancelTarget()
UO.AddObject(obj)
while UO.Targeting()
 wait(50)
wend
UO.AddObject(obj,'lasttarget')
UO.Set('quiet','0')
UO.Print('Присвоен обьект: '+UO.GetSerial(obj))
endsub


Как можно прикрутить сюда код, что бы он допустим после указанного количества предметов которые я разложил, делал 2-ю колонку итд

Пример что бы было понятно

Image
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Скрипт на расскладку итемов

Post by Mirage »

Code: Select all

sub Sorter() 
UO.IgnoreReset()
AddObject('sorter','Выберите эталонный предмет')
VAR ITEM=UO.GetSerial('lasttarget')
VAR TYPE=UO.GetGraphic(ITEM)
VAR CONT=UO.ContainerOf(ITEM)
if TYPE=='0x0000' or TYPE=='0xFFFF' then
   UO.Print('ERROR!')
   return
endif
VAR X=UO.GetX(ITEM)
VAR Y=UO.GetY(ITEM)
UO.Ignore(ITEM)
UO.FindType(TYPE,-1,CONT)
VAR k=0
while UO.FindCount()
   k=k+1
   X=X+5
   Y=Y
   UO.MoveItem('finditem',-1,CONT,X,Y,0)
   wait(500)
   UO.Ignore('finditem')
   UO.FindType(TYPE,-1,CONT)
   if k==15 then
      Y=Y+5
      X=(UO.GetX(ITEM)-5)
   else
      if k==30 then
         Y=Y+10
         X=(UO.GetX(ITEM)-5)
      else
         wait(50)
      endif
   endif
wend
UO.IgnoreReset()
endsub

Как то так. k - количество предметов.
PS в твоем скрипте предметы сортируются и по цвету.
MERFY
Posts: 13
Joined: 2012-04-12 12:25:52

Re: Скрипт на расскладку итемов

Post by MERFY »

Спасибо большое, но теперь при запуске скрипта пишет "Function not found ADDOBJECT" я просто инжектом редко пользуюсь и не дружу с ним вообще, как эту ошибку можно исправить ? Инжект версии 505.18 gumpfixv2.
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Скрипт на расскладку итемов

Post by Mirage »

Sub AddObject(obj,msg)
возьми из своего скрипта :)
MERFY
Posts: 13
Joined: 2012-04-12 12:25:52

Re: Скрипт на расскладку итемов

Post by MERFY »

Я методом тыка так и сделал =) Правда раскладывает только 2 колонки =)
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Скрипт на расскладку итемов

Post by Mirage »

Ну принцип я показал и на поставленный вопрос ответил - как сделать чтобы раскладывал красиво а не в строку.

А дальше - математика и черчение. Там хоть птичку хоть письку нарисовать можно при определенной пряморукости.

PS на новых клиентах (НЕКОТОРЫХ) не работает функция мувитем => нельзя красиво разложить пак.
Post Reply