• 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

EQBC only to grp, in zone, and PC

Joined
Jan 14, 2016
RedCents
1,418¢
I posted this in The pub Crawl post under Strategies but wanted to increase it's exposure to other ppl who might want this.

This small mac loops thru your grp and if grp members are in-zone, and PCs (excluding mercs etc), will send them a command (of your choice):

Rich (BB code):
| MQ2ZonePCCmd.mac
| 2016 - Incognito
| This mac will check everyone in your group to see if they are in the same zone, a PC, and send them a command

Sub Main

	/declare x int local

	/for x 0 to ${Group} |start at 1 instead of 0 to exclude yourself
		/If (!${Group.Member[${x}].OtherZone} && ${Group.Member[${x}].Type.Equal[PC]}) {
			/echo sending cmd to ${Group.Member[${x}].Name} ${Group.Member[${x}].Type}
		} else {
			/echo NOT sending cmd to ${Group.Member[${x}].Name} ${Group.Member[${x}].Type}
		}
			
	/next x
	
/return

Example from The Pub Crawl post to have grp members cast Drunkard's Stein (replace the echo line in mac):

Rich (BB code):
/bct ${Group.Member[${x}].Name} //casting "Drunkard's Stein"

This can be any valid command, any spell/AA/disc/clicky etc.

You can set the mac up in a Hotkey as such:
Rich (BB code):
/bcga //end
/mac MQ2ZonePCCmd

*End cmd optional obviously - or you could just end your mac (not the whole grps) with simply /end*

If you wanted to use raw EQBC and not run a mac (as in one was already in use and didn't want to interrupt it):

Rich (BB code):
/bct ${If[${Group.Member[1].Type.Equal[PC]},${Group.Member[1].Name} ${If[!${Group.Member[1].OtherZone}, //casting "Drunkard's Stein",]},]}
/bct ${If[${Group.Member[2].Type.Equal[PC]},${Group.Member[2].Name} ${If[!${Group.Member[2].OtherZone}, //casting "Drunkard's Stein",]},]}
/bct ${If[${Group.Member[3].Type.Equal[PC]},${Group.Member[3].Name} ${If[!${Group.Member[3].OtherZone}, //casting "Drunkard's Stein",]},]}
/bct ${If[${Group.Member[4].Type.Equal[PC]},${Group.Member[4].Name} ${If[!${Group.Member[4].OtherZone}, //casting "Drunkard's Stein",]},]}
/bct ${If[${Group.Member[5].Type.Equal[PC]},${Group.Member[5].Name} ${If[!${Group.Member[5].OtherZone}, //casting "Drunkard's Stein",]},]}

Due to the 5 line limit of EQ's macro builder, this excludes yourself so make another Hotkey if you wanted to include you with a normal non-evaluated command such as /casting "Drunkard's Stein".
 
Thanks for sharing. In case you didn't we also have group specific commands.

EXCLUSIVE TO THE REDGUIDES COMPILE
The /bcg and /bcga command.

/bcg
This command will only be sent to group members other than the character issuing the command that are connected to the EQBC server.
It will be ignored by any other character connected to your EQBC server not in that group.
Ignores mercenaries.

Code:

Rich (BB code):
/bcg //Sit

Would make everyone in the group sit EXCEPT yourself

/bcga
This command will only be sent to group members including the character issuing the command that are connected to the EQBC server.
It will be ignored by any other character connected to your EQBC server not in that group.
Ignores mercenaries.

Code:

Rich (BB code):
/bcga //Sit

Would make everyone in the group sit INCLUDING yourself
 
What would be great, would be a /bc command for raid. So if I have 6 toons afk leveling or caping a mob or just sitting around.... but am playing a bunch of my other toons someplace else and have multiple groups. /bcga won't work for all of them obviously, yet if do /bcaa.. it interacts with those previously mentioned toons. There a way to address this?
 
battlerodent, that's why I included the check for in-same-zone. As long as you issued the command from a toon in the zone you wanted everyone in to respond to, it would work.

Also, you could use the built-in channel mechanism of EQBC by only sending cmds to toons that have joined a particular channel. Hell it's been so long since I have had to set this up; the channel for a specific toon to join is set in their ini:

Rich (BB code):
[Toonname]
channels=Raid

And then to use a specific channel:

Taken from MQ2's official MQ2EQBC Wiki:

Sending commands to channels:
Rich (BB code):
/bccmd channels chatchan, commands
/bct chatchan hey there guys
/bct commands //bct chatchan My zone: $\{Zone.ShortName}

Then you could send:
Rich (BB code):
/bct commands //bct Raid //casting "Drunkard's Stein"

You'd have to test the channel functionality, I am not sure the word "commands" is necessary, but it's from their own wiki...

Thx Maskoi, yeah I knew about the RG exclusives /bcga etc, I had included them in my response posts about the Drunkard's Stein in Strategies. They are great I use them a lot!
 
Last edited:
battlerodent

Join Date
Mar 2006

Red cented for being with us for 10 fucking years
 
Just did some testing as I was curious. Indeed "commands" is not required (probably nor relevant). I had 2 toons join channel Raid (on the fly btw using /bccmd channels Raid), one toon not join, and issued the following cmd:

Rich (BB code):
/bct Raid //say Really? I don't think she has a big butt

and only the 2 in Raid repeated the say. So there ya go, multiple ways to implement what you wanted...
 
if I have a group operating "over there" that I don't want potentially being effected by a group "over here" then I open another EQBC server using a different port IE

Rich (BB code):
"c:\Stuff\Junk\EQBC.exe" -p 2100

in the shortcut properties. It defaults to 2112, but I also use 2100 and 2200, so I can have 3 sets of toons working independently

Then I have some hotkeys buried on a hotbar I dont use often with the ingame macro

Rich (BB code):
/pause 005, /bccmd quit
/bccmd connect 192.168.1.100 2100"

or what ever your server's address and port is using.

Obviously could make this into macro commands if you want.. this is just what works for me.
 
Issue I run into is I like to use a hotkey to make all my toons run to me, but if there's one toon sitting in a different zone (like PoK, lobby, etc.) they ALSO try to run towards the location delineated in my hotkey (in a different zone). It creates a huge issue that so far I've only been able to rectify by unloading MQ2moveutils and then reloading it. The solutions above are fantastic if you know which groups/toons will be in which zones consistently, but since I'm moving five around independently it creates issues.
 
Not that I have a clue as to how it would be written (TLO's still give me hiccups), but can you use IF type statements in EQBC?
So for Sum1's case a over all EQBC tell them "if their zone = my zone the run to my loc"? could there be a check written into a statement like that that would do that?

Just thinking out load...might get someone else's creative mind working...
 
Not that I have a clue as to how it would be written (TLO's still give me hiccups), but can you use IF type statements in EQBC?
So for Sum1's case a over all EQBC tell them "if their zone = my zone the run to my loc"? could there be a check written into a statement like that that would do that?

Just thinking out load...might get someone else's creative mind working...

Would LOVE to have that syntax... I'll see if I can find it.
 
I have found many times that if I take a minute and pause, read the post/code again, scroll right a bit if there is more, I find what I was looking for. I have examples of how to use if statements in a EQBC command in the first post:

Rich (BB code):
/bct ${If[${Group.Member[1].Type.Equal[PC]},${Group.Member[1].Name} ${If[!${Group.Member[1].OtherZone}, //casting "Drunkard's Stein",]},]}
/bct ${If[${Group.Member[2].Type.Equal[PC]},${Group.Member[2].Name} ${If[!${Group.Member[2].OtherZone}, //casting "Drunkard's Stein",]},]}
/bct ${If[${Group.Member[3].Type.Equal[PC]},${Group.Member[3].Name} ${If[!${Group.Member[3].OtherZone}, //casting "Drunkard's Stein",]},]}
/bct ${If[${Group.Member[4].Type.Equal[PC]},${Group.Member[4].Name} ${If[!${Group.Member[4].OtherZone}, //casting "Drunkard's Stein",]},]}
/bct ${If[${Group.Member[5].Type.Equal[PC]},${Group.Member[5].Name} ${If[!${Group.Member[5].OtherZone}, //casting "Drunkard's Stein",]},]}

Which just happens to include the check for in same zone. That was one of the reasons for my post as once I figured out how to do it I recognized its power. EQBC will evaluate MQ2 statements. It didn't always, in fact their outdated wiki says to use the escape character to force evaluation which is no longer true.
 
Last edited:
battlerodent

Join Date
Mar 2006

Red cented for being with us for 10 fucking years


Well... shit...

:hfive:

10 year club

Might even been before that for both of us, I have a feeling that was when RG went AWOL and turned to NA and now back to RG.

Best forum on the interwebz
 
could also simply disconnect the oddball toon from EQBC while you do not want it responding
 
Apologies for the question, but it's time to live up to my name as I haven't used this before but it seems like I should.

Say I wanted to make a hotkey to start the box crews macros. I can't send the same one, because 4 of them are using KissAssist and the Cleric is using AutoCleric.

Could I just do something like this? Obviously CLASS1/CLERIC/etc. are placeholders for their names - just put there to see how it would be set up if this is possible.

Rich (BB code):
/bct ${If[${Group.Member[1].Type.Equal[PC]},${Group.Member[1].CLASS1} ${If[!${Group.Member[1].OtherZone}, //mac KissAssist,]},]}
/bct ${If[${Group.Member[2].Type.Equal[PC]},${Group.Member[2].CLASS2} ${If[!${Group.Member[2].OtherZone}, //mac Kissassist,]},]}
/bct ${If[${Group.Member[3].Type.Equal[PC]},${Group.Member[3].CLASS3} ${If[!${Group.Member[3].OtherZone}, //mac Kissassist,]},]}
/bct ${If[${Group.Member[4].Type.Equal[PC]},${Group.Member[4].CLASS4} ${If[!${Group.Member[4].OtherZone}, //mac Kissassist,]},]}
/bct ${If[${Group.Member[5].Type.Equal[PC]},${Group.Member[5].CLERIC} ${If[!${Group.Member[5].OtherZone}, //mac AutoCleric,]},]}

Granted, I don't know the necessary syntax at all, but this would be super handy to do.

Also, if there is a way to use it (say in Dead Hills HAs) that when I'm done pulling, to have all of them move up (though I suppose I could probably have them all target/follow me and the unfollow when at the proper spots?)
 
Yeah, that could work, add in a class check, but it would have to be at the exact correct place. Lemme work out the syntax as I think it's a good idea.

However we don't want to fall into the trap of doing everything with this type of hotkey. If it were me, regarding your DH and moveto question, I would just have the toons in question on a certain EQBC channel and use the built in commands (i.e. /bct ChannelName //sticky 40) or somesuch. I personally like the /bcg and /bcga commands. It's only the rare situation where one of them might be dead waiting for rez in the GL, which was the original type of problem my post addressed, not the normal run of the mill daily task. Hell a lot of times I just manually send /bcg commands on the fly and not use hotkeys except for get out of emergency situations, or redundant recurring things.
 
Thanks. Yeah, Like I said I'm not used to EQBC at all, and having just gotten more into boxing I'd like to dig more into this stuff.

It's just a bit overwhelming when first starting out (for myself at least.)
 
Ok its not pratical. ${Group.Member[1].Class.Equal[Wizard]} does work, but you would have to check each class for each member of the group, in only 5 lines, so nix that particular angle. It would be easy in a mac but you are talking about toon that are already running macs, and different ones at that.

You could set up a hotkey for clerics, and one for all the others, but again, I would have the cleric on its own EQBC channel so you could send it its own commands while still receiving /bcg commands with the rest of the group when it should.

- - - Updated - - -

I would start here.
 
probably just want to hotkey general commands to start KA, then /bct command to the cleric to /end and then start autocleric. That ought to shorten it to with in the 5 line limit
 
Sometimes in the complexity of the power MQ2 gives we fail to see the simple solutions, I know I do. Don't forget about the lowly underappreciated /keypress. Say all your toons have their macro startup commands, which could be tailored for each one, residing in the same place on their hotbar, say the one that fires when you press 6. A simple /bcg //keypress 6 will fire it. Each toon could have their own startup sequence in the hotkey attached to 6, different macros, different settings, and don't forget about /pause and /multiline, when combined in a native EQ macro, makes them quite formidable. You can do a lot in 5 lines...

Now if I can only figure out how to invoke a hotkey by name or social/page/slot from MQ2...
 
I would set all those using Kissassist to a channel such as KA. use "/bccmd channel KA" on those running KA. You would also have to set up
your social would look like this:
/bcaa //tar maintank name
pause 3
/bct KA //mac Kissassist
/pause 3
/bct clericname //mac clericmacro

I throw a pause in there just to insure that the commands execute.

I happen to use three different macros on my crew. The tank and chanter run KA, the 3x wizzies run AF2nuke, and the cleric runs Auto cleric. I use two socials, one calls the macros for the wizies and clerics, and a seperate one for the tank and ench.
 
EQBC only to grp, in zone, and PC

Users who are viewing this thread

Back
Top
Cart