Skip to content

MQ2Melee

Description

MQ2Melee, written by s0rCieR, is designed to provide intelligent use of SHORT TIME REUSE MELEE ABILITIES and PET HANDLING during combat, depending on current combat conditions. It was developed to replace melee-oriented functions typically used in macros.

  • MQ2Melee 7.09 Updated by Maskoi 02/17/2016 [can be found

here]\([https://macroquest.org/phpBB3/viewtopic.php?f=50&t=19600](https://macroquest.org/phpBB3/viewtopic.php?f=50&t=19600)\), in the VIP Plugin Forum.

  • 6.0 Updated by Teichou 12/02/2012 for RoF, [can be found

here]\([https://macroquest.org/phpBB3/viewtopic.php?f=50&t=18581](https://macroquest.org/phpBB3/viewtopic.php?f=50&t=18581)\)

  • 5.0 and so on can be found here here
  • Previous versions can be found here.

History

The inspiration for MQ2Melee was MQ2AutoSkills and MQ2ThrowIt. All credit for the concepts should go to Cr4zyb4rd and Bushdaka, authors of those plugins.

Donations

s0rcier is the author. Teichou and Maskoi is the current maintainer.

If you want to give them money, look them up.

Special Thanks

  • Thumbs up and many thanks to the BETA Tester Team: A_Druid_00, Dark2phoenix, DigitalMocking, Lacky, Moeymoejoe,

Outlander and Warauinu.

  • Thanks to those plugin authors Busdaka, Cr4zyb4rd, Outlander, pms and Wassup for providing inspiration and help.
  • And finally thanks to Dark2phoenix and Wasted for updating and maintaining this wiki page.

Prerequisites

  1. You must have 1 point trained in any trainable Combat Ability you would like to use
  2. You must have purchased the Alternate Ability you would like to use
  3. You must have trained the Combat Discipline you would like to use
  4. You meet any prerequisites for the use of the ability (i.e. can't slam from a mount, can't bash without a shield or

a two handed weapon and the AA ability, can't backstab without being behind target with a piercing weapon, etc)

  1. MQ2MoveUtils:v11 plugin is needed to use /stick parameters [Can be found

here]\([https://macroquest.org/phpBB3/viewtopic.php?f=31&t=15909](https://macroquest.org/phpBB3/viewtopic.php?f=31&t=15909)\).

  1. MQ2Cast is required to cast spells, activate Alternate Abilities or click items. [Can be found

here]\([https://macroquest.org/phpBB3/viewtopic.php?f=50&t=17517](https://macroquest.org/phpBB3/viewtopic.php?f=50&t=17517)\).

  1. MQ2Exchange is required to find and swap items if using MQ2Cast to click items. [Can be

found here]\([https://macroquest.org/phpBB3/viewtopic.php?f=50&t=16436](https://macroquest.org/phpBB3/viewtopic.php?f=50&t=16436)\).

  1. MQ2BagWindow is required for finding and swapping items. [Can be found

here]\([https://macroquest.org/phpBB3/viewtopic.php?f=50&t=17035](https://macroquest.org/phpBB3/viewtopic.php?f=50&t=17035)\).

  1. moveitems.h is required for swapping items and compiling. [Can be found

here]\([https://macroquest.org/phpBB3/viewtopic.php?f=31&t=17047](https://macroquest.org/phpBB3/viewtopic.php?f=31&t=17047)\).

Features

  • Auto use abilities according to user settings and game conditions.
  • Auto-equip defined items for bashing, backstabbing or ranged attack.
  • Built in user conditions to restrain the use of certain abilities.
  • CHAT MONITORING:
  • Auto-stand on Failed/Broken Feign Death.
  • Monitoring of "Begin to Cast" messages for automatic Bash/Slam/Kick or casting of defined stuns.
  • Automatic turning on/off of Attack on Enrage/Infuriate.
  • MELEE:
  • Auto-equipping of weapon set\(s\) prior to engaging \(aggro/non-aggro sets\).
  • Auto-use of defined combat or other abilities.
  • User-configurable /stick arguments.
  • MELEE \(AGGRO MODE\):
  • Auto Taunt when you loose aggro on target.
  • Configurable spells to cast to gain/maintain aggro.
  • MELEE \(NON AGGRO MODE\):
  • Back off/Feign/Evade fight if your health goes below a point.
  • Auto Resume fight if your health goes back above a point.
  • RANGED:
  • Toggle between Melee/Ranged mode according to Target distance.
  • Swap In/Out defined ranged items \(bow/throwing\).
  • Auto refill ammunition slot when less than 80 in a stack.
  • Built-in /throwit command you could use to pull \(see below for explanation\).
  • Auto-Sleep mode while auto-fire is on.
  • Configurable automatic facing of target.
  • PET HANDLING:
  • Issue /pet back and /pet hold after each mobs dies.
  • Configure pet to wait to assist till mobs within range.
  • Configure pet to wait for a specified time before assisting.
  • Pet mend if its life goes below a certain point.
  • Option to automatically re-engage target when no longer mezzed.
  • Backup pet on enrage/infuriate events and re-engaging of target.
  • Auto /pet hold if you manually hit back button or do /pet back.
  • USER DEFINED CONDITIONS:
  • Allows for conditional use of various abilities/disciplines.
  • Allows for customized actions based on conditional statements.
  • TOP-LEVEL OBJECTS:
  • Provides MQ2Data information for better macro integration and HUD designs.
  • Can be used with custom user-defined conditions.

Supported Abilities

Combat Abilities

  • See MQ2Melee#Supported AA's, Combat Abilities, Skills & Spells by

Class

Alternate Advancement Abilities

  • See MQ2Melee#Supported AA's, Combat Abilities, Skills & Spells by

Class

Melee Disciplines

  • See MQ2Melee#Supported AA's, Combat Abilities, Skills & Spells by

Class

Detected Disciplines

The following Disciplines are detected to promote some combat abilities:

  • Ashenhand Discipline, Assassin Discipline\(3\), Silentfist Discipline, and Thunderkick Discipline.

Skills

  • See MQ2Melee#Supported AA's, Combat Abilities, Skills & Spells by

Class

Spell Handling

  • Provoke can be configured to cast any AA, disc or spell. It will auto-detect if you lose aggro, and then attempt to

use any of the defined spells to regain it.

  • To determine the proper Spell ID for any Discipline, Alternate Ability or Spell to be used with the provoke/stun

    commands use one of the following commands:

    • For Disciplines use: /echo \({Me.CombatAbility\[\){Me.CombatAbility.ID}, replacing

    with the name of the Discipline.

    • For AAs, use /aa info . The first number \(before the AA name\) is the Spell ID.
    • For Spells, use /echo ${Spell[].ID}, replacing with the spell name.
  • Alternatively, you can look on Lucy for the discipline/spell/AA and get the ID

    from there.

  • Some common discipline IDs are listed below:

    • Ancient Chaos Cry
    • Bazu Bellow
    • Bellow
    • Bellow of the Mastruq
    • Berate
    • Incite
    • Mock
    • Provoke
    • Crippling Strike
  • Stuns can also be configured to cast any AA, disc or spells when MQ2Melee detects that your target begins to cast a

spell.

  • Provoke and Stun have built-in values, but they can always be overwritten using the command line (eg. **/melee

provoke0=5015**) or by editing the** provoke0 setting in the INI file and then typing /melee reload** in game.

Commands

  • All options below are listed with on/off as the arguments used to enable/disable the option, however true or

1 can be used in place of on, and false or 0 can be used in place of off.

  • Example: /melee on aggro=on taunt=on kick=1 bash=0 intimidation=false disarm=true

  • /melee by itself will list all abilities and settings that are available to you. Some settings are dependant on

others being active, so may not show up until you enable the prerequisite option.

  • To find the relevant Item IDs for the various options, you can use the following command:
  • /echo ${FindItem.ID}, replacing with the name of the item you are looking for (no need

    to use quotes). Eg. /echo ${FindItem.ID} results in "25210".

/melee

Turns plugin On/Off.

  • aggro=

*Plugin tries to keep aggro on target using all enabled aggro abilities/disciplines until aggro is regained, or

either you or the target dies.*

  • aggropri=

Item ID for primary weapon to be used in aggro mode.

  • aggrosec=

Item ID for secondary weapon to be used in aggro mode.

  • arrow=

Item ID of ammunition to use for ranged/throwing attacks.

  • backoff=

*Turns attack off if your life percentage goes below the designated value. Will never back off due to low health if

aggro=on.*

  • bash=

Will try to bash target if you have a shield equipped or have have a 2-handed weapon and the 2 Hand Bash AA.

  • battleleap=

Whether or not to use Battle Leap AA \(Default=0/off\)

  • begging=

Will turn attack off and beg target and turn back on.

  • bow=

Item ID for ranged weapon.

  • disarm=

Will try to disarm target if target is wielding a weapon.

  • downflag0-19=

downflag0=
Whether or not to use defined DownShit0 from ini. After enabling this option, you must edit the INI file with your relevant DownShit command and then issue /melee load to enable it.

  • enrage=

*Turns attack off and issues /pet hold \(/pet back if hold not available\) if target enrages and you are facing it.

Automatically re-engages when enrage ends or if you are behind the target.*

  • facing=

Whether or not to face target \(checked every 2 seconds and only in ranged mode\).

  • falls=

\(Monk only\) Auto-feign to reduce aggro?.

  • holyflag0-19=

holyflag0=
Whether or not to use defined HolyShit0 from ini. After enabling this option, you must edit the INI file with your relevant HolyShit command and then issue /melee load to enable it.

  • infuriate=

*Turns attack off and issues /pet hold \(/pet back if hold not available\) if target infuriates and you are facing it.

Re-engages when infuriate ends or if you are behind the target.*

  • intimidation=

Will use intimidation if available.

  • jolt=

Jolt every # of hits \(0=off\).

  • kick=

Will use kick if available.

  • melee=

Turn Melee Mode On/Off.

  • meleepri=

Item ID for primary weapon to be used in non-aggro mode.

  • meleesec=

Item ID for secondary weapon to be used in non-aggro mode

  • mend=

Mend wounds if your life percentage goes below the designated value.

  • petassist=

*Will send pet attack on engage and backoff on enrage/infuriate if those options are enabled. The plugin will also

use /pet hold if you have that AA.*

  • petdelay=

Will not engage pet until seconds has passed.

  • petmend=

*Cast "Mend Companion" or "Replenish Companion" if pet is at or below given health % (will cast higher of the two if

you have both).*

  • petrange=

Will not engage pet until mob is within range of your pet.

  • pickpocket=

Turn off attack & try to pickpocket if not in aggro mode.

  • plugin=

Turn plugin on/off.

  • poker=

Item ID for backstabbing weapon. Will be swapped in before backstabbing if necessary.

  • pothealfast=

Use fast heal potion when my HP falls below % \(default=30\).

  • pothealover=

Use heal over time potion when my HP falls below % \(default=60\).

  • provoke0=

ID of the Disc/AA/Spell to use for provoking \(0=off\).

  • provoke1=

ID of the Disc/AA/Spell to use for provoking \(0=off\).

  • provokeend=

Stop trying to provoke when target's health falls below % \(default=15\).

  • provokemax=

Number of times you will try provoking aa/disc/spells to regain aggro \(default=1\).

  • provokeonce=

Only use provoke once to attempt to gain aggro.

  • range=

Enables ranged attacks when target is at or beyond this range. Note that 0 disables ranged attacks completely.

  • resume=

Stand up and turn back attack on if your life percentage goes above this value. Used with /melee feigndeath=on.

  • shield=

Item ID of shield to use for bashing

  • slam=

Will slam as often as possible.

  • sneak=

Will try to sneak if not in combat.

  • standup=

Will stand you on a failed FD.

  • stickdelay=

Wait seconds before sticking to target.

  • stickmode=

If 1, it will use the *stickcmd as defined in the INI file, if 0, it will use the default stick command, if 2,

it will turn off sticking*

  • stickrange=

Enables sticking when target is at set distance away \(0=no sticking\).

  • stun0=

ID of the Disc/AA/Spell to use for stunning \(0=off\).

  • stun1=

ID of the Disc/AA/Spell to use for stunning \(0=off\).

  • stunning=

Cast defined Stun spell\(s\) if target at or below % and/or if detected that target is casting a spell.

  • taunt=

*Will push taunt button if aggro=on and you're not the target's target. Without a TauntIF statement, this will cause

your toon to chain taunt. If you do not wish for that, use a TauntIF command \(see below\).*

  • throwstone=

Will use throw stone disc when ready and target in range. Note: Will not use in aggro/provoke mode if provoke has

not been used yet.

Supported AA's, Combat Abilities, Skills & Spells by Class

Bard

AA's

  • Selo's Kick

selos=0|1

  • Boastful Bellow

boastful=0|1

Beastlord

AA's

  • Bite of the Asp

asp=0|1

  • Chameleon Strike

cstrike=0|1

  • Gorilla Smash

gorillasmash=0|1

  • Feral Swipe

feralswipe=0|1

  • Playing Possum

feigndeath= Attempt to feign death when life is below %. 0=Off

  • Raven's Claw

ravens=0|1

Combat Ability

  • Bestial Vivisection, Bestial Rending, Bestial Evulsing

bvivi= Use ability when endurance above %. 0=Off

  • Rake, Foray, Harrow, Rush, Barrage, Pummel

rake= Use ability when endurance above %. 0=Off

  • Flurry of Claws, Tumult of Claws, Clamor of Claws

fclaw= Use ability when endurance above %. 0=Off

Berserker

Combat Ability

  • Shared Bloodlust, Shared Brutality, Shared Savagery, Shared Viciousness

bloodlust= Use ability when endurance above % \(0=off\).

  • Leg Strike, Leg Cut, Leg Slice, Crippling Strike, Tendon Cleave, Tendon Sever, Tendon Shear, Tendon Lacerate, Tendon

Slash, Tendon Gash

cripple= Use ability when endurance above % \(0=off\).

  • Cry Havoc

cryhavoc= Use ability when endurance above % \(0=off\).

  • Diversive Strike, Distracting Strike, Confusing Strike, Baffling Strike, Jarring Strike, Jarring Smash, Jarring

Clash, Jarring Slam, Jarring Blow, Jarring Crush

jolt=0-100] Jolt every # of hits \(0=off\).

  • Overpowering Frenzy, Overwhelming Frenzy, Vanquishing Frenzy

opfrenzy= Use ability when endurance above % \(0=off\).

  • Rage Volley, Destroyer's Volley, Giant Slayer's Volley, Annihilator's Volley, Decimator's Volley, Eradicator's

Volley, Savage Volley, Brutal Volley

ragevolley= Will use best ragevolley discipline that is available, ready and endurance above % \(0=off\).

  • Axe of Rallos, Axe of Graster

rallos= Use ability when endurance above % \(0=off\).

  • Slap in the Face, Kick in the Teeth, Punch in the Throat

slapface= Use ability when endurance above % \(0=off\).

  • Head Strike, Head Pummel, Head Crush, Mind Strike, Temple Blow, Temple Strike, Temple Bash, Temple Chop, Temple

Smash, Temple Crush

stun1= ID of the Disc/AA/Spell to use for stunning \(0=off\).

  • Vigorous Axe Throw, Energetic Axe Throw, Brutal Axe Throw

vigaxe= Use ability when endurance above % \(0=off\).

Monk

AA

  • Eye Gouge

eyegouge=0|1

Combat Ability

  • Cloud of Fists

cloud= Use ability when endurance above % \(0=off\)

  • Feign Death, Imitate Death

feign= Attempt to feign death when life is below %. 0=Off

  • Fists of Wu

fistofwu Use ability when endurance above % \(0=off\).

  • Leopard Claw, Dragon Fang, Clawstriker Flurry, Wheel Of Fists, Whorl Of Fists, Six-Step Pattern, Eight-Step Pattern

leopardclaw= Use ability when endurance above % \(0=off\).

  • Drunken Monkey

monkey= Use ability when endurance above % \(0=off\)

  • Calanin's Synergy, Dreamwalker's Synergy, Veilwalker's Synergy, Shadewalker's Synergy

synergy= Use ability when endurance above % \(0=off\).

  • Vigorous Shuriken

vigshuriken= Use ability when endurance above % \(0=off\).

Skills

  • Dragon Punch, Tail Rake \(Iksar\)

dragonpunch=0|1 Will use if available.

  • Eagle Strike

eaglestrike=0|1 Will use if available.

  • Flying Kick

flyingkick=0|1 Will use if available.

  • Mend

mend=0-100 Mend wounds if your life percentage goes below the designated value.

  • Round Kick

roundkick=0|1 Will use if available.

  • Tiger Claw

tigerclaw=0|1 Will use if available.

Paladin

AA

  • Divine Stun, Hand of Disruption, Force of Disruption

provoke0=id ID of the Disc/AA/Spell to use for stunning \(0=off\).

stun0=id ID of the Disc/AA/Spell to use for stunning \(0=off\).

  • Lay Hands

layhand= Lay Hands on myself when my HP % falls below .

Combat Ability

  • Righteous Indignation, Righteous Vexation, Righteous Umbrage

rightind= Use ability when endurance above % \(0=off\).

  • Withstand, Defy, Renounce, Reprove, Repel

withstand= Use ability when endurance above % \(0=off\).

Spells

  • Challenge for Honor, Trial for Honor, Charge for Honor, Confrontation for Honor, Provocation for Honor, Demand for

Honor, Reverent Force

challengefor=0|1 Activate aggro spells.

  • Stun, Holy Might, Force of Akera, Force of Akilae, Ancient Force of Chaos, Force of Piety, Ancient Force of Jeron,

Sacred Force, Force of Prexus. Solemn Force, Force of Timorous, Devout Force, Force of the Crying Seas, Earnest

Force, Force of Marr, Force of the Iceclad

provoke1=id ID of the Disc/AA/Spell to use for stunning \(0=off\).

stun1=id ID of the Disc/AA/Spell to use for stunning \(0=off\).

  • Steely Stance, Stubborn Stance, Stoic Stance, Steadfast Stance

steely=0|1 Activate defensive spells.

Ranger

AA

  • Ferocious Kick

ferociouskick=0|1 0=OFF/1=ON

Combat Ability

  • Jolting Snapkicks, Jolting Frontkicks, Jolting Hook Kicks, Jolting Crescent Kicks, Jolting Heel Kicks

jltkicks= endurance

  • Storm of Blades, Focused Storm of Blades

stormblades=0|1 0=OFF/1=ON

Spells

  • Jolt, Cinderjolt

jolt=0-100] Jolt every # of hits \(0=off\).

Rogue

Combos

  • Assassinate

assassinate=0|1 Activate the assassinate skill \(ie. Sneak, Hide, move behind target, activate Strike disc, backstab\).

Combat Ability

  • Assault, Battery, Onslaught, Incursion

assault= Use ability when endurance above % \(0=off\).

  • Bleed, Wound, Lacerate, Gash

bleed= Use ability when endurance above % \(0=off\).

  • Jugular Slash, Jugular Slice, Jugular Sever, Jugular Gash, Jugular Lacerate

jugular= Use ability when endurance above % \(0=off\)

  • Pinpoint Vulnerability, Pinpoint Weaknesses, Pinpoint Vitals, Pinpoint Flaws, Pinpoint Liabilities, Pinpoint

Deficiencies

pinpoint= Use ability when endurance above % \(0=off\)

  • Sneak Attack, Thief's Vengeance, Assassin Strike, Kyv Strike, Ancient Chaos Strike, Daggerfall, Razor Arc, Swift

Blade, Dagger Lunge, Dagger Swipe, Daggerswipe, Daggerstrike, Daggerthrust

strike=0|1 Use your best sneak attack disc

  • Thief's Eye

thiefeye= Uses ability if your endurance is over %. \(0=off\).

  • Vigorous Dagger-Throw, Vigorous Dagger-Strike, Energetic Dagger-Throw

vigdagger= Use ability when endurance above % \(0=off\).

Skills

  • Backstab

backstab=0|1 Will try to back stab if you wielding a piercing weapon in your main hand and behind the target.

  • Escape

escape= Turn off Attack and use rogue escape skill if your life percentage goes below the designated value. Will never happen if aggro=on.

  • Evade

evade=0|1 Will attempt to evade in fight to drop some aggro each time hide skill available, strongly suggest that you set unhide=1 to authorize plugin to break invis and rejoin the fight.

  • Hide

hide=0|1 Will try to hide if you're not in a combat and not moving.

  • Pickpocket

pickpocket=0|1 Turn off attack & try to pickpocket if not in aggro mode.

  • Sense Traps

sensetraps=
Will try to sense traps if not in combat.

  • Sneak

sneak=0|1 Will try to sneak if not in combat.

Shadow Knight

AA

  • Death Peace

feign1= Attempt to feign death when life is below %. 0=Off

  • Harm Touch

harmtouch=0|1 Use Harm Touch ability when ready.

Combat Ability

  • Withstand, Defy, Renounce, Reprove, Repel

withstand= Use ability when endurance above % \(0=off\).

  • Gouging Blade, Gashing Blade, Lacerating Blade

gblade= Use ability when endurance above % \(0=off\).

Spells

  • Feign Death, Comatose, Death Peace, Last Breath, Rigor Mortis, Last Grasp, Final Breath, Last Breath, Final Gasp,

Terminal Breath

feign0= Attempt to feign death when life is below %. 0=Off

  • Terror of Death, Terror of Terris, Terror of Thule, Terror of Discord, Terror of Vergalid, Terror of Soulbleeder,

Terror of Jelvalak, Terror of Rerekalen, Terror of Poira, Terror of Narus

provoke1= ID of the Disc/AA/Spell to use for provoking \(0=off\).

  • Challenge for Power, Trial for Power, Charge for Power, Confrontation for Power, Provocation for Power, Demand for

Power, Impose for Power

challengefor=0|1 Activate aggro spells.

  • Steely Stance, Stubborn Stance, Stoic Stance, Steadfast Stance, Staunch Stance

steely=0|1 Activate defensive spells.

Warrior

AA

  • Call of Challenge

callchallenge=0|1 Use Alt Ability when ready.

  • Gut Punch

gutpunch=0|1 Use Alt Ability when ready.

  • Knee Strike

kneestrike=0|1 Use Alt Ability when ready.

Combat Ability

  • Bracing Defense, Staunch Defense, Stalwart Defense, Steadfast Defense

defense= Use ability when endurance above % \(0=off\).

  • Commanding Voice

commanding= Use ability when endurance above % \(0=off\).

  • Field Armorer, Field Outfitter, Field Defender, Field Guardian

fieldarm= Use ability when endurance above % \(0=off\).

  • Opportunistic Strike, Strategic Strike, Vital Strike, Vital Strike

opportunisticstrike= Use ability when endurance above % \(0=off\).

  • Provoke, Belllow, Berate, Incite, Bellow of the Mastrug, Ancient Chaos Cry, Bazu Bellow, Scowl, Sneer, Jeer, Bazu

Bluster, Bazu Roar, Scoff, Krondal's Roar, Ridicule

provoke1= ID of the Disc/AA/Spell to use for provoking \(0=off\).

  • Throat Jab

throatjab= Use ability when endurance above % \(0=off\).

Top-Level Objects

Same as ${Melee.Enable} \(see below\).

  • bool ${Melee.AggroMode}

TRUE/FALSE if the plugin is operating in Aggro-mode or not.

  • int ${Melee.Ammunition}

Count of defined ammunition or current equipped ammunition.

  • float ${Melee.BackAngle}

Angle representing heading difference with current target's back.

  • bool ${Melee.BackStabbing}

TRUE/FALSE if backstab setting is on/off.

  • int ${Melee.Casted}

Time \(in miliseconds\) elapsed since last detected spell casting \(60000 if none\).

  • bool ${Melee.Combat}

TRUE/FALSE if plugin enable and got valid kill target. Should replace ${Me.Combat} logic.

  • int ${Melee.DiscID}

Spell ID of currently running discipline, 0 if none.

  • bool ${Melee.Enable}

TRUE/FALSE if plugin on/off, NULL if not loaded.

  • bool ${Melee.Engage}

TRUE if we have a valid kill target and it's okay to turn attack on, FALSE if not.

  • bool ${Melee.Enrage}

Is kill target enraged?

  • bool ${Melee.GotAggro}

TRUE/FALSE if current target seems to be aggroed on you \(not perfect\).

  • bool ${Melee.Immobilize}

TRUE if you have been standing still for more then 250ms, FALSE if not.

  • bool ${Melee.Infuriate}

TRUE if kill target is infuriated!

  • int ${Melee.MeleeMode}

Maximum distance to target to be considered in melee range.

  • int ${Melee.RangeMode}

Minimum distance to target to be considered in archery range.

Current plugin status, can be one or more of the following: ENGAGED, WAITING, MELEE, RANGE, ENRAGE, INFURIATE,

BACKING, ESCAPING, FEIGNING, EVADING, FALLING, STEALING, BEGGING.

  • int ${Melee.Target}

SpawnID of current valid kill target, otherwise 0.

  • float ${Melee.ViewAngle}

Angle of view with current target.

Debugging TLOs:

  • int ${meleemvb}

1 if the skill is ready and target in range, 0 if not. Most combat and/or character kills that can use an ID are

testable here. Examples of idskills are: idleopardclaw, idslam, idforage, idfrenzy,

idtigerclaw, idescape.

  • int ${meleemvi}

1/0 if the variable is set to on/off. This includes all variables that can be set on the command line.

  • string ${meleemvs}

Evaluates option based on the current conditions and target. Options are all the INI options that contain

command lines that need to be evaluated. Examples are: bashif, beggingif, tauntif, holyshit0,

holyshit1, downshit1, slamif, etc. Echoing one of these options will show you how they evaluate.

INI File

MQ2Melee saves most options for each character in the INI file called _.ini. Most options in the INI file are set using the command line \(/melee _command=on\|off_\) and they are best set this way, and not by editing the INI file. Any options given this way are then saved to the INI file when you issue the command /melee save. Options that contain macro commands are set by editing the INI file and then loading the values with /melee load.

"IF" Options

  • The following "IF" options can be set in the INI file. They will then be evaluated before the relevant disc/skill is

triggered.

  • They all need to take the form of ${If} statements and must return an integer. Any return of 0 is

considered FALSE, any other integer is considered TRUE.

Eg. \({If\[\) will always be evaluated correctly.},1,0]

  • Your defined condition must not exceed 255 characters, or it will cause the plugin to crash.
  • backstabif
  • bashif
  • beggingif
  • callchallengeif
  • challengeforif
  • commandingif
  • cryhavocif
  • disarmif
  • dragonpunchif
  • eaglestrikeif
  • evadeif
  • fallsif
  • feralswipeif
  • fistofwuif
  • flyingkickif
  • forageif
  • frenzyif
  • harmtouchif
  • pothealfastif
  • pothealoverif
  • hideif
  • intimidationif
  • joltif
  • kickif
  • layhandif
  • leopardclawif
  • mendif
  • pickpocketif
  • provokeif
  • ragevolleyif
  • rakeif
  • roundkickif
  • sensetrapif
  • slamif
  • sneakif
  • strikeif
  • stunningif
  • tauntif
  • thiefeyeif
  • throwstoneif
  • tigerclawif
  • twistedshankif

Other Options

  • stickcmd

This command takes a list of options that should be passed to the /stick command. Eg. "hold 15"

  • downshit0-downshit7

Each one of these takes a macro command that will be run when you are not in combat. Remember, you have to enable each option with /melee downflag#=on.

  • holyshit0-holyshit7

Each one of these takes a macro command that will be run at the beginning of combat. Remember, you have to enable each option with /melee holyflag#=on.

HolyShit and DownShit

MQ2Melee now supports up to 20 macro command lines of each that will be executed when one of the following conditions are true:

  • Holyshit:

Commands will be executed when in combat, no casting going on and the cursor is free.

  • Downshit:

Commands will be executed when not in combat, not casting and the cursor is free.

When setting these commands, you must be careful not to fall into an endless loop or create a spam war. Make sure that when your line finishes, it will set up something that will force it to be FALSE for a while!

These Commands are turned on and off by downflagx and holyflagx if your downshit or holyshit parses ANY macro variables, you MUST set these flags to 2 instead of 1

INI File Examples

  • Please Note: Use this section only for adding useful examples that can be included in the INI file, not for

copy/pastes of the INI files themselves. Anyone can see what a default INI is by loading up the plugin, running

/melee on, /melee save and then opening the INI file in Notepad.

; Will just echo that the macro is paused (this is stupid btw, but its an example.)
; SINCE WE USE A MACRO VARIABLE (ModVersion) WE NEED TO SET THE FLAG TO 2!
downflag0=2
downshit0=/if (${Macro.Paused}) /echo ${Macro} ${ModVersion} is PAUSED!

; Swapping an Avatar-proccing weapon when needed.
; - The first line swaps your Ancient Prismatic Spear [id=29435] into your offhand if you don't already have it equipped and you don't have the Avatar buff
; - The second line swaps your Orcish Bone Axe [id=82634] back into your offhand if it's not equipped and you have the Avatar buff already
holyshit0=/if (${Me.Inventory[offhand].ID}==82634 && !${Me.Buff[avatar].ID} && ${Spell[avatar].Stacks} && (${Melee.AggroMode} && ${Melee.GotAggro})) /exchange 29435 offhand
holyshit1=/if (${Me.Inventory[offhand].ID}==29435 && (${Me.Buff[avatar].ID} || !${Spell[avatar].Stacks} || (${Melee.AggroMode} && !${Melee.GotAggro}))) /exchange 82634 offhand

; Activating the Area Taunt AA when multiple mobs in range
holyshit2=/if (${Melee.Combat} && ${SpawnCount[npc radius 50 zradius 10]}>1 && ${Me.AltAbilityReady[area taunt]} && ${Melee.AggroMode}) /alt activate 110

; Forage if you have a chest item (usually used to check if you awaiting a rez) and your cursor is free
forageif=${If[${Me.Inventory[chest].ID} && !${Cursor.ID},1,0]}

;Swap in and click monk epic haste gloves [id=10652] (or monk ornate gloves [id=12623]) if needed
holyshit0=/if (!${Me.Buff[Celestial Tranquility].ID} && ${Spell[Celestial Tranquility].Stacks} && ${Me.FreeBuffSlots}>=1) /casting 10652|hands

;For monks, toggle enrage detection if you have Master's Aura (makes you immune to enrage)
holyshit2=/if (!${Me.Song[Master's Aura Effect].ID} && !${meleemvi[enrage]}) /melee enrage=1
holyshit3=/if (${Me.Song[Master's Aura Effect].ID} && ${meleemvi[enrage]}) /melee enrage=0

; During downtime, check my clicky buffs and recast them if needed
downshit0=/if (${Spell[Form of Defense I].Stacks} && !${Me.Buff[Form of Defense I].ID} && !${Me.Moving}) /casting "Shroud of the Fallen Defender"|back
downshit1=/if (${Spell[Shield of the Arcane].Stacks} && !${Me.Buff[Shield of the Arcane].ID} && !${Me.Moving}) /casting "Kizrak's Chestplate of Battle"|chest

; Cast my clicky DS ring during combat if needed (it's insta-cast, so I can do so while in combat without affecting anything)
holyshit4=/if (${Spell[Shield of the Eighth].Stacks} && !${Me.Buff[Shield of the Eighth].ID}) /casting "Velium Coldain Insignia Ring"|item

;Uses crippling strike to snare
holyshit4=/if (${Target.CurrentHPs}<20 && ${Target.Speed}>50) /disc crippling strike

;During downtime, check my aura's and recast if needed
downshit1=/if (!${Spell[${Me.Aura[1]}].ID} && !${Me.Moving} && !${Me.Invis} && ${Me.PctEndurance} > 4 && ${Me.Standing}) /disc Myrmidon's Aura

;Activate Respite on Warrior if Endurance is low and deactivate running defensive if needed
downshit1=/if (${Me.PctEndurance}<25 && ${Me.CombatAbilityReady[Respite Rk. II]} && ${Me.CurrentEndurance}>100 && (${Zone.ID}!=344)) /disc Respite Rk. II
downshit2=/if (${Window[CombatAbilityWnd].Child[CAW_CombatEffectLabel].Text.Equal[Staunch Defense Rk. II]} && ${Me.PctEndurance}<25) /notify CombatAbilityWnd CAW_CombatEffectButton leftmouseup

;Change cleric merc to reactive on named mobs, to balanced on non named mobs. Easily adjustable for DPS mercs
holyshit1=/if (!${Target.Named} && ${Mercenary.State.Equal[ACTIVE]} && ${Mercenary.Stance.NotEqual[Balanced]} && ${Mercenary.Class.Name.Equal[Cleric]}) /stance balanced
holyshit2=/if (${Target.Named} && ${Mercenary.State.Equal[ACTIVE]} && ${Mercenary.Stance.NotEqual[Reactive]} && ${Mercenary.Class.Name.Equal[Cleric]}) /stance reactive

;Pal/Sk check if target is undead and is not otherwise slowed, then use Helix of the Undying
holyshit4=/if (${Target.Body.Name.Equal[Undead]} && ${Me.AltAbilityReady[2018]} && !${Bool[${Target.Slowed}]}) /alt activate 2018
;Alernatively a slow weapon exchange using the Bandolier and mainhand check, if there is no enc/sham nearby to slow
holyshit19=/if (!${Bool[${Target.Slowed}]} && ${Me.Inventory[mainhand].ID}!=133167 && !${SpawnCount[pc class shaman radius 50]} && !${SpawnCount[pc class enchanter radius 50]}) /Bandolier Activate Slow
holyshit20=/if (${Bool[${Target.Slowed}]} && ${Me.Inventory[mainhand].ID}!=140616) /Bandolier Activate 1Hand

;Necro - utilize the aggro meter to FD off aggro when over a set percentage
holyshit3=/if (${Me.PctAggro}>80 && ${Target.Distance}<15) /casting "Improved Death Peace" alt

;Sk centric but can be edited for use with any tank
;first line checks if first damage mod disc is ready, the target is named , endurance is over needed amount, and there is no current disc running
;second line does the same as first, but also check that first damage mod disc is unavailable
;third line does same as second , except it also checks that the second damage mod disc is unavailable
holyshit7=/if (${Me.CombatAbilityReady[${Spell[Unholy Guardian Discipline].RankName}]} && ${Target.Named} && ${Me.CurrentEndurance}>5300 && !${Melee.DiscID}) /disc ${Spell[Unholy Guardian Discipline].RankName}
holyshit8=/if (${Me.CombatAbilityReady[${Spell[Doomscale Mantle].RankName}]} && !${Me.CombatAbilityReady[${Spell[Unholy Guardian Discipline].RankName}]} && ${Target.Named} && ${Me.CurrentEndurance}>7700 && !${Melee.DiscID}) /disc ${Spell[Doomscale Mantle].RankName}
holyshit9=/if (${Me.CombatAbilityReady[${Spell[Grelleth's Carapace].RankName}]} && !${Me.CombatAbilityReady[${Spell[Doomscale Mantle].RankName}]} && !${Me.CombatAbilityReady[${Spell[Unholy Guardian Discipline].RankName}]} && ${Target.Named} && ${Me.CurrentEndurance}>2700 && !${Melee.DiscID}) /disc ${Spell[Grelleth's Carapace].RankName}

Optional Global INI File

MQ2Melee also has 3 global \(not character specific\) parameters that can be set in a second, optional INI file. MQ2Melee uses default values for these parameters unless it finds a file named MQ2Melee.ini that you created in the same directory. Here is an example of a MQ2Melee.ini file and a description of the parameters:

[Settings]
SpawnType=10
MeleeKeys=z
RangeKeys=x

  • SpawnType: 0 + all desired target type modifier: \(+1 PC\) \(+2 NPC\) \(+4 PC PET\) \(+8 NPC PET\) \(+16 PC CORPSE\) (+32

NPC CORPSE) default is 10 \(0 for base + 2 for NPC and + 8 for NPC PET\).

  • MeleeKeys: Melee Attack Key \(not same as eq please unless you like problems\) default is z.
  • RangeKeys: Range Attack Key default is x.

Troubleshooting/FAQ

  • I have made changes to my INI settings. How do I activate the new settings?

If you have MQ2Melee loaded and use an editor to make changes to your INI file, use /melee load to reload your settings. Alternatively, you can unload and reload the plugin.

  • I keep having to making changes to my melee settings from the command line. How do I save the new settings?

From the command line type /melee save.

  • I can't get the StickCmd to work

With Version 4 of the MQ2Melee plugin there was a change to the StickCmd, wherein it no longer requires "/stick" in the parameters. The old format of "StickCmd=/Stick hold 10 moveback" thus becomes "StickCmd=hold 10 moveback". Also you will have to execute /melee stickmode=1 to tell the plugin to use stick arguments from ini and not built-in default /stick behaviour.

  • **I get the message "Exchange: -1 slot can not be Found" or "Item "XYZ" is not found" for potion belt enabled items

and using in downshit & holyshit command lines**.

Use /potionbelt activate # Where as #=the potionbelt slot your item in \(example for Haste potion that is in slot 2 of the potionbelt\) downshit6=/if \(${Spell\[Elixir of Speed X\].Stacks} && !${Me.Buff\[Elixir of Speed X\].ID} && !${Me.Moving}\) /potionbelt activate 2