Notifiers can be used alone or together, such as echo+popup+speak to get all 3 alerts, or just speak to only have it spoken.
To use spoken notifiers, you must have the speech plugin compiled and loaded.
Tracks Backstabs, Doubles, and Triples, but does not track FB/Assassination as max backstabs, as they don't really count as a regular backstab.
Code: Select all
|**----------------------------------------------------------
RHBackStab.inc, a backstab tracking module for Rogues
Usage:
add the following to your main script
(Just before sub main)
#include RHBackstab.inc
(Inside of Sub Main, before the main loop)
/echo Loading Includes...
GD
----------------------------------------------------------**|
#Event InitRHBackStab "[MQ2] Loading Includes..."
#Event TogBSAnnounce "[MQ2] BSAnnounce#*#"
#Event SetBSNotifier "[MQ2] BSNotifier#*#"
#Event TogBSTrack "[MQ2] BSTrack#*#"
#Event RHBSStatus "[MQ2] BSRH Status#*#"
#Event BackStab "You backstab #1# for #2# points of damage."
Sub Event_InitRHBackStab
/declare BSAnnounce bool outer TRUE
/declare BSNotifier string outer echo
/declare BSTrack bool outer TRUE
/declare MaxBS int outer 0
/declare Max2xBS int outer 0
/declare Max3xBS int outer 0
/declare iBSCount int outer 0
/declare iBSTotal int outer 0
/declare iLastBS int outer 0
/if (${Ini[RHBackstab.ini,General,BSAnnounce].NotEqual[NULL]}) /goto :Ini
/squelch /alias /bstrack /echo BSTrack
/squelch /alias /bsannounce /echo BSAnnounce
/squelch /alias /bsnotifier /echo BSNotifier
:Ini
/if (${Ini[RHBackstab.ini,General,BSAnnounce].NotEqual[NULL]}) /varset BSAnnounce ${Ini[RHBackstab.ini,General,BSAnnounce]}
/if (${Ini[RHBackstab.ini,General,BSNotifier].NotEqual[NULL]}) /varset BSNotifier ${Ini[RHBackstab.ini,General,BSNotifier]}
/if (${Ini[RHBackstab.ini,General,BSTrack].NotEqual[NULL]}) /varset BSTrack ${Ini[RHBackstab.ini,General,BSTrack]}
/if (${Ini[RHBackstab.ini,General,MaxBS].NotEqual[NULL]}) /varset MaxBS ${Ini[RHBackstab.ini,General,MaxBS]}
/if (${Ini[RHBackstab.ini,General,Max2xBS].NotEqual[NULL]}) /varset Max2xBS ${Ini[RHBackstab.ini,General,Max2xBS]}
/if (${Ini[RHBackstab.ini,General,Max3xBS].NotEqual[NULL]}) /varset Max3xBS ${Ini[RHBackstab.ini,General,Max3xBS]}
/echo ** Announce Backstabs: ${BSAnnounce}, Notifier: ${BSNotifier}
/echo ** Track Max Backstabs: ${BSTrack}, Current Max: ${MaxBS}, 2x: ${Max2xBS}, 3x: ${Max3xBS}
/return
Sub Event_Backstab
/declare sMSG string
/if (${Math.Calc[${MacroQuest.Running}-${iLastBS}]} < 2000) {
/varcalc iBSCount ${iBSCount}+1
/varcalc iBSTotal ${iBSTotal}+${Param2}
} else {
/varset iBSCount 1
/varset iBSTotal ${Param2}
}
/varset iLastBS ${MacroQuest.Running}
/if (${iBSCount} == 1) {
/varset sMSG You Backstab ${Param1} for ${Param2}
} else /if (${iBSCount} == 2) {
/varset sMSG You Double Backstab ${Param1} for ${iBSTotal}
} else /if (${iBSCount} >= 3) {
/varset sMSG You Triple Backstab ${Param1} for ${iBSTotal}
}
/if (${BSAnnounce}) {
/if (${BSNotifier.Find[echo]}) /echo ${sMSG}
/if (${BSNotifier.Find[popup]}) /popup ${sMSG}
/if (${BSNotifier.Find[speak]}) /speak ${sMSG}
/if (${iBSCount}==1 && ${Param2}>${MaxBS} && ${Param2}<32000 && ${BSTrack}) {
/if (${BSNotifier.Find[echo]}) /echo New max Backstab of ${Param2}
/if (${BSNotifier.Find[popup]}) /popup New max Backstab of ${Param2}
/if (${BSNotifier.Find[speak]}) /speak New max Backstab of ${Param2}
/ini "RHBackstab.ini" "General" "MaxBS" "${Param2}"
/varset MaxBS ${Param2}
} else /if (${iBSCount}==2 && ${iBSTotal}>${Max2xBS} && ${iBSTotal}<32000 && ${BSTrack}) {
/if (${BSNotifier.Find[echo]}) /echo New max Double Backstab of ${iBSTotal}
/if (${BSNotifier.Find[popup]}) /popup New max Double Backstab of ${iBSTotal}
/if (${BSNotifier.Find[speak]}) /speak New max Double Backstab of ${iBSTotal}
/ini "RHBackstab.ini" "General" "Max2xBS" "${iBSTotal}"
/varset Max2xBS ${iBSTotal}
} else /if (${iBSCount}>=3 && ${iBSTotal}>${Max3xBS} && ${iBSTotal}<32000 && ${BSTrack}) {
/if (${BSNotifier.Find[echo]}) /echo New max Triple Backstab of ${iBSTotal}
/if (${BSNotifier.Find[popup]}) /popup New max Triple Backstab of ${iBSTotal}
/if (${BSNotifier.Find[speak]}) /speak New max Triple Backstab of ${iBSTotal}
/ini "RHBackstab.ini" "General" "Max3xBS" "${iBSTotal}"
/varset Max3xBS ${iBSTotal}
}
}
/return
Sub Event_TogBSAnnounce
/if (${BSAnnounce}) {
/varset BSAnnounce FALSE
/echo ** Backstab Announcing is now OFF!
} else {
/varset BSAnnounce TRUE
/echo ** Backstab Announcing is now ON!
}
/ini "RHBackstab.ini" "General" "BSAnnounce" "${BSAnnounce}"
/return
Sub Event_TogBSTrack
/if (${BSTrack}) {
/varset BSTrack FALSE
/echo ** Backstab Tracking is now OFF!
} else {
/varset BSTrack TRUE
/echo ** Backstab Tracking is now ON!
}
/ini "RHBackstab.ini" "General" "BSTrack" "${BSTrack}"
/return
Sub Event_SetBSNotifier(string Line)
/if (${Line.Arg[3].Length}) /varset BSNotifier ${Line.Arg[3]}
/echo ** Backstab Notifier set to: "${BSNotifier}"
/ini "RHBackstab.ini" "General" "BSNotifier" "${BSNotifier}"
/return
Sub Event_RHBSStatus
/if (${verbosity}>=0) /${channel} -------=======(Backstab Tracking Status)=======--------
/if (${verbosity}>=0) /${channel} ** Announce Backstabs: ${BSAnnounce}, Notifier: ${BSNotifier}
/if (${verbosity}>=0) /${channel} ** Track Max Backstabs: ${BSTrack}, Current Max: ${MaxBS}, 2x: ${Max2xBS}, 3x: ${Max3xBS}
/return
Code: Select all
[General]
BSAnnounce=TRUE
BSNotifier=echo
BSTrack=TRUE
MaxBS=2517
Max2xBS=3214
Max3xBS=4132

