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

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