All pastes #747489 Raw Edit

Mine

public text v1 · immutable
·published 2007-10-24 02:25 UTC
rendered paste body
on
$*:TEXT:/^[!@]((def|set)?(name|rsn)|p(est|c)|stats?|overall?|totaa?l|co?mb|att|def|str|h(p|it)|rang|pray|mag[ie]|cook|w(c|ood)|flet|fish|f(m|iremak)|craft|smith|min|herb|agi|th(ie|ei)|slay|farm|r(c|une)|hunt|c(s|on))/Si:#:{
  if ($regex($1,/^[!@](def|set)?(name|rsn)/Si)) {
    if (!$2) notice $nick $+($c1,[,$c2,You didn't specify a name!
    Please type,$c1 $1 name])
    else {
      writeini defname.ini Defname $address($nick,3) $hr($2-)
      notice $nick $+($c1,[,$c2,The nick $c1,$2- $c2,is now set for
      your host,$c1,])
    }
  }
  else {
    inc %sc | sockopen $+(stats.,%sc) o-ss.net 80
    if ($regex($1,/^[!@]p(est|c)/Si)) sockmark $+(stats.,%sc)
    $iif($regex($1,/^@/Si),msg $chan,notice $nick)
    $iif($regex($left($3,1),/^[#-]/Si),$iif($4,$hr($4-),$iif($readini(defname.ini,defname,$address($nick,3)),$v1,$nick)),$iif($3,$hr($3-),$iif($readini(defname.ini,defname,$address($nick,3)),$v1,$nick)))
    $+(p.,$StatsID($2))
    $iif($regex($left($3,1),/^[#-]/Si),$remove($3,$chr(35),-))
    else sockmark $+(stats.,%sc) $iif($regex($1,/^@/Si),msg
    $chan,notice $nick)
    $iif($regex($left($2,1),/^[#-]/Si),$iif($3,$hr($3-),$iif($readini(defname.ini,defname,$address($nick,3)),$v1,$nick)),$iif($2,$hr($2-),$iif($readini(defname.ini,defname,$address($nick,3)),$v1,$nick)))
    $StatsID($1) $iif($regex($left($2,1),/^[#-]/Si),$remove($2,$chr(35),-))
  }
}
on *:SOCKOPEN:stats.*:{
  sockwrite -nt $sockname GET /parsers/stats.php?user= $+
  $gettok($sock($sockname).mark,3,32) HTTP/1.1
  sockwrite -nt $sockname Host: o-ss.net
  sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:stats.*:{
  var %rs | sockread %rs
  if ((*does not feature* iswm %rs) && ($sockname)) {
    $gettok($sock($sockname).mark,1-2,32)
    $+($c1,[,$sr($gettok($sock($sockname).mark,3,32)) $c2,does not feature in the highscores for $c1,any
    skill])
    sockclose $sockname
  }
  elseif ((*overall* iswm %rs) && ($gettok($sock($sockname).mark,4,32)
  == overall) && ($sockname)) {
    var %z = %rs, %c = 1
    while (%c <= 23) { sockread %rs | tokenize 32 %rs | if ($3 !=
      ranked) var %z = %z $+($gettok(%rs,1,32),: $c1,$gettok(%rs,3,32),$c2) | if
      (%c isnum 1-7) var %k = %k $iif($3 == ranked,$iif($1 ==
    hitpoints,10,1),$3) | inc %c } | tokenize 32 %z
    $gettok($sock($sockname).mark,1-2,32) $+($c1,[,$c2,Overall for
    $sr($gettok($sock($sockname).mark,3,32)),$c1,] [,$c2,Combat:,$c1 $cmb(%k
    $sockname) |,$c2 Total: $c1,$3 |,$c2 Rank: $c1,$2 |,$c2 Exp: $c1,$4,])
    $gettok($sock($sockname).mark,1-2,32)
    $+($c1,[,$c2,$left($gettok(%z,5-,32),-3),$c1,])
    sockclose $sockname
  }
  elseif
  ((!$regex($gettok($sock($sockname).mark,4,32),/(overall|combat)/Si)) && ($+(*,$gettok($sock($sockname).mark,4,32),*) iswm %rs) &&
  ($sockname)) {
    if ($gettok(%rs,2,32) == not) $gettok($sock($sockname).mark,1-2,32)
    $+($c1,[,$sr($gettok($sock($sockname).mark,3,32)) $c2,does not feature
    in the highscores for $c1,$gettok($sock($sockname).mark,4,32),])
    else $gettok($sock($sockname).mark,1-2,32)
    $+($c1,[,$c2,$gettok($sock($sockname).mark,4,32) for
    $c1,$sr($gettok($sock($sockname).mark,3,32)),] [,$c2,Level: $c1,$gettok(%rs,3,32) |,$c2 Rank:
    $c1,$gettok(%rs,2,32) |,$c2 Exp: $c1,$gettok(%rs,4,32),$iif($gettok(%rs,3,32) !=
    99,$+($chr(32),|,$c2 Exp till level
    $c1,$iif($gettok($sock($sockname).mark,5,32),$v1,$calc($gettok(%rs,3,32) + 1)),$c2,:,$c1
    $bytes($calc($exp($iif($gettok($sock($sockname).mark,5,32),$v1,$calc($gettok(%rs,3,32) + 1))) -
    $remove($gettok(%rs,4,32),$chr(44))),bd))),]) 
    sockclose $sockname
  }
  elseif ((*attack* iswm %rs) && ($gettok($sock($sockname).mark,4,32)
  == combat) && ($sockname)) {
    var %c = $iif($gettok(%rs,3,32) != ranked,$v1,1), %z = 1
    while (%z <= 6) { sockread %rs | var %c = %c $iif($gettok(%rs,3,32)
    != ranked,$v1,$iif($gettok(%rs,1,32) == hitpoints,10,1)) | inc %z } |
    tokenize 32 %c
    $gettok($sock($sockname).mark,1-2,32) $+($c1,[,$c2,Combat for
    $c1,$sr($gettok($sock($sockname).mark,3,32)),] [,$c2,Combat: $c1,$cmb(%c
    $sockname),] [,$c2,Att:,$c1 $1 |,$c2 Str:,$c1 $3 |,$c2 Def:,$c1 $2 |,$c2
    Hp:,$c1 $4 |,$c2 Ranged:,$c1 $5 |,$c2 Pray:,$c1 $6 |,$c2 Magic:,$c1
    $7,])
    $gettok($sock($sockname).mark,1-2,32) $+($c1,[,$c2,Stats till
    combat
    $c1,$iif($gettok($sock($sockname).mark,5,32),$v1,$calc($gettok($cmb(%c $sockname),1,46) + 1)),] [,$c2,$iif($gettok($cmb(%c $sockname),2,32)
    == melee,$+(Att/Str: $c1,$cc1($cmb(%c $sockname)
    $iif($gettok($sock($sockname).mark,5,32),$calc($v1 - 1),$cmb(%c
    $sockname))))),$iif($gettok($cmb(%c $sockname),2,32) == ranged,$+(Ranged: $c1,$cc3($cmb(%c
    $sockname) $iif($gettok($sock($sockname).mark,5,32),$calc($v1 - 1),$cmb(%c
    $sockname))))),$&
      $iif($gettok($cmb(%c $sockname),2,32) == magic,$+(Magic:
    $c1,$cc3($cmb(%c $sockname) $iif($gettok($sock($sockname).mark,5,32),$calc($v1
    - 1),$cmb(%c $sockname))))),$chr(32),|,$c2 Hp/Def: $c1,$cc2($cmb(%c
    $sockname) $iif($gettok($sock($sockname).mark,5,32),$calc($v1 - 1),$cmb(%c
    $sockname))) |,$c2 Pray: $c1,$cc4($cmb(%c $sockname)
    $iif($gettok($sock($sockname).mark,5,32),$calc($v1 - 1),$cmb(%c $sockname))),])
    sockclose $sockname
  }
  elseif ((*overall* iswm %rs) && ($gettok($sock($sockname).mark,4,32)
  == combatp) && ($sockname)) {
    var %o = $iif($gettok(%rs,4,32),$remove($v1,$chr(44)),0), %z = 1
    while (%z <= 7) { sockread %rs | var %c = $calc(%c +
    $iif($gettok(%rs,4,32),$remove($v1,$chr(44)),0)) | inc %z }
    $gettok($sock($sockname).mark,1-2,32) $+($c1,[,$c2,Combat
    percentage of $c1,$sr($gettok($sock($sockname).mark,3,32)),] [,$c2,Total
    Exp:,$c1 $bytes(%o,bd) |,$c2 Combat Exp:,$c1 $bytes(%c,bd) |,$c2 Combat
    Percentage:,$c1 $round($calc((%c / %o) * 100),2),$chr(37),])
    sockclose $sockname
  }
  elseif ((p.* iswm $gettok($sock($sockname).mark,4,32)) &&
  ($+(*,$remove($gettok($sock($sockname).mark,4,32),p.),*) iswm %rs) && ($sockname))
  {
    if ($gettok(%rs,2,32) == not) $gettok($sock($sockname).mark,1-2,32)
    $+($c1,[,$sr($gettok($sock($sockname).mark,3,32)) $c2,does not feature
    in the highscores for
    $c1,$remove($gettok($sock($sockname).mark,4,32),p.),])
    elseif ($gettok(%rs,3,32) == 99)
    $gettok($sock($sockname).mark,1-2,32) $+($c1,[,$c2,$remove($gettok($sock($sockname).mark,4,32),p.) for
    $c1,$sr($gettok($sock($sockname).mark,3,32)) $c2,is already 99,$c1,])
    else {
      var %m =
      $calc($gettok($calc(($exp($iif($gettok($sock($sockname).mark,5,32),$v1,$calc($gettok(%rs,3,32) + 1))) -
      $remove($gettok(%rs,4,32),$chr(44))) / ($gettok($calc(($gettok(%rs,3,32) * $gettok(%rs,3,32))
      / $iif($remove($gettok($sock($sockname).mark,4,32),p.) ==
      prayer,12,6)),1,46) + 1)),1,46) + 1)
      $gettok($sock($sockname).mark,1-2,32)
      $+($c1,[,$c2,$remove($gettok($sock($sockname).mark,4,32),p.) for
      $c1,$sr($gettok($sock($sockname).mark,3,32)),] [,$c2,Level: $c1,$gettok(%rs,3,32) |,$c2 Rank:
      $c1,$gettok(%rs,2,32) |,$c2 Exp: $c1,$gettok(%rs,4,32),])
      $gettok($sock($sockname).mark,1-2,32) $+($c1,[,$c2,Exp till level

      $c1,$iif($gettok($sock($sockname).mark,5,32),$v1,$calc($gettok(%rs,3,32) + 1)),$c2,:,$c1
      $bytes($calc($exp($iif($gettok($sock($sockname).mark,5,32),$v1,$calc($gettok(%rs,3,32) + 1))) -
      $remove($gettok(%rs,4,32),$chr(44))),bd),] [,$c2,PC Tickets (1):,$c1 $bytes(%m,bd) |,$c2 PC
      Tickets (100):,$c1 $bytes($gettok($calc(((%m / 10) * 9) + 1),1,46),bd),])
      sockclose $sockname
    }
  }
}
alias -l c1 return $+($chr(3),14)
alias -l c2 return $+($chr(3),07)
alias -l hr { return $replace($1-,$chr(32),+,$chr(45),+,$chr(95),+) }
alias -l sr { return $replace($1-,+,$chr(32)) }
alias -l StatsID {
  if ($regex($1,/^([!@])?(stats?|overall?|totaa?l)/Si)) return Overall
  elseif ($regex($1,/^([!@])?co?mb%/Si)) return Combatp
  elseif ($regex($1,/^([!@])?co?mb/Si)) return Combat
  elseif ($regex($1,/^([!@])?att/Si)) return Attack
  elseif ($regex($1,/^([!@])?def/Si)) return Defence
  elseif ($regex($1,/^([!@])?str/Si)) return Strength
  elseif ($regex($1,/^([!@])?h(p|it)/Si)) return Hitpoints
  elseif ($regex($1,/^([!@])?rang/Si)) return Ranged
  elseif ($regex($1,/^([!@])?pray/Si)) return Prayer
  elseif ($regex($1,/^([!@])?mag[ei]/Si)) return Magic
  elseif ($regex($1,/^([!@])?cook/Si)) return Cooking
  elseif ($regex($1,/^([!@])?w(c|oodcut)/Si)) return Woodcutting
  elseif ($regex($1,/^([!@])?flet/Si)) return Fletching
  elseif ($regex($1,/^([!@])?fish/Si)) return Fishing
  elseif ($regex($1,/^([!@])?f(m|iremak)/Si)) return Firemaking
  elseif ($regex($1,/^([!@])?craft/Si)) return Crafting
  elseif ($regex($1,/^([!@])?smith/Si)) return Smithing
  elseif ($regex($1,/^([!@])?min/Si)) return Mining
  elseif ($regex($1,/^([!@])?herb/Si)) return Herblore
  elseif ($regex($1,/^([!@])?agi/Si)) return Agility
  elseif ($regex($1,/^([!@])?th(ie|ei)/Si)) return Thieving
  elseif ($regex($1,/^([!@])?slay/Si)) return Slayer
  elseif ($regex($1,/^([!@])?farm/Si)) return Farming
  elseif ($regex($1,/^([!@])?r(c|une)/Si)) return Runecraft
  elseif ($regex($1,/^([!@])?hunt/Si)) return Hunter
  elseif ($regex($1,/^([!@])?c(s|on)/Si)) return Construction
}
alias -l cmb {
  tokenize 32 $1-
  var %rsc1 [ $+ [ $8 ] ] $calc((($1 * 130) + ($3 * 130)) / 400)
  var %rsc2 [ $+ [ $8 ] ] $calc($iif($and($5,1) == 0,$calc($5 *
  195),$calc((($5 - 1) + ($5 * 2)) * 65)) / 400)
  var %rsc3 [ $+ [ $8 ] ] $calc($iif($and($7,1) == 0,$calc($7 *
  195),$calc((($7 - 1) + ($7 * 2)) * 65)) / 400)
  if ((%rsc1 [ $+ [ $8 ] ] >= %rsc2 [ $+ [ $8 ] ]) && (%rsc1 [ $+ [ $8
  ] ] >= %rsc3 [ $+ [ $8 ] ])) return $calc(%rsc1 [ $+ [ $8 ] ] + ((($2 *
  100) + ($4 * 100) + ($iif($and($6,1) == 0,$6,$calc($6 - 1)) * 50)) /
  400)) Melee Based
  elseif ((%rsc2 [ $+ [ $8 ] ] >= %rsc3 [ $+ [ $8 ] ]) && (%rsc2 [ $+ [
  $8 ] ] >= %rsc1 [ $+ [ $8 ] ])) return $calc(%rsc2 [ $+ [ $8 ] ] +
  ((($2 * 100) + ($4 * 100) + $iif($and($6,1) == 0,$6,$calc($6 - 1)) * 50) /
  400)) Ranged Based
  elseif ((%rsc3 [ $+ [ $8 ] ] >= %rsc1 [ $+ [ $8 ] ]) && (%rsc3 [ $+ [
  $8 ] ] >= %rsc2 [ $+ [ $8 ] ])) return $calc(%rsc3 [ $+ [ $8 ] ] +
  ((($2 * 100) + ($4 * 100) + $iif($and($6,1) == 0,$6,$calc($6 - 1)) * 50) /
  400)) Magic Based
}
alias -l exp { return $gettok(0 83 174 276 388 512 650 801 969 1154
  1358 1584 1833 2107 2411 2746 3115 3523 3973 4470 5018 5624 6291 7028 7842
  8740 9730 10824 12031 13363 14833 16456 18247 20224 22406 24815 27473
  30408 33648 37224 41171 45529 50339 55649 61512 67983 75127 83014 91721
  101333 111945 123660 136594 150872 166636 184040 203254 224466 247886
  273742 302288 333804 368599 407015 449428 496254 547953 605032 668051
  737627 814445 899257 992895 1096278 1210421 1336443 1475581 1629200
  1798808 1986068 2192818 2421087 2673114 2951373 3258594 3597792 3972294
  4385776 4842295 5346332 5902831 6517253 7195629 7944614 8771558 9684577
10692629 11805606 13034431,$1,32) }
alias -l cc1 { tokenize 32 $1 | return
$gettok($calc(((($gettok($4,1,46) + 1) - $1) / 0.325) + 1),1,46) }
alias -l cc2 { tokenize 32 $1 | return
$gettok($calc(((($gettok($4,1,46) + 1) - $1) / 0.25) + 1),1,46) }
alias -l cc3 { tokenize 32 $1 | return
$gettok($calc(((($gettok($4,1,46) + 1) - $1) / 0.4875) + 1),1,46) }
alias -l cc4 { tokenize 32 $1 | return
$gettok($calc(((($gettok($4,1,46) + 1) - $1) / 0.125) + 1),1,46) }