Moderator: MacroQuest Developers
Code: Select all
| mezmob.mac
| by [40oz]
| Updated to new system 05/09, and made to most likely not work, by Oid!
|
| Usage: /macro mezmob
| -- Have mob on target you want to mez indefinately.
| -- Have your mez spell memmed, and check that it's the same as the /varset mezSpell
|
| This macro will mez the mob on your target indefinately, it does nothing but keep track
| of time and mez. If you are moving, it will catch the interrupt of the cast. It also
| takes care of resists, stuns, etc.
#include spellcast.mac
#turbo
Sub Main
| ----Declares
/declare mezSpell string local
/declare recastTime int local
/declare sitFlag int local
| ----CHANGE THESE AS APPROPRIATE----
/varset mezSpell "Bliss" | Spell to mez with.
/varset recastTime 400 | Number of miliseconds to wait before recasting between successful mezzes
/varset sitFlag 1 | Sit after mez? 1 for yes, 0 for no.
| ----CHANGE THESE AS APPROPRIATE----
/if (!${Target.ID}) {
/echo No mob on target to mez.
/return
}
/declare targetID local
/varset targetID ${Target.ID}
/echo Keeping ${Target.CleanName} mezzed!
:castLoop
/doevents
/stand
/call Cast ${mezSpell}
/if (${String[${Macro.Return}].Equal[CAST_SUCCESS]) {
/if (${sitFlag}==1) /sit
/delay ${recastTime}
}
/if (${Target.ID}==${targetID}) /goto :castLoop
/echo EXITING ---- EXITING
/return


Code: Select all
| mezmob.mac
| by [40oz]
| Updated to new system 05/09, and made to most likely not work, by Oid!
| Updated for two mobs 05/15, and it better not fucking work, by Oid!
|
| Usage: /macro mezmob ID1 ID2
| For this version, supply 2 params on running the macro, the target ID's of the 2 mobs you wish
| to keep mezzed. You can get the ID by targeting the mob and doing /echo ${Target.ID}
|
#include spellcast.mac
#turbo
Sub Main
| ----Declares
/declare mezSpell string local
/declare recastTime int local
/declare sitFlag int local
/declare mobone int local
/declare mobtwo int local
/declare singlerecasttime int local
| ----CHANGE THESE AS APPROPRIATE----
/varset mezSpell "Bliss" | Spell to mez with.
/varset singlerecasttime 400 | Recast time on single target
/varset recastTime 250 | Number of miliseconds to wait before recasting between successful mezzes
/varset sitFlag 1 | Sit after mez? 1 for yes, 0 for no.
| ----CHANGE THESE AS APPROPRIATE----
/varset mobone ${Param0}
/varset mobtwo ${Param1}
/if (${mobone}==0) {
/echo No targets defined, checking to see if mob is targeted.
/if (!${Target.ID}) {
/echo No mob on target to mez.
/return
} else {
/if (${mobtwo}==0) {
/target id ${mobone}
/echo Keeping ${Target.CleanName} mezzed!
/goto :singlecastloop
} else {
/echo Keeping two mobs (SpawnIDs ${mobone} and ${mobtwo}) mezzed.
/goto :doublecastloop
}
}
:singlecastLoop
/doevents
/stand
/call Cast ${mezSpell}
/if (${String[${Macro.Return}].Equal[CAST_SUCCESS]) {
/if (${sitFlag}==1) /sit
/delay ${singlerecastTime}
}
/if (${Target.ID}==${targetID}) /goto :castLoop
/echo EXITING ---- EXITING
:doublecastloop
:mobone
/doevents
/stand
/call Cast ${mezSpell}
/if (${String[${Macro.Return}].Equal[CAST_SUCCESS]) {
/if (${sitFlag}==1) /sit
/popup Mob One successfully mezzed.
/target id ${mobtwo}
/delay ${recastTime}
/goto :mobtwo
} else {
/goto :mobone
}
:mobtwo
/doevents
/stand
/call Cast ${mezSpell}
/if (${String[${Macro.Return}].Equal[CAST_SUCCESS]) {
/if (${sitFlag}==1) /sit
/popup Mob Two successfully mezzed.
/target id ${mobone}
/delay ${recastTime}
/goto :mobone
} else {
/goto :mobtwo
}
/return
Code: Select all
| mezmob.mac
| by [40oz]
| Updated to new system 05/09, and made to most likely not work, by Oid!
| Updated for two mobs 05/15, and it better not fucking work, by Oid!
|
| Usage: /macro mezmob
| For this version, simply run the macro, it tells you what to do from there.
#include spellcast.mac
#event targetone "[MQ2] target 1"
#event targettwo "[MQ2] target 2"
#event singletarg "[MQ2] singletarget"
#turbo
Sub Main
| ----Declares
/declare mezSpell string local
/declare recastTime int local
/declare sitFlag int local
/declare mobone int local
/declare mobtwo int local
/declare singlerecasttime int local
/declare singletarget int local
| ----CHANGE THESE AS APPROPRIATE----
/varset mezSpell "Bliss" | Spell to mez with.
/varset singlerecasttime 400 | Recast time on single target
/varset recastTime 250 | Number of miliseconds to wait before recasting between successful mezzes
/varset sitFlag 1 | Sit after mez? 1 for yes, 0 for no.
| ----CHANGE THESE AS APPROPRIATE----
/echo Auto mez macro started, please target the first mob and /echo target 1
:targetingloop
/delay 5
/doevents
/if (${singletarget}==1) /goto :singlecastloop
/if (${mobtwo}!=0) /goto :doublecastloop
/goto :targetingloop
:singlecastLoop
/target ID ${mobone}
/doevents
/stand
/call Cast ${mezSpell}
/if (${String[${Macro.Return}].Equal[CAST_SUCCESS]) {
/if (${sitFlag}==1) /sit
/delay ${singlerecastTime}
}
/if (${Target.ID}==${targetID}) /goto :castLoop
/echo EXITING ---- EXITING
:doublecastloop
:mobone
/doevents
/stand
/call Cast ${mezSpell}
/if (${String[${Macro.Return}].Equal[CAST_SUCCESS]) {
/if (${sitFlag}==1) /sit
/popup Mob One successfully mezzed.
/target id ${mobtwo}
/delay ${recastTime}
/goto :mobtwo
} else {
/goto :mobone
}
:mobtwo
/doevents
/stand
/call Cast ${mezSpell}
/if (${String[${Macro.Return}].Equal[CAST_SUCCESS]) {
/if (${sitFlag}==1) /sit
/popup Mob Two successfully mezzed.
/target id ${mobone}
/delay ${recastTime}
/goto :mobone
} else {
/goto :mobtwo
}
/return
Sub Event_targetone
/varset mobone ${Target.ID}
/echo Mob one set to ${Target.ID}, please target 2nd mob and /echo target 2
/echo To run with a single target, please /echo singletarget.
/return
Sub Event_targettwo
/varset mobtwo ${Target.ID}
/echo Mob two set to ${Target.ID}, macro running.
/return
Sub Event_singletarget
/varset singletarget 1
/echo Running in single target mode!
/return