• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver
MQ2MyButtons

Release MQ2MyButtons

Is this plugin working?

I don’t think so. But I’ve also kidnapped Knightly for another couple days and forced him to suffer 3 days of Disneyland. The trauma this has caused will probably last for several weeks and this plugin probably isn’t a catalyst for his recovery. But it is on the list.

Disclaimer: he actually has fun at Disneyland. Sick freak. (Me too)
 
While everything gSe7eN said is true, MyButtons was working when the van pulled up and the hood went over my head.

I haven't gotten any computer time, much less EQ time, so...I'll check it when I get back, but if someone can post the error that'd be great~
 
I remember it having some problems with it a while back. I removed it and never saw information on it beign fixed, so i just kind fo forgot about it. Thought i would ask about it before doing a blind test.
 
I remember it having some problems with it a while back. I removed it and never saw information on it beign fixed, so i just kind fo forgot about it. Thought i would ask about it before doing a blind test.
Ahh, gotcha. Well, if you do have any problems, let us know. Also, note that if your config is older than whenever it majorly broke ... You'll have to redo your config.
 
Redbot updated MQ2MyButtons with a new update entry:

label fixes

Removed EQType 9999 from XML to allow internal handling of labels. Altered date on XML file to today.

Removed the Command /mybuttons reloadcolors, as it's no longer needed. Use `/mybuttons reload` instead.

Converted MyButtons1-12 into an array of buttons.
Subsequently updated the WndNotification function.

New CHbutWnd function that sets the Labels, Colors, and the tooltips of all buttons.

You can now hover over a button to get a tooltip of what command it will use.

Read the rest of this update entry...
 
Love this plugin- any way to make it character independent and expand to more buttons? Nice to have a whole separate battery of buttons for the toon driving a bot army :)
 
Disclosure: Not a programmer, not a clue.

I am trying to add buttons to the MyButtons plugin. I've managed to add a button in the XML and have it show up in the window. I added an entry for button 13 in the .ini. The button I added does not show the label from the .ini nor issue the command. When I do a /mybuttons show, it lists only the original 12 buttons. Can someone please point me in the right direction?
 
At some point I'd like to come back to this and change those options to be dynamic. Right now it's all hardcoded. So you can change the xml file, but you need to change the cpp file and recompile in order to add more buttons.

I got stuck on pagination and was pretty tired of the effort in working with the equi when I stopped on this one.
 
Thanks for the reply! Unfortunately, I do not have the knowledge to make those changes. All I can do is keep hoping that someday someone that knows what they are doing will find it in their heart to add another row or two of buttons...
 
I have been using MyButtons for a few weeks now and its working great for what I have it set to do. The one thing I noticed and wonder if it can be changed is that when I log a character in the MyButtons button window is two lines. Instead of just one line of 12 buttons I keep getting one line of 11 buttons and 1 button under. I can extend the window to make it all one line but when I log back in its back to the 2 line setting. Can we change it to be just one line?
 
Close the mybutton bar and reopen it/ use /mybuttons off then /mybuttons on.
It worked for me to save it.
 
Mybuttons is fantastic, I don't know why it took me so long to discover this plugin.

I'd love to have more buttons if thats possible in the future! It doesn't even have to be broken up in seperate groups of 12, I'd take them in one big bank of buttons. As long as i could resize/shape the box so i can make even rows of X buttons i'd be thrilled. Thanks for the work on this plugin!
 
I live and breathe with it. yes, works wonderfully. wish i knew enough to make a second set.
 
On first load this crashed the toon i was loading it from and every toon in the same party that was on the same machine, but oddly not the toons in a different party. Here is the crash dump. After reloading it seemed to work fine.
 

Attachments

On first load this crashed the toon i was loading it from and every toon in the same party that was on the same machine, but oddly not the toons in a different party. Here is the crash dump. After reloading it seemed to work fine.
its a known issue unfortunately.

btw you have a bunch of plugins loaded that if you don't specifically use it is often suggested to unload

specifically mq2cpuload, mq2damageparser, mq2debuffs, mq2netbots, mq2bzsrch
 
If you dont mind me asking, what do you have in mybuttons that you couldnt have in normal socials - hotbars? I loaded it up, but i struggle to find use for it.
It's for those that have the socials filled mostly but other features as well. I don't use them either but once more features are added I'll use it more
Honestly it’s huge if you play tons of accounts whic a lot here do. I’ sitting somewhere around 35 115 chaachters across 6 accounts and always experimenting. So having buttons to carry over specific setups like autoacept adds, switch targets invis and selos commands, back off etc.. it’s so nice to now have to recreate Socials.
@Robahn It's not that I have anything amazing or super innovative in mq2mybuttons. I love mq2mybuttons for the following:
  • The hotbuttons are available on all of my guys and the interface is the same everywhere.
    • Honestly I wish mq2mybuttons came with WAY more buttons. I could use buttons for RGMercs, MA, KA, CWTN, AutoLoot, SpawnMaster, and more. My drivers have 6 sets of normal social buttons (72 socials), and my non drivers have 4 sets (48 socials). I could, and would rather, replace the majority of these normal social buttons with mybuttons if there were more buttons available.
    • You can shape the button box like you can with socials now. I like 2 rows of 6 myself and I keep the box in an area seperate from my normal socials BUT if more buttons were available or if someday you could dynamically configure how many buttons you want, i'd eliminate nearly all normal social buttons except the ones absolutely necissary for clickies and other specific to the character items.
  • The hotbuttons are configured via ini file instead of the usual way one would make a social button which is better when configuring buttons meant for all characters in my opinion. I don't know if you ever tried to play with the file for that in the EQ directory but it sucks. The mq2mybuttons ini is really easy to edit and you can apply the changes with /mybuttons reload... which could be a mybutton if I had some to spare.
    • I like to use dannet groups in general (djoin - there's no reason to not organize your dudes), and my strategy is to make the buttons as non specific as possible so they work for everyone (example: /dge kiss /mac kissassist assist ${Group.MainAssist}, any character I am on at that moment can hit that button and the result will be the same every time)
    • I like to have buttons for the local character too space permitting (I wish i could have more). (example: I have both /camp desktop and a /dgga /camp desktop buttons so I could log just that character out or the entire group depending on what I am trying to do)
Why recreate the same hotbutton X times across your dudes? Everyone has some buttons on every dude that is the same. With a little bit of thought into creating buttons that would work for all characters, there's your use case for mq2mybuttons. Then those commands will be available to all characters really easily. There is that wonky crash issue the first time you use it, but Knightly said there's a fix for that it just needs someone to do a thing or whatever.

In summary, I love mq2mybuttons and really wish that it had more than 12 buttons.

Oh so i could put all my driver buttons in there and could drive from anywhere. Thats amazing!

Bringing that over to the correct discussion thread.
 
More buttons/bars then the 12/1 would be awesome.

A definable state of depressed would be amazing for toggles. Think commands like Followme, camp on/off, chase on/off, hide on/off, pause on/off, mqp on/off, etc.

If those were toggles i might be able to do with 12 buttons on the driving pane.
 
Last edited:
I absolutely love this plugin! I use it all the time!

Here are my hotkeys. My tank is an SK so everything is geared toward the SK being in that roll. I'm also running all CWTN plugins with the exception of a mage and bard, which you will notice in the code. I'm running KissAssist on those toons. I'm also issuing all commands via DanNet, but you can modify them for EQBC pretty easily.

Let me know what you think.

(Gotta give credit where credit is due - These all stem from Sic's hotkeys, they are a great place to start!)


[CODE lang="ini" title="MQ2MyButtons.ini"][UISettings]
WindowTitle=MQ2 MyButton Window
Locked=0
Fades=0
Delay=2000
Duration=500
Alpha=255
FadeToAlpha=255
BGType=1
BGTint.alpha=255
BGTint.red=255
BGTint.green=255
BGTint.blue=255
ShowWindow=1
[Location]
Top=648
Bottom=890
Left=1431
Right=1534
[Button1]
Label=Camp On
Command=/dgga /multiline ; /afollow off; /if ($\{Select[$\{Me.Class.ShortName}, BRD, MAG]}) /mqp off; /timed 10 /if ($\{Select[$\{Me.Class.ShortName}, BRD, MAG]}) /chaseoff; /timed 20 /if ($\{Select[$\{Me.Class.ShortName}, BRD, MAG]}) /camphere on; /if (!$\{Select[$\{Me.Class.ShortName}, BRD, MAG]}) /$\{Me.Class.ShortName} mode manual; /timed 3 /if (!$\{Select[$\{Me.Class.ShortName}, SHD, BRD, MAG]}) /$\{Me.Class.ShortName} mode assist; /timed 3 /if ($\{Select[$\{Me.Class.ShortName}, SHD]}) /$\{Me.Class.ShortName} mode sictank;
Red=255
Green=255
Blue=255
[Button2]
Label=Camp Off
Command=/dgga /multiline ; /if ($\{Select[$\{Me.Class.ShortName}, BRD, MAG]}) /returntocamp 0; /if (!$\{Select[$\{Me.Class.ShortName}, BRD, MAG]}) /$\{Me.Class.ShortName} mode 0; /timed 5 /if ($\{Select[$\{Me.Class.ShortName}, BRD, MAG]}) /chaseoff; /timed 10 /if (!$\{Select[$\{Me.Mount}, NULL]}) /dismount;
Red=255
Green=255
Blue=255
[Button3]
Label=Chase
Command=/dgga /multiline ; /if ($\{Select[$\{Me.Class.ShortName}, BRD, MAG]}) /chaseon; /if (!$\{Select[$\{Me.Class.ShortName}, SHD, BRD, MAG]}) /$\{Me.Class.ShortName} mode chase; /if ($\{Select[$\{Me.Class.ShortName}, SHD]}) /$\{Me.Class.ShortName} mode sictank
Red=255
Green=255
Blue=255
[Button4]
Label=Come To Me
Command=/dgge /nav id ${Me.ID}
Red=255
Green=255
Blue=255
[Button5]
Label=Follow Me
Command=/dgge /afollow spawn ${Me.ID}
Red=255
Green=255
Blue=255
[Button6]
Label=Group Invis
Command=/dgga /multiline ; /if ($\{Me.Class.ShortName.Equal[BRD]}) /twist off; /if ($\{Me.Class.ShortName.Equal[ENC]}) /casting "Perfected Levitation"; /if ($\{Me.Class.ShortName.Equal[SHM]}) /casting "Group Silent Presence"; /timed 3 /if ($\{Me.Class.ShortName.Equal[BRD]}) /alt act 3704; /timed 6 /if ($\{Me.Class.ShortName.Equal[BRD]}) /alt act 231
Red=255
Green=255
Blue=255
[Button7]
Label=Pause On
Command=/dgga /multiline ; /if ($\{Select[$\{Me.Class.ShortName}, BRD, MAG]}) /mqp on; /if (!$\{Select[$\{Me.Class.ShortName}, BRD, MAG]}) /$\{Me.Class.ShortName} pause on;
Red=0
Green=200
Blue=255
[Button8]
Label=Pause Off
Command=/dgga /multiline ; /if ($\{Select[$\{Me.Class.ShortName}, BRD, MAG]}) /mqp off; /if (!$\{Select[$\{Me.Class.ShortName}, BRD, MAG]}) /$\{Me.Class.ShortName} pause off;
Red=0
Green=200
Blue=255
[Button9]
Label=Ditch Mercs
Command=/dgga /if ($\{Mercenary.State.Equal[active]}) /nomodkey /notify MMGW_ManageWnd MMGW_SuspendButton LeftMouseUp
Red=255
Green=255
Blue=255
[Button10]
Label=Click Door
Command=/multiline ; /dgga /doortarget; /timed 2 /dgga /click left door
Red=255
Green=255
Blue=255
[Button11]
Label=Goto Camp
Command=/dgga /if ($\{Me.Class.ShortName.Equal[SHD]}) /shd gotocamp
Red=255
Green=255
Blue=255
[Button12]
Label=Reset Camp
Command=/dgga /if ($\{Me.Class.ShortName.Equal[SHD]}) /shd resetcamp
Red=255
Green=255
Blue=255
[/CODE]
 
Last edited:
Come to think of it, it would be nice to have an ini section in resources for other things like this, events, react, cfg files, etcetera... I get a lot of ideas looking at others ini files.

Those are some nice buttons, i might steal a few of those. Thanks!
 
Rise from your grave.

Updated MQ2MyButtons
-Broke all existing INIs. Meanness.
-Broke all existing hotkeys. Laziness.
-Renamed MQ2MYButtons to MQ2MyButtons. Everyone Loves CamelCase
-Refactored a bunch of code. Just Because.
-Put my name in there a bunch of times. Vanity.
-At some point I got it working again. Coincidence.
~~~~~~~~~~
-Modernized the UI and made it resizable and matched to the existing hotbutton bars (I stole this from EQUI_Hotbuttons.xml, so no credit to me)
-Expanded from 10 Hotbuttons to 12 since I was in there anyway. You could actually make this any number, I just chose 12 to match the existing ones.
-Changed it so that it will no longer steal focus on windows so that you can't escape from other windows if you clicked a MyButton with a window open.
-Added MQUI_MyButtonsWnd.xml generation. If you don't have it, it will be created. If you do have it and your version is older than my version I'll overwrite yours. This should stop the issues where it crashes because the file is missing and also allow for easy updates if the UI changes. But if you want to customize the actual XML I'm going to end up overwriting it again, so maybe request we add a feature for that later (I don't think anyone customizes this).
-Added a check to make sure everything with the XML file is good before trying to load the window. Added this to all Plugin routines in MyButtons too so that the plugin just skips those steps if there's a problem at startup. Previously the XML would fail to load and then the UI update would cause a crash because there was no check to see if it was successful. This doesn't fix a broken UI crashing EQ. It just makes it so the missing UI for this plugin won't crash EQ. Will still probably crash next time the UI is updated.
-Split the INI file out into [ButtonX] sections so that settings can be per button rather than the whole UI. Existing inis will not work, so check out the example ini that gets created to see how to set yours up and move your hotkeys over. The only required thing for a [ButtonX] section to work is a number between 1 and 12 (instead of X) and a "Command=" line. Everything else is optional, including the Label.
-Consolidated all of the TLOs into one TLO that just takes an argument of which button you want info about.
-Got rid of all the Bnt items and changed it to Button, abbreviations of Button (even Btn vs Bnt) are hard to remember and I got tired of going back and forth trying to remember them.
-Got rid of all the existing commands and changed it to /mybuttons with arguments. /mybuttons by itself will toggle the visibility of the window. "/mybuttons help" will show you the help.
-Added a show command that makes looking at what MyButtons you have setup easier.
-If you want to bind your hotkeys to the keyboard, consider using MQ2CustomBinds and /mybutton X.
~~~~~~~~~~
Special thanks to dewey2461 for reviewing my code when I was going crazy.
Love this, very nice. heres the question though, can you make it so it has more buttons? or maybe have a duplicate plugin but named slightly different so as to have 2 12 button bars?
 
Yeah, I learned pagination long after I had stopped working on this. My intention was to come back to it and add customizable pages and number of buttons per page, but I haven't ever come back to it.

Now I'm not sure if I'd do it in this or just make a new imgui button plugin.
 
I only see one other example post in here, so here is another set of buttons you can try to help get yourself started. Yellow buttons are self-only, blue are BCGA commands. I keep one at the end for reloading the ini when I make changes.

INI:
[UISettings]
WindowTitle=MQ2 MyButton Window
Locked=0
Fades=0
Delay=2000
Duration=500
Alpha=255
FadeToAlpha=255
BGType=1
BGTint.alpha=255
BGTint.red=255
BGTint.green=255
BGTint.blue=255
ShowWindow=1
[Location]
Top=734
Bottom=786
Left=1404
Right=1917
[Button1]
Label=Nav Target
Command=/nav target
Red=255
Green=255
Blue=0
[Button2]
Label=Come to Me
Command=/bcg //squelch /multiline ; /afollow off ; /stick off ; /moveto off ; /nav stop ; /play off ; /nav spawn ${Me.Name}
Red=0
Green=255
Blue=255
[Button3]
Label=Assist Target
Command=/mac MuleAssist assist ${Target} 99
Red=255
Green=255
Blue=0
[Button4]
Label=Assist Leader
Command=/mac MuleAssist assist ${Group.Leader.Name} 99
Red=255
Green=255
Blue=0
[Button5]
Label=Pause All
Command=/bcga //mqp on
Red=0
Green=255
Blue=255
[Button6]
Label=Unpause All
Command=/bcga //mqp off
Red=0
Green=255
Blue=255
[Button7]
Label=Toggle Pause
Command=/mqp
Red=255
Green=255
Blue=0
[Button8]
Label=Switch Now
Command=/bcga //switchnow ${Target.ID}
Red=0
Green=255
Blue=255
[Button9]
Label=-All- -Burn-
Command=/bcga //burn
Red=0
Green=255
Blue=255
[Button10]
Label=-Stop- -Me-
Command=/squelch /multiline ; /afollow off ; /stick off ; /moveto off ; /nav stop ; /play off
Red=255
Green=255
Blue=0
[Button11]
Label=Click Doors
Command=/bcga //squelch /multiline ; /doortarget ; /click left door
Red=0
Green=255
Blue=255
[Button12]
Label=Buttons Reload
Command=/bcga //mybuttons reload
Red=0
Green=255
Blue=0
 
Last edited:
Release MQ2MyButtons

Users who are viewing this thread

Back
Top
Cart