You are not logged in.

1

Thursday, August 20th 2015, 6:03am

Frame and Texture Identification

Is there a way to mouse over a frame, widget, texture (including small sub-widgets like status bars) or anything of the like and get the name of the element your mouse is currently over?

Looking for something like what World of Warcraft has, such as /framestack and /eventtrace.

Thank you.

2

Thursday, August 20th 2015, 7:14pm

im not sure if what you want is here or not http://runesofmagic.gamepedia.com/Special:WantedTemplates.

3

Thursday, August 20th 2015, 7:28pm

Here is an example of what World of Warcraft has:



Basically, you mouse over any frame and see the visual layers, or frame names under your mouse. This allows you to find the name of any part of any frame to move them, hide, show, size, scale, colorize, etc.

4

Saturday, August 22nd 2015, 4:45pm

You can try something like this:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function getFramesAtPosition(x,y)
  local frames = {}
  
  for index, value in pairs(_G) do
    if value.GetName and value.GetPos and value.GetRealSize then
      local posX, posY = value:GetPos()
      local width, height = value:GetRealSize()
      if posX <= x and (posX + width) >= x and posY <= y and (posY + height) >= y then
        frames[#frames+1] = value
      end
    end
  end
  
  for index, value in pairs(frames) do
    SendSystemChat(value:GetName())
  end
end


Macro:

Source code

1
/run getFramesAtPosition(GetCursorPos())


Press the macro and you should get a list of most ui elements below the cursor
Mithrandir - Warden/Warrior/Scout/Druid 95/95/95/87 (Dochas) - yes, I'm german :P
Creator of RaidHeal (Curse)

5

Saturday, August 22nd 2015, 9:46pm

I tried your suggestion/code and all though it's definitely on the right track, I get a Lua error when running the macro.

ABC Error: [string "getFramesAtPosition(GetCursorPos())"]:1: attempt to call global 'getFramesAtPosition' (a nil value)

also getting this error:

ABC Error: [string "?"]:5: attempt to index local 'value' (a boolean value)

This post has been edited 1 times, last edit by "startxkdm" (Aug 24th 2015, 6:59am)


6

Wednesday, August 26th 2015, 7:51am

I haven't been able to get hoffmale's addon and macro to work, it keeps giving me a boolean error. I'm still in the process of learning Lua programming so would someone help me figure out what is going on with it?

Thanks

7

Wednesday, August 26th 2015, 9:59am

since i wrote the code in a hurry, i made a small mistake (forgot to check the type of value in the first loop) and overlooked another thing (frame might be at the right position but hidden)... this should work now (same macro as before):

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function getFramesAtPosition(x,y)
  local frames = {}
  
  for index, value in pairs(_G) do
    if type(value) == "table" and value.GetName and value.GetPos and value.GetRealSize and value.IsVisible then
      local posX, posY = value:GetPos()
      local width, height = value:GetRealSize()
      if posX <= x and (posX + width) >= x and posY <= y and (posY + height) >= y then
        local frame, visible = value, true
        repeat
          visible = visible and frame:IsVisible()
          frame = frame:GetParent()
        until not visible or not frame or frame == WorldFrame
        if visible then
          frames[#frames+1] = value
        end
      end
    end
  end
  
  for index, value in pairs(frames) do
    SendSystemChat(value:GetName())
  end
end
Mithrandir - Warden/Warrior/Scout/Druid 95/95/95/87 (Dochas) - yes, I'm german :P
Creator of RaidHeal (Curse)