Yoko
http://forum.yoko.com.ua/

little help with objects
http://forum.yoko.com.ua/viewtopic.php?f=3&t=13012
Page 1 of 1

Author:  Taya [ 2008-01-05 21:13:55 ]
Post subject:  little help with objects

hi to all,

i try to get the "name" of an object. Not the name of an character. this is easy with getname.

but how can i get something like: "1000 Eichenstämme"

i tried:

Code:
sub testen()
    UO.FindType("0x0190", "-1", 'ground')
    if uo.FindCount() then
       uo.print(uo.getname('finditem'))
    else
       uo.print("no item around")
    endif
end sub


but this won't work.

please is there anybody who can help me?

thanks
taya

Author:  Grin [ 2008-01-05 21:19:19 ]
Post subject: 

Code:
sub testen() 
    UO.FindType("0x0190", "-1", 'ground')
    if uo.FindCount() then
       uo.print(str(uo.getQuantity('finditem'))+' '+uo.getname('finditem'))
    else
       uo.print("no item around")
    endif
end sub

Author:  Taya [ 2008-01-06 14:33:25 ]
Post subject: 

thanks.

but unfortunately is says only

"60000"

instead of

"60000 Eichenhoelzer".

if i use this with a char then is says something like

"0 Hontar Hugmool".

thus, again my question:

how can i get the "name" of an object? or should i say description or property?

the reason is that i want to chance my lootscript. some object on our shard are named like "[magic] garment". and i will loot all this "[magic]" items too.

so i will insert something like

Code:
if "[magic]" in getproperty(finditem) then
   gosub loot()
endif


thanks
taya

PS: sorry i'm more familiar with easyUO but for lootscripts i think injection is the much better solution. in easyUO it's the command "event property #findid"

Author:  Grin [ 2008-01-06 15:45:18 ]
Post subject: 

Code:
sub testen() 
    UO.FindType("-1", "-1", 'ground')
    if uo.FindCount() then
       if not uo.getname('finditem') then
         uo.click('finditem')
          wait(100)
       end if
      if InStr(uo.getname('finditem'), "[mag]") > 0 then
         uo.print("Get it")
      end if
    else
       uo.print("no item around")
    endif
end sub
sub InStr(Source, subStr)
   var n = len(subStr)
   var j
   for var i = 0 to len(Source)-n
      j = 0
      while (j < n) and (Source[i+j] == subStr[j])
         j = j+1;
      wend
      if j == n then
         return i
      end if
   next
   return -1
end sub

Author:  Taya [ 2008-01-06 17:08:11 ]
Post subject: 

super!

thanks!

aber i chanced the line

if InStr(uo.getname('finditem'), "[mag]") > 0 then

to ">= 0" it works perfekt!

greats
taya

Author:  Grin [ 2008-01-06 18:03:29 ]
Post subject: 

:) no problem:)

Author:  kobol [ 2014-03-17 21:07:57 ]
Post subject:  Re: little help with objects

Нужна проверка на длину подстроки, иначе может не работать.

Code:
sub InStr(Source, subStr)
   var n = len(subStr)
   var j

if len(Source)>=len(subStr) then
   
   for var i = 0 to len(Source)-n
      j = 0
      while (j < n) and (Source[i+j] == subStr[j])
         j = j+1;
      wend
      if j == n then
         return i
      end if
   next
else
end if
   return -1
   
end sub

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/