Goto page 1, 2, 3, 4  Next Software Documentation MQ2Cast
Reply
MQ2Cast
MQ2Cast by s0rCieR and A_Enchanter_00 is a plugin to handle most things related to spell casting, item clicking and activating of AAs.

The official forum thread for MQ2Cast is here (VIP Only). A direct link to the source is here. Here can you also find:

* MQ2CastTimer source

This incorporates a timer window for spells, and includes the ${SpellTimer} TLO to help manage spell timers. See below for more information.

* MQ2Cast_Spell_Routines.inc (download here)

This is designed as a drop-in replacement for Spell_Routines.inc using all the features of MQ2Cast.

Features

* Reliably casts spells (auto-recasts on fizzles or gate collapses). Will attempt to immobilize you before casting. Will cast immediately a spell is available, before the gem is even fully ready.
* Intelligently and reliably memorizes spells and allows saving and loading of custom spell sets. Will attempt to immobilize you if moving.
* Clicks items and activates AAs. Will equip items in bags before clicking, and then return them once clicked.
* Utilizes MQ2Bandolier to swap in sets of items before casting (ie. Focus items).
* Auto-pause Stick and/or Advpath if detected and resume when complete.
* Custom interrupt function, to interrupt spells during casting (includes dismounting).
* Returns control to the macro immediately after it has started (ie. while the spell is casting), to allow the macro to perform other checks. Eg. while casting a heal spell, you could get the macro to check if the target has already been healed and then interrupt your spell if his HPs are above a certain amount.


Requirements

MQ2Bandolier For swapping in sets of items before casting (ie. focus items)

MQ2Exchange For equipping clickies before using them

Commands

/casting

Syntax:

/casting "Name" [type] [options]


Although the [type] is optional, it's always recommended to specify if you're casting a spell (specify the gem or number), clicking an item (specify "item" or the slot name/slot number) or activating an AA (specify "alt"), since there are AAs which have the same name as spells and spells and items can have the same IDs.


The /casting command requires only 1 argument, the name of the spell you wish to cast. If the spell is not memmed, it will try and mem it in gem5 (this is the default if no gem is specified). If the spell has more than one word, make sure to surround it with quotes. For example:

/casting "Minor Shielding"

This will cast the Minor Shielding spell if it is already memmed, or if not, will attempt to memorize it in gem5 before casting.

You can also include the gem number (or just the number) after the name of the spell, to indicate which gem it should be memmed into. For example:

/casting "Minor Shielding" 1
/casting "Minor Shielding" gem1

These will both cast Minor Shielding if memmed, or memorize it in gem1 before casting.

The gem number can also be appended to the end of the spell name, separated by a pipe command, like so:

/casting "Minor Shielding|gem1"
/casting "Minor Shielding|1"

You can also use the ID of the spell you wish to mem/cast. The following 4 examples all do the same thing:

/casting 288|gem1
/casting 288|1
/casting 288 gem1
/casting 288 1

All of the above will cast "Minor Shielding" (ID 288) and mem it in gem1 if not already memmed.

When clicking items you use the same syntax, except the "name" of the spell is the name of the item or the item's ID. It's always recommended to specify the type as "item" or specify the slot name/slot ID if you are clicking an item. For example:

/casting "Fabled Journeyman's Boots" item
/casting 68239|item
/casting "Shrunken Goblin Skull Earring" leftear


Options:
The following optional parameters can be added to the /casting line:

-bandolier|<name>
Equip the bandolier with <name> before casting. Useful for focus effects.
-invis
With this parameter, it will not cast if you are invisible.
-kill
Keep casting this spell until the target dies.
-maxtries|<#>
Cast the spell this many times until successful.
-recast|<#>
Recast the spell this many times.
-setin|<name>
Same as bandolier (left here for backwards-compatibility purposes).
-targetid|<#>
Target this ID before casting.


Examples:

/casting "Wunshi's Focusing" gem4 -invis
/casting "Complete Heal|gem1" -kill -targetid|1234
/casting "Fizzle a Lot|gem4" -maxtries|5
/casting "uber nuke|9" -kill
/casting "cannibalize" gem3 -recast|5


/interrupt

This will just interrupt the current spell/item/AA that is casting. It's the same as doing /stopcast, or /dismount then /stopcast if you're mounted at the time.
[edit]
/memorize

Syntax:

/memorize "name" [gem]

As with the /casting command above, the /memorize command can take spell names or IDs, and can use gem# or just the numbers themselves. The gem# or number can also be appended to the end of the name.

See the following examples:

/memorize "Minor Shielding"
/memorize "Minor Shielding" 1
/memorize 288|gem1

Multiple spells can be memorized with the same line, such as the following example:

/memorize "1234|1" "gate|2" "cannibalize|gem4"

As with /casting, the plugin will attempt to immobilize you before memorizing the spell.
[edit]
/sss

Spell Set Save - This will save your any number of your currently memmed spells into a spell set.
Syntax:

/sss "name" [gems]

Name is what you want your spell set to be called. If no gems are specified, all your gems are saved (ie. 123456789). You can specify a smaller subset if needed.

/sss dps 1238
/sss wunshi 5

[edit]
/ssm

Spell Set Memorize - This will memorize a previously saved spell set.

/ssm dps

[edit]
/ssl

Spell Set List - This will list all spell sets that have been saved.

/ssl

[edit]
/ssd

Spell Set Delete - This will delete a spell set from the ini file.

/ssd wunshi

[edit]
Top Level Objects (MQ2Data)

* bool ${Cast}
Same as ${Cast.Active} (see below).
* bool ${Cast.Active}
Return TRUE if plugin is loaded and you are in-game.
* spell ${Cast.Effect}
Returns the name of the spell being casted, or a NULL string if not casting.
* bool ${Cast.Ready}
Return TRUE if ready to cast a spell, item or AA.
o bool ${Cast.Ready[M]}
Return TRUE if ready to memorize a spell.
o bool ${Cast.Ready[#]}
Return TRUE if gem # is ready to cast.
o bool ${Cast.Ready[X]}
Return TRUE if spell, item, gem, ID, AA, etc is ready to cast. As spells and items can have the same IDs and spells and AAs can have the same names, it's a good idea to specify the type of cast to take place (ie. gem#/item/alt). Examples:

${Cast.Ready[spellname or spellid]}
${Cast.Ready[aaname or aaid]}
${Cast.Ready[itemname or itemid]}
${Cast.Ready[1460]}
${Cast.Ready[Death Peace]}
${Cast.Ready[Death Peace|alt]}
${Cast.Ready[Death Peace|gem]}
${Cast.Ready[Death Peace|gem3]}

* string ${Cast.Result}
Returns a string containing the result of the /casting command. It can be one of the following:
o CAST_CANCELLED: Casting was aborted
o CAST_COLLAPSE: Your Gate collapsed
o CAST_DISTRACTED: You were distracted
o CAST_FIZZLE: Your cast fizzled
o CAST_INTERRUPTED: Casting was interupted
o CAST_INVISIBLE: You are invisible
o CAST_NOTARGET: No target
o CAST_NOTREADY: Not ready to cast
o CAST_OUTOFMANA: Not enough mana to cast spell
o CAST_OUTOFRANGE: Target is out of range
o CAST_OUTDOORS: Spell not working here (on mount ect..)
o CAST_PENDING: Casting is in progress
o CAST_RECOVER: Spell is not ready
o CAST_RESIST: Cast was resisted
o CAST_STANDING: Not standing
o CAST_STUNNED: You are stunned
o CAST_SUCCESS: The cast was a success
o CAST_TAKEHOLD: The spell did not take hold
o CAST_CANNOTSEE: Cannot see target
o CAST_COMPONENTS: Missing Component
o CAST_ABORTED: Casting Aborted (/interrupt)
o CAST_UNKNOWN: Unknown Spell
* string ${Cast.Return}
Returns the result of the casting/memorize/interrupt request.
* string ${Cast.Status}
Returns a string containing all the pending events. This string often contains multiple events (eg. when /casting still has to immobilize you and then memorize the spell before it can cast). The list of possible pending events is:
o I: idle and waiting for you
o A: advpath pause
o F: stick pause
o S: immobilize in progress
o M: memorize in progress
o E: item swapped
o D: ducking casting
o T: targeting
o C: spell casting in progress
* spell ${Cast.Stored}
Returns the last spell that was cast, or NULL if no spell has been cast.
* bool ${Cast.Taken}
Return TRUE if last spell cast didn't take hold on target.
* int ${Cast.Timing}
Returns the estimated number of miliseconds remaining until the spell finished casting.

[edit]
MQ2CastTimer

MQ2CastTimer is a plugin which allows you to check timers on active spells, and adds a Timer Window that can be used to monitor spells you have cast on others.
[edit]
Commands
[edit]
/timer

Syntax:

/timer [on|off]

Turns timer Window on / off

/timer clear [all|target|pc|npc|pet]

Clear Spell timers

/timer autorecast [#]

Set Number of seconds left on spell before recasting Defaunt:20
[edit]
Top Level Objects (MQ2Data)

* ${SpellTimer[SpawnID,Caster,Spell Name]}
int Returns time (in seconds) left on "Spell Name" by "Caster" on "SpawnID".

* Caster must be one of the following: me (default), other or any.

Examples:

${SpellTimer[${Target.ID},Euphoria]}
${SpellTimer[${Target.ID},me,Euphoria]}

This will give the time remaining on the Euphoria spell that you cast on your current target (both examples do the same thing).

${SpellTimer[${Target.ID},other,Euphoria]}

This will give the time remaining on Euphoria on your current target, only if someone else cast it.

${SpellTimer[${Target.ID},any,Euphoria]} OR ${SpellTimer[${Target.ID},All,Euphoria]}

This will give the time remaining on Euphoria on your current target, no matter who cast the spell.

/if (${SpellTimer[${Target.ID},Euphoria]} < 15) {
/call mq2cast Euphoria gem1 20s
}

Cast Euphoria on target if you originally cast the spell, and it has less than 15 sec left.

${SpellTimer[${Target.ID},any,"Sha's Legacy","Forlorn Deeds","Desolate Deeds","Turgur's Insects","Balance of Discord"]}

If you want to check if a target is slowed you may use somthing like this. NOTE: this is just an example
[edit]
Timer Window

An example of what the Timer Window looks like is here and here.

The Timer Window shows the following information:

* Time Left
The amount of time left on the spell, in HH:MM:SS format. Eg. 00:15:32.
* Tags
Some information on the target.
o T: This is your current target.
o N: Spell did not take hold on this target.
o I: Target is immune to this spell.
o E: Event (Show that the timer is an Event)
o GA: This target is the Group Assist.
o G1-3: This target is group marked 1-3.
o RA: This target is the Raid Assist.
o R1-3: This target is raid marked 1-3.
* Spell Name
The name of the spell.
* Spawn Name
The unique name of the spawn.

The buttons/comboboxes at the bottom of the window do the following:

* Button
Pauses and unpauses the Timer Window.
* Combobox 1
Select what you want to do when left-clicking the line in the window:
o Target
o TargetNAB (Target nearest spawn without this spell)
o Recast spell (if memmed)
o Clear (removes timer). You cannot remove an event.
* Combobox 2
Select what you want to do when right-clicking the line. Same choices as above.

The Timer Settings Tab:

* Target (Current Target)
Show Target Timers
* NPC
Show Npc and Npc Pet Timers
* PC
Show Pc Timers
* PET
Show Pc Pet Timers
* Events (All Events)
Show Events
* My Spells (Show Your Spells)
Show My Spells
* Other's Spells (Show Other Spells)
Show Other Spells

An example INI entry created by the MQ2CastTimer Window is below. This contains the location, size and colors of the window.

[Settings.<Server>.<Charactername>]
ChatTop=58
ChatBottom=233
ChatLeft=58
ChatRight=580
Locked=0
WindowTitle=Timers
Fades=1
Delay=0
Duration=500
Alpha=255
FadeToAlpha=255
BGType=1
BGTint.red=93
BGTint.green=83
BGTint.blue=93
ActorModeLeft=0
ActorModeRight=2
DefaultGem=gem8
ShowTarget=0
ShowNpc=1
ShowPC=0
ShowPet=0
ShowEvent=1
ShowMySpells=1
ShowOtherSpells=0

[edit]
Custom Events

You can add Custom Events to the INI file in the following format:

[Name of Event]
duration=<#>
event=<" event text">
spawntype=<1=pc|2=npc>

The duration is in seconds. The event is the text that you see on the screen when you want the event to occur. An example is below:

[NPC Gating]
duration=5
event="#SpawnName# begins to cast the gate spell."
spawntype=2

[NPC Complete Healing]
duration=10
event="#SpawnName# begins to cast a spell. <Complete Healing>"
spawntype=2

[PC Complete Healing]
duration=10
event="#SpawnName# begins to cast a spell. <Complete Healing>"
spawntype=1

[Redfang Despawn]
duration=240
event="An ear-piercing screech reverberates throughout the surreal cavernous Demi-Plane of Blood, announcing the arrival of Redfang."
Fri Feb 06, 2009 6:30 pm
Co-Founder (Retired)
MQ2Cast_Spell_Routines.inc -- pasted as is
|**************************************************************************************************
| MQ2Cast_Spell_Routines.inc
|
| Written by A_Enchanter_00
| Last Modified 20060324
|
| Features:
| This MQ2Cast_Spell_Routines.inc is much like The normal Spell_Routines.inc by Rusty~ this macro
| use the MQ2Cast Plugin by s0rcier
|
| This macro also require MQ2ExchangeItem
|
| Note: Easy to Replace with Normal because Syntas is the "same".
|
| - Casts spells, clicks items, or uses AA abilities for you
| - Allows back to back casting without waiting on spell gems to pop all the way up
| - Will interrupt spell if target dies while casting. If on a mount, it will dismount and duck.
| ** IMPORTANT: if you don't want to interrupt a spell while mounted, put this at the top of your macro: **
| ** /declare noInterrupt bool outer TRUE **
| - Allows you to use items in bags. Equips item, clicks it, then returns it to its previous location
| NOTE: There is a known isue with the MQ2Cast Plugin not always geting swarped back corectly...
| - Lets you set how long you want to keep trying to cast the spell (defaults to 0)
| - Lets you call a custom subroutine while waiting for spell to finish casting
| Try to keep custom subroutines very small. A common use would be to interrupt the spell if a certain condition is true
| - This file also includes a sub named Interrupt. You can call this to interrupt any spell you're casting instantly.
| - Note: if you don't want this to cast spells while you're invis, in your main macro have this at the top:
| /declare noInvis bool outer TRUE
| - Note: if you don't want to stand up when Feig do the following:
| /declare noFeigning bool outer TRUE
| This will make it return CAST_CANCELLED if you're invis asking s0rcier to make it CAST_INVISIBLE insted.
| - Added: defaultGem so that spells can be casted using only /call MQ2Cast "Howl of Tashan"
| /declare defaultGem string outer gem1
| Note: If spell is not memed and and NOT seting /call MQ2Cast "Howl of Tashan" gem#
| Set /declare defaultGem string outer gem# to change default gem#
| - Added: "-targetid|#####" it will find target and cast a MQ2Cast plugin feature.
| - Added: /call /call Interrupt - for use in mySub ect..
| - Added: ${Cast.Timing} - for use in mySub Example below
| - Added: -kill - will keep casting spell untill target is dead
| - Added: -recast|# - recast spells # number of times
| - Added: -maxtries|# - retry casting spell # number of times
| - Changed: -bandolier|setname OR -setin|setname swarp items using MQ2Bandolier
|**************************************************************************************************
| Cast: the main subroutine that casts spells or items for you
| Usage:
| /call MQ2Cast ["spell name"|"item name"|"AA name"|"AA#"] [[item|slotname]|alt|gem#] [give up time][s|m] [custom subroutine name] [-targetid|###] [-maxtries|#] [-recast|#] [-setin|setname] [-bandolier|setname]
| Examples:
|
| To cast Howl of Tashan and mem it in slot 3 if not memmed:
| /call MQ2Cast "Howl of Tashan" gem3
|
| To cast Arcane Rune and keep trying for 7 seconds, in case of interrupts.
| /call MQ2Cast "Arcane Rune" gem5 7s
|
| To click Grim Aura earring that's in a bag:
| /call MQ2Cast "Shrunken Goblin Skull Earring" item
|
| To click Grim Aura earring that's in a bag:
| /call MQ2Cast "Shrunken Goblin Skull Earring" slotname
|
| To use AA ability Eldritch Rune:
| /call MQ2Cast "Eldritch Rune" alt
| or
| /call MQ2Cast "173" alt
|
| To call a subroutine that interrupts CH if target gets healed before it lands:
| /call MQ2Cast "Complete Healing" gem1 0 CheckHP
| Then in your macro have somewhere:
| Sub CheckHP
| /if ( ${Target.PctHPs}>=80 ) /call Interrupt
| /return
|
| 3000 = 3 sec
| Sub CheckHP
| /if ( ${Me.Casting.Name.Equal[Complete Healing]} && ${Target.PctHPs} < 40 && ${Cast.Timing} > 3000 ) ) /call Interrupt
| /return
|
| Returns these values: ${Macro.Return} and ${Cast.Result} and ${castReturn}
|----------------------+----------------------------------------------------------------------+
| CAST_CANCELLED | Spell was cancelled by ducking (either manually or because mob died) |
| CAST_CANNOTSEE | You can't see your target |
| CAST_IMMUNE | Target is immune to this spell |
| CAST_INTERRUPTED | Casting was interrupted and exceeded the given time limit |
| CAST_INVIS | You were invis, and noInvis is set to true |
| CAST_NOTARGET | You don't have a target selected for this spell |
| CAST_NOTMEMMED | Spell is not memmed and you gem to mem was not specified |
| CAST_NOTREADY | AA ability or spell is not ready yet |
| CAST_OUTOFMANA | You don't have enough mana for this spell! |
| CAST_OUTOFRANGE | Target is out of range |
| CAST_RESIST | Your spell was resisted! |
| CAST_SUCCESS | Your spell was cast successfully! (yay) |
| CAST_UNKNOWN | Spell/Item/Ability was not found |
| CAST_COLLAPSE | Gate Colapsed |
| CAST_TAKEHOLD | Spell not hold |
| CAST_FIZZLE | Spell Fizzle |
| CAST_INVISIBLE | NOT Casting Invis |
| CAST_RECOVER | Spell not Recovered yet! |
| CAST_STUNNED | Stunned |
| CAST_STANDING | Not Standing |
| CAST_DISTRACTED | To Distracted ( spell book open ) |
|----------------------+----------------------------------------------------------------------+
**************************************************************************************************|

Sub MQ2Cast(string spellName,string spellType,timer giveUpTimer,string mySub,string MQ2Feature1,string MQ2Feature2,string MQ2Feature3,string MQ2Feature4,string MQ2Feature5,string MQ2Feature6,string MQ2Feature7,string MQ2Feature8)
/if ( !${Plugin[MQ2Cast].Name.Length} ) {
/squelch /plugin MQ2Cast noauto
/if ( !${Plugin[MQ2Cast].Name.Length} ) {
/echo You must have MQ2Cast plugin to use this macro!!
/endmacro
}
}
/if ( !${Plugin[MQ2Exchange].Name.Length} ) {
/squelch /plugin MQ2Exchange noauto
/if ( !${Plugin[MQ2Exchange].Name.Length} ) {
/echo You must have MQ2Exchange plugin to use this macro!!
/endmacro
}
}

/if ( !${Defined[castReturn]} ) /declare castReturn string outer NULL
/if ( !${Defined[defaultGem]} ) /declare defaultGem string outer gem1
/if ( !${Defined[spellType]} ) /declare spellType string local NULL
/if ( !${Defined[giveUpTimer]} ) /declare giveUpTimer timer local 0
/if ( !${Defined[MQ2Feature1]} ) /declare MQ2Feature1 string local
/if ( !${Defined[MQ2Feature2]} ) /declare MQ2Feature2 string local
/if ( !${Defined[MQ2Feature3]} ) /declare MQ2Feature3 string local
/if ( !${Defined[MQ2Feature4]} ) /declare MQ2Feature4 string local
/if ( !${Defined[MQ2Feature5]} ) /declare MQ2Feature5 string local
/if ( !${Defined[MQ2Feature6]} ) /declare MQ2Feature6 string local
/if ( !${Defined[MQ2Feature7]} ) /declare MQ2Feature7 string local
/if ( !${Defined[MQ2Feature8]} ) /declare MQ2Feature8 string local

/if ( !${Defined[interruptFlag]} ) {
/declare interruptFlag bool outer FALSE
} else {
/varset interruptFlag FALSE
}

/if ( ${mySub.Find[-targetid|]} || ${mySub.Find[-maxtries|]} || ${mySub.Find[-kill]} || ${mySub.Find[-recast|]} || ${mySub.Find[-setin]} || ${mySub.Find[-setout]} || ${mySub.Find[-bandolier|]} ) {
/varset MQ2Feature8 ${MQ2Feature7}
/varset MQ2Feature7 ${MQ2Feature6}
/varset MQ2Feature6 ${MQ2Feature5}
/varset MQ2Feature5 ${MQ2Feature4}
/varset MQ2Feature4 ${MQ2Feature3}
/varset MQ2Feature3 ${MQ2Feature2}
/varset MQ2Feature2 ${MQ2Feature1}
/varset MQ2Feature1 ${mySub}
/varset mySub
}

:wait_for_stop
/if ( ${Me.Casting.ID} ) {
/goto :wait_for_stop
} else /if ( ${Corpse.Open} ) {
/notify LootWnd DoneButton leftmouseup
/goto :wait_for_stop
}
/if ( !${noFeigning} && ${Me.Feigning} ) /stand

/if ( ${Window[SpellBookWnd].Open} ) /keypress spellbook
/declare SaveItem string local NULL
/declare SaveItemSlot string local NULL

/if ( ${spellName.Find[|]} ) {
/varset spellType ${spellName.Right[${spellName.Length:Dec[]}]}
/varset spellName ${spellName.Left[${spellName.Find[|]:Dec}]}
}

:cast_spell
/if ( ${FindItem[=${spellName}].ID} ) {
/if ( ${Cursor.ID} && ${Me.FreeBuffSlots} ) /autoinventory
/if ( ${FindItem[${spellName}].InvSlot.ID} && ${FindItem[${spellName}].InvSlot.ID} > 21 ) {
/if ( ${FindItem[${spellName}].InvSlot.ID} > 30 && ${FindItem[${spellName}].EffectType.Equal[Click Inventory]} || ${FindItem[${spellName}].EffectType.Equal[Click Unknown]} ) {
/if ( !${InvSlot[pack8].Item.Container} && ${InvSlot[pack8].Item.ID} != ${FindItem[${spellName}].ID} ) /varset spellType pack8
}
}
} else /if ( ${Me.AltAbility[${spellName}].ID} ) {
/varset spellType alt
} else /if ( ${Spell[${spellName}].ID} ) {
/if ( !${spellType.Find[gem]} ) /varset spellType ${defaultGem}
}

/if ( ${noInvis} ) {
/squelch /casting "${spellName}" ${spellType} "-invis" "${MQ2Feature1}" "${MQ2Feature2}" "${MQ2Feature3}" "${MQ2Feature4}" "${MQ2Feature5}" "${MQ2Feature6}" "${MQ2Feature7}" "${MQ2Feature8}"
} else {
/squelch /casting "${spellName}" ${spellType} "${MQ2Feature1}" "${MQ2Feature2}" "${MQ2Feature3}" "${MQ2Feature4}" "${MQ2Feature5}" "${MQ2Feature6}" "${MQ2Feature7}" "${MQ2Feature8}"
}
:cast_spell_pending
/if ( ${Cast.Status.Find[C]} ) {
/if ( !${interruptFlag} && ${mySub.Length} ) /call ${mySub}
/goto :cast_spell_pending
} else /if ( ${Cast.Result.Equal[CAST_RESIST]} ) {
/if ( ( ${FindItem[${spellName}].ID} && ${giveUpTimer} && !${FindItem[${spellName}].Timer} ) || ( ${Spell[${spellName}].ID} && ${giveUpTimer} > ${Spell[${spellName}].RecoveryTime} ) ) /goto :cast_spell
} else /if ( ${Select[${Cast.Result},CAST_FIZZLE,CAST_STUNNED,CAST_INTERRUPTED]} ) {
/if ( !${interruptFlag} && ( ${FindItem[${spellName}].ID} && ${giveUpTimer} && !${FindItem[${spellName}].Timer} ) || ( ${Me.AltAbility[${spellName}].ID} && ${Me.AltAbilityReady[${spellName}]} ) || ( ${Spell[${spellName}].ID} && ${giveUpTimer} > ${Spell[${spellName}].RecoveryTime} ) ) /goto :cast_spell
}
:CastEnd
/varset castReturn ${Cast.Result}
/return ${Cast.Result}

Sub Interrupt
/varset interruptFlag TRUE
/interrupt
/return
Fri Dec 28, 2012 4:50 am
MQ2CastTimer
This posting includes documentation for MQ2CastTimer which is not included on mq2emulator net. Has this plugin been incorporated into MQ2Cast? If not, where can we download MQ2CastTimer?


Thanks
_________________
Denizen
Wed Sep 11, 2013 10:02 am
I think this was cut and pasted from the MQ wiki. I'm happy to add it if its open source. It would most likely speed it up if someone has a contemporary version that already works on eqemu.
Wed Sep 11, 2013 4:45 pm
Project Lead
Oh, what client are you on. I have a bit of a source mix up that is temporarily preventing me from updating UF.
Wed Sep 11, 2013 4:47 pm
Project Lead
Client
I have a UF client. Thanks for the attention.
_________________
Denizen
Wed Sep 11, 2013 5:16 pm
alt doesn't seem to work
using something like this for an AA ability doesn't work for me

/casting "Death Peace" alt

This is a necro AA and I have that AA. Any suggestions?
_________________
Denizen
Tue Feb 25, 2014 12:32 pm
Use /alt activate xxx
(xxx = number of the alt ability, get the right number with /alt list ingame)
Tue Feb 25, 2014 4:12 pm
/casting "Death Peace|alt"
/casting "1234|alt" (substitute the correct alt ID)
/casting 1234|alt (substitute the correct alt ID)

I've had the most success with the last option. I sometimes get weird results (not working) when not using 1234|alt or 1234|item
Tue Feb 25, 2014 11:28 pm
Senior Project Member
I just use...

/alt activate ###
_________________
for fun
Wed Feb 26, 2014 12:21 am
If the AA has a cast time, it is better to use /casting because it will invoke mq2moveutils and make you stop moving, etc.

Try it as grumble shows and let us know.
_________________
Sorvani
Wed Feb 26, 2014 8:22 am
Senior Project Member
MQ2CastTimer
I'm using the MQ2CastTimer on THF and when i do the /plugin MQ2CastTimer it causes my client to exit. Then if i try to log back on. it auto exits everytime. So I deleted the MQ2CastTimer.dll file.

Yes i am using the MQEmu Classic Underfoot.

Anyone with similar problems?
Tue Sep 16, 2014 10:07 pm
It crashes or exits to the character selection?
Wed Sep 17, 2014 6:57 am
Project Lead
problem
I would say it crashes. As soon as it logs in. it acts as if you were typing the command /exit.
So when i do

/plugin MQ2CastTimer

it does what

/exit

would do.
Mon Sep 22, 2014 1:47 pm
Alrighty, thanks for the report, I'll take a look at recreating the issue
Mon Sep 22, 2014 2:47 pm
Project Lead
Goto page 1, 2, 3, 4  Next Software Documentation MQ2Cast
Reply