Page 1 of 1

Не получается скриптик на проверку кол-ва регов в сундуке

Posted: 2009-04-07 16:12:04
by 1a2a3a4a5a6a
Пытаюсь сделать небольшой скриптик на проверку кол-ва реагентов в сундуке.

Code: Select all

sub chekss()
VAR bpearl = '0x0F7A'
VAR sunduks = '0x40221ABF'
UO.FindType(bpearl,'0x0000',sunduks)
UO.Print(STR(UO.count('finditem'))+" bp")
end sub


Запускаю - пишет "Unknow graphic type" и ниже "0 bp"

Posted: 2009-04-07 16:41:10
by Destruction

Posted: 2009-04-07 17:16:15
by 1a2a3a4a5a6a
Я так понял что count ищет только в бекпаке, а findcount ищет так же и в сундуках. Изменил скрипт на:

Code: Select all

sub chekss() 
  VAR bpearl = '0x0F7A'
  VAR sunduks = '0x40221ABF'
  UO.FindType(bpearl,'0x0000',sunduks)
  UO.Print(STR(UO.findcount('finditem'))+" bp")
end sub


Теперь же он считает кол-во предметов такого типа, но реагенты ведь "сливаются" в один предмет.

Posted: 2009-04-07 20:06:58
by Successful

Code: Select all

  UO.Print(str(uo.getquantity('finditem'))+" bp")

Posted: 2009-04-07 20:17:51
by Destruction
Ну кто так делает..

Code: Select all

sub chekss()
     uo.print( str( my.count( '0x0F7A', '0x0000', '0x40221ABF' ) ) + " bp" )
endsub

Sub my.count( type, color, container )
    var count = 0
    uo.findtype( type, color, container )
    while uo.findcount()
        count = count + uo.getQuantity( 'finditem' )
        uo.ignore( 'finditem' )
        uo.findtype( type, color, container )
    wend
    uo.ignorereset()
    return count
endsub

Posted: 2009-04-07 20:21:48
by Successful
уже понял )

Posted: 2009-04-08 15:34:22
by 1a2a3a4a5a6a
Destruction
Пасиб за работу, все отлично работает!

Вот на все реагенты, если кому-нибудь пригодится:

Code: Select all

sub chekss() 
VAR sunduks = '0x40221ABF'
     uo.print( str( my.count( '0x0F88', '0x0000', sunduks ) ) + " ns" )
     uo.print( str( my.count( '0x0F85', '0x0000', sunduks ) ) + " gi" )
     uo.print( str( my.count( '0x0F86', '0x0000', sunduks ) ) + " mr" )
     uo.print( str( my.count( '0x0F8C', '0x0000', sunduks ) ) + " sa" )
     uo.print( str( my.count( '0x0F7B', '0x0000', sunduks ) ) + " bm" )
     uo.print( str( my.count( '0x0F84', '0x0000', sunduks ) ) + " ga" )
     uo.print( str( my.count( '0x0F8D', '0x0000', sunduks ) ) + " ss" )
     uo.print( str( my.count( '0x0F7A', '0x0000', sunduks ) ) + " bp" )
end sub

Sub my.count( type, color, container )
    var count = 0
    uo.findtype( type, color, container )
    while uo.findcount()
        count = count + uo.getQuantity( 'finditem' )
        uo.ignore( 'finditem' )
        uo.findtype( type, color, container )
    wend
    uo.ignorereset()
    return count
endsub