Page 1 of 1

Get the cordenades of a button on a gump...

Posted: 2008-02-21 04:40:34
by Injectioner
Example:

Code: Select all

9] button 246 277 2474 2473 1 0 188 


I wanna know the cordanedes of this button and then, press this button.
How can I discovery his cordenades?

Thanks.

[]'s

Posted: 2008-02-21 09:25:48
by Destruction
Use uo.lastgump( 'command', 9 ) and parse line.

Posted: 2008-02-21 11:54:14
by Grin
Use uo.lastgump( 'command', 8 )
там в инфо гамп индекс с 1 идет, а должен с 0.

Posted: 2008-02-22 18:07:39
by Injectioner
To click on this gump, for example can I use?

Code: Select all

Uo.LClick('uo.lastgump( 'command', 8 )')



Other doubt:

Code: Select all

Buttons: ________
 page 0
    1 [  245] image=0x09A9 at 319:458
    2 [  267] image=0x09A9 at 364:458
    3 [  289] image=0x09A9 at 409:458
    4 [  311] image=0x09A9 at 454:458
    5 [  333] image=0x09A9 at 499:458
    6 [  135] image=0x09A9 at 319:493
    7 [  157] image=0x09A9 at 364:493
    8 [  179] image=0x09A9 at 409:493
    9 [  201] image=0x09A9 at 454:493
   10 [  223] image=0x09A9 at 499:493
   11 [    1] image=0x09A9 at 479:476


The button 1, in the end have the 319:458. Is this the cordenades of the button? x319 y458...

Thanks.

[]'s

ps: the coordenates are random, because of that I can't put the coordenates directly on the Uo.LClic().

Posted: 2008-02-22 19:11:21
by Destruction
You must get coordinates from string.

Use this function:

Code: Select all

; explode( string string, string pattern, number num )
; Destruction
Sub explode( string, pattern, num )
var i, counter = 0, entry = 0
for i=0 to strlen( string ) -1
   if mid( string, i, strlen( pattern ) )  == pattern then
      counter = counter + 1
      if num == counter-1 then
         return mid( string, entry, i-entry )
      endif
      entry = i + 1
   endif
next
if entry == 0 then
   return false
endif
return mid( string, entry, strlen(string)-entry )
endsub


For example:

Code: Select all

var button_string = uo.lastgump( 'button', 8 )
var coords = explode( button_string, " ", 4 )
var x = val( explode( coords, ":", 0 ) )
var y = val( explode( coords, ":", 1 ) )
uo.LClick( x, y )


Remember - it's only example!

Posted: 2008-02-22 19:20:25
by Edred
Injectioner wrote:To click on this gump, for example can I use?

Code: Select all

Uo.LClick('uo.lastgump( 'command', 8 )')



No. You can use

Code: Select all

var bstring
...
bstring = uo.lastgump( 'command', 8 )
uo.textopen()
uu.textprint(bstring)


Analyse it. You can use next functions for parse:

Code: Select all

LTrim - remove left spaces
RTrim - removes right spaces
Trim - remove starting and ending spaces
Left(String, Count of symbols) - return a substirng from begin the String to posicion Count
Right(String,Count of symbols)
Mid(String, position, Count of symbols)