ok, here they are. These should work in both RunUO or OSI.
sub TM_GetItemCount
namespace push
namespace local GIC
set !item %1
finditem !item *
set #RESULT -1
if #FINDKIND <> -1
{
event property #FINDID
set !string #PROPERTY
str pos !string Contents: ; OSI
if #STRRES <> 0
{
set !start #STRRES + 10
str pos !string /
set !len #STRRES - !start
str mid !string !start !len
set #RESULT #STRRES
}
else
{
str pos !string Items, ; RunUO 2.0
if #STRRES <> 0
{
set !end #STRRES
set !ptr !end - 1
repeat
set !ptr !ptr - 1
str mid !string !ptr 1
until #STRRES notin _0_1_2_3_4_5_6_7_8_9_
set !ptr !ptr + 1
set !len !end - !ptr - 1
str mid !string !ptr !len
set #RESULT #STRRES
}
}
}
namespace pop
return #RESULT
sub TM_GetItemWeight
namespace push
namespace local GIC
set !item %1
finditem !item *
set #RESULT -1
if #FINDKIND <> -1
{
event property #FINDID
set !string #PROPERTY
str pos !string Weight:
if #STRRES <> 0
{
set !start #STRRES + 8
str pos !string Stones$
set !len #STRRES - !start - 1
str mid !string !start !len
set #RESULT #STRRES
}
else
{
str pos !string Stones$ ; RunUO 2.0
if #STRRES <> 0
{
set !end #STRRES
set !ptr !end - 1
repeat
set !ptr !ptr - 1
str mid !string !ptr 1
until #STRRES notin _0_1_2_3_4_5_6_7_8_9_
set !ptr !ptr + 1
set !len !end - !ptr - 1
str mid !string !ptr !len
set #RESULT #STRRES
}
}
}
namespace pop
return #RESULT
Usage is just:
gosub TM_GetItemWeight XXYYZZ
display ok The weight of the container is , #SPC , #RESULT
stop