rendered paste bodyon *:TEXT:*:#: {
if ($statsid($1) != $null) && (*define* !iswm $1-) {
set %sstat $statsid($1)
set %h $remove($+(#,$gettok($gettok($2-,2,35),1,32)),$chan)
set %nnick $remove($replace($2-,$chr(32),+),+#,#,#+,%h)
var %sckid = $right($ticks,5)
if ($left($1,1) == !) set %way. [ $+ [ %sckid ] ] notice $nick
if ($left($1,1) == @) set %way. [ $+ [ %sckid ] ] msg $chan
sockopen kool. [ $+ [ %sckid ] ] www.users.on.net 80
if (*#* iswm $2-) set %level $remove($+(#,$gettok($gettok($2-,2,35),1,32)),$chan)
}
}
on *:SOCKOPEN:kool.*: {
sockwrite -nt $sockname GET /~adtory/stats.php?user= $+ %nnick HTTP/1.1
sockwrite -nt $sockname Host: www.users.on.net
sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:kool.*: {
if ($sockerr) {
%way. [ $+ [ $right($sockname,5) ] ] Socket Error: $sockname $+ . Error code: $sockerr Please inform $me of this error message.
halt
}
else {
var %sockreader
sockread %sockreader
if (* $+ %sstat $+ * iswm %sockreader) {
sockread %sockreader
var %tempvar %sockreader
$iif(%level < $gettok(%sockreader,2,32),set %level $calc($gettok(%sockreader,2,32) + 1))
set %exptilll $iif(%level,$getxp(%level),$calc($getxp($gettok(%sockreader,2,32) + 1))))
set %exptill $calc(%exptilll - $remove($gettok(%sockreader,3,32),$chr(44)))
set %nnext $iif(%level,%level,$calc($gettok(%sockreader,2,32) + 1))
%way. [ $+ [ $right($sockname,5) ] ] $c2(%sstat) $c1(for) $c2(%nnick -) $c1(Rank:) $c2($gettok(%sockreader,1,32)) $c1(Level:) $c2($gettok(%sockreader,2,32)) $c1(Exp:) $c2($gettok(%sockreader,3,32)) - $c1(Exp till level) $c2(%nnext) $c1(%exptill)
%way. [ $+ [ $right($sockname,5) ] ] $nextlev
unset %*. [ $+ [ $right($sockname,5) ] ]
sockclose $sockname
}
elseif (*That player does* iswm %sockreader) {
%way. [ $+ [ $right($sockname,5) ] ] $c1(%nnick) $c2(isn't in the highscores for) $c1(%sstat)
sockclose $sockname
}
}
}
alias StatsID {
if ($regex($1,/^([!@])?(stats?|overall?|totaa?l)/Si)) return Overall
elseif ($regex($1,/^([!@])?att/Si)) return Attack
elseif ($regex($1,/^([!@])?def/Si)) return Defence
elseif ($regex($1,/^([!@])?str/Si)) return Strength
elseif ($regex($1,/^([!@])?h(p|it)/Si)) return Hitpoints
elseif ($regex($1,/^([!@])?rang/Si)) return Ranged
elseif ($regex($1,/^([!@])?pray/Si)) return Prayer
elseif ($regex($1,/^([!@])?mag[ei]/Si)) return Magic
elseif ($regex($1,/^([!@])?cook/Si)) return Cooking
elseif ($regex($1,/^([!@])?w(c|oodcut)/Si)) return Woodcutting
elseif ($regex($1,/^([!@])?flet/Si)) return Fletching
elseif ($regex($1,/^([!@])?fish/Si)) return Fishing
elseif ($regex($1,/^([!@])?f(m|iremak)/Si)) return Firemaking
elseif ($regex($1,/^([!@])?craft/Si)) return Crafting
elseif ($regex($1,/^([!@])?smith/Si)) return Smithing
elseif ($regex($1,/^([!@])?min/Si)) return Mining
elseif ($regex($1,/^([!@])?herb/Si)) return Herblore
elseif ($regex($1,/^([!@])?agi/Si)) return Agility
elseif ($regex($1,/^([!@])?th(ie|ei)/Si)) return Thieving
elseif ($regex($1,/^([!@])?slay/Si)) return Slayer
elseif ($regex($1,/^([!@])?farm/Si)) return Farming
elseif ($regex($1,/^([!@])?r(c|une)/Si)) return Runecraft
elseif ($regex($1,/^([!@])?hunt/Si)) return Hunter
elseif ($regex($1,/^([!@])?c(s|on)/Si)) return Construction
}
alias c1 return $+($chr(3),14,$1-,$chr(3))
alias c2 return $+($chr(3),07,$1-,$chr(3))
alias c3 return $+($chr(3),04,$1-,$chr(3))
alias amount { return $calc(%exptill / $1) }
alias nextlev {
if (%sstat == agility) return $c3([) $+ $c1(Gnome Stronghold) $c2($int($amount(86.5))) $+ $c3(]) $c3([) $+ $c1(Barb Outpost) $c2($int($amount(153.2))) $+ $c3(])
}
;below in alias tab
getxp {
var %e, %x = 1, %y = $1
while (%x < %y) {
inc %e $floor($calc(%x + 300*2^(%x / 7)))
inc %x
}
return $floor($calc(%e /4))
}