rendered paste bodyon *:text:*:#:{
if (!$readini(stats.ini,n,nick,$nick)) { .writeini stats.ini nick $nick $nick }
var %words = $readini(stats.ini,n,words,$nick)
var %lines = $readini(stats.ini,n,lines,$nick)
var %letters = $readini(stats.ini,n,letters,$nick)
if (!%words) { var %words = $numtok($1-,32), %lines = 1, %letters = $len($remove($1-,$chr(32))) }
else {
inc %words $numtok($1-,32)
inc %lines 1
inc %letters $len($remove($1-,$chr(32)))
}
.writeini stats.ini words $nick %words
.writeini stats.ini lines $nick %lines
.writeini stats.ini letters $nick %letters
if ($1 == !stats) && (!$2) {
var %op = $iif($readini(stats.ini,n,op,$nick),$readini(stats.ini,n,op,$nick),0)
var %join = $iif($readini(stats.ini,n,join,$nick),$readini(stats.ini,n,join,$nick),0)
var %part = $iif($readini(stats.ini,n,part,$nick),$readini(stats.ini,n,part,$nick),0)
var %ban = $iif($readini(stats.ini,n,ban,$nick),$readini(stats.ini,n,ban,$nick),0)
var %kick = $iif($readini(stats.ini,n,kick,$nick),$readini(stats.ini,n,kick,$nick),0)
var %kicked = $iif($readini(stats.ini,n,kicked,$nick),$readini(stats.ini,n,kicked,$nick),0)
var %nickc = $iif($readini(stats.ini,n,nickc,$nick),$readini(stats.ini,n,nickc,$nick),0)
.msg $chan $+ $nick $+ 's $+ Stats: Text: %words words ( $+ $round($calc(%words / %lines),2) words per line, %letters letters $+ ) - Oped: %op - Joins: %join - Parts: %part - Kicked: %kicked - Kicks: %kick - Banned: %ban - Nick Changes: - %nickc }
elseif ($1 == !stats) && ($readini(stats.ini,n,words,$2)) {
var %op = $iif($readini(stats.ini,n,op,$2),$readini(stats.ini,n,op,$2),0)
var %join = $iif($readini(stats.ini,n,join,$2),$readini(stats.ini,n,join,$2),0)
var %part = $iif($readini(stats.ini,n,part,$2),$readini(stats.ini,n,part,$2),0)
var %ban = $iif($readini(stats.ini,n,ban,$2),$readini(stats.ini,n,ban,$2),0)
var %kick = $iif($readini(stats.ini,n,kick,$2),$readini(stats.ini,n,kick,$2),0)
var %kicked = $iif($readini(stats.ini,n,kicked,$2),$readini(stats.ini,n,kicked,$2),0)
var %words = $iif($readini(stats.ini,n,words,$2),$readini(stats.ini,n,words,$2),0)
var %lines = $iif($readini(stats.ini,n,lines,$2),$readini(stats.ini,n,lines,$2),0)
var %letters = $iif($readini(stats.ini,n,letters,$2),$readini(stats.ini,n,letters,$2),0)
var %nickc = $iif($readini(stats.ini,n,nickc,$nick),$readini(stats.ini,n,nickc,$nick),0)
.msg $chan $+ $iif($readini(stats.ini,n,nick,$2),$readini(stats.ini,n,nick,$2),$2) $+ 's $+ Stats: Text: %words words ( $+ $round($calc(%words / %lines),2) words per line, %letters letters $+ ) - Oped: %op - Joins: %join - Parts: %part - Kicked: %kicked - Kicks: %kick - Banned: %ban - Nick Changes: %nickc }
elseif ($1 == !stats) && (!$readini(stats.ini,n,words,$2)) { .notice $nick I have no stats for: $+ $2 $+ }
}
on *:action:*:#: { var %words = $readini(stats.ini,n,words,$nick) | inc %words $numtok($1-,32) | .writeini stats.ini words $nick %words }
on *:kick:#: { var %kick = $readini(stats.ini,n,kick,$nick) | inc %kick 1 | .writeini stats.ini kick $nick %kick | var %kicked = $readini(stats.ini,n,kicked,$knick) | inc %kicked 1 | .writeini stats.ini kicked $knick %kicked }
on *:op:#: { var %op = $readini(stats.ini,n,op,$opnick) | inc %op 1 | .writeini stats.ini op $opnick %op }
on *:halfop:#: { var %op = $readini(stats.ini,n,op,$opnick) | inc %op 1 | .writeini stats.ini op $opnick %op }
on *:owner:#: { var %op = $readini(stats.ini,n,op,$nick) | inc %op 1 | .writeini stats.ini op $nick %op }
on *:join:#: { var %join = $readini(stats.ini,n,join,$nick) | inc %join 1 | .writeini stats.ini join $nick %join }
on *:part:#: { var %part = $readini(stats.ini,n,part,$nick) | inc %part 1 | .writeini stats.ini part $nick %part }
on *:ban:#: { var %ban = $readini(stats.ini,n,ban,$ial($banmask,1).nick) | inc %ban 1 | .writeini stats.ini ban $ial($banmask,1).nick %ban }
on *:nick: { var %nickc = $readini(stats.ini,n,nickc,$nick) | inc %nickc 1 | .writeini stats.ini nickc $nick %nickc }