on *:SOCKOPEN:stats.*: { var %bleh = $gettok($sockname,2,46) if ($sockerr) { .echo 4 -s Error while connecting to the stats page: $sock($sockname).wsmsg return } .sockwrite -n $sockname GET /lang/en/aff/runescape/hiscorepersonal.wsauser1= $+ $hget($($+(u,%bleh),2),user) HTTP/1.1 .sockwrite -n $sockname Host: hiscore.runescape.com $+ $crlf $+ $crlf } on *:SOCKREAD:stats.*: { var %bleh = $gettok($sockname,2,46) if ($sockerr) { echo 4 -s Error while reading the stats: $crlf $sock($sockname).wsmsg return } .sockread %RSStats if ($+(*,$hget($($+(u,%bleh),2),user),*,not feature in the,*) iswm %RSStats) { $($hget($($+(u,%bleh),2),display),2) $s1(The user) $s2($hget($($+(u,%bleh),2),user)) $s1(doesn't appear in the hiscores.) .sockclose $sockname halt } if ($($+(%,RSSslvl.,%bleh),2) && !$($+(%,RSSsexp.,%bleh),2) && $($+(%,RSSsread.,%bleh),2) == 3) { .set %RSSsexp. $+ %bleh $nohtml(%RSStats) } if ($($+(%,RSSsrank.,%bleh),2) && !$($+(%,RSSslvl.,%bleh),2) && $($+(%,RSSsread.,%bleh),2) == 3) { .set %RSSslvl. $+ %bleh $nohtml(%RSStats) } if ($($+(%,RSSsskill.,%bleh),2) && !$($+(%,RSSsrank.,%bleh),2) && $($+(%,RSSsread.,%bleh),2) == 3) { .set %RSSsrank. $+ %bleh $nohtml(%RSStats) } if ($($+(%,RSSsread.,%bleh),2) == 2) { inc $($+(%,RSSsread.,%bleh),1) 1 } if ($($+(%,RSSsread.,%bleh),2) == 1) { .set %RSSsskill. $+ %bleh $nohtml(%RSStats) | inc $($+(%,RSSsread.,%bleh),1) 1 } if ($+(*,a href,*,$hget($($+(u,%bleh),2),user),*) iswm %RSStats) { .set %RSSsread. $+ %bleh 1 } if (** iswm %RSStats && $($+(%,RSSsskill.,%bleh),2)) { hadd -m $($+(u,%bleh),2) $($+(%,RSSsskill.,%bleh),2) $($+(%,RSSsrank.,%bleh),2) $($+(%,RSSslvl.,%bleh),2) $($+(%,RSSsexp.,%bleh),2) .unset $($+(%,RSSs*.,%bleh),1) } } on *:SOCKCLOSE:stats.*: { var %bleh = $gettok($sockname,2,46) .stats.show $($+(u,%bleh),2) } alias s1 { return $+($chr(3),$cntn($se(color,stats.base)),$1,$chr(3)) } alias s2 { return $+($chr(3),$cntn($se(color,stats.secondary)),$1,$chr(3)) } alias stats.show { var %send = $hget($1,display),%send2 = .notice $hget($1,nick),%show = $+($mircdirSkills\,$hget($1,skill),.ini),%skill = $hget($1,skill),%user = $hget($1,user),%hash = $1,%addy = $hget($1,address),%nick = $hget($1,nick) var %item = $hget($1,item),%target = $hget($1,target) if (*echo* iswm %send) { goto skipnclear } if ($hget(%hash,compare)) { if ($hget(%hash,completed) == yes) { goto clearup } if ($hget($($+(u,$hget(%hash,compare)),2),%skill)) { .hadd $($+(u,$hget(%hash,compare))) completed yes var %chash = $($+(u,$hget(%hash,compare))) $(%send,2) $s1(Comparing) $s2(%user) $s1(and) $s2($hget(%chash,user)) $s1(in) $s2(%skill) $(%send,2) $s2(%user) $s1(Rank) $s2($bytes($skill(%hash,%skill).rank,b)) $s1(Level) $s2($bytes($skill(%hash,%skill).lvl,b)) $s1(Exp) $s2($bytes($skill(%hash,%skill).exp,b)) $(%send,2) $s2($hget(%chash,user)) $s1(Rank) $s2($bytes($skill(%chash,%skill).rank,b)) $s1(Level) $s2($bytes($skill(%chash,%skill).lvl,b)) $s1(Exp) $s2($bytes($skill(%chash,%skill).exp,b)) if ($skill(%hash,%skill).exp == $skill(%chash,%skill).exp) { $(%send,2) $s2(%user) $s1(and) $s2($hget(%chash,user)) $s1(are at a tie!) } if ($skill(%hash,%skill).exp > $skill(%chash,%skill).exp) { $(%send,2) $s2(%user) $s1(is) $s2($bytes($calc($skill(%hash,%skill).lvl - $skill(%chash,%skill).lvl),b)) $s1(levels,) $s2($bytes($calc($skill(%chash,%skill).rank - $skill(%hash,%skill).rank),b)) $s1(ranks and) $s2($bytes($calc($skill(%hash,%skill).exp - $skill(%chash,%skill).exp),b)) $s1(exp ahead of) $s2($hget(%chash,user)) } if ($skill(%chash,%skill).exp > $skill(%hash,%skill).exp) { $(%send,2) $s2($hget(%chash,user)) $s1(is) $s2($bytes($calc($skill(%chash,%skill).lvl - $skill(%hash,%skill).lvl),b)) $s1(levels,) $s2($bytes($calc($skill(%hash,%skill).rank - $skill(%chash,%skill).rank),b)) $s1(ranks and) $s2($bytes($calc($skill(%chash,%skill).exp - $skill(%hash,%skill).exp),b)) $s1(exp ahead of) $s2(%user) } goto clearup } else { goto skipnclear } } if (%skill == Combat) { var %cmb = $combat.final($skill(%hash,attack).lvl,$skill(%hash,defence).lvl,$skill(%hash,strength).lvl,$skill(%hash,hitpoints).lvl,$skill(%hash,prayer).lvl,$skill(%hash,ranged).lvl,$skill(%hash,magic).lvl) var %cmbc = $calc($iif(*.* !iswm %cmb,$calc(%cmb +1),$ceil(%cmb)) - %cmb) $(%send,2) $s1(Name:) $s2(%user) $s1(Combat:) $s2(%cmb) $& $s1(Attack) $s2($skill(%hash,attack).lvl) $s1(Defence) $s2($skill(%hash,defence).lvl) $s1(Strength) $s2($skill(%hash,strength).lvl) $s1(HitPoints) $s2($skill(%hash,hitpoints).lvl) $s1(Ranged) $s2($skill(%hash,ranged).lvl) $s1(Magic) $s2($skill(%hash,magic).lvl) $s1(Prayer) $s2($skill(%hash,prayer).lvl) $(%send,2) $s1(Levels Left: Attack) $s2($ceil($calc(( %cmbc ) / ( 1 / 3 )))) $& $s1(Strength) $s2($ceil($calc(( %cmbc ) / ( 1 / 3 )))) $& $s1(Defence) $s2($ceil($calc(( %cmbc ) / ( 1 / 4 )))) $& $s1(HitPoints) $s2($ceil($calc(( %cmbc ) / ( 1 / 4 )))) $& $s1(Prayer) $s2($ceil($calc(( %cmbc ) / ( 1 / 8 )))) goto clearup } if (%skill == PestControl) { var %att = $skill(%hash,attack).lvl,%def = $skill(%hash,defence).lvl,%str = $skill(%hash,strength).lvl,%hp = $skill(%hash,hitpoints).lvl,%mag = $skill(%hash,magic).lvl,%ran = $skill(%hash,ranged).lvl,%pra = $skill(%hash,prayer).lvl var %attxp = $skill(%hash,attack).exp,%defxp = $skill(%hash,defence).exp,%strxp = $skill(%hash,strength).exp,%hpxp = $skill(%hash,hitpoints).exp,%magxp = $skill(%hash,magic).exp,%ranxp = $skill(%hash,ranged).exp,%praxp = $skill(%hash,prayer).exp ;PC = (Level*Level)/6 for Att, Str, Def, Hp, Magic, Range ;PC = (Level*Level)/12 for Prayer ;If more than 100 pts are traded in PC = ((Level*Level)/6)*.10)+((Level*Level)/6) if (%att != -) { var %attn = $calc((%att * %att) /6) | var %atta = $calc((((%att * %att) /6) * .10) + ((%att * %att)/6)) } if (%def != -) { var %defn = $calc((%def * %def) /6) | var %defa = $calc((((%def * %def) /6) * .10) + ((%def * %def)/6)) } if (%str != -) { var %strn = $calc((%str * %str) /6) | var %stra = $calc((((%str * %str) /6) * .10) + ((%str * %str)/6)) } if (%hp != -) { var %hpn = $calc((%hp * %hp) /6) | var %hpa = $calc((((%hp * %hp) /6) * .10) + ((%hp * %hp)/6)) } if (%ran != -) { var %rann = $calc((%ran * %ran) /6) | var %rana = $calc((((%ran * %ran) /6) * .10) + ((%ran * %ran)/6)) } if (%mag != -) { var %magn = $calc((%mag * %mag) /6) | var %maga = $calc((((%mag * %mag) /6) * .10) + ((%mag * %mag)/6)) } if (%pra != -) { var %pran = $calc((%pra * %pra) /12) | var %praa = $calc((((%pra * %pra) /12) * .10) + ((%pra * %pra)/12)) } var %atte = $iif(%att >= 99,$calc(200000000 - %attxp),$calc($exp($calc(%att +1)) - %attxp)) var %defe = $iif(%def >= 99,$calc(200000000 - %defxp),$calc($exp($calc(%def +1)) - %defxp)) var %stre = $iif(%str >= 99,$calc(200000000 - %strxp),$calc($exp($calc(%str +1)) - %strxp)) var %hpe = $iif(%hp >= 99,$calc(2000000000 - %hpxp),$calc($exp($calc(%hp +1)) - %hpxp)) var %rane = $iif(%ran >= 99,$calc(200000000 - %ranxp),$calc($exp($calc(%ran +1)) - %ranxp)) var %mage = $iif(%mag >= 99,$calc(200000000 - %magxp),$calc($exp($calc(%mag +1)) - %magxp)) var %prae = $iif(%pra >= 99,$calc(200000000 - %praxp),$calc($exp($calc(%pra +1)) - %praxp)) $(%send,2) $s1(PestControl Points to gain 1 level for) $s2(%user) $(%send,2) $iif(%attn,$s1(Attack) $s2($ceil($calc(%atte / %attn)) $chr(40) $+ $ceil($calc(%atte / %atta)) $+ $chr(41))) $& $iif(%defn,$s1(Defence) $s2($ceil($calc(%defe / %defn)) $chr(40) $+ $ceil($calc(%defe / %defa)) $+ $chr(41))) $& $iif(%strn,$s1(Strength) $s2($ceil($calc(%stre / %strn)) $chr(40) $+ $ceil($calc(%stre / %stra)) $+ $chr(41))) $& $iif(%hpn,$s1(HitPoints) $s2($ceil($calc(%hpe / %hpn)) $chr(40) $+ $ceil($calc(%hpe / %hpa)) $+ $chr(41))) $& $iif(%rann,$s1(Ranged) $s2($ceil($calc(%rane / %rann)) $chr(40) $+ $ceil($calc(%rane / %rana)) $+ $chr(41))) $& $iif(%magn,$s1(Magic) $s2($ceil($calc(%mage / %magn)) $chr(40) $+ $ceil($calc(%mage / %maga)) $+ $chr(41))) $& $iif(%pran,$s1(Prayer) $s2($ceil($calc(%prae / %praa)) $chr(40) $+ $ceil($calc(%prae / %praa)) $+ $chr(41))) goto clearup }