Results 1 to 10 of 12

Thread: Macro Menu Bars

Hybrid View

  1. #1
    Player
    Rongway's Avatar
    Join Date
    Aug 2013
    Posts
    4,174
    Character
    Cyrillo Rongway
    World
    Hyperion
    Main Class
    Black Mage Lv 100
    Quote Originally Posted by Almagnus1 View Post
    Edit:
    Now that I think a bit through the conditions to check for, the if statement would need to be a bit more complicated than just checking if the bar was visible... and it's wandering into needing global variables of some kind. Either way, I'd still be interested to know if there's a way to populate a hotbar without doing a copy.
    You'll probably only be able to do what you want if you can refactor in some way that doesn't use control structures at all. Besides copying whole bars and toggling Display or Sharing states, there aren't really any other workarounds at your disposal.

    Based just on what you've said so far, I suspect that what you want to do is something like this:

    Click caster role button: caster jobs appear on jobBar
    Click caster role button: job bar disappears
    Click healer role button: healer jobs appear on jobBar
    Click caster role button: caster jobs appear on jobBar

    The pseudocode for that being
    Code:
    //  Caster role category button
    if (jobBar.currentRole == caster)
        hide jobBar
    else
        jobBar.currentRole <= caster
        show jobBar
    
    //  Healer role category button
    if (jobBar.currentRole == healer)
        hide jobBar
    else
        jobBar.currentRole <= healer
        show jobBar
    which is deceptively different from the above example! This one can't be refactored in the same way. If this is in fact what you want to do, you won't be happy with the macro translation above because it leads to this:

    Click caster role button: caster jobs appear on jobBar
    Click caster role button: job bar disappears
    Click healer role button: healer jobs appear on jobBar
    Click caster role button: job bar disappears

    So if what you want is to be able to hide the job bar when you're not using it, you should just use a wait timer to hide the bar automatically after a few seconds.

    Code:
    //  Caster role category button
    /hotbar copy thm 1 share 9
    /hotbar display 9 on <wait.15>
    /hotbar display 9 off
    
    //  Healer role category button
    /hotbar copy thm 2 share 9
    /hotbar display 9 on <wait.15>
    /hotbar display 9 off
    (0)
    Last edited by Rongway; 07-29-2021 at 01:11 PM.
    Error 3102 Club, Order of the 52nd Hour

  2. #2
    Player
    Almagnus1's Avatar
    Join Date
    Mar 2015
    Location
    Ul'Dah
    Posts
    941
    Character
    Maley Oakensage
    World
    Behemoth
    Main Class
    White Mage Lv 100
    I think it may make more sense for me to show a (really bad) gif of what I've got working ingame:



    I'm basically trying to solve two things:
    1) Be able to click the role icon to get the menu to close as it will hang open on whatever the last role clicked was

    2) Be able to use populate the bars with the appropriate class/job macros using the role icon macros
    (0)

  3. #3
    Player
    Rongway's Avatar
    Join Date
    Aug 2013
    Posts
    4,174
    Character
    Cyrillo Rongway
    World
    Hyperion
    Main Class
    Black Mage Lv 100
    Quote Originally Posted by Almagnus1 View Post
    I'm basically trying to solve two things:
    1) Be able to click the role icon to get the menu to close as it will hang open on whatever the last role clicked was

    2) Be able to use populate the bars with the appropriate class/job macros using the role icon macros
    Oh, that much is easy.

    2) Make the buttons that change bar 9 just always turn on bar 9 and turn off bar 10; and vice versa.
    1) Set a wait to disappear the bar after a few seconds

    Code:
    // Tank
    /hotbar copy JOB # share 9
    /hotbar display 9 on
    /hotbar display 10 off <wait.15>
    /hotbar display 9 off
    
    //  Rangers
    /hotbar copy JOB # share 10
    /hotbar display 9 off
    /hotbar display 10 on <wait.15>
    /hotbar display 10 off
    I might also add the waits with display off into your job buttons to refresh the timer, so if you pick DRK but you meant PLD, it doesn't close on you as you're about to click PLD.
    (0)
    Last edited by Rongway; 07-29-2021 at 01:44 PM.
    Error 3102 Club, Order of the 52nd Hour

  4. #4
    Player
    Almagnus1's Avatar
    Join Date
    Mar 2015
    Location
    Ul'Dah
    Posts
    941
    Character
    Maley Oakensage
    World
    Behemoth
    Main Class
    White Mage Lv 100
    Is there a way to do that without the wait timer?

    I can see myself getting bit by that potentially, and really don't want to have to deal with waiting out the timer if I happen to get indecisive.

    Also, is there any way to populate the hotbar shared 9 (or 10) without doing a bar copy?
    (0)

  5. #5
    Player
    Rongway's Avatar
    Join Date
    Aug 2013
    Posts
    4,174
    Character
    Cyrillo Rongway
    World
    Hyperion
    Main Class
    Black Mage Lv 100
    Quote Originally Posted by Almagnus1 View Post
    Is there a way to do that without the wait timer?

    I can see myself getting bit by that potentially, and really don't want to have to deal with waiting out the timer if I happen to get indecisive.
    Only insofar as you're willing to press an extra button if you change your mind about which role you want, as in
    Code:
    //  Tank
    /hotbar copy JOB # share 9
    /hotbar display 9                        // toggle bar 9 display
    /hotbar display 10 off
    
    //  Healer
    /hotbar copy JOB # share 9
    /hotbar display 9
    /hotbar display 10 off
    Which would let you open the tank job bar and close it again with the tank role button. Downside, if you press the tank role button to open the tank bar, but decide you want to play healer instead, you have to press tank again then healer; or press healer twice. This sounds to me less convenient than just letting the timer close the bar after a few seconds.


    Edit: Or you could put the timer on just the job macros. That way you have a few seconds to change your mind before the bar closes but it won't close automatically until after you've selected a job.



    Also, is there any way to populate the hotbar shared 9 (or 10) without doing a bar copy?
    You can build a hotbar one action or item at a time using the /hotbar command but it doesn't allow gearsets or macros to be placed individually. So your only choices for what you want to do are using /hotbar copy to copy a whole bar or using /hotbar share to hide or unhide a bar hidden by Sharing settings.



    Sorry for frequent edits. The macro system is intentionally limited to prevent us from automating combat; and sometimes making it do fancy things (even things that are not frowned upon) takes a lot of workarounds, not all of which are immediately apparent.
    (0)
    Last edited by Rongway; 07-29-2021 at 02:22 PM.
    Error 3102 Club, Order of the 52nd Hour