Yet Another - Exp Counter

A forum for macro code snippets to be used in writing other macros. Post routines or .inc files here only, completed macros go to the Macro Depot. MQ2Data format only!

Moderator: MacroQuest Developers

spartikus
a lesser mummy
a lesser mummy
Posts: 55
Joined: Mon Apr 02, 2012 6:51 pm

Yet Another - Exp Counter

Post by spartikus » Sat Apr 07, 2012 2:26 pm

Much better code exists, I wanted something specific so I wrote this. Just counts straight XP. AA and Leader would be easy to add. Also gives XP/hr which is handy for me.

*EDIT* Added a check on RunTime1 for divide by zero error.

Thanks to TheDroidsUrLookingFor for his help.

Code: Select all

#event Exp "You gain#*#Experience#*#"

Sub Main
/declare PrctExp float outer
/declare Exper float outer
/declare Exper1 float outer
/declare Exper2 float outer
/declare Expstart float outer
/varset PrctExp 0
/varset PrctAAExp 0
/varset Exper ${Me.PctExp}
/varset Exper1 0
/varset Exper2 0
/varset AAExp ${Me.PctAAExp}
/varset Expstart ${Me.Exp}
:Loop
/doevents
/goto :Loop

Sub Event_Exp
   /declare RunTime int local
   /declare RunTime1 float local
   /varset RunTime1 0
   /varcalc RunTime ${Macro.RunTime}/60
| Exper = XP from last Kill
   /varcalc Exper ${Me.Exp}-${Exper}
| Exper2 is running total of XP gained since start
   /varcalc Exper2 ${Exper2}+${Exper}
| PrctExp is the Percent left to level
   /varcalc PrctExp 100-${Me.PctExp}
   /varcalc RunTime1 ${RunTime}/60
   /if (${RunTime1}<.01) /varset RunTime1 .01
|Exper1 is Approx XP per hour
   /varcalc Exper1 ${Exper2}/${RunTime1}
   /echo [Last Kill]: ${Exper} [Total EXP]: ${Exper2} in [${RunTime}] Minutes...
   /echo [%EXP to level]: ${PrctExp}%   [Exp per hr]: ${Exper1}
/return