Пересчте предметов

Ask for help

Moderators: Murderator+, Murderator

Post Reply
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Пересчте предметов

Post by Destruction »

Вобщем у меня скрипт, я вот думаю, как бы задавать поменьше данных, и вообще, чтобы было все проще. :P

Я интересуюсь, мона пересчитать все предметы, через некоторое время пересчитать еще раз и узнать тип/ID вновь прибывшего придмета?
Last edited by Destruction on 2005-05-04 01:41:07, edited 1 time in total.
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Beyonder
Expert!
Posts: 388
Joined: 2005-04-23 10:19:43
Contact:

Post by Beyonder »

Да кстати, у меня тоже проблема с подсчетом. Как посчитать число вещей в кучке которая не в рюкзаке моего персонажа?
UO.FindType() - возвращает число кучек
UO.Count() - возвращает количество в рюкзаке
Sfagnum
Expert!
Posts: 1284
Joined: 2004-07-04 00:14:58
Contact:

Post by Sfagnum »

Beyonder wrote:Да кстати, у меня тоже проблема с подсчетом. Как посчитать число вещей в кучке которая не в рюкзаке моего персонажа?
UO.FindType() - возвращает число кучек
UO.Count() - возвращает количество в рюкзаке
FindCount - кол - во кучек
GetQuantity - кол-во айтемов в кучке.

ЗЫ AGRS выкладывал подсчёт предметов в указаном контейнере, ищи по слову amount - вроде как ;)
или жди до вечера - выложу... если не забуду ;)
Beyonder
Expert!
Posts: 388
Joined: 2005-04-23 10:19:43
Contact:

Post by Beyonder »

Сенкс.
flake
Expert!
Posts: 746
Joined: 2004-08-11 23:56:17
Location: The Citadel
Contact:

Post by flake »

Вы, наверное, об этом:

Code: Select all

# Скрипт для подсчета всех объектов в любом 
# контейнере. Запращивает прицел на 
# контейнер. Потом считает объекты в контейнере и выдает на 
# экран результат. 
# (c) Edred, based on unknown script 
#####################################################################
sub CountResource() 
   VAR ContSer, last 
   UO.Print( 'Click target to container' ) 
   UO.Info( 'self' ) 
   last = UO.GetSerial( 'lasttarget' ) 
   UO.CancelTarget() 
   UO.Info() 
   while last == UO.GetSerial( 'lasttarget' ) AND UO.Targeting() 
      wait(100) 
   wend 
   ContSer = UO.GetSerial( 'lasttarget' ) 
   UO.FindType( -1, -1, ContSer ) 
   UO.Print( 'I find ' + str( UO.FindCount() ) + ' items' ) 
endsub 
Sfagnum
Expert!
Posts: 1284
Joined: 2004-07-04 00:14:58
Contact:

Post by Sfagnum »

flake wrote:Вы, наверное, об этом:
я - нет.
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

UO.FindType( -1

Вот именно об этом! Пасибо :!:
Last edited by Destruction on 2005-05-04 01:40:52, edited 1 time in total.
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Sfagnum
Expert!
Posts: 1284
Joined: 2004-07-04 00:14:58
Contact:

Post by Sfagnum »

я вот это имел ввиду.
ЗЫ слизано у AGRS'a и адаптировано для своих нужд ;)

Code: Select all

var idBag
	uo.addobject('objBag') 
	while uo.targeting() 
		wait(100) 
	wend 
	idBag = UO.GetSerial('objBag')
	UO.UseObject(idBag)
	uo.addobject('objItem') 
	while uo.targeting() 
		wait(100) 
	wend 
uo.TextOpen()
uo.TextPrint('All: '+STR(get_amount(UO.GetGraphic('objItem'),UO.GetColor('objItem'),idBag)))
end Sub

Sub get_amount(Type, Color, Cont)
Var item_amount = 0
	UO.IgnoreReset()
	Repeat
		UO.FindType(Type, Color, Cont)
		If UO.FindCount()>0 Then
			If UO.GetQuantity('finditem')==0 Then
				item_amount = item_amount + 1
			Else
				item_amount = item_amount + UO.GetQuantity('finditem')
			End If
			UO.Ignore('finditem')
			UO.FindType(Type, Color, Cont)
		EndIf
	Until UO.FindCount()<1
	UO.IgnoreReset()
	Return item_amount
END Sub
Post Reply