Are there any /commands (Macro / Lua) for opening generic UI elements like spellbook?

Basically, I’m trying to fit the following menus into a couple Opie rings, and in order to do so, I need to make macros that execute slash commands because opie doesn’t let me just select a keybind for some reason. Anyway, these are the UI elements I was hoping to access via Opie:

  • Character Sheet
  • Spellbook
  • Map
  • Zone Map
  • Social Pane
  • Talents
  • LFG
  • BGs
  • toggle music
  • toggle sound

I know that there are some lua scripts for doing things like /script SetView(5) which I just made a ring for and that’s awesome, but I’m not sure how to do everything else listed here. I believe I can figure out the toggle music / toggle sound just by browsing the cvar list, but the rest of the generic blizz UI stuff shouldn’t have cvar commands so does that mean they can’t be accessed via /commands at all?

1 Like

Character Sheet

/run ToggleCharacter("PaperDollFrame")
/run ToggleCharacter("ReputationFrame")
/run ToggleCharacter("TokenFrame")

Spellbook

/run ToggleSpellBook(BOOKTYPE_SPELL)
/run ToggleSpellBook(BOOKTYPE_PROFESSION)
/run ToggleSpellBook(BOOKTYPE_PET)

if you get stuck use /fstack then mouseover the frame and find its name, then search all the extracted interface code for that frame name to see how its opened (use /fstack again to turn it off)

to extract the code;

  • in launcher go into options > game settings
  • tick additional command line arguments
  • add -console
  • restart game
  • press ~ (tilde) on the loading screen
  • type in exportinterfacefiles code and press enter
  • browse to your _retail_ folder and there should be an BlizzardInterfaceCode folder in there, thats where you want to search in
  • youll probably want to remove that -console option once your done (or tilde will open the console mid game which will probably be annoying)
1 Like

Awesome! Tyvm, this should make my keybind situation a whole heck of a lot smoother, and I was almost given up on there being a way to do it

world map /run OpenWorldMap()

if you want a specifc map then its /run OpenWorldMap(mapID), youll need to find the right values for mapID though, which i think is the 8th return from /dump GetInstanceInfo() (when youre at that location)

1 Like
/run PlayerTalentFrame_Toggle(SPECIALIZATION_TAB)
/run PlayerTalentFrame_Toggle(TALENTS_TAB)
1 Like

I guess the Zone map is /Run ToggleBattlefieldMap() too, this is pretty sweet

/run ToggleCharacter(“HonorFrame”) in Classic for PVP honor.