• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->

Guide - Non-programmers can make macros too! (1 Viewer)

Joined
Mar 24, 2018
RedCents
4,590¢
Macros are what run all this amazing macroquest stuff, but even non-programmers like me can make a macro that does useful things, without using programming. They only use basic in game commands and eqbc commands. Think of it like a hotkey but it can be as long as you want!

p.s. About the only thing that is different to what you type in game is that you use /delay instead of /pause.

Here are some that I made for myself:

Lets gooo!
When I first login I can press one hotkey and it does everything for me. The hotkey just says /mac letsgooo.mac and it will run this file which I made. It will invite all the characters, tell them to accept their invite, and then it will run KissAssist. All with one button.

INI:
#turbo
Sub Main

/echo Lets go!

/invite mycleric
/invite myshammy
/invite myotherdude
/invite myotherdude
/invite myotherdude

/delay 2s
/bcaa //invite
/delay 2s

/bcaa //target mytank
/delay 2s
/bcaa //mac kissassist

/echo All invited and macro started, buffing begins.

/return
The turbo and sub main is just stuff that you put at the start of macros, and it has /return at the end. The middle stuff is what I made. First part sends invites to my peeps, then there is a delay for 2 seconds to give them all a chance to get the invite, then it tells them all to accept the invite, then waits 2 seconds and then starts kissassist. The /echo types into the MQ2 window to let me know it has run properly.

This is just an example of a lets go macro, my real one is more complicated because I actually box 36 characters on an emulator server. So that one invites my group, then tells the leader of the other groups to invite everyone, and then it forms a raid, and then it runs kiss. But I also have a delay at the end for about 2 minutes which gives time for all the groups to get fully buffed, and then it does /beep /beep which sounds a beep. So I can login, press the hotkey to run all this stuff, and I can go afk and wait for the beeps to know I am ready to play.

Even if you don't know programming like me, you can still copy peoples code from RedGuides and use it in your macros. I find tons of code by just using the search at the top. So for example in my full macro when it invites the leader of each group to form a raid, it does this code to tell them to accept the raid invite:
/bct myotherwarrior //notify ConfirmationDialogBox CD_Yes_Button leftmouseup

Go gribbles
I am paranoid I know... but I don't like all my guys saying "go" at exactly the same time. It just makes it obvious that you are using key broadcasting (isboxer) or eqbc (macroquest), and if any evil player is having a bad day and wants to take it out on someone, this could give them an opportunity. So this little macro just has each character say go with a slight pause between each one which makes it look like you are doing it manually. And the different delay between each one makes it look natural.

INI:
#turbo

Sub Main


/bcaa //target gribbl
/delay 2s
/bct myshaman //say go
/delay 2s
/bct mycleric  //say go
/delay 1s
/bct myzerk //say go
/delay 2s
/bct mynecro //say go
/delay 3s
/bct myench //say go
/delay 1s
/say go

/return
p.s. There is also a delay from when you request a task like Gribbles, and when the instance gets made and lets you enter. For gribbles I worked it out to be about 35 seconds, so I actually have a hotkey that requests the gribbles, then waits 35s, and then runs this macro. That way I can request and go afk for a moment and come back to my guys in the instance. And the bonus is that they looked natural too :]

Crazy port macro for 3 groups
This macro is a bit bigger, I used to use it on an emulator where I had three full groups, 18 characters. One of the groups has a bunch of wizards in it, one was melee, one was support. But when I want to port somewhere, I have to disband one person from the tank and melee group, and then disband 2 wizzys from the wiz group and have to invite the wizzies on the other 2 groups and then the 3 groups can port somewhere together. This is a pain to do and to remember... So the macro does the whole thing for me:
INI:
#turbo
Sub Main

/bcaa //end
/delay 2s
/bct someguyfrom1stgroup //disband
/bct someguyfrom2ndgroup //disband
/bct BobTheWiz //disband
/bct FredTheWiz //disband
/delay 2s
/bct group1leader //invite BobTheWiz
/bct group2leader //invite FredTheWiz
/delay 2s
/bct group3leader //invite someguyfrom1stgroup
/delay 2s
/bct group3leader //invite someguyfrom2ndgroup

/return
Then I can tell the 3 wizzes to port (using an eqbc command) and it takes all 18 characters. Then I have another macro that is a copy of this but with the parts changed around to put the groups back to how they were.

These macros are all really simple but they save me a lot of hassle and they don't need any programming. But with this principle you can make some really great stuff... Any fancy in game macroquest commands can be used in macros.

p.s. The only thing to remember when running a macro like this, is that it will stop whatever macro you are currently running, like kiss. So remember to run kiss again afterwards.
 
Last edited:
Thanks for sharing. Here are a couple different ways to use the Say macro. One is for a single group and does not require you to make any edits. The other uses a string of toons (if you use more than 1 group).

For 1 group

INI:
sub main

/declare size int local
/declare x int local

|####### Usage ##########

| Target who you want to speak to
| /macro sayit "What you want to say"

|########################################################


|Say Check
/echo ${Param0}

|########## Set Vars ###############
|Group size
/varset size ${Group.Members}


|###### Group Members Say #####

|| Target

/bcaa //target ID ${Target.ID}

/delay 2

/for x 0 to ${size} {
/echo ${Group.Member[${x}].Name}

|| Stick
/bct ${Group.Member[${x}].Name}  //stick 20
/delay ${Math.Rand[2]}

|| Say what needs to be said

/bct ${Group.Member[${x}].Name} //say ${Param0}

/delay ${Math.Rand[30]}

/next x
}

/return


For more than 1 group

INI:
sub main





/bca //target ID ${Target.ID}
/delay 2

/declare size int local
/declare x int local


/declare guild string inner



/varset guild jack,straw,owns,face,leet,biggie,smalls

/varset size 7


/for x 1 to ${size} {

/bct ${guild.Arg[${x},,]} //stick 20
/delay ${Math.Rand[2]}

/bct ${guild.Arg[${x},,]} //say hail

/delay ${Math.Rand[30]}

/bct ${guild.Arg[${x},,]} //say ${Param0}

/delay ${Math.Rand[30]}

/next x
}




/return
 
Last edited:
@microscope have you considered looking into the autogroup plugin, it will create groups based on the settings you input, and when the group is formed it can run a commnad like a macro or small multiline etc, its quite fanzy.

#turbo is how many operations or lines of codes kinda it runs pr heartbeat, and i dont remember how long a heartbeat is.
for most smaller macros like the ones in this thread its not really needed at all, since its more of use in larger macros like kiss or auto macros or something like that that needs to react fast to certian events or conditions.

/return is the end of the sub main, its to tell the macro parser here we are done and we return to whatever was was doing before, and in case of the main sub, we was doing nothing before that.

INI:
Sub Main
     /call Hello
     /echo World
/return

Sub Hello
     /echo Hello
/return

now in this code we start the main sub, call another sub by the name of Hello, who echoes Hello and then /return, goes back to main sub and continues from where it was called, so next will be echoed World
 
Guide - Non-programmers can make macros too!

Users who are viewing this thread

Back
Top