count ресурсов (проблема со стопками)

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

count ресурсов (проблема со стопками)

Post by Mihail »

Вот решил написать удобный подсчет разных ресурсов

Code: Select all

sub count()
var i
Dim a[2]
;       [тип]  [цвет] [отображаемое название]
a[0] = '0x0F09 0x0060 Invistiblity'
a[1] = '0x0F09 0x0388 Mana Refresh'
for i=0 to 1
uo.print(Right(a[i],len(a[i])-14)+': '+str(uo.count(Left(a[i],6),Right(Left(a[i],13),6))))
next
end sub

Но столкнулся с такой проблемой: - этот скрипт хорош только для предметов не_складывающихся в стопку..
взять те же скроллы- их кол-во будет отображаться некорректно..
в идеале конечно нужна команда типа uo.stackable(object) :) но такой насколько мне известно нету..
вобщем надо как-то решить проблему :(
у меня были мысли использывать findtype и потом сравнивать результаты uo.count(uo.getgraphic('finditem')) и uo.getquantity('finditem')
но что-то не очень получается (
SESTRA
Posts: 223
Joined: 2006-02-21 09:31:41
Contact:

Post by SESTRA »

Могу поделитсЯ) работает норм ток итамы вписывай и все)

Code: Select all

########################## 
sub S4italka()
UO.Print(STR(UO.count('0x0E20','0x000'))+" Бинты")
UO.Print(STR(UO.count('0x1F49','0x000'))+" Гх")
UO.Print(STR(UO.count('0x1F50','0x000'))+" Рефлекты")
UO.Print(STR(UO.count('0x1F5F','0x000'))+" Фсы")
UO.Print(STR(UO.count('0x1F52','0x000'))+" Парализы")
UO.Print(STR(UO.count('0x1F4A','0x000'))+" Лайты")
UO.Print(STR(UO.count('0x1F44','0x000'))+" Стенки")
UO.Print(STR(UO.count('0x1F5B','0x000'))+" Филды")
UO.Print(STR(UO.count('0x1F69','0x000'))+" Деманы")
UO.Print(STR(UO.count('0x1F4C','0x000'))+" Реколы")
UO.Print(STR(UO.count('0x0F06','0x07F2'))+" Инвизки")
UO.Print(STR(UO.count('0x0F0B','0x000'))+" Рефрешки")
end sub
##########################
А Я че Я не че !
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

:roll: :wink:

все оказывается очень просто...
CONDOMchick
Posts: 362
Joined: 2005-04-23 20:18:57

Post by CONDOMchick »

SESTRA wrote:Могу поделитсЯ) работает норм ток итамы вписывай и все)

Code: Select all

########################## 
sub S4italka()
UO.Print(STR(UO.count('0x0E20','0x000'))+" Бинты")
UO.Print(STR(UO.count('0x1F49','0x000'))+" Гх")
UO.Print(STR(UO.count('0x1F50','0x000'))+" Рефлекты")
UO.Print(STR(UO.count('0x1F5F','0x000'))+" Фсы")
UO.Print(STR(UO.count('0x1F52','0x000'))+" Парализы")
UO.Print(STR(UO.count('0x1F4A','0x000'))+" Лайты")
UO.Print(STR(UO.count('0x1F44','0x000'))+" Стенки")
UO.Print(STR(UO.count('0x1F5B','0x000'))+" Филды")
UO.Print(STR(UO.count('0x1F69','0x000'))+" Деманы")
UO.Print(STR(UO.count('0x1F4C','0x000'))+" Реколы")
UO.Print(STR(UO.count('0x0F06','0x07F2'))+" Инвизки")
UO.Print(STR(UO.count('0x0F0B','0x000'))+" Рефрешки")
end sub
##########################


Да.
У меня такойже - пашет нормально
Dragon World. [since 2004]
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

ну это фигня - у меня у самого такой же (тока в звыисимости от кол0-ва разными цветами высвечивает) - но это трэш :) - и неудобно + некрасиво :)
мне надо как я написал :)
SESTRA
Posts: 223
Joined: 2006-02-21 09:31:41
Contact:

Post by SESTRA »

Ну ты прям тебе золотой ниткой его не обшить?)
А Я че Я не че !
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

все сделал..
пришлось оформить в 2 массива складывающиеся в стопку и не складывающиеся
топ клоуз
BoBBaH
Posts: 94
Joined: 2006-02-09 11:37:25
Contact:

Post by BoBBaH »

скрипт твой в студию
Sfagnum
Expert!
Posts: 1284
Joined: 2004-07-04 00:14:58
Contact:

Post by Sfagnum »

от АГРСа

Code: Select all

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)
      end if
   Until UO.FindCount()<1
   UO.IgnoreReset()
   return item_amount
end sub
переделать под нужное думаю сдюжите.
Post Reply