Page 1 of 1

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

Posted: 2006-08-09 00:04:44
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')
но что-то не очень получается (

Posted: 2006-08-09 04:44:21
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
##########################

Posted: 2006-08-09 06:39:31
by Nmy
:roll: :wink:

все оказывается очень просто...

Posted: 2006-08-09 12:28:28
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
##########################


Да.
У меня такойже - пашет нормально

Posted: 2006-08-09 13:49:58
by Mihail
ну это фигня - у меня у самого такой же (тока в звыисимости от кол0-ва разными цветами высвечивает) - но это трэш :) - и неудобно + некрасиво :)
мне надо как я написал :)

Posted: 2006-08-09 14:02:57
by SESTRA
Ну ты прям тебе золотой ниткой его не обшить?)

Posted: 2006-08-09 17:06:44
by Mihail
все сделал..
пришлось оформить в 2 массива складывающиеся в стопку и не складывающиеся
топ клоуз

Posted: 2006-08-09 17:22:52
by BoBBaH
скрипт твой в студию

Posted: 2006-08-21 14:25:03
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
переделать под нужное думаю сдюжите.