• 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
Guild Buff Assistant

Release Guild Buff Assistant 2.0

No permission to download
Joined
Dec 24, 2018
RedCents
2,931¢
Hello Everyone! This is a simple macro I threw together to help out a few friends. You can run it on a Shaman, Magician, Enchanter, Ranger, Druid, Wizard, Beastlord, Cleric, or Paladin. You can even have a Necromancer summon corpses!

Features:
- Buffs level appropriate buffs when Hailed.
- Setup to use languages for FV.
- Echos who it is helping to EQBC when debug is on.
- Mage: Summons Pet toys when it hears "toys"
- Mage: Summons Between 1- 20 Pet toys when it hears "toys 1-20"
- Mage: Summons Invis stone when it hears "invis"
- Mage: Summons mod rod when it hears "rod"
- Mage: Summons damage rod when it hears "drod"
- Mage: Summons arrows/quiver when it hears "arrows"
- Mage: Summons Invis stone, Lev Ring, Mod Rod, and Damage Rod when it hears "other"
- Cleric: Will resurrect a player when it hears "rez"
- Necromancer: Will summon a player when it hears "summon"
- Druid: Ports to all available druid Zephyrs.
- Wizard: Ports to all available wizard Translocates.
- Account balances! Charge people for your buffs and stop buffing them if they can't afford it.
- Will deduct a set amount each time it buffs a pet, merc, or the initiator.
- Will deduct a set amount each time it summons on the mage.
- Moved everything you need to change into the INI.
- Advertise the commands available!

Available Commands:
- All
-- Hail for level appropriate buffs.
- Druid
-- ports
- Wizard
-- ports
- Mage
-- toys
-- toys x(1-20)
-- invis
-- arrows
-- rod
-- drod
-- other
- Cleric
-- rez
- Necromancer
-- summon

Changes:
Version 1.4.7
- Corrected a few small syntax errors
- Updated for level 120 Cleric Spells
- Updated for level 120 Druid Spells
- Updated for level 120 Enchanter Spells
- Updated for level 120 Magician Spells
- Updated for level 120 Ranger Spells
- Updated for level 120 Shaman Spells
- Updated for level 120 Beastlord Spells
- Updated for level 120 Paladin Spells

Version 1.4.3
- Fixed issue with several spells not loading from INI.
- Fixed a few minor spelling errors.

Version 1.4.1
- Fixed issue with mage DS.

Version 1.4.0
- Updated for Ring of Scale Expansion.
- Changed INIs to save per server/character now.

Version 1.3.4-9
- Small targeting change which may slow down the assistant but ensures we target the right person.
- Added Paladin(I don't have one so I'll need ya'll to tell me if they are the right default buffs)
- Thanks Alynel for memory saving settings.

Version 1.3.3
- Changed the way ShowDebug works.
- Added Entry and Exit points for most subroutines.
- Modified the way INI files were handled.
-- All spells are in BuffBot.Spells.ini now.
-- Each Character will get a BuffBot.CharacterName.ini now.
- Added more checks before trying to /sit. Before it would interfere with mounting sometimes.
- Adjusted the spell gems used by default.

Version 1.3.2
- Added ${Sender} to the various chat defines. So they can easily be toggled from /say.
- Added target check to the hail event.

Version 1.3.1
- Moved all spells and spell gem settings to the INI

Version 1.3.0
- Fixed porting for TLP

Version 1.2.9
- Fixed a few issues with the account mode not deducting.
- Added Necromancer to the macro!
-- He will attempt to Summon Remains via AA on target.
- Added in advertise mode!
-- Sick and tired of having to tell everyone commands? Turning this on will inform what commands are available when hailed.
- Added in Copsestalker's Enrichment for Rangers.

Version 1.2.8
- Added Friend Mode
-- Change via INI to turn on and off. (Use Friend Mode=TRUE)
-- Allows "friends" aka people in the BuffBot.Friends.ini to bypass Buffing Only Guild Flag.
- Allow friends to buff for free. (Friends Buff Free=TRUE)

- Added Guild Mode
-- Change via INI to turn on and off. (Use Guild Mode=TRUE)
-- Allows an entire guild in the BuffBot.Guilds.ini to bypass Buffing Only Guild Flag.
-- You can allow flagged guilds to buff for free as well. (Guild Buffs Free=TRUE)

Version 1.2.7
- Stable Release.

*Attachment named "Buffbot.mac" will always be the newest version.*
*Click on the history tab to access old version of the macro.*
 

Attachments

Last edited:
so 2 things .....

1. YOU ARE the DRUID I was looking for!
2. Why no Druid Buffbot?
 
so 2 things .....

1. YOU ARE the DRUID I was looking for!
2. Why no Druid Buffbot?

Well I am working on another script just for my druid! She is going to be our guild porter. That way people don't need to buy stones for certain places. Also she is on my main account so need to fire up a new account and level it up.
 
just given ya grief, thanks a ton for the bot, we were just talking in teamspeak the other day about someone looking for the infamous buffbot and here you are! thank you!
 
Cleaned up the code again! Removed all the unnecessary buffs as I found a thread about buff levels finally! Looks like after level 61 I can cast any spell on you and I updated the code to reflect that. Also made it easier for the end user to change high level spells used.

- - - Updated - - -

Updated the code again! Cleaning up a bit of repeated code. Also I merged the Port Bot into this release.
 
Another small update to this. :) Cleaned a few things up and added the option to make sure the requester is in your guild.

- - - Updated - - -

Another update to this. Switched to MQ2Cast_Spell_Routines but made it extremely easily to switch back if needed. Added Variables for what percent to med and when to stand up from medding. Made it to where we don't even target the person if they aren't guilded and the guild only flag is on.
 
This is a macro in and of itself. Currently MQ only allows for 1 macro to run at a time.

It will work with MQ, but can't run KA and this at the same time
 
Another small update to this little macro! Are your guild mates stingy? Do you need money for spells and no one is helping? Turn on Account Mode! This will charge those bums for buffs from your glorious buff system! Also moved everything you need to actually change into an INI!
 
I know this is a Macro, and note I know NOTHING about writing these things, but could this be turned into an .inc file as well and be "added" to macros like KA?
 
I know it would be a bit dangerous to run in Nexus on TLP, but would it actually work for a cleric on TLP? I haven't really delved into the code much to see what spells it pulls.
 
I know it would be a bit dangerous to run in Nexus on TLP, but would it actually work for a cleric on TLP? I haven't really delved into the code much to see what spells it pulls.

For cleric I am using... Temperance(below 46), Virtue(above 46), and the last buff is set via the ini with your highest buff.
 
Wizzy porting! Pretty please with sugar on top!

It shouldn't be all that hard to adjust the Druid part of this for a wizard. :) I'll look into it right now.

-- Edit --
It is now in the main buff bot! I don't have a wizard though so I sourced alla for the spell names. Let me know how it works for you.

- - - Updated - - -

Updated for the Beastlord! Added Fero, Sow, Taltak, and added fero to ini.
 
Last edited:
Really the only commands are for the mage/druids. Everyone else responds to hails and will buff you with level appropriate buffs.

Druid: ports
Wizard: ports
Mage: toys, toys x(1-20), invis, arrows, rod, drod, and other
Cleric: rez
 
So basically you set up a buff toon and if someone hails it, it will just buff him/her appropriately?

Do you have to turn the charging feature on or off? And how (I would want it off)?

I think I'm going to like this for my alts when I just want to run lowbees.

But if one wanted it on, how do you set up the accounts, and costs.
 
So basically you set up a buff toon and if someone hails it, it will just buff him/her appropriately?

Do you have to turn the charging feature on or off? And how (I would want it off)?

I think I'm going to like this for my alts when I just want to run lowbees.

But if one wanted it on, how do you set up the accounts, and costs.

You can easily turn off the account system! I put it in there for the day people accept buff buts and we can toss them in Guild Lobby. The costs are also easily adjustable via the INI it creates now.
 
Released version 1.2.9 :)

Do you have a class that isn't in this macro? Do you want them added?! Let me know so I can get it done.

Is there a feature you want? I am more than happy to add in features upon request.
 
Curious about some of the features.

Can you choose which buffs to use specifically? Can you set it to use something other than hails/buffs, like maybe a tell with a specific key phrase?

Does it Queue buffs if multiple people use it?

This reminds me of the Plugin MQ2autobuffs which is the ONLY reason I still have a subscription to both compiles instead of only this one. Been looking for something to replace that plugin.
 
Curious about some of the features.

Can you choose which buffs to use specifically? Can you set it to use something other than hails/buffs, like maybe a tell with a specific key phrase?

Does it Queue buffs if multiple people use it?

This reminds me of the Plugin MQ2autobuffs which is the ONLY reason I still have a subscription to both compiles instead of only this one. Been looking for something to replace that plugin.

There are key phrases for things that need them. Everything is event driven as well.. so yes you could technically change it off hails for buffs. The buffs that need changing are put into the INI. The lower level ones shouldn't need changing. As before 46 it is set buffs for most classes and the same can be said for 47-60. After 60 is when buffs vary a bit. If there is something one of the classes isn't doing please let me know.
 
So I've been playing around with this on my wizard. If he has the port spell memorized, then it works flawlessly, but it won't memorize any spells. Is that how it is supposed to work?
 
So I've been playing around with this on my wizard. If he has the port spell memorized, then it works flawlessly, but it won't memorize any spells. Is that how it is supposed to work?

If you are using MQ2Cast include... it should be memming the spell for you if it isn't. Havent run into this issue myself yet.
 
If you are using MQ2Cast include... it should be memming the spell for you if it isn't. Havent run into this issue myself yet.

Hmm. I'll have to play around with it. I must say I love how clean and clear your code is. Makes tweaking stuff amazingly easy.
 
Let me know what you come up with. :) Will look into it and get it fixed. Right now my Wizard and Druid are porting in lobby without issue. I am using the MQ2Cast include that comes with the compile here.
 
Let me know what you come up with. :) Will look into it and get it fixed. Right now my Wizard and Druid are porting in lobby without issue. I am using the MQ2Cast include that comes with the compile here.

Got it. The spell slot you call for doesn't exist on TLP.

The wizzie spells are Translocate: Name, but you have Translocate Name.

Once I fixed SUB: Port
The call CASTMODE was calling for Gem9. I changed it to Gem4. Then I caught the name error. Now it works perfectly.
 
Last edited:
Got it. The spell slot you call for doesn't exist on TLP.

The wizzie spells are Translocate: Name, but you have Translocate Name.

Once I fixed SUB: Port
The call CASTMODE was calling for Gem9. I changed it to Gem4. Then I caught the name error. Now it works perfectly.

You know I didn't even think of TLP! I'll change this in a few other spots as well.
 
The last tweak I'm having an issue with is changing the responses to /tell the guild member rather than using /say. I know I need to write a script to check that the person who sent the tell is in guild, then it needs to call that persons name as a variable for using /tell to give a list of the ports. This would allow it to be used in a spot like Nexus (on TLP) or Guild Lobby instead of Hall a bit more discreetly.
 
The last tweak I'm having an issue with is changing the responses to /tell the guild member rather than using /say. I know I need to write a script to check that the person who sent the tell is in guild, then it needs to call that persons name as a variable for using /tell to give a list of the ports. This would allow it to be used in a spot like Nexus (on TLP) or Guild Lobby instead of Hall a bit more discreetly.

What you are asking for is already built in and has been for awhile.


Rich (BB code):
| --------------------------------------------------------------------------------------------
| SUB: Port
| --------------------------------------------------------------------------------------------
	Sub Port(string PortTarget, string PortToCast)
	/declare TargAccBal int local
	/declare TargIsFriend bool local FALSE
	/declare TargGuildIsFriend bool local FALSE
	/if (${AccountMode}) /call GetBalance "${PortTarget}"
	/if (${AccountMode}) /varset TargAccBal ${Macro.Return}
	/if (${FriendMode}) /call GetFriend "${PortTarget}"
	/if (${FriendMode}) /varset TargIsFriend ${Macro.Return}
	/if (${GuildMode}) /call GetGuild "${Spawn[PC ${PortTarget}].Guild}"
	/if (${GuildMode}) /varset TargGuildIsFriend ${Macro.Return}

	/if ((${BuffGuildOnly} && !${Spawn[PC ${PortTarget}].Guild.Equal[${Me.Guild}]}) && (!${TargGuildIsFriend} || !${TargIsFriend})) /return
	/if (${TargAccBal}<=${PortCost} && ${AccountMode}  && (!${TargIsFriend} && !${FriendFree}) && (!${TargGuildIsFriend} && !${GuildFree})) {
		ACCOUNTCHAT (${PortToCast})Balance:(${TargAccBal}) Buff Cost:(${BuffCost}) Summon Cost:(${SummonCost})
		/return
	}
	/if (${Me.Class.Name.Equal[Druid]} || ${Me.Class.Name.Equal[Wizard]}) {
		/varset TargetName ${PortTarget}
		/if (${Me.Sitting}) /stand up
		/if (${Window[TradeWnd].Open}) /call Money
		/delay 2
		/target id ${Spawn[PC ${TargetName}].ID}
		/delay 1s ${Target.ID}
		CHATMETHOD1 Porting: ${Target.CleanName} -- ${PortToCast} --
		CHATMETHOD Porting: ${Target.CleanName} -- ${PortToCast} --
		/mqlog Porting: ${Target.CleanName} -- ${PortToCast} --
		/call CASTMODE "${PortToCast}" ${PortGem}
		/delay 1s !${Me.Casting.ID}
		/if (${AccountMode}  && (!${TargIsFriend} && !${FriendFree}) && (!${TargGuildIsFriend} && !${GuildFree})) /call SetIni "BuffBot.Accounts.ini" "Balances" "${PortTarget}" "${Math.Calc[${Ini[BuffBot.Accounts.ini,Balances,${PortToCast}]}-${PortCost}]}"
	}
	/return

Simply adding ${Sender} after ADVERTISECHAT accomplishes what you want as well. Then you just need to modify your de
Rich (BB code):
| --------------------------------------------------------------------------------------------
| SUB: Event_Hail
| --------------------------------------------------------------------------------------------
	Sub Event_Hail(Line,Sender)
	/if (${Me.Class.Name.Equal[Necromancer]} && ${Advertise}) ADVERTISECHAT ${Sender} Please invite me to "summon" your corpse.
	/if (${Me.Class.Name.Equal[Magician]} && ${Advertise}) ADVERTISECHAT ${Sender} Please say toys, toys (1-20), rod, drod, invis, other, or arrows.
	/if (${Me.Class.Name.Equal[Druid]} && ${Advertise}) ADVERTISECHAT ${Sender} Please say "ports" for a list of ports.
	/if (${Me.Class.Name.Equal[Wizard]} && ${Advertise}) ADVERTISECHAT ${Sender} Please say "ports" for a list of ports.
	/if (!${Me.Class.Name.Equal[Necromancer]} && !${Me.Class.Name.Equal[Wizard]}) /call BuffTarget "${Sender}"
	/return

Change your define from /say to /t
Rich (BB code):
#define ADVERTISECHAT       "/t"

Putting the tell changes in right now and will upload in a moment.
 
Release Guild Buff Assistant

Users who are viewing this thread

Back
Top
Cart