Difference between revisions of "MQ2Bot" - MMOBugs Wiki

Line 15: Line 15:
 
* <span class="highlight2">/bot on</span> Turns on bot functionality
 
* <span class="highlight2">/bot on</span> Turns on bot functionality
 
* <span class="highlight2">/bot off</span> Turns of bot functionality
 
* <span class="highlight2">/bot off</span> Turns of bot functionality
 +
* <span class="highlight2">/bot key=value</span> Updates your INI and variable key to be the new value.  Ie. /bot MeleeAt=10 will set your MeleeAt to 10.  It is case insensitve, so you can /bot meleeat=10 if you want.
 
* <span class="highlight2">/loadspells</span> Reloads your spells to match whatever you have memorized
 
* <span class="highlight2">/loadspells</span> Reloads your spells to match whatever you have memorized
 
* <span class="highlight2">/loadignore</span> Loads mob ignores and immunities from your mq2/macros/Mob_Ignore_List.ini if you have one from bot.mac
 
* <span class="highlight2">/loadignore</span> Loads mob ignores and immunities from your mq2/macros/Mob_Ignore_List.ini if you have one from bot.mac

Revision as of 20:38, 18 May 2014

Plugin Info
Name MQ2Bot
Author User: PeteSampras
Link Wiki Link
Commands /bot
Source Available No
Uses INI File Yes

Description

MQ2Bot will play your character for you, similar to a mercenary using whatever AAs and spells/items that you have memorized.

Commands

  • /bot on Turns on bot functionality
  • /bot off Turns of bot functionality
  • /bot key=value Updates your INI and variable key to be the new value. Ie. /bot MeleeAt=10 will set your MeleeAt to 10. It is case insensitve, so you can /bot meleeat=10 if you want.
  • /loadspells Reloads your spells to match whatever you have memorized
  • /loadignore Loads mob ignores and immunities from your mq2/macros/Mob_Ignore_List.ini if you have one from bot.mac
  • /invis Uses designated Bot.Invis spell
  • /ivu Uses designated Bot.InvisUndead spell
  • /lev Uses designated Bot.Levitate spell
  • /imob Adds current target to Bot.Ignores and Mob_Ignore_List.ini
  • /mmob Adds current target to Bot.MezImmunes and Mob_Ignore_List.ini
  • /smob Adds current target to Bot.SnareImmunes and Mob_Ignore_List.ini
  • /cmob Adds current target to Bot.CharmImmunes and Mob_Ignore_List.ini

Required plugins

  • MQ2Cast
  • MQ2Melee (for any disc/ability/sticking settings)
  • MQ2MoveUtils (if you want to autofollow)
  • MQ2EQBC (if you want to announce in eqbc or use netbots feature)
  • MQ2NetBots (if you want to use netbots feature)
  • MQ2Twist (if you are a bard)
  • MQ2MMOTLO (for authorization by MMOBugs UserName, not required if authorized by SOE account name)
  • MQ2AdvLoot (if you wish to loot using mq2advloot)

Macro Data

This plugin adds a new TLO

  • ${Bot} : BoolType - Returns TRUE if MQ2Bot is loaded.

BotType

  • MinHP : SpawnType Lowest PctHP Group member in 250 range. Bot.MinHP[#] will change 250 to whatever you put there.
  • MinPetHP : SpawnType Lowest PctHP Group member pet in 250 range. Bot.MinPetHP[#] will change 250 to whatever you put there.
  • MinMana : SpawnType Lowest Pctmana Group member in 250 range. Bot.Minmana[#] will change 250 to whatever you put there.
  • XMinHP : SpawnType Lowest PctHP XTarget PC or merc in 250 range. Bot.XMinHP[#] will change 250 to whatever you put there.
  • XMinPetHP : SpawnType Lowest PctHP XTarget PC owned pet in 250 range. Bot.XMinPetHP[#] will change 250 to whatever you put there.
  • XMinMana : SpawnType Lowest Pctmana XTarget PC or merc in 250 range. Bot.XMinMana[#] will change 250 to whatever you put there.
  • XPriority : SpawnType Highest priority NPC or NPC pet on XTargetin 250 range. Bot.XPriority[#] will change 250 to whatever you put there. Formula is mob level + 15 if named, 10 if mez immune, 5 if snare immune, - 25 if a pet.
  • NetBotMinHP : SpawnType Lowest PctHP NetBot client member in 250 range. Bot.NetBotMinHP[#] will change 250 to whatever you put there.
  • Facing : SpawnType Am I facing mob within 5 degrees? Bot.Facing[#] will change 5 to whatever you put there.
  • FacingMe : SpawnType Is mob facing within 5 degrees of me? Bot.FacingMe[#] will change 5 to whatever you put there.
  • InvisSpell : StringType Name of invis AA to be used with /invis, if any.
  • IVUSpell : StringType Name of IVU AA to be used with /ivu, if any.
  • Invis : BoolType Am I invis? (not counting IVU or invis to animals).
  • IVU : BoolType Am I IVU?
  • Levitate : StringType Name of levitate AA to be used with /lev, if any.
  • SpellGem : IntType Current casting SpellGem (1-12). Returns 13 if item is casting.
  • SpellETA : IntType Current time in tenths of a second until current cast is complete.
  • CastReady : BoolType Are you ready to cast a spell? Returns FALSE if in global cooldown.
  • Slowed : TickType Is target slowed?
  • Rooted : TickType Is target rooted?
  • Mezzed : TickType Is target mezzed?
  • Crippled : TickType Is target crippled?
  • Malod : TickType Is target malod?
  • Tashed : TickType Is target tashed?
  • Snared : TickType Is target snared?
  • Hasted : TickType Is target hasted?
  • Skin : TickType Does target have dru/rng skin line on?
  • Focus : TickType Does target have bst/shmfocus line on?
  • Regen : TickType Does target have regen?
  • Symbol : TickType Does target have pal/clr symbol on?
  • Clarity : TickType Does target have clarity line on?
  • Pred : TickType Does target have rng pred line on?
  • Strength : TickType Does targethave rng str line on?
  • Brells : TickType Does target have pal brells line on?
  • SV : TickType Does target have bst SV line on?
  • SE : TickType Does target have bst SE line on?
  • HybridHP : TickType Does target have brells/str/sv line on?
  • Growth : TickType Does target have wild growth line on?
  • Shining : TickType Does target have shining rampart line on?
  • DeepSleep : TickType Does target have Deep Sleep debuff on?
  • Aego : TickType Does target have pal/clr Aego on?
  • Heal : SpellType How many Heal spells are there? If Bot.Heal[#], returns spell info for that spell.
  • Nuke : SpellType How many Nuke spells are there? If Bot.Nuke[#], returns spell info for that spell.
  • Dot : SpellType How many Dot spells are there? If Bot.Dot[#], returns spell info for that spell.
  • Swarm : SpellType How many Swarm spells are there? If Bot.Swarm[#], returns spell info for that spell.
  • HealPet : SpellType How many HealPet spells are there? If Bot.HealPet[#], returns spell info for that spell.
  • Aggro : SpellType How many Aggro spells are there? If Bot.Aggro[#], returns spell info for that spell.
  • Rez : SpellType How many Rez spells are there? If Bot.Rez[#], returns spell info for that spell.
  • SelfBuff : SpellType How many SelfBuff spells are there? If Bot.SelfBuff[#], returns spell info for that spell.
  • Fade : SpellType How many Fade spells are there? If Bot.Fade[#], returns spell info for that spell.
  • Jolt : SpellType How many Jolt spells are there? If Bot.Jolt[#], returns spell info for that spell.
  • Debuff : SpellType How many Debuff spells are there? If Bot.Debuff[#], returns spell info for that spell.
  • Mez : SpellType How many Mez spells are there? If Bot.Mez[#], returns spell info for that spell.
  • Root : SpellType How many Root spells are there? If Bot.Root[#], returns spell info for that spell.
  • Snare : SpellType How many Snare spells are there? If Bot.Snare[#], returns spell info for that spell.
  • FightBuff : SpellType How many FightBuff spells are there? If Bot.FightBuff[#], returns spell info for that spell.
  • MainTankBuff : SpellType How many MainTankBuff spells are there? If Bot.MainTankBuff[#], returns spell info for that spell.
  • PetBuff : SpellType How many PetBuff spells are there? If Bot.PetBuff[#], returns spell info for that spell.
  • Pet : SpellType How many Pet spells are there? If Bot.Pet[#], returns spell info for that spell.
  • Mana : SpellType How many Mana spells are there? If Bot.Mana[#], returns spell info for that spell.
  • Endurance : SpellType How many Endurance spells are there? If Bot.Endurance[#], returns spell info for that spell.
  • Buff : SpellType How many Buff spells are there? If Bot.Buff[#], returns spell info for that spell.
  • Aura : SpellType How many Aura spells are there? If Bot.Aura[#], returns spell info for that spell.
  • Lifetap : SpellType How many Lifetap spells are there? If Bot.Lifetap[#], returns spell info for that spell.
  • Adds : SpawnType How many adds are there? If Bot.Adds[#], returns spawn info of that # add.
  • PossibleAdds : SpawnType How many possible adds are there? If Bot.PossibleAdds[#], returns spawn info of that # add.
  • Merc : StringType Last known name of your merc.
  • CurrentSub : StringType Last subroutine entered in the plugin.
  • Named : BoolType Enhanced Target.Named.
  • QuestMob : BoolType Is target a quest giver/vendor/etc?
  • MezImmune : BoolType Is target a known mez immune?
  • CharmImmune : BoolType Is target a known charm immune?
  • SnareImmune : BoolType Is target a known snare immune?
  • Ignore : BoolType Is target a known ignore mob.
  • SnareImmunes : StringType SnareImmunes List from Mob_Ignore_List.ini?
  • MezImmunes : StringType MezImmunes List from Mob_Ignore_List.ini?
  • CharmImmunes : StringType CharmImmunes List from Mob_Ignore_List.ini?
  • Ignores : StringType Ignores List from Mob_Ignore_List.ini?

Configuration

MQ2Bot provides configuration

Sample Configuration

server_CharacterName.ini

[MQ2Bot]
BotVersion=2014.0423
DefaultGem=1
AssistAt=100
AssistRange=100
PetAttackAt=100
PetAttackRange=60
AACutoffTime=10
AAStopAt=25
DebuffAt=100
DebuffStopAt=10
DotAt=99
DotStopAt=10
HealAt=80
HealPetAt=80
LifetapAt=80
NukeAt=99
SnareAt=10
SwarmAt=99
UseAutoFire=0
UseAura=1
UseClickyBuffs=1
UseFightBuffs=1
UseMainTankBuffs=1
UseManaInCombat=1
UsePet=1
UsePetBuffs=1
UseSelfBuffs=1
Bot=1
UseMez=1
MeleeAt=0
MeleeDistance=40
AggroAt=70
DebuffAdds=1
JoltAt=70
AutofireAt=0
AutofireDistance=100
AnnounceEcho=1
AnnounceEQBC=0
MedStartAt=90
MedStopAt=90
ManaAt=80
UseAENukes=1
UseStick=0
StickSettings=30 healer
UseNetBots=1
NetBotsName=PeteSampras
RestTwist=1 2 3 4
CombatTwist=12 2 4

Configuration Explanation

  • /bot [on|off]: Turns on and off the active portion of the plugin.

Generic settings

[MQ2Bot]
BotVersion=2014.0423        <-- Current Version of plugin
CycleDelay=3                     <-- Will only check plugin once ever X cycles to reduce system strain.  DO NOT SET TO ZERO!
Bot=1                                 <-- Use the plugin?  You can ignore this
AnnounceEcho=1                <-- Announce AA/Spells/Skills in /echo? 1 = on, 0 = off
AnnounceEQBC=0               <-- Announce AA/Spells/Skills in EQBC? 1 = on, 0 = off

DefaultGem=1                    <--Default gem to use, (use # 1-12)

MedStartAt=90                   <-- Flag yourself as medding and sit as able once you reach this % mana or lower
MedStopAt=90                    <-- Remove medding flag and stop sitting once you are above this % mana
MinManaToNuke=0              <-- Minimum Me.PctMana to use Nukes/DoTs/Swarm pets.

UseStick=0                          <-- Autofollow leader? 1 = on, 0 = off
StickSettings=30 healer        <-- stick settings for autofollow. 

UseNetBots=1                      <-- Use netbots to assist for targets? (netbots/eqbc must be on and enabled)
NetBotsName=PeteSampras  <-- Name of toon to assist in eqbc/netbots (note that both toons must have netbots on and send/get)

LootRadius=0                       <-- Radius to loot corpses using mq2advloot
LootInCombat=0                  <-- 1 = on, 0 = off if you want to loot while you are ${Me.CombatState.Equal[COMBAT]}

Attack/assist settings

AssistAt=100                      <-- % hp of Bot.Adds[1] to target the mob at
AssistRange=100                <-- Spawn[].Distance away to target mob at
MeleeAt=0                          <-- Melee if target is at or below this % hp
MeleeDistance=40               <-- Melee if target is within this distance
PetAttackAt=100                 <-- % hp of target to send pet at
PetAttackRange=60             <-- Spawn[].Distance away to send pet at 
UseAutoFire=0                    <-- Use Autofire if target is below this %, is within AssistRange, and is more than 35 range
AutofireAt=0                       <-- Autofire if target is at or below this % hp
AutofireDistance=100          <-- Autofire if target within this distance

Routines

AACutoffTime=10                <-- Me.AltAbility[].MyReuseTime, in minutes, for making a skill only fire on named mobs.
AAStopAt=25                      <-- Stop using AAs if target is below this % hp
AggroAt=70                        <-- Use aggro spell if you are Group.MainTank and next closest person is this % aggro or higher
DebuffAdds=1                     <-- Debuff add(s)? 1 = on, 0 = off
DebuffAt=100                     <-- Debuff target/adds if they are this % hp or less
DebuffStopAt=10                <-- stop debuffing targets if they are below this % hp
DotAt=99                           <-- Use DoT spells if target is at this % hp or lower
DotStopAt=10                     <-- Stop using DoT spells if mob is below this % hp
GrabPrimary=0                    <-- Distance, if farther than this, to fling the primary mob you are fighting to you. 0 turns it off
GrabAdds=0                      <-- Distance, if farther than this, to fling additional mobs you are fighting to you.  0 turns it off
HealAt=80                          <-- this is any heal not specifically broken out elsewhere
HealDurationAt=95              <-- This is all Heal over time spells
HealDelayedAt=95               <-- this is all promised renewal type lines
HealGroupAt=80                  <-- this is all AE/group only spells
HealPetAt=80                      <-- Heal any pets in group if they are below this % hp
JoltAt=70                            <-- Use aggro spell if you are not Group.MainTank and you are above this % aggro or higher
KnockbackPrimary=0                    <-- Distance to Knockback the primary mob you are fighting. 0 turns it off
KnockbackAdds=0                      <-- Distance to Knockback additional mobs you are fighting.  0 turns it off
LifetapAt=80                       <-- Lifetap if your hp is below this % (may still wait until lower if lifetap gives more than you need)
UseAENukes=1                    <-- Use Nukes that do AE damage?
NukeAt=99                         <-- Nuke target once it is below this %
RootPrimary=0                    <-- Distance to root the primary mob you are fighting. 0 turns it off
RootAdds=15                      <-- Distance to root additional mobs you are fighting.  0 turns it off
SnareAt=10                        <-- Snare target once it is below this %
SwarmAt=99                      <-- Use swarm pet/AA once target is below this %

Use or don't use settings

UseAura=1                          <-- Use aura(s)? 1 = on, 0 = off
UseClickyBuffs=1                 <-- Use Clicky Buff(s)? 1 = on, 0 = off
UseFightBuffs=1                  <-- Use FightBuff(s)? 1 = on, 0 = off
UseMainTankBuffs=1            <-- Use MainTankBuff(s)? 1 = on, 0 = off
UseManaInCombat=1           <-- Use Mana related AA/spell(s) in combat? 1 = on, 0 = off
ManaAt=80                         <-- Use Mana related AA/Spells if below this % mana (or if group member is below this % mana)
UseMez=1                           <-- Use Mez(s)? 1 = on, 0 = off
UsePet=1                            <-- Create pet(s)? 1 = on, 0 = off
CustomPetSpell=Shard of Air<-- Use a specific pet spell instead of auto detected pet spell?  Use exact name of spell.
UsePetBuffs=1                     <-- Use Pet Buff(s)? 1 = on, 0 = off
UseSelfBuffs=1                    <-- Use Self Buff(s)? 1 = on, 0 = off

Bard Specific

RestTwist=off                     <-- This will /twist off when there are no adds
CombatTwist=12 2 4           <-- This will /twist 12 2 4 when there are adds

Version History

  • Beta PeteSampras @ 2014-04-30
    • Change 1
    • Change 2


Availability

This plugin is in semi-closed beta. This means anyone can access up to 3 spells/AA of each type, but to go above that requires authorization that you can obtain via active participation. Emails can be directed to PeteSampras.mmobugs@gmail.com regarding access.