Dev's Bot - a potential problem.

skbot2.mac, devCommonPremium.inc updated.

skbot2.mac now runs mainloop, fights, debuffs (with some caveats to functionality slightly flawed), self buffs.

Please inform me of any undeclared variables/errors thrown by this macro.

Also please inform me of any of the other macros I've previously worked on (bardbot.mac, shamanbot.mac) that this causes any errors for.

I'm now cross posting to redguides by popular request. But for devs macros only, not bot40.mac
 
Last edited:
Skbot2.mac (probably across all 16 mac files)

Code:
Toon1 - [2017/12/28 20:50:17] WARNING: Undefined Variable spellSetTypeValue used on line 3324@devCommonPremium.inc /call GetINISetting ${iniName} Combat SpellSetType${nArray} NULL NULL ${If[${spellSetTypeValue},TRUE,FALSE]}Macro Paused.
Also, there is a bunch on post #41.


New one in bardbot.mac (probably across all 16 mac files)


Code:
Toon1 - [2017/12/29 13:10:23] WARNING: Undefined Variable caTimer1 used on line 563@bardbot.mac /if ((!${Defined[caTimer${nArray}]} || !${caTimer${nArray}}) && (${Me.CombatAbilityReady[${caName[${nArray}]}]} || ${Me.AbilityReady[${caName[${nArray}]}]})) {Macro Paused.

Fix for bardbot.mac caTimer${nArray} issue.

Tested with kick lol.
 
Last edited:
Skbot2.mac

Code:
Toon1- [2017/12/29 21:59:48] WARNING: Undefined Variable aggroPriority used on line 306@skbot2.mac /if (${aggroPriority[${nArray}]} > ${highPriority} && !${aggroDelay${targArray[${nArray}]}}) {Macro Paused.
This might be in warrior, paladin, and maybe ranger possibly as well. Or maybe all 16 mac files, not really sure. There is a similar one I posted for warrior (post #41) earlier in the thread that probably is in skbot2 too.
 
Last edited:
Skbot2.mac

Code:
Toon1- [2017/12/29 21:59:48] WARNING: Undefined Variable aggroPriority used on line 306@skbot2.mac /if (${aggroPriority[${nArray}]} > ${highPriority} && !${aggroDelay${targArray[${nArray}]}}) {Macro Paused.
This might be in warrior, paladin, and maybe ranger possibly as well. Or maybe all 16 mac files, not really sure. There is a similar one I posted for warrior (post #41) earlier in the thread that probably is in skbot2 too.

It tells you where the error is. 306@skbot2.mac

If it says devCommonPremium.inc or a file other than the .mac file then it can affect other classes.

In this case I"m still trying to hunt this one down. I get it occasionally but not all the time. Typically arises on pulls of multiple mobs, which I didn't do a lot of during testing.

I'll get back on these tomorrow. Nap time.
 
Updates to berserker bot. With base INI it chills and waits for pulls, gets up and engages targets, does damage etc.

devPull.inc - found an error with aura's in here. Correction has been put in place. That doesn't mean it will pull....haven't got my bard to do that yet but I also don't understand the setup yet.

Code:
	/for pbArray 1 to 20
		/if (${requiredPullBuffs[${pbArray}].NotEqual[NULL]} && !${Me.Buff[${requiredPullBuffs[${pbArray}]}].ID} && !${Me.Song[${requiredPullBuffs[${pbArray}]}].ID} && !${Me.Aura[1].Find[${requiredPullBuffs[${pbArray}]}]} && !${Me.Aura[2].Find[${requiredPullBuffs[${pbArray}]}]}) {
			/if (!${pullMsgTimer}) {
				HIGHERDEBUG ".....Not pulling because we are missing a required buff: ${requiredPullBuffs[${pbArray}]}" TRUE 2
				/varset pullMsgTimer 30s
			}
			/return FALSE
		}
	/next pbArray

was the corrected code where
Code:
${Me.Aura[1].Name.NotEqual[${requiredPullBuffs[${pbArray}]}]}
was replaced with
Code:
!${Me.Aura[1].Find[

devcommonpremium.inc updated.

berserkerbot.mac had an array issue where it was going out of bounds due to outdated /for statement where it was using multiple /next instead of using /continue /break.

included a copy of the default ini for those that don't have it.

#warning was removed from code in devcommonpremium.inc please make a hotkey
Code:
/invoke ${Macro.Undeclared}
to output any undeclared variables before using /end and then send me the list of undeclared variables for correction on my end. This will keep the macros from pausing while in use. Though this also means that any undeclared variables will report null and thus always return false, so some thing might not work as intended. If you find things not working when you expect they should hit your hotkey to /invoke ${Macro.Undeclared} and send me the portion of the log file relevant to the undeclared variables.
 
Last edited:
I wanted to first of all thank everyone for their donations. They assist me greatly because of my set income. With that said ~

Skbot2.mac updated.
devCommonPremium.inc updated.
devPull.inc updated (Yeah...you saw that right....I got pulling with MQ2Navigation working)
devMovementPremium.inc updated (see above comment)
devCast.inc Updated

pull paths don't work....pita to decode dev's work on the pull paths in a way that I can comprehend lol. But at least MQ2Navigation is working??

I fixed a problem where devCast.inc was returning a false positive....there's another one in it for the debuffs but I have yet to find it.

skbot2.mac has stopped changing "ReturnToCamp" from false to true on every run.
 
Last edited:
All initial fixes for enchanterbot.mac
Fixed: Chain Mezzing
Fixed: Chain Buffing
~~~~Removed: All code in devCommonPremium.inc dealing with NetBots ~ It wasn't working and was causing chain buffing. (should work for all classes)
Fixed: False negatives on casting in devCast.inc (should work for all classes)


Required an update to devCast.inc, devCommonPremium.inc, enchanterbot.mac

Even if you aren't using enchanter bot this has some blanket fixes in it for devCast.inc and devCommonPremium.inc that will hopefully fix chainbuffing on all classes and chain debuffing for all classes.

All bots have been upload to the first 4 posts on this thread so I'm not uploading to 9000000 different locations.
 
Last edited:
bardBot.mac misc update.
berserkerbot.mac removed an echo about autoburn
devCommonPremium.inc
devPull.inc

Blanket fix for INI's: Ini will now create at least one instance of every usable INI entry. required a modification to both devCommonPremium.inc and devPull.inc

Fix for INI's now creates the entry and then never changes it again, no more messages about it updating the INI you have open unless you delete an entry entirely. Also, no more changing that false you set to true or that True you set to NULL etc. This means that doing
Code:
/mac classbot.mac customNamedINI
will not only generate the classbotsettings_customNamedINI.ini it will also populate it complete with all base items such as
Code:
[Alerts]
AlertDeathAudioFile=NULL
AlertEvac=NULL
Value=0
AlertMobName1=null
AlertAudioFile1=null
AlertUnsafePC=NULL
AlertGM=NULL
AlertText1=NULL
AlertTextFile1=NULL

That I was unaware even existed.

devPull.inc : Fix for the pull routine where previously I had commented out the requiredbuffs for pulling to now use it and return the correct value. If
Code:
RequiredPullBuff1=NULL
it will return TRUE. If it is anything else it will check to see if you have the buff. So if
Code:
RequiredPullBuff1=MMOBugs
then it's going to check /if (${Me.Buff[MMOBugs].ID}) and the same for song, aura/etc and they will all return false, making that return false that you don't have the buff and return false causing you to not pull. If you put something other than NULL in this slot make sure it is a spell you can get from a group member or one you can cast yourself. It will NOT pull if you don't have it.

RequiredPullBuff# can go up to
Code:
RequiredPullBuff20=Spell Name

The array only stores 20 of them...if you require more than 20 buffs to pull you need more group members :p
 
Updated files.

01/04/18
Updated: Necrobot.mac
Updated: Clericbot2.mac
Updated: devCommonPremium.inc
Updated: devCast.inc

Necrobot initial release comes in conjunction with FINALLY tracking down the bug for the debuff routine. However, necrobot doesn't appear to be casting items in [Combat] Section of the INI. More testing required to get it sorted. Self buffs are confirmed to work.

Clericbot initial release comes in with known issue in group heals with multiple /next in a for loop as opposed to /break and /continue being used. I can and will fix it tomorrow. If no group heals are assigned it should work without an issue.

devCommonPremium.inc ~ Updated debuff routine return line which was improperly returning CAST_SUCCESS instead of ${Macro.Return} which was causing the invalid returns. Updated to include [Group Buffs] section to have at least 1 stub if none are present. Corrected Some INI stubs which were adding two blank stubs instead of one.

devCast.inc part of the debuff routine update.
 
While I didn't get the upload done yesterday, I did fix the /for /next issue....I just fell asleep while testing it haha.

So here's the clericbot2.mac update.

Next on my chopping block is fixing combatspells.
 
Roguebot.mac


Code:
toon1 - [2018/01/09 16:37:50] devCommonPremium.inc@4340 (GetINISetting(string ININame, string INISection, string INIKey, string VariableName, string defaultValue, string createSettingStr, string variableType)): /if (${Defined[${variableDefName}]} && ${VariableName.NotEqual[NULL]}) /varset ${VariableName} ${iniValue}
toon1 - [2018/01/09 16:37:50] roguebot.mac@525 (LoadSettings): /call GetINISetting ${iniName} Burn BurnSet${nArray}Ability${xArray} burnSetAbilities[${nArray},${xArray}] NULL
toon1 - [2018/01/09 16:37:50] roguebot.mac@117 (main(string iniNameStr)): /call LoadSettings
toon1 - [2018/01/09 16:37:50] /varset 'burnSetAbilities[-1]' failed, out of bounds on array


Code:
Toon1 - [2018/01/09 16:42:42] [MQ2] [MQ2] "~~~~~ChatWithThisName BrokenRobotGames@gmail.com~~~~~"
Toon1 - [2018/01/09 16:42:43] [MQ2] Calling GetINISetting rogueBotSettings_Toon1.ini Burn BurSet1Ability1 burnSetAbilities[1,1] NULL
Toon1 - [2018/01/09 16:42:43] [MQ2] Calling GetINISetting rogueBotSettings_Toon1.ini Burn BurSet1Ability2 burnSetAbilities[1,2] NULL
Toon1 - [2018/01/09 16:42:43] [MQ2] Calling GetINISetting rogueBotSettings_Toon1.ini Burn BurSet1Ability3 burnSetAbilities[1,3] NULL
Toon1 - [2018/01/09 16:42:43] [MQ2] Calling GetINISetting rogueBotSettings_Toon1.ini Burn BurSet1Ability4 burnSetAbilities[1,4] NULL
Toon1 - [2018/01/09 16:42:43] [MQ2] Calling GetINISetting rogueBotSettings_Toon1.ini Burn BurSet1Ability5 burnSetAbilities[1,5] NULL
Toon1 - [2018/01/09 16:42:43] [MQ2] Calling GetINISetting rogueBotSettings_Toon1.ini Burn BurSet1Ability6 burnSetAbilities[1,6] NULL
Toon1 - [2018/01/09 16:42:43] [MQ2] Calling GetINISetting rogueBotSettings_Toon1.ini Burn BurSet1Ability7 burnSetAbilities[1,7] NULL
Toon1 - [2018/01/09 16:42:43] [MQ2] Calling GetINISetting rogueBotSettings_Toon1.ini Burn BurSet1Ability8 burnSetAbilities[1,8] NULL
Toon1 - [2018/01/09 16:42:43] [MQ2] Calling GetINISetting rogueBotSettings_Toon1.ini Burn BurSet1Ability9 burnSetAbilities[1,9] NULL
Toon1 - [2018/01/09 16:42:43] [MQ2] Calling GetINISetting rogueBotSettings_Toon1.ini Burn BurSet1Ability10 burnSetAbilities[1,10] NULL
Toon1 - [2018/01/09 16:42:43] [MQ2] Calling GetINISetting rogueBotSettings_Toon1.ini Burn BurSet1Ability11 burnSetAbilities[1,11] NULL
Toon1 - [2018/01/09 16:42:43] [MQ2] Calling GetINISetting rogueBotSettings_Toon1.ini Burn BurSet1Ability12 burnSetAbilities[1,12] NULL
Toon1 - [2018/01/09 16:42:43] [MQ2] Calling GetINISetting rogueBotSettings_Toon1.ini Burn BurSet1Ability13 burnSetAbilities[1,13] NULL
Toon1 - [2018/01/09 16:42:43] [MQ2] Calling GetINISetting rogueBotSettings_Toon1.ini Burn BurSet1Ability14 burnSetAbilities[1,14] NULL
Toon1 - [2018/01/09 16:42:43] [MQ2] Calling GetINISetting rogueBotSettings_Toon1.ini Burn BurSet1Ability15 burnSetAbilities[1,15] NULL
Toon1 - [2018/01/09 16:42:43] [MQ2] Calling GetINISetting rogueBotSettings_Toon1.ini Burn BurSet1Ability16 burnSetAbilities[1,16] NULL
Toon1 - [2018/01/09 16:42:43] [MQ2] Calling GetINISetting rogueBotSettings_Toon1.ini Burn BurSet1Ability17 burnSetAbilities[1,17] NULL
Toon1 - [2018/01/09 16:42:43] [MQ2] Calling GetINISetting rogueBotSettings_Toon1.ini Burn BurSet1Ability18 burnSetAbilities[1,18] NULL
Toon1 - [2018/01/09 16:42:43] [MQ2] Calling GetINISetting rogueBotSettings_Toon1.ini Burn BurSet1Ability19 burnSetAbilities[1,19] NULL
Toon1 - [2018/01/09 16:42:43] [MQ2] Calling GetINISetting rogueBotSettings_Toon1.ini Burn BurSet1Ability20 burnSetAbilities[1,20] NULL
 
Last edited:
Lol those are called debugging echo's Aspire :p

Once I'm done playing with it I'll turn that stuff off.

For now I can't get the rogue to show ${inCombat} as false after it fights the first mob. /facepalm

Seems to be an issue with my cleric as well.
 
assist from outside group

is there a way to get a character to assist from outside of group. I know there used to be a way as ive used devs before.
 
Updated devPull.inc and DevCommonPremium.inc to handle an issue where you would pull 1 mob and then stop pulling.

Isaac, after some extensive testing. In order to assist outside of group (attacking only, no buffing etc) You must change Aggro detection for XTarget to FALSE and manually set the person in question as the MA. This makes it use other means for aggro detection and forces the assist based on that. I confirmed this on my group two days ago.
 
devMovement.inc doesn't seem to be on the front page. Unless i'm just retarded.
 
devMovement.inc doesn't seem to be on the front page. Unless i'm just retarded.

You were correct. I've added it back. My apologies I've been working on a plugin with Pete and hadn't checked the forum in a couple of days :-x
 
I can't seem to get a duration/hot spell to work. It just keeps recasting it over and over. Doesn't look like it get's to the Sub TrackHot. Also, what is HealType? Thank you.

HealName1=Duration Healing Spell
HealSlot1=gem2
HealMinGroup1=1
HealMinHP1=20
HealMaxHP1=70
HealClasses1=CLR|DRU|WIZ|MAG|ENC|NEC
HealType1=ALL
HealAnnounce1=heal dur
HealCondition1=NULL
HealDuration1=80s
HealAlias1=HEAL1
HealEnabled1=TRUE
HealGOM1=FALSE
 
It actually looks like it is getting to the sub but some how it resets the duration to null after it sets it to 32s