This code was graciously contributed by Sarlock.

; Attribute reporter.
; Written by Sarlock .
; Licensed under GPL .
; Read it if you don't know what it is.

; Usage ex, repstat 
; defaulting to channel say if none is given.

/def -mregexp -F -t'Str \:\[ ?([0-9]+)\/ ?([0-9]+)\]' str = \
   /set strcur %{P1}%; /set strtrain %{P2}%;
/def -mregexp -F -t'Int \:\[ ?([0-9]+)\/ ?([0-9]+)\]' int = \
   /set intcur %{P1}%; /set inttrain %{P2}%;
/def -mregexp -F -t'Wis \:\[ ?([0-9]+)\/ ?([0-9]+)\]' wis = \
   /set wiscur %{P1}%; /set wistrain %{P2}%;
/def -mregexp -F -t'Dex \:\[ ?([0-9]+)\/ ?([0-9]+)\]' dex = \
   /set dexcur %{P1}%; /set dextrain %{P2}%;
/def -mregexp -F -t'Con \:\[ ?([0-9]+)\/ ?([0-9]+)\]' con = \
   /set concur %{P1}%; /set contrain %{P2}%;
/def -mregexp -F -t'Luck\:\[ ?([0-9]+)\/ ?([0-9]+)\]' luck = \
   /set luckcur %{P1}%; /set lucktrain %{P2}%;
/def -mregexp -F -t'Hp\:\[ ?([0-9]+)\/ ?([0-9]+)\]' hp = \
   /set hpcur %{P1}%; /set hptot %{P2}%;
/def -mregexp -F -t'Mn\:\[ ?([0-9]+)\/ ?([0-9]+)\]' mn = \
   /set mncur %{P1}%; /set mntot %{P2}%;
/def -mregexp -F -t'Mv\:\[ ?([0-9]+)\/ ?([0-9]+)\]' mv = \
   /set mvcur %{P1}%; /set mvtot %{P2}%;
/def -mregexp -F -t'Hr\ \:\[ ?([0-9]+)\]' hr = \
   /set hr %{P1}%;
/def -mregexp -F -t'Dr\ \:\[ ?([0-9]+)\]' dr = \
   /set dr %{P1}%;

/alias repstat \
/if ({dr}={}) \
  /echo I need some values, run attr first.%; \
/else \
  /echo Remember that the stats only update after a fresh 'attr' command.%; \
  /if ({*}=/{}) \
    /set channel say%; \
  /else \
    /set channel %*%; \
  /endif%; \
  %channel Str: [%strcur/%strtrain] Int: [%intcur/%inttrain] Wis: [%wiscur/%wistrain] Dex: [%dexcur/%dextrain] Con: [%concur/%contrain] Luck: [%luckcur/%lucktrain] Hr: [%hr] Dr: [%dr]. %; \
/endif