Стопки

Ask for help

Moderators: Murderator+, Murderator

Post Reply
Ex-Brodyaga
Junior Expert
Posts: 150
Joined: 2004-04-12 20:26:41

Стопки

Post by Ex-Brodyaga »

Как узнать сколько в стопке штук?
Yoko
Site Admin
Posts: 1964
Joined: 2004-04-03 16:49:38
Contact:

Post by Yoko »

uo.getquantity
Ex-Brodyaga
Junior Expert
Posts: 150
Joined: 2004-04-12 20:26:41

Post by Ex-Brodyaga »

йоко, но у меня допустим в сумке есть какое-то количество пачек, но если я нахожу стопку по типу, как мне узнать её ID что бы quantity могла посчитать, потому что если в неё писать тип а не айди, то она пишет количество стопок, а не итемов в ней.
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Ex-Brodyaga wrote:йоко, но у меня допустим в сумке есть какое-то количество пачек, но если я нахожу стопку по типу, как мне узнать её ID что бы quantity могла посчитать, потому что если в неё писать тип а не айди, то она пишет количество стопок, а не итемов в ней.


А что, UO.GetSerial('finditem') не работает? Вообще все эти вопросы решаются элементарным просмотром хелпа...
Ex-Brodyaga
Junior Expert
Posts: 150
Joined: 2004-04-12 20:26:41

Post by Ex-Brodyaga »

Нет не работает, не можешь помочь - молчи. Скрипт я написал, кому интересно вот :


sub main()
var bag1=0x40153A31
var bag2=0x4018BBAE
############################
var kolvo=0
var kolvse=0
repeat
UO.findtype('0x1F4C','0x0000', bag1)
kolvo=UO.Getquantity('finditem')
kolvse=kolvse+kolvo
CheckLag()
UO.Print(Str(kolvse))
UO.MoveItem('finditem','500', bag2)
wait(500)
until Uo.Getquantity('finditem')==0
UO.Print(Str(kolvse))
end sub

sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(200)
until UO.InJournal('backpack')
end sub
Last edited by Ex-Brodyaga on 2004-06-26 10:16:55, edited 1 time in total.
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Ex-Brodyaga wrote:Нет не работает, не можешь помочь - молчи. Скрипт я написал, кому интересно вот :


sub main()
var bag1=0x40153A31
var bag2=0x4018BBAE
############################
var kolvo=0
var kolvse=0
repeat
UO.findtype('0x1F4C','0x0000','bag1')
kolvo=UO.Getquantity('finditem')
kolvse=kolvse+kolvo
CheckLag()
UO.Print(Str(kolvse))
UO.MoveItem('finditem','500','bag2')
wait(500)
until 1==2
UO.Print(Str(kolvse))
end sub

sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(200)
until UO.InJournal('backpack')
end sub


Так ты тогда пиши, для чего этот скрипт... Потому что из его текста это неясно. UO.Ignore() нету, поэтому будут находиться те же стопки, перемещение по 500 - зачем? Напиши, о чем этот скрипт... Тем более, что по отсутствию кавычек в сериалах сумок ясно: скрипт не рабочий.
Если тебе надо просто сосчитать общее кол-во предметов во всех стопках в bag1, то попробуй так:

Code: Select all

sub main()
var bag1='0x40153A31'
############################
var kolvo=0
var kolvse=0
repeat
   UO.findtype('0x1F4C','0x0000','bag1')
   kolvo=UO.Getquantity('finditem')
   kolvse=kolvse+kolvo
   UO.Ignore()
   wait(100)
until UO.FindCount() == 0
UO.Print(Str(kolvse))
UO.IgnoreReset()
end sub
Ex-Brodyaga
Junior Expert
Posts: 150
Joined: 2004-04-12 20:26:41

Post by Ex-Brodyaga »

ЛОЛ, игнор там не нужен, работает и без него, так как поиск производится в одной сумке а найденное перекладывается в другуюю.
Yoko
Site Admin
Posts: 1964
Joined: 2004-04-03 16:49:38
Contact:

Post by Yoko »

для подсчёта вещей действительно используется игноррезет+игнор, как и показали. то что у тебя не нужно его использовать упрощает тебе задачу, однако если бы ты брал не с сундука а с земли то для надёжности тебе пришлось бы тоже игнор использовать, во избежание случайных зацикливаний на "can't pick up item"
Post Reply