MQ2bot - alpha

PeteSampras

Your UI is fucking you. Stop using it.
Joined
Dec 12, 2007
Messages
3,956
Reaction score
49
Points
38
MQ2bot - alpha testing

MQ2Bot - MMOBugs Wiki

Instructions
= green and yellow words.
This is an early alpha version of a bot/autoplay your toon plugin.

Required Plugins:
MQ2Cast, MQ2MoveUtils (for stick if you want it)

If you would like to test it out for me, download the DLL and put it into your mq2 folder.
/plugin mq2bot
/bot on
/bot off
/loadignore



Notes:
If you want to melee, you need to set MeleeAt=0 to whatever % you want to attack at

Ini settings:
All Use__ lines are 1 for on, 0 for off (as is DebuffAdds). All other settings are the percent you want to use those skills at. Set to 0 to not use them. aka NukeAt=0 means you wont use nukes.
Code:
[MQ2Bot]
BotVersion=2014.0427
DefaultGem=1
AssistAt=100
AssistRange=100
PetAttackAt=100
PetAttackRange=60
MeleeAt=0
MeleeDistance=40
MedStartAt=0
MedStopAt=0
AutofireAt=0
AutofireDistance=100
AggroAt=70
JoltAt=70
AACutoffTime=10
AAStopAt=25
DebuffAdds=1
DebuffAt=100
DebuffStopAt=10
DotAt=99
DotStopAt=10
HealAt=80
HealPetAt=80
LifetapAt=80
ManaAt=80
NukeAt=99
SnareAt=10
SwarmAt=99
UseAggro=0
UseAENukes=1  <-- use AE damage spells?
UseAutoFire=0 <-- use autofire?  if mob comes within 35 range, you switch to melee
UseAura=1
UseClickyBuffs=1
UseFightBuffs=1
UseMainTankBuffs=1
UseMez=1
UsePet=1
UsePetBuffs=1
UseSelfBuffs=1
UseStick=0 <-- 0 for off, 1 for on
StickSettings=30 healer <-- settings to stick at, ie, this would do /stick 30 healer
UseNetBots=0  <-- 0 for off, 1 for on
NetBotsName=NULL <-- Change this to name of toon to assist
If something is missing from the list that is on your spell bar, let me know what it is and i can see where to fit it into a category if i want to fit it in at all. This bot will not be 100% perfect, end goal is that it should function better than a merc though without any input from you.

If/when it crashes, please post the following info:
Compile version (may work with vanilla or test or emu, i have no idea)
WinEQ/ISBoxer/etc use.
What class crashed.
Any other pertinent info you think is relevant that I have forgotten to mention.

Thank you for the feedback.

VERSION: 2014.0430
The macro is to dump your spells into /mq2/logs/spells.mac.log. If something is detecting incorrectly/not at all/or you are crashing. Please post the log so I can fix it. Thanks!
 
Last edited:
I grabbed you a screen capture so you can confirm the pretty colors :)

This is on test
 
I grabbed you a screen capture so you can confirm the pretty colors :)

This is on test
Thanks, i see canni on there twice. Fixed that on my end. If you noticed anything that didnt show up in those categories that were better than what did show up, let me know.
 
updated a few more spell lines, nothing major. Will try to post the latest version of whatever i have a couple times a day until i get a beta version going.

EDIT: added in pets, put in the lists but didnt hook arcanum line, spires, several other fightbuff type stuff for when i get to fightbuffs.
 
Last edited:
Just did /loadspells on a 80 enc and it added a few extra spells to the list...

Mystic Shield
Rune of Rikkukin
Seer's Cognizance Rk. II
Ellowind's Animation

VAHXAyH.jpg
 
Yes, it should be detecting long duration buffs and AAs that fit into each category (a few cases I have just chosen the best in my opinion if there are multiple, like bst get 3 different linked spells as AA and i chose Bite of the Asp) and then it will figure out all group buffs that you have and once finished, will keep those on you using gem1. Outside of buffs and maybe rez (but i really want to just use AA rezzes), it will only use whatever you have loaded and ready.

SelfBuff lines it should detect:
Group versions only: clarity,aego,symbol,sv/str/brells,focus,haste,SE,regen
Self only: shielding,runes,self mana regen/conversion

I am readjusting the pet spell to be in the petbuff category and am figuring out what pet buffs to auto recognize right now during my lunch break.

EDIT: rune of rikkukin should not have detected because it requires reagents. I will try to sort that out because I had already specifically added a check in for that.

EDIT2: made runes only work for self only buffs, and change auras not to detect as debuffs.
 
Last edited:
Reupped .dll
Moved pet spell to own line, added pet buffs. All pet related stuff should show up in blue.
Pet buffs it detects:
All - AA buffs/heals
All - Haste
Mag - Iceflame
Bst - Invigorating warder, aggression, and spirit of lines. i know there are ~6 options for stacking, i chose those 3.

Changed rune detection to self only versions.

Updated mana to work correctly for mage and wiz.
 
Yes, it should be detecting long duration buffs and AAs that fit into each category (a few cases I have just chosen the best in my opinion if there are multiple, like bst get 3 different linked spells as AA and i chose Bite of the Asp) and then it will figure out all group buffs that you have and once finished, will keep those on you using gem1. Outside of buffs and maybe rez (but i really want to just use AA rezzes), it will only use whatever you have loaded and ready.

Just so I'm understanding you properly... Single target seer should be on the list even though it's not memmed? The group seer was memmed and listed.

I love the idea of this plugin btw!
 
Yes, it should be detecting long duration buffs and AAs that fit into each category (a few cases I have just chosen the best in my opinion if there are multiple, like bst get 3 different linked spells as AA and i chose Bite of the Asp) and then it will figure out all group buffs that you have and once finished, will keep those on you using gem1. Outside of buffs and maybe rez (but i really want to just use AA rezzes), it will only use whatever you have loaded and ready.

Just so I'm understanding you properly... Single target seer should be on the list even though it's not memmed? The group seer was memmed and listed.

I love the idea of this plugin btw!
No, only group version should get detected (whether or not it is memmed). single target will be ignored entirely, even if memmed. At least for now. I may break them out by single and group later but I want to get to actually casting spells and seeing how to flow routines and timers before I worry about single target buffs. with group i can do a simple check if it is on me or not, and if not, cast it. eqmule removed my Target.Clarity and Target.Aego etc from the base compile so i need to wait to implement or add them directly into the plugin.
 
Ok.

The /loadspells picked up the single target and listed it so it might do that for other classes as well. Just letting you know it was listed even if it's not going to be used, unsure if you wanted to address it or not.
 
Ya, i realized that all the spell related indices start at 0 instead of 1 (spell slot info) so i was 1 number too high and it let things pass through instead of kick back. I just went back and corrected that. It checks correctly for runes and mana regen now on enc for group only and nec/sk for their conversion spells. Good times!
 
After many hours of suckage, i was finally able to get the addhandler put in. It still needs a tweak once i have you actually /target a mob to confirm because then i can get Target.AggroHolder info to confirm if it is aggro on someone in your group. So, if you have a single mob on xtarget and it is someone's target, it should display Possible add: |#id|, if it is auto hater or you are in combat, it should show up as Add: |#id|#id|#id|

Give it a whirl and let me know if you run into any issues.
 
Updated .dll

Added /mobinfo on

This will display any Ignore, Runspeed/Mez Immune (based on /macros/Mob_Ignore_List.ini from bot.mac) as well as decapitation/headshot/assassinate/undead/summoned mob info.

Updated add handling list to display names instead of id. Changed internals on how everything is handled to make it easier on myself down the road.

Updated color displays for /loadspells and /loadignore

Here are some pics of what it looks like if you use /mobinfo on
 
Last edited:
Added familiar and cry/arco/pyromancy detection as well as change around how runes were detected.

Note: if you have 2 spells of the same level of the same line, it picks the first one in the spell book. so just swap the spells around in the spell book if you want to change which one is detected.

EDIT: added swarm pet detection and made it so wizards dont think their pyroblades are actual pets.

EDIT 2: mez/runspeed tags werent always applying on first pass, changed up the order so they should trigger every time as expected.
 
Last edited:
I had 6 toons (zerk/zerk/clr/shm/rog/brd) loaded in and all connected to EQBC. Using the EQBC_Interface I did a BCA //plugin mq2bot, BCA //mobinfo on, and it caused 2 crashes. Both of the zerkers crashed when executing /mobinfo on. I can repeat it.

I'm using latest MMO Compile along with WinEQ2.
 
Hmm. ok. just zerkers. Do you have the decap aa available on your AA window? I believe you said you are on fippy. So if it doesnt appear, that could explain the crash and i can put a level check in there so it doesnt try it unless you are level 90 or whatever the first tier is.
 
It's in my AA window but can't get Decapitation until 91 which we are capped at 80 right now.
 
Changed it to check for level. Would have posted it sooner but i spent an hour putting in FightBuffs because i didnt realize that Improved Twincast doesnt exist as a spell even though it is an AA. Will have to hardcode that in.
 
Enabled SelfBuffs for testing. You should auto use the SelfBuffs listed in white once you /loadspells. I dont have an off command for it yet, so reloading the plugin is how you turn it off. It worked in limited testing. I put some artificial delays in because it was trying to cast too quickly. Instant AAs still try to cast too quickly.

EDIT: it requires mq2cast to cast spells
 
Last edited:
It worked on the 2 toons I tried it on but it was trying to cast them really fast and spammed the MQ window with the buff name so the delay might need to be increased if the spam is an issue.

Does it only use gem1 for spells it has to mem? If so, I have a request/suggestion for the plugin. Make it where the user can set it to a gem they want instead of forcing it into gem1, if that's possible.

I also did /mobinfo on on the zerkers and it worked properly without crashing them.
 
Last edited: