rendered paste bodyon $*:TEXT:/^[!@]compare*/Si:*: {
if (!$2) || (!$3) || ($len($3) > 12) || ($len($4) > 12) {
inc %ID 1
set $+(%,compare.return.,%ID) $iif($left($1,1) == @,msg $chan,notice $nick)
$($+(%,compare.return.,%ID),2) syntax: $1 <Skill> <Nick1> <Nick2>
halt
}
inc %id 1
if ($3 != $null) && ($4 == $null) { set $+(%,compare.nick2.,%ID) $nick }
elseif ($3 != $null) && ($4 != $null) { set $+(%,compare.nick2.,%ID) $4 }
elseif ($readini(DefRSN.ini,RSNs,$mask($fulladdress,3))) { set $+(%,compare.nick2.,%ID) $ifmatch }
elseif ($readini(DefRSN.ini,RSNs,$nick)) { set $+(%,compare.nick2.,%ID) $ifmatch }
set $+(%,compare.return.,%ID) $iif($left($1,1) == @,msg $chan,notice $nick)
set $+(%,compare.nick1.,%ID) $3
set $+(%,compare.target.,%ID) $skill($remove($2,@,!))
sockopen $+(compare.,%ID) www.parsers.o-ss.net 80
}
on *:SOCKOPEN:compare.*:{
var %id = $gettok($sockname,2,46)
sockwrite -n $sockname GET /compare.php?user1= $+ $($+(%,compare.nick1.,%ID),2) $+ &user2= $+ $($+(%,compare.nick2.,%ID),2) $+ &skill= $+ $($+(%,compare.target.,%ID),2) HTTP/1.1
sockwrite -n $sockname Host: www.parsers.o-ss.net
sockwrite -n $sockname $crlf
}
on *:sockread:compare.*:{
var %id = $gettok($sockname,2,46)
if ($sockerr) {
echo -a Error.
halt
}
else {
var %read
sockread %read
tokenize 32 %read
if (*is* iswm %read) { $($+(%,compare.return.,%ID),2) $+ $1 did not feature in highscores for $($+(%,compare.target.,%ID),2) | sockclose $sockname | halt }
if (*end* iswm %read) {
set $+(%,compare.skill.1.,%ID) $+ $($+(%,compare.nick1.,%ID),2) is lvl $1 $+ $($+(%,compare.target.,%ID),2) $+ ,
set $+(%,compare.skill.2.,%ID) and $($+(%,compare.nick2.,%ID),2) is lvl $2 $+ $($+(%,compare.target.,%ID),2) $+ .
}
if ($4 isnum) {
set $+(%,compare.diff.,%ID) The deffirence between $1 and $2 is $4 levels!
}
if ($5 isnum) {
set $+(%,compare.exp.,%ID) The exp deffirence between $($+(%,compare.nick1.,%ID),2) and $($+(%,compare.nick2.,%ID),2) $+ : $comma($5)
$($+(%,compare.return.,%ID),2) $($+(%,compare.skill.1.,%ID),2) $($+(%,compare.skill.2.,%ID),2)
$($+(%,compare.return.,%ID),2) $($+(%,compare.diff.,%ID),2)
$($+(%,compare.return.,%ID),2) $($+(%,compare.exp.,%ID),2)
unset $+(%,compare.*)
sockclose $sockname
halt
}
if ($2 == $1) {
$($+(%,compare.return.,%ID),2) $($+(%,compare.skill.1.,%ID),2) $($+(%,compare.skill.2.,%ID),2)
$($+(%,compare.return.,%ID),2) $+ $($+(%,compare.nick1.,%ID),2) and $($+(%,compare.nick2.,%ID),2) both got lvl $1 $+ $($+(%,compare.target.,%ID),2) $+ !
unset $+(%,compare.*)
sockclose $sockname
}
}
}
Alias -l comma {
Var %a, %b = $regsub($ticks,$$1,/\G([+-]?\d+?)(?=(?:\d{3})++(?=\.\d++$|$))/g,\1 $+ $chr(44),%a)
Return %a
}
alias -l skill {
if ($1 == 0) || ($regex($1,/^(st|(skill)?total|overall)$/Si)) return Overall
elseif ($regex($1,/^at(t|k|tack)$/Si)) return Attack
elseif ($regex($1,/^def(en[cs]e)?$$/Si)) return Defence
elseif ($regex($1,/^str(ength)?$/Si)) return Strength
elseif ($regex($1,/^hp|hit(s|points?)?$/Si)) return Hitpoints
elseif ($regex($1,/^range(r|d|ing)?$/Si)) return Ranged
elseif ($regex($1,/^Pray(er)?$$/Si)) return Prayer
elseif ($regex($1,/^mag(e|ic)$$/Si)) return Magic
elseif ($regex($1,/^cook(ing)?$/Si)) return Cooking
elseif ($regex($1,/^wc|wood(cut(ting)?)?$/Si)) return Woodcutting
elseif ($regex($1,/^fletch(ing)?$/Si)) return Fletching
elseif ($regex($1,/^fish(ing)?$/Si)) return Fishing
elseif ($regex($1,/^(fire|fm)(make?(ing)?|ing)?$/Si)) return Firemaking
elseif ($regex($1,/^craft(ing)?$/Si)) return Crafting
elseif ($regex($1,/^(smith|smelt)(ing)?$/Si)) return Smithing
elseif ($regex($1,/^mine(ing)?$/Si)) return Mining
elseif ($regex($1,/^herb(law|lore)?$/Si)) return Herblore
elseif ($regex($1,/^agil(ity)?$/Si)) return Agility
elseif ($regex($1,/^(th(ei|ie)[fv](e|ing)?)$/Si)) return Thieving
elseif ($regex($1,/^slay(er|ing)?$/Si)) return Slayer
elseif ($regex($1,/^farm(er|ing)?$/Si)) return Farming
elseif ($regex($1,/^(rc|runecraft)(er|ing)?$/Si)) return Runecrafting
elseif ($regex($1,/^(hunt)(er|ing)?$/si)) return Hunter
elseif ($regex($1,/^(con)(ion|ing)?$/si)) return Construction
}