All pastes #1290984 Raw Edit

Runescript Tracker

public text v1 · immutable
#1290984 ·published 2008-12-21 20:41 UTC
rendered paste body
dialog rscript { 
  title "RuneScript Tracker" 
  size -1 -1 309 202 
  option dbu 
  tab "Exp (1day)", 1, -3 -3 321 207 
  icon 4, 19 28 273 164, trackerpic.bmp, 0, hide tab 1 noborder 
  tab "Rank (1day)", 2 
  icon 11, 19 28 273 164, trackerpic.bmp, 0, hide tab 2 noborder 
  tab "Exp (1week)", 3 
  icon 12, 19 28 273 164, trackerpic.bmp, 0, hide tab 3 noborder 
  tab "Rank (1week)", 8 
  icon 13, 19 28 273 164, trackerpic.bmp, 0, hide tab 8 noborder 
  tab "Exp (1month)", 9 
  icon 14, 19 28 273 164, trackerpic.bmp, 0, hide tab 9 noborder 
  tab "Rank(1month)", 10 
  icon 15, 19 28 273 164, trackerpic.bmp, 0, hide tab 10 noborder 
  tab "Exp/Rank (all time)", 16 
  icon 17, 156 32 148 158, trackerpic.bmp, 0, hide tab 16 noborder 
  icon 18, 4 32 148 158, trackerpic.bmp, 0, hide tab 16 noborder 
  edit "", 5, 6 15 80 10 
  button "Search", 6, 92 15 37 10 
  text "", 7, 138 16 154 8 
} 
menu * { 
  Tracker lookup:tracker 
} 
alias tracker { 
  scon 0 trackerpic 
  if ($dialog(rscript)) { dialog -x rscript } 
  dialog -md rscript rscript 
} 
on *:DIALOG:rscript:init:0:if (!$isdir($qt($mircdirTracker))) { .mkdir $qt($mircdirTracker) } 
on *:DIALOG:rscript:sclick:6:{ 
  noop $findfile($mircdirTracker,*,0,.remove $qt($1-)) 
  if ($sock(track.*)) { did -ra $dname 7 Please wait, still retrieving graphs. } 
  else { 
    if ($len($did(5))) { 
      hadd -m track a $replace($did(5),$chr(32),+) 
      did -h $dname 4,11,12,13,14,15,17,18 
      did -ra $dname 7 Retrieving all graphs, please wait. 
      sockclose track.* 
      hfree -w track.* 
      sockopen track.1 t.rscript.org 80 
      sockmark track.1 /graph- $+ $replace($did(5),$chr(32),+) $+ .0.exp.86400.600x300.000000.000000....png $+ $chr(255) $+ $replace($did(5),$chr(32),+) 
    } 
    else { 
      did -ra $dname 7 Please fill in a name. 
    } 
  } 
} 
on *:SOCKOPEN:track.*:{ 
  var %a sockwrite -n $sockname, %b $gettok($sock($sockname).mark,1,255), %c $str($crlf,2) 
  %a GET %b HTTP/1.0 
  %a Host: t.rscript.org $+ %c 
} 
on *:SOCKREAD:track.*:{ 
  if ($sockerr) { 
    did -ra rscript 7 Socket error 
  } 
  else { 
    var %a 1, %b $iif($hget($sockname, a),1,0) 
    while (%a && !%b) { 
      sockread %a 
      if ($regex(%a,/Content\-Length: (\d+)/i)) var %l $regml(1) 
    } 
    if (!%b) { 
      hadd -m $sockname a 1 
      sockmark $sockname $+(",$longfn($mircdir),Tracker\,$gettok($sock($sockname).mark,2-,255),$gettok($sockname,2,46),.png",~,%l,~,$gettok($sock($sockname).mark,2-,255)) 
    } 
    tokenize 126 $sock($sockname).mark 
    while ($sock($sockname).rq) { 
      sockread &a 
      bwrite $1 -1 -1 &a 
    } 
  } 
} 
on *:SOCKCLOSE:track.*:{ 
  tokenize 126 $sock($sockname).mark 
  if ($gettok($sockname,2,46) != 8) { 
    sockopen track. $+ $calc($gettok($sockname,2,46) +1) t.rscript.org 80 
    sockmark track. $+ $calc($gettok($sockname,2,46) +1) $trackeri($calc($gettok($sockname,2,46) +1),$2) $+ $chr(255) $+ $2 
  } 
  else { 
    did -ra rscript 7 All graphs are done loading. 
    did -e rscript 1,2,3,8,9 
    did -g rscript 4 $qt($mircdirTracker\ $+ $2 $+ 1.png) 
    did -g rscript 11 $qt($mircdirTracker\ $+ $2 $+ 2.png) 
    did -g rscript 18 $qt($mircdirTracker\ $+ $2 $+ 3.png) 
    did -g rscript 17 $qt($mircdirTracker\ $+ $2 $+ 4.png) 
    did -g rscript 12 $qt($mircdirTracker\ $+ $2 $+ 5.png) 
    did -g rscript 13 $qt($mircdirTracker\ $+ $2 $+ 6.png) 
    did -g rscript 14 $qt($mircdirTracker\ $+ $2 $+ 7.png) 
    did -g rscript 15 $qt($mircdirTracker\ $+ $2 $+ 8.png) 
    did -v rscript 4,11,12,13,14,15,17,18 
  } 
} 
alias -l trackeri { 
  if ($1 == 2) return /graph- $+ $2 $+ .0.rank.86400.600x300.000000.000000....png 
  if ($1 == 3) return /graph- $+ $2 $+ .0.exp..294x200.000000.000000....png 
  if ($1 == 4) return /graph- $+ $2 $+ .0.rank..294x200.000000.000000....png 
  if ($1 == 5) return /graph- $+ $2 $+ .0.exp.604800.600x300.000000.000000....png 
  if ($1 == 6) return /graph- $+ $2 $+ .0.rank.604800.600x300.000000.000000....png 
  if ($1 == 7) return /graph- $+ $2 $+ .0.exp.2678400.600x300.000000.000000....png 
  if ($1 == 8) return /graph- $+ $2 $+ .0.rank.2678400.600x300.000000.000000....png 
} 
alias -l trackerpic { 
  if ($pic($qt($mircdirtrackerpic.bmp))) { return } 
  else { 
    window -ph @picture 
    drawline -r @picture 0 50 50 50 50 50 
    drawsave @picture trackerpic.bmp 
  } 
} 
on $*:TEXT:/^[!@]track(er)?/Si:#: {
  if ($readini($network $+ .ini,Tracker,$chan) == off) halt | else { 
    ; if ($remove($3,h,d,w) isnum) && ($3) { 
    var %sckid $right($ticks,5) 
    set %nick [ $+ [ %sckid ] ] $2 
    set %time [ $+ [ %sckid ] ] $calc($replace($3,h,*3600,d,*86400,w,*604800)) 
    set %method [ $+ [ %sckid ] ] $iif(@ isin $1,msg $chan,notice $nick) 
    if (%total) unset %total 
    sockopen tracker. [ $+ [ %sckid ] ] www.rscript.org 80 
  } 
  ; else { notice $nick Please make sure $3 is a time in seconds } 
} 
;}
on *:SOCKOPEN:tracker.*: { 
  sockwrite -nt $sockname GET /flookup.php?type=track&user= $+ %nick [ $+ [ $right($sockname,5) ] ] $+ &time= $+ %time [ $+ [ $right($sockname,5) ] ] $+ &skill=all HTTP/1.1 
  sockwrite -nt $sockname Host: www.rscript.org 
  sockwrite -nt $sockname $crlf 
} 
on *:SOCKREAD:tracker.*: { 
  var %sockreader 
  sockread %sockreader 
  if (gain:* iswm %sockreader) || (start:* iswm %sockreader) { 
    if (start:* iswm %sockreader) { 
      tokenize 58 %sockreader 
      set % [ $+ [ $2 ] ] $lfe($3) $3 
    } 
    else { 
      tokenize 58 %sockreader 
      if ($4 != 0) { 
        set %total %total $2 $+ $iif($gettok(% [ $+ [ $2 ] ],1,32) != $lfe($calc($gettok(% [ $+ [ $2 ] ],2,32) + $4)),$chr(40) $+ $v1 $+ - $+ $v2 $+ $chr(41),$chr(40) $+ $v1 $+ $chr(41)) + $+ $bytes($4,bd) 
      } 
    } 
  } 
  if (*summoning* iswm %sockreader) || (*dueling* iswm %sockreader) || (*bounty* iswm %sockreader) || (*end* iswm %sockreader) && (gain:* iswm %sockreader) { 
    var %p $right($sockname,5) 
    sockclose $sockname 
    if (%total) { 
      if ($len($v1) > 332) { 
        tokenize 32 %total 
        %method [ $+ [ %p ] ] $c1(%nick [ $+ [ %p ] ]) $c2(has made the following exp gains in) $c1($duration(%time [ $+ [ %p ] ]) $+ ) $chr(151) $c2($1-28)
        %method [ $+ [ %p ] ] $c2($29-) 
      } 
      else { 
        %method  [ $+ [ %p ] ] $c1(%nick [ $+ [ %p ] ]) $c2(has made the following exp gains in) $c1($duration(%time [ $+ [ %p ] ])) $chr(151) %total 
      } 
    } 
    else { 
      %nick hasnt made any xp gains in $duration(%time) 
    } 
    unset %time  [ $+ [ %p ] ] 
    unset %method  [ $+ [ %p ] ] 
    unset %nick  [ $+ [ %p ] ] 
    unset %total 
  } 
} 
alias lfe { 
  if ($1 < 83) return 1 
  elseif ($1 < 174) return 2 
  elseif ($1 < 276) return 3 
  elseif ($1 < 388) return 4 
  elseif ($1 < 512) return 5 
  elseif ($1 < 650) return 6 
  elseif ($1 < 801) return 7 
  elseif ($1 < 969) return 8 
  elseif ($1 < 1154) return 9 
  elseif ($1 < 1358) return 10 
  elseif ($1 < 1584) return 11 
  elseif ($1 < 1833) return 12 
  elseif ($1 < 2107) return 13 
  elseif ($1 < 2411) return 14 
  elseif ($1 < 2746) return 15 
  elseif ($1 < 3115) return 16 
  elseif ($1 < 3523) return 17 
  elseif ($1 < 3973) return 18 
  elseif ($1 < 4470) return 19 
  elseif ($1 < 5018) return 20 
  elseif ($1 < 5624) return 21 
  elseif ($1 < 6291) return 22 
  elseif ($1 < 7028) return 23 
  elseif ($1 < 7842) return 24 
  elseif ($1 < 8740) return 25 
  elseif ($1 < 9730) return 26 
  elseif ($1 < 10824) return 27 
  elseif ($1 < 12031) return 28 
  elseif ($1 < 13363) return 29 
  elseif ($1 < 14833) return 30 
  elseif ($1 < 16456) return 31 
  elseif ($1 < 18247) return 32 
  elseif ($1 < 20224) return 33 
  elseif ($1 < 22406) return 34 
  elseif ($1 < 24815) return 35 
  elseif ($1 < 27473) return 36 
  elseif ($1 < 30408) return 37 
  elseif ($1 < 33648) return 38 
  elseif ($1 < 37224) return 39 
  elseif ($1 < 41171) return 40 
  elseif ($1 < 45529) return 41 
  elseif ($1 < 50339) return 42 
  elseif ($1 < 55649) return 43 
  elseif ($1 < 61512) return 44 
  elseif ($1 < 67983) return 45 
  elseif ($1 < 75127) return 46 
  elseif ($1 < 83014) return 47 
  elseif ($1 < 91721) return 48 
  elseif ($1 < 101333) return 49 
  elseif ($1 < 111945) return 50 
  elseif ($1 < 123660) return 51 
  elseif ($1 < 136594) return 52 
  elseif ($1 < 150872) return 53 
  elseif ($1 < 166636) return 54 
  elseif ($1 < 184040) return 55 
  elseif ($1 < 203254) return 56 
  elseif ($1 < 224466) return 57 
  elseif ($1 < 247886) return 58 
  elseif ($1 < 273742) return 59 
  elseif ($1 < 302288) return 60 
  elseif ($1 < 333804) return 61 
  elseif ($1 < 368599) return 62 
  elseif ($1 < 407015) return 63 
  elseif ($1 < 449428) return 64 
  elseif ($1 < 496254) return 65 
  elseif ($1 < 547953) return 66 
  elseif ($1 < 605032) return 67 
  elseif ($1 < 668051) return 68 
  elseif ($1 < 737627) return 69 
  elseif ($1 < 814445) return 70 
  elseif ($1 < 899257) return 71 
  elseif ($1 < 992895) return 72 
  elseif ($1 < 1096278) return 73 
  elseif ($1 < 1210421) return 74 
  elseif ($1 < 1336443) return 75 
  elseif ($1 < 1475581) return 76 
  elseif ($1 < 1629200) return 77 
  elseif ($1 < 1798808) return 78 
  elseif ($1 < 1986068) return 79 
  elseif ($1 < 2192818) return 80 
  elseif ($1 < 2421087) return 81 
  elseif ($1 < 2673114) return 82 
  elseif ($1 < 2951373) return 83 
  elseif ($1 < 3258594) return 84 
  elseif ($1 < 3597792) return 85 
  elseif ($1 < 3972294) return 86 
  elseif ($1 < 4385776) return 87 
  elseif ($1 < 4842295) return 88 
  elseif ($1 < 5346332) return 89 
  elseif ($1 < 5902831) return 90 
  elseif ($1 < 6517253) return 91 
  elseif ($1 < 7195629) return 92 
  elseif ($1 < 7944614) return 93 
  elseif ($1 < 8771558) return 94 
  elseif ($1 < 9684577) return 95 
  elseif ($1 < 10692629) return 96 
  elseif ($1 < 11805606) return 97 
  elseif ($1 < 13034431) return 98 
  else return 99 
}