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

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