on $*:TEXT:$(/^(?>\Q $+ $me $+ \E,? ?)?([!.@~]rank(ed)?)/Si):*:{ if (($3 isnum) || ($2 !isnum) || (!$2) || (!$3) || ($skilltable($3) == 0)) { notice $nick $c1(Error:) $c2(Invalid syntax. !rank ) halt } inc %inc set $+(%,return.rank.,%inc) $iif($left($1,1) == @,msg $chan,notice $nick) set $+(%,rank.%inc) $2 set $+(%,rank.table.,%inc) $skilltable($3) set $+(%,rank.skill.,%inc) $skill($3) sockopen $+(rank.,%inc) hiscore.runescape.com 80 } on *:SOCKOPEN:rank.*: { var %inc = $gettok($sockname,2,46) sockwrite -nt $sockname GET $+(/lang/en/aff/runescape/overall.ws?table=,%rank.table. [ $+ [ %inc ] ],&rank=,%rank. [ $+ [ %inc ] ]) HTTP/1.1 sockwrite -nt $sockname Host: hiscore.runescape.com sockwrite -nt $sockname $crlf } on *:SOCKREAD:rank.*: { var %inc = $gettok($sockname,2,46) if ($sockerr) { %return.rank. [ $+ [ %inc ] ] Socket Error: $sockname $+ . Error code: $sockerr Please inform $me of this error message. halt } else { var %sockreader sockread %sockreader if (*#AA0022* iswm %sockreader) && (*hiscorepersonal.ws?user1* iswm %sockreader) { set %rank.output1 [ $+ [ %inc ] ] $nohtml(%sockreader) } if (** iswm %sockreader) { set %rank.output2. [ $+ [ %inc ] ] $nohtml(%sockreader) } if (** iswm %sockreader) { set %rank.output3. [ $+ [ %inc ] ] $nohtml(%sockreader) %return.rank. [ $+ [ %inc ] ] Rank: %rank. [ $+ [ %inc ] ] Skill: %rank.skill. [ $+ [ %inc ] ] User: %rank.output2. [ $+ [ %inc ] ] Level: %rank.output2. [ $+ [ %inc ] ] Experience: %rank.output3. [ $+ [ %inc ] ] sockclose $sockname unset %rank* } } }