Please note to any users that see this post. I could not find a place to msg 40oz my unsubmitted work privately and thus some debug messages and unverified changes exists inside of this .mac and .inc file.
If you choose to download this and run it, there is no promise that it works any better than my previous submission, or that you will enjoy the luxuries of the spam that comes with it. This copy includes the uncommented #Warning for the location of undeclare variables and -will- pause while in use unless you comment it out at the top of the macro below the comments using | which is Shift+\ above your enter key.
To 40oz. Please find my changes indicated with Ctrl+F to search for Chatwiththisname in both the spellroutines.inc and bot40.mac
DoT routine informs me that I don't have the spells identified inside of my characters .ini while playing shaman. This occurs regardless of which spells I choose. However, the macro carries on to cast said DoT's as if the statements saying I didn't have them were never given.
I randomly get spammed with
Code:
MyCharactersName - [2017/10/01 23:03:26] [MQ2] 3465 MyCharactersName - Feet Like Cat
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
MyCharactersName - [2017/10/01 23:03:26] [MQ2] Removing NULL NULL
Update: Verified it has something to do with Buffqueue sub near 4659. Though I have no idea what it is doing. If I don't have the spell on myself it doesn't appear to attempt to do this portion of the sub or buff. If I have it on myself I get spammed with that message.
Update: Finally got it to parse the information. It now cycles through characters and determines that they do or do not have the buff. But still spams information and never actually casts the buff on them. Echos were added to various buff subs to let me know what sub it was in. I left that there for future testing. It will spam you.
Code:
/echo Removing ${Spawn[${BuffArray[${i},1]}]} ${BuffSpellName${BuffArray[${i},2]}}
I did not comment my name or the fix for the Aura 'string' 'Name' error message. That code is located at 4024-4026. Alternately, here is the code to search for
Code:
/if (!${Me.Class.ShortName.Equal[SHM]}) {
/if (${Me.Aura[1].Name.Length} && !${Me.AltAbility[Spirit Mastery]} && !${Me.AltAbility[Auroria Mastery]}||${Me.Aura[2].Name.Length}||${AuraDelay}||${NeedLoad}) /return
} else /if (${Me.Aura[1].Length} && !${Me.AltAbility[Spirit Mastery]} && !${Me.AltAbility[Auroria Mastery]}||${Me.Aura[2].Length}||${AuraDelay}||${NeedLoad}) /return
I've changed all instances of /face fast to /face
I fixed my fix for the shaman aura error. I was using /if () { /somecode } else /somecode instead of /if () {/Somecode} else {/somecode} and it was causing a sub to overflow into another sub on non shaman characters.
Added ~
Code:
/if (!${Defined[${CurrentSub}Loaded]}) /declare ${CurrentSub}Loaded bool outer FALSE
|**Defined the variable if it hasn't been defined to fix a /varset failed, variable not found issue. ~Chatwiththisname~ 10/02/2017**|
to begining of Feign Death sub and Lifetap subs to fix /varset fail issue. May only be present on new file creation, but fixed the issue none the less.
Modified the section that checks to make sure an ini entry is present and informs you that it is missing or filled out incorrectly to check and see if the INI entry is at least present in the INI file and if not adds the entry automatically.
Code:
BuffSpellName1=----------------------
BuffSpellIcon1=----------------------
BuffSpellGem1=----------------------
BuffAlias1=----------------------
is what it looks like in your INI after running with missing INI entries.
You still get the message that it is missing or filled out incorrectly, but at least it's in the INI for you to edit. The dashes were used so that it wouldn't return NULL on check, and to make it easy to find the INI as an entry that needs to be changed to something custom.
Code:
/echo [${SubName}] ${SubName}${SpellLoad2Cats.Arg[${SubOptions.Arg[${i},|]},|]}${x}= is missing or not filled out correctly
|**Code to automatically generate missing INI Entry if it doesn't exist, add to see if it is present first. ~Chatwiththisname~ 10/02/2017**|
/if (${Ini[MyIni,${SubName},${SubName}${SpellLoad2Cats.Arg[${SubOptions.Arg[${i},|]},|]}${x}]} == NULL) {
/ini "MyIni" "${SubName}" "${SubName}${SpellLoad2Cats.Arg[${SubOptions.Arg[${i},|]},|]}${x}" "----------------------"
/echo [${SubName}] ${SubName}${SpellLoad2Cats.Arg[${SubOptions.Arg[${i},|]},|]}${x}= was added to the INI.
}
/mqlog ${Me.Class} - [${SubName}] ${SubName}${SpellLoad2Cats.Arg[${SubOptions.Arg[${i},|]},|]}${x}= is missing or not filled out correctly
Changed
Code:
/echo Errors found in MyIni. See messages above or look in \mq2\logs\ThisMac.log for errors encountered.
to
Code:
/echo Errors found in MyIni. See messages above or look in \\mq2\\logs\\ThisMac.log for errors encountered.
It was treating the \ as escape codes and truncating the message.
Who made this note.
Code:
| I'm hacking all these in for the changes on the 20170912 of MQ2. The right way to fix this will take way longer
|findme|
What variables did you "hack" declares for. While I realize this note is to yourself and it may have got the program moving, knowing what was actually done would be helpful in making corrections in those areas.
Nevermind, I see that you put the message above and below about 50 or so ghetto declared variables. I'm now going to delete them and put them in the correct locations as they appear with errors. Mostly checks to see if a routine has been loaded.
Update: This is what is left of those variables.
Code:
/declare Pulling bool outer FALSE
/if (!${Defined[XTargetRadiusList]}) /declare XTargetRadiusList int outer
/declare AmIPuller bool outer FALSE
/if (!${Defined[FadeUseAtMyHP]}) /declare FadeUseAtMyHP int outer 0
/if (!${Defined[FeignDeathUseAtMyHP]}) /declare FeignDeathUseAtMyHP int outer 0
/if (!${Defined[FeignDeathStandAtMyHP]}) /declare FeignDeathStandAtMyHP int outer 0
/declare DotTotal int outer ${Ini[Bot_${Me.CleanName}_${MacroQuest.Server}_${Me.Class}.ini,Dot,DotTotal,0]}
/declare RootTotal int outer ${Ini[Bot_${Me.CleanName}_${MacroQuest.Server}_${Me.Class}.ini,Root,RootTotal,1]}
/declare RootAdds bool outer ${Ini[Bot_${Me.CleanName}_${MacroQuest.Server}_${Me.Class}.ini,Root,RootAdds,T]}
/declare DebuffTotal int outer ${Ini[Bot_${Me.CleanName}_${MacroQuest.Server}_${Me.Class}.ini,Debuff,DebuffTotal,0]}
/declare DebuffAdds bool outer ${Ini[Bot_${Me.CleanName}_${MacroQuest.Server}_${Me.Class}.ini,Debuff,DebuffAdds,FALSE]}
That doesn't mean that they need to be defined. Just means that I'm not sure if they are defined in the correct location.
To Whom it may concern.
/declare DotTotal int outer ${Ini[Bot_${Me.CleanName}_${MacroQuest.Server}_${Me.Class}.ini,Dot,DotTotal,0]}
is not the same as
/declare DotTotal int outer ${Ini[Bot_${Me.CleanName}_${MacroQuest.Server}_${Me.Class}.ini,Dot,DotTotal]}
There is an additional parameter in the top box. Unless that checks for a value and if it doesn't find one returns the final parameter then I cannot see a reason for it. I feel like it would set it to 0, or do nothing at all. Either way I cringe when I see it
This is my last update tonight. It's spam town for the likes of anyone that uses it. You can do a CTRL+F and look for the word Test to find and remove the echos. Trying to fix the buff routine. More work to remove the echos for release that I don't care to address. Also don't forget to remove #warning
There are now 95 separate entries with my name on it. Hopefully it doesn't take 40oz to long to catch up to what I've done. Got classes the rest of the week. Good luck all.
To everyone else, you've been warned