/action {^Experience Points: %0 %1To Level:%2} {StripCommasInNumbers @LTrim($0);/var XPStart $StripCommasEnd;/enableaction {^Experience Points: %9 %2To Level:%3};/disableaction {^Experience Points: %0 %1To Level:%2};/if {@Var(TotXpStart)=0} {/var TotXpStart $XPStart};/if {@Var(TotXpTime)=0} {/var TotXpTime $XPStartTime}} {xpcounter}
/action {^Experience Points: %9 %2To Level:%3} {StripCommasInNumbers @LTrim($9);/var XPGained {@Math(@Var(StripCommasEnd)-@Var(XPStart))};/var TotXpGained {@Math(@Var(StripCommasEnd)-@Var(TotXpStart))};/var TempTime {@Math(@Time()-$XPStartTime)};/var TotTempTime {@Math(@Time()-$TotXpTime)};InsertCommasInNumbers $TotXpGained;/var TotXpComma $InsertCommas;/var XPperSec {@Math($XPGained/$TempTime)};/var XPperMin {@Math($XPperSec*60)};InsertCommasInNumbers $XPperMin;/var XPperMinComma $InsertCommas;/var TotXPperSec {@Math($TotXpGained/$TotTempTime)};/var TotXPperMin {@Math($TotXPperSec*60)};/var TotXPperHour {@Math($TotXPperMin*60)};InsertCommasInNumbers $TotXPperHour;/var TotXPperHourCommas $InsertCommas;InsertCommasInNumbers $XPGained;/var XpGainedComma $InsertCommas;/showme {@ForeBlue()Total Exp: @AnsiReset()@ForeWhite()$TotXpComma @AnsiReset()@AnsiBold()@ForeBlue()[@AnsiReset()@ForeWhite()@Math((@Time()-@Var(TotXpTime))/60/60)hr@AnsiReset()@AnsiBold()@ForeBlue():@AnsiReset()@ForeWhite()@Math((@Time()-@Var(TotXpTime))/60%60)min@AnsiReset()@AnsiBold()@ForeBlue():@AnsiReset()@ForeWhite()@Math((@Time()-@Var(TotXpTime))%60)sec@AnsiReset()@AnsiBold()@ForeBlue()]  [XP/Hour: @AnsiReset()@ForeWhite()$TotXPperHourCommas@AnsiReset()@AnsiBold()@ForeBlue()]};/showme {@AnsiBold()@ForeBlue()XP Gained: @AnsiReset()@ForeWhite()$XpGainedComma@AnsiBold()@ForeBlue() [@AnsiReset()@ForeWhite()@Math((@Time()-@Var(XPStartTime))/60/60)hr@AnsiBold()@ForeBlue():@AnsiReset()@ForeWhite()@Math((@Time()-@Var(XPStartTime))/60%60)min@AnsiBold()@ForeBlue():@AnsiReset()@ForeWhite()@Math((@Time()-@Var(XPStartTime))%60)sec@AnsiBold()@ForeBlue()]@PadLeft([@ForeBlue()XP/Min: @AnsiReset()@ForeWhite()$XPperMinComma@AnsiBold()@ForeBlue()], ,2)}} {xpcounter}
/alias {xpinit} {/var InsertCommas 0;/var XPGained 0;/var {XPStartTime} {@Time()} {xpcounter};/enableaction {^Experience Points: %0 %1To Level:%2};/disableaction {^Experience Points: %9 %2To Level:%3};sc l} {xpcounter}
/alias {resetxp} {/var TotXpTime 0;/var XPGained 0;/var XPStart 0;/var XPStartTime 0;/var TotXpStart 0;/var TotXpGained 0;/var TotXpComma 0;xpinit;/showme {@Chr(10)@AnsiBold()@ForeCyan()XP Counters Reset.}} {xpcounter}
/alias {xphelp} {/showme {@Chr(10)@AnsiBold()@ForeGreen()xpinit: Start counting your Exp gain};/showme {@AnsiBold()@ForeGreen()resetxp: Reset all of the Xp variables.@Chr(10)         This will zero out the total Xp gained.@Chr(10)         Generally, just use xpinit again to start counting again for a new zone@Chr(10)xp <channel>: Send your current xp gain and xp/sec to specified channel@Chr(10)xptot <channel>: Send your total xp gain and xp/hour to specified channel@Chr(10)cxp <nick>: Chat your current xp gain and xp/sec to specified nick@Chr(10)cxptot <nick>: Chat your total xp gain and xp/hour to specified nick@Chr(10)caxp: Chatall your current xp gain and xp/sec@Chr(10)caxptot: Chatall your total xp gain and xp/hour@Chr(10)@Chr(10)(c)Kernighan's Scripts 2003 Version 1.3}} {xpcounter}
/alias {xp %1} {$1 <XP Earned: @Var(XpGainedComma)> at <@Var(XPperMinComma) XP/minute> in <@Math((@Time()-@Var(XPStartTime))/60/60)hr:@Math((@Time()-@Var(XPStartTime))/60%60)min:@Math((@Time()-@Var(XPStartTime))%60)sec>} {xpcounter}
/alias {xptot %1} {$1 <Cummalative XP Earned: @Var(TotXpComma)> at <@Var(TotXPperHourCommas) XP/hour> in <@Math((@Time()-@Var(TotXpTime))/60/60)hr:@Math((@Time()-@Var(TotXpTime))/60%60)min:@Math((@Time()-@Var(TotXpTime))%60)sec>} {xpcounter}
/alias {cxp %1} {/chat $1 <XP Earned: @Var(XpGainedComma)> at <@Var(XPperMinComma) XP/minute> in <@Math((@Time()-@Var(XPStartTime))/60/60)hr:@Math((@Time()-@Var(XPStartTime))/60%60)min:@Math((@Time()-@Var(XPStartTime))%60)sec>} {xpcounter}
/alias {cxptot %1} {/chat $1 <Cummalative XP Earned: @Var(TotXpComma)> at <@Var(TotXPperHourCommas) XP/hour> in <@Math((@Time()-@Var(TotXpTime))/60/60)hr:@Math((@Time()-@Var(TotXpTime))/60%60)min:@Math((@Time()-@Var(TotXpTime))%60)sec>} {xpcounter}
/alias {caxp} {/chata <XP Earned: @Var(XpGainedComma)> at <@Var(XPperMinComma) XP/minute> in <@Math((@Time()-@Var(XPStartTime))/60/60)hr:@Math((@Time()-@Var(XPStartTime))/60%60)min:@Math((@Time()-@Var(XPStartTime))%60)sec>} {xpcounter}
/alias {caxptot} {/chata <Cummalative XP Earned: @Var(TotXpComma)> at <@Var(TotXPperHourCommas) XP/hour> in <@Math((@Time()-@Var(TotXpTime))/60/60)hr:@Math((@Time()-@Var(TotXpTime))/60%60)min:@Math((@Time()-@Var(TotXpTime))%60)sec>} {xpcounter}
/variable {XPGained} {0} {xpcounter}
/variable {XPStart} {0} {xpcounter}
/variable {XPStartTime} {0} {xpcounter}
/variable {TotXpStart} {0} {xpcounter}
/variable {TotXpGained} {0} {xpcounter}
/variable {TotXpComma} {0} {xpcounter}
/variable {TotXpTime} {0} {xpcounter}
/disableaction {^Experience Points: %0 %1To Level:%2}
/disableaction {^Experience Points: %9 %2To Level:%3}