All pastes #943436 Raw Edit

Mine

public text v1 · immutable
·published 2008-03-15 07:30 UTC
rendered paste body
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 *:INVITE:#: { 
  join $chan 
  timer 1 1 /msg $chan Hi, I am RuneScape stats bot 06 $+ $me $+ , invited by  $+ $nick $+ . /msg Moolar for info.
}
on *:sockclose:stats: {
  set %name $firstcap($linespace(%name))
  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)
  var %expxp = $floor($calc(%hpxp * 3)) | var %pcxp = $floor($calc(%cmbxp - %maxp - %prxp - %hpxp - %suxp - %expxp))
  var %percent = $round($calc(100 * (%pcxp / %expxp)),2)



  if (!%r11) { %show User06 %name was not found in hiscores at all. }
  else {
    if (%skill == rc) { set %sk %rc | set %skname RuneCrafting | set %skxp %rcxp | set %skrank %rcrank }
    elseif (%skill == rc) { set %sk %rc | set %skname RuneCrafting | set %skxp %rcxp | set %skrank %rcrank }
    elseif (%skill == cook) { set %sk %co | set %skname Cooking | set %skxp %coxp | set %skrank %corank }
    elseif (%skill == hu) { set %sk %hu | set %skname Hunter | set %skxp %huxp | set %skrank %hurank }
    elseif (%skill == fa) { set %sk %fa | set %skname Farming | set %skxp %faxp | set %skrank %farank }
    elseif (%skill == ag) { set %sk %ag | set %skname Agility | set %skxp %agxp | set %skrank %agrank }
    elseif (%skill == he) { set %sk %he | set %skname Herblore | set %skxp %hexp | set %skrank %herank }
    elseif (%skill == mi) { set %sk %mi | set %skname Mining | set %skxp %mixp | set %skrank %mirank }
    elseif (%skill == pr) { set %sk %pr | set %skname Prayer | set %skxp %prxp | set %skrank %prrank }
    elseif (%skill == ma) { set %sk %ma | set %skname Magic | set %skxp %maxp | set %skrank %marank }
    elseif (%skill == hp) { set %sk %hp | set %skname HitPoints | set %skxp %hpxp | set %skrank %hprank }
    elseif (%skill == ra) { set %sk %ra | set %skname Ranged | set %skxp %raxp | set %skrank %rarank }
    elseif (%skill == str) { set %sk %str | set %skname Strength | set %skxp %strxp | set %skrank %strrank }
    elseif (%skill == def) { set %sk %def | set %skname Defence | set %skxp %defxp | set %skrank %defrank }
    elseif (%skill == att) { set %sk %att | set %skname Attack | set %skxp %attxp | set %skrank %attrank }
    elseif (%skill == su) { set %sk %su | set %skname Summoning | set %skxp %suxp | set %skrank %surank }
    elseif (%skill == sm) { set %sk %sm | set %skname Smithing | set %skxp %smxp | set %skrank %smrank }
    elseif (%skill == cr) { set %sk %cr | set %skname Crafting | set %skxp %crxp | set %skrank %crrank }
    elseif (%skill == con) { set %sk %con | set %skname Construction | set %skxp %conxp | set %skrank %conrank }
    elseif (%skill == sl) { set %sk %sl | set %skname Slayer | set %skxp %slxp | set %skrank %slrank }
    elseif (%skill == fi) { set %sk %fi | set %skname Fishing | set %skxp %fixp | set %skrank %firank }
    elseif (%skill == fl) { set %sk %fl | set %skname Fletching | set %skxp %flxp | set %skrank %flrank }
    elseif (%skill == fm) { set %sk %fm | set %skname FireMaking | set %skxp %fmxp | set %skrank %fmrank }
    elseif (%skill == wc) { set %sk %wc | set %skname WoodCutting | set %skxp %wcxp | set %skrank %wcrank }
    elseif (%skill == oa) { set %sk %oa | set %skname Overall | set %skxp %oaxp | set %skrank %oarank }

    if (!%r11) { %show 06 $+ %name [03 $+ %skname $+ ]: User was not found in hiscores. }
    if (%sk < 30) { %show 06 $+ %name [03 $+ %skname $+ ]: User is unranked. }
    else { %show 06 $+ %name [03 $+ %skname $+ ]: 04 $+ %sk 03Exp: 04 $+ $bytes(%skxp,db) 03Rank: 04 $+ $bytes(%skrank,db) 03Exp to lvl $nextlv(%sk) $+ :04 $xptolv(%skxp) }
  }
  elseif (%skill == all) { 
    %show 6 $+ %name 03stats: 03Total:04 $+ %oa 03Rank:04 $+ $bytes(%oarank,db) 03Exp:04 $+ $bytes(%oaxp,db) 03Att:04 $+ %att 03Def:04 $+ %def 03Str:04 $+ %str 03Hp:04 $+ %hp 03Pr:04 $+ %pr 03Ra:04 $+ %ra 03Ma:04 $+ %ma 03Su:04 $+ %su 03Cook:04 $+ %co 03WC:04 $+ %wc 03Fletch:04 $+ %fl 03Fish:04 $+ %fi 03Fm:04 $+ %pr 03Craft:04 $+ %cr 03Smith:04 $+ %sm 03Mine:04 $+ %mi 03Herb:04 $+ %he 03Ag:04 $+ %ag 03Th:04 $+ %th 03Sl:04 $+ %sl 03Farm:04 $+ %fa 03RC:04 $+ %rc 03Hunt:04 $+ %hu 03Con:04 $+ %con 
  }
  unset %r* | unset %name | unset %sk* | unset %show
}



on *:INPUT:*: {
  if ($1 == !mycolour) { unset %colour1 | unset %coulour2 | set %colour1 $$2 | set %colour2 $$3 }
}