on *:sockopen:stats: { if (%name == $null) { set %name Uular } .sockwrite -n $sockname GET /index_lite.ws?player= $+ %name HTTP/1.1 .sockwrite -n $sockname Host: hiscore.runescape.com $+ $crlf $+ $crlf } on *:sockread:stats: { if (%row == $null) { set %row 1 } if ($sockerr) { $hget($gettok($sockname,2,46),out) There was a socket error. halt } .sockread %rune if (%row < 100) { set %r [ $+ [ %row ] ] %rune inc %row 1 } } on *:sockclose:stats: { var %oa = $gettok(%r11,2,44) var %oaxp = $gettok(%r11,3,44) var %oarank = $gettok(%r11,1,44) var %att = $gettok(%r12,2,44) var %attrank = $gettok(%r12,1,44) var %attxp = $gettok(%r12,3,44) var %def = $gettok(%r13,2,44) var %defrank = $gettok(%r13,1,44) var %defxp = $gettok(%r13,3,44) var %str = $gettok(%r14,2,44) var %strrank = $gettok(%r14,1,44) var %strxp = $gettok(%r14,3,44) var %hp = $gettok(%r15,2,44) var %hprank = $gettok(%r15,1,44) var %hpxp = $gettok(%r15,3,44) var %pr = $gettok(%r17,2,44) var %prrank = $gettok(%r17,1,44) var %prxp = $gettok(%r17,3,44) var %ra = $gettok(%r16,2,44) var %rarank = $gettok(%r16,1,44) var %raxp = $gettok(%r16,3,44) var %ma = $gettok(%r18,2,44) var %marank = $gettok(%r18,1,44) var %maxp = $gettok(%r18,3,44) var %su = $gettok(%r35,2,44) var %surank = $gettok(%r35,1,44) var %suxp = $gettok(%r35,3,44) var %cmbbase = $calc(0.25 * (%def + %hp + $floor(%pr / 2) + $floor(%su / 2))) var %melee = $floor($calc(0.325 * (%att + %str) + %cmbbase)) var %mage = $floor($calc((0.325 * (%ma)) + %cmbbase)) var %ranger = $floor($calc((0.325 * %ra) + %cmbbase)) var %cmbxp = $calc(%attxp + %defxp + %maxp + %hpxp + %raxp + %prxp + %suxp + %strxp) var %co = $gettok(%r19,2,44) var %corank = $gettok(%r19,1,44) var %coxp = $gettok(%r19,3,44) var %wc = $gettok(%r20,2,44) var %wcrank = $gettok(%r20,1,44) var %wcxp = $gettok(%r20,3,44) var %fl = $gettok(%r21,2,44) var %flrank = $gettok(%r21,1,44) var %flxp = $gettok(%r21,3,44) var %fi = $gettok(%r22,2,44) var %firank = $gettok(%r22,1,44) var %fixp = $gettok(%r22,3,44) var %fm = $gettok(%r23,2,44) var %fmrank = $gettok(%r23,1,44) var %fmxp = $gettok(%r23,3,44) var %cr = $gettok(%r24,2,44) var %crrank = $gettok(%r24,1,44) var %crxp = $gettok(%r24,3,44) var %sm = $gettok(%r25,2,44) var %smrank = $gettok(%r25,1,44) var %smxp = $gettok(%r25,3,44) var %mi = $gettok(%r26,2,44) var %mirank = $gettok(%r26,1,44) var %mixp = $gettok(%r26,3,44) var %he = $gettok(%r27,2,44) var %herank = $gettok(%r27,1,44) var %hexp = $gettok(%r27,3,44) var %ag = $gettok(%r28,2,44) var %agrank = $gettok(%r28,1,44) var %agxp = $gettok(%r28,3,44) var %th = $gettok(%r29,2,44) var %thrank = $gettok(%r29,1,44) var %thxp = $gettok(%r29,3,44) var %sl = $gettok(%r30,2,44) var %slrank = $gettok(%r30,1,44) var %slxp = $gettok(%r30,3,44) var %fa = $gettok(%r31,2,44) var %farank = $gettok(%r31,1,44) var %faxp = $gettok(%r31,3,44) var %rc = $gettok(%r32,2,44) var %rcrank = $gettok(%r32,1,44) var %rcxp = $gettok(%r32,3,44) var %hu = $gettok(%r33,2,44) var %hurank = $gettok(%r33,1,44) var %huxp = $gettok(%r33,3,44) var %con = $gettok(%r34,2,44) var %conrank = $gettok(%r34,1,44) var %conxp = $gettok(%r34,3,44) if (%skill == rc) { /msg $active 06 $+ %name [03RuneCrafting]: 03Level: 04 $+ %rc 03Exp: 04 $+ $bytes(%rcxp,db) 03Rank: 04 $+ $bytes(%rcrank,db) unset %r* | unset %name } elseif (%skill == pr) { /msg $active 06 $+ %name [03Prayer]: 03Level: 04 $+ %pr 03Exp: 04 $+ $bytes(%prxp,db) 03Rank: 04 $+ $bytes(%prrank,db) unset %r* | unset %name } elseif (%skill == wc) { /msg $active 06 $+ %name [03WoodCutting]: 03Level: 04 $+ %fm 03Exp: 04 $+ $bytes(%fmxp,db) 03Rank: 04 $+ $bytes(%fmrank,db) unset %r* | unset %name } elseif (%skill == su*) { /msg $active 06 $+ %name [03Summoning]: 03Level: 04 $+ %su 03Exp: 04 $+ $bytes(%suxp,db) 03Rank: 04 $+ $bytes(%surank,db) unset %r* | unset %name } elseif (%skill == fm) { /msg $active 06 $+ %name [03Firemaking]: 03Level: 04 $+ %fm 03Exp: 04 $+ $bytes(%fmxp,db) 03Rank: 04 $+ $bytes(%fmrank,db) unset %r* | unset %name } elseif (%skill == fi) { /msg $active 06 $+ %name [03Fishing]: 03Level: 04 $+ %fi 03Exp: 04 $+ $bytes(%fixp,db) 03Rank: 04 $+ $bytes(%firank,db) } elseif (%skill == fl) { /msg $active 06 $+ %name [03Fletching]: 03Level: 04 $+ %fl 03Exp: 04 $+ $bytes(%flxp,db) 03Rank: 04 $+ $bytes(%flrank,db) } elseif (%skill == cook) { /msg $active 06 $+ %name [03Cooking]: 03Level: 04 $+ %co 03Exp: 04 $+ $bytes(%coxp,db) 03Rank: 04 $+ $bytes(%corank,db) } elseif (%skill == hu) { /msg $active 06 $+ %name [03Hunter]: 03Level: 04 $+ %hu 03Exp: 04 $+ $bytes(%huxp,db) 03Rank: 04 $+ $bytes(%hurank,db) } elseif (%skill == he) { /msg $active 06 $+ %name [03Herblore]: 03Level: 04 $+ %he 03Exp: 04 $+ $bytes(%hexp,db) 03Rank: 04 $+ $bytes(%herank,db) } elseif (%skill == fa) { /msg $active 06 $+ %name [03Farming]: 03Level: 04 $+ %fa 03Exp: 04 $+ $bytes(%faxp,db) 03Rank: 04 $+ $bytes(%farank,db) } elseif (%skill == ag) { /msg $active 06 $+ %name [03Agility]: 03Level: 04 $+ %ag 03Exp: 04 $+ $bytes(%agxp,db) 03Rank: 04 $+ $bytes(%agrank,db) } elseif (%skill == mi) { /msg $active 06 $+ %name [03Mining]: 03Level: 04 $+ %mi 03Exp: 04 $+ $bytes(%mixp,db) 03Rank: 04 $+ $bytes(%mirank,db) } elseif (%skill == sm) { /msg $active 06 $+ %name [03Smithing]: 03Level: 04 $+ %sm 03Exp: 04 $+ $bytes(%smxp,db) 03Rank: 04 $+ $bytes(%smrank,db) } elseif (%skill == sl) { /msg $active 06 $+ %name [03Slayer]: 03Level: 04 $+ %sl 03Exp:04 $+ $bytes(%slxp,db) 03Rank: 04 $+ $bytes(%slrank,db) } elseif (%skill == cr) { /msg $active 06 $+ %name [03Crafting]: 03Level: 04 $+ %cr 03Exp: 04 $+ $bytes(%crxp,db) 03Rank: 04 $+ $bytes(%crrank,db) } elseif (%skill == con) { /msg $active 06 $+ %name [03Construction]: 03Level: 04 $+ %con 03Exp: 04 $+ $bytes(%conxp,db) 03Rank: 04 $+ $bytes(%conrank,db) } elseif (%skill == hp) { /msg $active 06 $+ %name [03Hitpoints]: 03Level: 04 $+ %hp 03Exp: 04 $+ $bytes(%hpxp,db) 03Rank: 04 $+ $bytes(%hprank,db) } elseif (%skill == att) { /msg $active 06 $+ %name [03Attack]: 03Level: 04 $+ %att 03Exp: 04 $+ $bytes(%attxp,db) 03Rank: 04 $+ $bytes(%attrank,db) } elseif (%skill == def) { /msg $active 06 $+ %name [03Defence]: 03Level: 04 $+ %def 03Exp: 04 $+ $bytes(%defxp,db) 03Rank: 04 $+ $bytes(%defrank,db) } elseif (%skill == str) { /msg $active 06 $+ %name [03Strength]: 03Level: 04 $+ %str 03Exp: 04 $+ $bytes(%strxp,db) 03Rank: 04 $+ $bytes(%strrank,db) } elseif (%skill == ra) { /msg $active 06 $+ %name [03Ranged]: 03Level: 04 $+ %ra 03Exp: 04 $+ $bytes(%raxp,db) 03Rank: 04 $+ $bytes(%rarank,db) } elseif (%skill == ma) { /msg $active 06 $+ %name [03Magic]: 03Level: 04 $+ %ma 03Exp: 04 $+ $bytes(%maxp,db) 03Rank: 04 $+ $bytes(%marank,db) } elseif (%skill == th) { /msg $active 06 $+ %name [03Thieving]: 03Level: 04 $+ %th 03Exp: 04 $+ $bytes(%thxp,db) 03Rank: 04 $+ $bytes(%thrank,db) } else { /msg $active 6 $+ %name 03stats: 03Total:042136 03Rank:041,697 03Exp:04197,885,841 03Att:0499 03Def:0499 03Str:0499 03Hp:0499 03Pr:0490 03Ra:0496 03Ma:0490 03Su:0453 03Cook:0499 03WC:0493 03Fletch:0499 03Fish:0485 03Fm:0499 03Craft:0485 03Smith:0485 03Mine:0480 03Herb:0482 03Ag:0485 03Th:0499 03Sl:0495 03Farm:0482 03RC:0480 03Hunt:0482 03Con:0481 } unset %r* | unset %name | unset %skill } /stat { sockopen stats hiscore.runescape.com 80 set %name $$1 set %skill $$2 } /rc /stat $$1 rc /pr /stat $$1 pr /ra /stat $$1 ra /def /stat $$1 def /ma /stat $$1 ma /hp /stat $$1 hp /att /stat $$1 att /str /stat $$1 str /con /stat $$1 con /th /stat $$1 th /ag /stat $$1 ag /he /stat $$1 he /mi /stat $$1 mi /sm /stat $$1 sm /cr /stat $$1 cr /fm /stat $$1 fm /fi /stat $$1 fi /fl /stat $$1 fl /su /stat $$1 su /cook /stat $$1 cook /wc /stat $$1 wc /fm /stat $$1 fm /fa /stat $$1 fa