Macro Bot.mac Updates and Bug Fixes by [40oz]

[40oz]

Lifetimer
Joined
Sep 5, 2008
Messages
590
Reaction score
4
Points
18
Bot40.mac is now maintained on MMOBugs Github Repo.

The version attached to this post is normally not the latest updated version. Please get the latest version from GitHub.

How can the macro user help?
If you have any macro errors or problems, use github issues to report it.

I recently did some research in the slow to load thread and started fixing up parts of bot.mac. I've decided to make it it's own thread. I hope that these changes can get integrated back to main stream bot.mac, but for the mean time here they are.

Important - bot_custom_events.inc

I've added this file so people can write their own custom code for handling custom events, like raid emotes and such. At launch, I will /call SetupCustomEvents once, then the rest I used based off timers. See the example I wrote for TBM hate raid event Innoruuk and the doom timer.
 

Attachments

  • bot_custom_events.inc
    1.9 KB · Views: 308
  • bot40.mac
    526.1 KB · Views: 108
Last edited:
Nice. A few issues I'd like to run by you:

* When you said you fixed Harvest for wizards, do you mean the spell? In the current form, my wizard uses Druzzil Harvest AA but Quiescent Harvest, the spell, has to be used manually.

* I've never been able to get AE chanter mez to work. Maybe it's me or the documentation on how to detect 3 or more mobs but that has always been a problem.

* Some time ago, I had an SK offtank. He was using his 2 hander and no taunting because the warrior was the main tank. But hard coded into the bot macro is the use of the Explosion of Hate AA. This got him killed a lot. Would you consider taking that out, or at least making it programmable via the INI?
 
* When you said you fixed Harvest for wizards, do you mean the spell? In the current form, my wizard uses Druzzil Harvest AA but Quiescent Harvest, the spell, has to be used manually.

Yes, I fixed the spell harvest. Haven't had a chance to test it with MQ2 being down due to patch, as I did it late last night before bed. I've tested with debug that he finds the spell now where he didn't before. Just haven't tested the usage in battle, but the code for that seemed okay.

The spell detection failure was due to trying to do too much for the user, combined with the AA changes in main. Some values were hardcoded, I've hopefully changed them to be more resilient to future change, unless they change the name of the Mnemonic Retention AA, or rearrange the spell data attributes so that Mana isn't attribute 15 for spell effects.

* I've never been able to get AE chanter mez to work. Maybe it's me or the documentation on how to detect 3 or more mobs but that has always been a problem.

I haven't spent time with my chanter yet, been trying to fine tune the wizard. If you want to PM or post your chanter INI, I can take a look. I probably won't have time until weekend after next to dig in to it though. I'll add it to my to-dos.
* Some time ago, I had an SK offtank. He was using his 2 hander and no taunting because the warrior was the main tank. But hard coded into the bot macro is the use of the Explosion of Hate AA. This got him killed a lot. Would you consider taking that out, or at least making it programmable via the INI?

PM me or post the SK INI to look at. I'll double check. That definitely shouldn't be hard coded, it should at least be INI toggleable.
 
Last edited:
* I've never been able to get AE chanter mez to work. Maybe it's me or the documentation on how to detect 3 or more mobs but that has always been a problem.

I haven't spent time with my chanter yet, been trying to fine tune the wizard. If you want to PM or post your chanter INI, I can take a look. I probably won't have time until weekend after next to dig in to it though. I'll add it to my to-dos.

I don't have anything in my ini, that's the problem. It was never documented on how to do it. If you look at the other enchanter INIs, none of them have any condition for mob count, ie, if there are 3 or more mobs, then use the AE mez.

* Some time ago, I had an SK offtank. He was using his 2 hander and no taunting because the warrior was the main tank. But hard coded into the bot macro is the use of the Explosion of Hate AA. This got him killed a lot. Would you consider taking that out, or at least making it programmable via the INI?

PM me or post the SK INI to look at. I'll double check. That definitely shouldn't be hard coded, it should at least be INI toggleable.

SK is long gone, but I'm telling you, it's hard coded. I tried removing it once and fucked up the macro in the process. Just do a search for Explosion of, and it will find both Spite and Hatred all throughout the macro.
 
Nice to see someone take up this job of maintaining Bot.mac. Good job.

Let me know once your happy with where it's at and I'll get it updated in our Macro folder.
 
* I've never been able to get AE chanter mez to work. Maybe it's me or the documentation on how to detect 3 or more mobs but that has always been a problem.

I haven't spent time with my chanter yet, been trying to fine tune the wizard. If you want to PM or post your chanter INI, I can take a look. I probably won't have time until weekend after next to dig in to it though. I'll add it to my to-dos.

I don't have anything in my ini, that's the problem. It was never documented on how to do it. If you look at the other enchanter INIs, none of them have any condition for mob count, ie, if there are 3 or more mobs, then use the AE mez.

* Some time ago, I had an SK offtank. He was using his 2 hander and no taunting because the warrior was the main tank. But hard coded into the bot macro is the use of the Explosion of Hate AA. This got him killed a lot. Would you consider taking that out, or at least making it programmable via the INI?

PM me or post the SK INI to look at. I'll double check. That definitely shouldn't be hard coded, it should at least be INI toggleable.

SK is long gone, but I'm telling you, it's hard coded. I tried removing it once and fucked up the macro in the process. Just do a search for Explosion of, and it will find both Spite and Hatred all throughout the macro.

I just eyeballed both problems real quick. The explosion spells are definitely hard coded. I'll have to think about how I want to fix those up.

As for the mez code, the conventions used in this macro are very strange to me, not typical programming conventions, however, it does look like if you define appropriate spells in AEMez and/or PBAEMez, it will use them given certain conditions. The MezLoad code hardcodes checks to find max mez level, which are similarly flawed and don't conform to the 2016FEB12 changes.

All that is to say, the numbers for AE Mezzing are hard coded at >2 of the MezList internal to the Mez Sub. You could always use ${MezList.Count[|]} as a conditional check for the number of adds, but I also don't see where the conditionals are used, so it may not work.
 
I noticed when trying to create a new ini, this is what happens:

 
I can give you a repeatable bug to chase. Repeatable every time.

In the Disrupting the Ritual HA from Gribble, some times you have to cure 4 sickly test subjects with cures looted from dead Xululus mobs. When I run in to click the salves on the subjects, my enchanter WILL NOT clear the mobs. I use the clear command and my other toons reset, but the chanter remains locked on the mob. I have to stop the macro and restart it every time. The clear command works with other mobs on the chanter but for some reason, it will not let go of the sickly test subject in that one mission.
 
So on line 2739, there is a { that doesnt have a correct matching } later in that routine.
 
I noticed when trying to create a new ini, this is what happens:


Sorry about that. I didn't test INI creation after my cleanup and the sub that was in isn't used much outside of that. I've been using this purely on INIs I already had written.

I didn't get a chance to test my fix, but the brackets were definitely mismatched. Give it a go when you get a chance. Original post updated.

Edit: Just tested it, that fixed the mismatch problem, however it's still creating a double INI and splitting stuff between them. I cannot figure out for the life of me why, though. Will work on it for a bit longer, but may have to wait.

edit2: After further testing, i fixed double INI creation and cleaned up the SubLoad spell. I misread the original code and cleaned up a bracket a bit too early. Should be good now. That's what I get for trying to indent over 9000 lines of code and line up brackets and stuff in one sitting with little sleep =)
 
Last edited:
Just updated a small fix for an error with PetBuffs. Got this working quite well on my mage this weekend, and a quick run through on a bard - lots of weird bugs with bard, but for now he twists and usually assists. My next goal is to investigate adding my chanter to this so I can begin to look at mezzing issues.
 
I got the mac running on my 6 box team sans hand-played-tank this weekend.

I was able to recreate not having the enchanter use AE mez, but with the buffed XP I was more interested in grinding than debugging. At least now I have the facility to test it readily. Hopefully I can do so tonight, but some family issues came up so it may not be until this coming weekend.
 
Small bugfix update. I've got my crew set up well enough I can actually debug more easily now as I don't have to manually run anything.

SK AE Aggro is definitely borked. I can't get it to cast often enough, actually. I think I might try to rehaul the aggro section of the code when I get a chance to look through it.

I also can't get Enchanter AE Mez to fire at all, pulled 6 yellow mobs and he sat there single mezzing them all.

Looks like I have my work cut out for me =)
 
Last edited:
I also can't get Enchanter AE Mez to fire at all, pulled 6 yellow mobs and he sat there single mezzing them all.

Welcome to my world.

Good luck. Glad someone is trying.
 
My Enc getting error while loading Bot40.mac

Mac auto ends after few mobs.


tried to upload pic, but not web is not allowing.

error saying:

/declare 'AssistPC' failed. Name already in use.
bot40.mac@82 (Main): /if (${Param1.NoEqual[NULL]}) /declare AssistAt int outer ${Param1}
 
Last edited:
Spent some time tonight and was able to get my mage running well enough to move forward with more toons. Before I move on from my mage INI the one thing i haven't been able to get working correctly are the mod rods. I spent a couple hours on it today and just cant get him to summon or use the 2 rods if i summon them manually.

Code:
[SummonItem]
SummonItemTotal=2
ForceMemSummonItem:TRUE

SummonItemUse1=TRUE
SummonItemName1=Summond:Summoned: Giant Modulation Shard
SummonItemSpellName1=Summond:Summoned: Giant Modulation Shard
SummonItemSpellGem1=alt
SummonItemConditions1=

SummonItemUse2=TRUE
SummonItemName2=Wand of Pelagic Modulation
SummonItemSpellName2=Wand of Dark Modulation
SummonItemSpellGem2=gem6
SummonItemConditions2=
 
I never bothered to set up mod rods on mine, however you have type-o's in your names of the spell there. I'm unfortunately going to be out of town for about 2 weeks but if I get a chance I'll eyeball it before then.
 
Time is my enemy. I haven't had a chance to look, I just got back from being out of town, and in a week I head to Japan for 2 weeks. Hopefully travel should settle down after that.

So far this version is running pretty stable though. The todo-list items aren't show-stopping, at least they haven't been for me. If there is something show stopping point it out when I get a chance I'll look at it first.