Ok 1st of all your parser alias is picking the wrong token, it should be $gettok($gettok($1,
-4,60),2,62)
Secondly the rank is actually on the line AFTER the matched "Rank:" text. Just set a variable when the match is made, allowing triggering the parser on the next line.
alias parser { return $gettok($gettok($1,-4,60),2,62) }
alias mpuktf2 {
if ($sock(mpuktf2)) { sockclose mpuktf2 }
set %mpuktf2.chan $chan
set %mpuktf2.playerid $1
set %mpuktf2.host_url /hlstats/hlstats.php?mode=playerinfo&player= $+ %mpuktf2.playerid
sockopen mpuktf2 tf2.multiplay.co.uk 80
}
on *:SOCKOPEN:mpuktf2: {
sockwrite -n $sockname GET %mpuktf2.host_url HTTP/1.1
sockwrite $sockname Host: tf2.multiplay.co.uk $+ $str($lf,2)
}
on *:sockread:mpuktf2: {
if ($sockerr > 0) return
var %x
sockread %x
if (%mpukt.rank) { echo -a %mpuktf2.chan Rank: $parser(%x) | sockclose mpuktf2 | unset %mpukt.* }
if (*Rank:* iswm %x) { inc -u3 %mpukt.rank }
}
P.S. Don't send a "Keep-Alive" header if you do not want to keep the connection alive.
