All pastes #810480 Raw Edit

Something

public text v1 · immutable
·published 2007-12-09 23:56 UTC
rendered paste body
on $*:TEXT:/^[@!.](def|set)(name|rsn) */Si:#: {
  var %Saystyle.s = $iif($left($1,1) == @,.msg $chan,.notice $nick)
  if ($2) {
    writeini rsn.ini $address($nick,3) rsn $capwords($replace($2-,$chr(32),_,-,_))
    %saystyle.s Your default RuneScape name is now $capwords($replace($2-,$chr(32),_,-,_)) $+ . This RSN is associated with the address $address($nick,3) $+ .
  }
  if (!$2) {
    writeini rsn.ini $address($nick,3) rsn $capwords($nick)
    %saystyle.s Your default RuneScape name is now $capwords($nick) $+ . This RSN is associated with the address $address($nick,3) $+ .
  }
}
on $*:TEXT:/^[@!.](name|rsn) */Si:#: {
  var %Saystyle.s = $iif($left($1,1) == @,.msg $chan,.notice $nick)
  if ($2 && $rsn($2)) {
    %saystyle.s 7 $+ $capwords($2) $+ 's rsn is7 $rsn($2-)
  }
  if ($2 && !$rsn($2)) {
    %saystyle.s No RSN for $2-
  }
  if (!$2 && $rsn($nick)) {
    %saystyle.s 7 $+ $capwords($nick) $+ 's rsn is7 $rsn($nick)
  }
  if (!$2 && !$rsn($nick)) {
    %saystyle.s No RSN for $nick
  }
}
on *:TEXT:*:#: {
  if ($smart($right($1,-1)) == stats || $smart($right($1,-1)) == combat || $smart($right($1,-1)) == compare || $smart($right($1,-1)) == duel) { halt }
  if (($left($1,1) != $chr(64)) && ($left($1,1) != $chr(33)) && ($left($1,1) != $chr(46))) { Halt }
  if (!$right($1,-1)) { halt }
  var %class2 = $+($r(0,9),$r(0,9),$r(0,9),$r(0,9),$r(0,9),$r(0,9))
  var %valid $remove($1,!,@,.)
  if ($smart(%valid) != nomatch) {
    hadd -m $+(a,%class2) skill $smart(%valid)
    if ($left($2,1) != $chr(35)) {
      if (!$3 && $2 != @) {
        if ($readini(rsn.ini,$address($replace($remove($2,@),$chr(32),_),3),rsn)) { var %nick = $readini(rsn.ini,$address($replace($remove($2,@),$chr(32),_),3),rsn) }
        if (!$readini(rsn.ini,$address($replace($remove($2,@),$chr(32),_),3),rsn)) { var %nick = $capwords($replace($remove($2,@),$chr(32),_,-,_)) }
      }
      if ($left($3,1) == $chr(35)) {
        if ($readini(rsn.ini,$address($replace($remove($2,$+($chr(32),@)),$chr(32),_),3),rsn)) { var %nick = $readini(rsn.ini,$address($replace($remove($2,$+($chr(32),@)),$chr(32),_),3),rsn) }
        if (!$readini(rsn.ini,$address($replace($remove($2,$+($chr(32),@)),$chr(32),_),3),rsn)) { var %nick = $capwords($replace($remove($2,$+($chr(32),@)),$chr(32),_,-,_)) }
        hadd -m $+(a,%class2) goal $calc($replace($remove($3,$chr(35)),k,*1000,m,*1000000))
      }
      if ($left($3,1) != $chr(35)) {
        if ($readini(rsn.ini,$address($replace($remove($2-,$+($chr(32),@)),$chr(32),_),3),rsn)) { var %nick = $readini(rsn.ini,$address($replace($remove($2-,$+($chr(32),@)),$chr(32),_),3),rsn) }
        if (!$readini(rsn.ini,$address($replace($remove($2-,$+($chr(32),@)),$chr(32),_),3),rsn)) { var %nick = $capwords($replace($remove($2-,$+($chr(32),@)),$chr(32),_,-,_)) }
      }
    }
    if ($left($2,1) == $chr(35)) {
      if ($readini(rsn.ini,$address($nick,3),rsn)) { var %nick = $readini(rsn.ini,$address($nick,3),rsn) }
      if (!$readini(rsn.ini,$address($nick,3),rsn)) { var %nick = $capwords($nick) }
      hadd -m $+(a,%class2) goal $calc( $replace( $remove($2,$chr(35)) ,k,*1000,m,*1000000) )
    }
    if ($left($2,1) == $chr(64)) {
      if ($readini(rsn.ini,$address($nick,3),rsn)) { var %nick = $readini(rsn.ini,$address($nick,3),rsn) }
      if (!$readini(rsn.ini,$address($nick,3),rsn)) { var %nick = $capwords($nick) }
    }
    if (!$2) {
      if ($readini(rsn.ini,$address($nick,3),rsn)) { var %nick = $readini(rsn.ini,$address($nick,3),rsn) }
      if (!$readini(rsn.ini,$address($nick,3),rsn)) { var %nick = $capwords($nick) }
    }
    if ($2 == @ || $3 == @ || $4 == @) { hadd -m $+(a,%class2) list yes }
    hadd -m $+(a,%class2) nick %nick
    hadd -m $+(a,%class2) out $iif($left($1,1) == @,.msg $chan,.notice $nick)
    sockopen $+(stat.,$+(a,%class2)) hiscore.runescape.com 80
  }
  if ($smart(%valid) = nomatch) { unset %saystyle.s }
}
on *:sockopen:stat.*: {
  sockwrite -n $sockname GET /lang/en/aff/runescape/overall.ws?table= $+ $smartno($hget($gettok($sockname,2,46),skill)) $+ &user= $+ $hget($gettok($sockname,2,46),nick)
  sockwrite -n $sockname Host: hiscore.runescape.com $+ $crlf $+ $crlf
}
on *:sockread:stat.*: {
  if ($sockerr) {
    $hget($gettok($sockname,2,46),out) There was a socket error.
    halt
  }
  var %stat
  .sockread %stat
  if (*#AA0022* iswm %stat && %stat.lvl && !%stat.exp) { 
    .set %stat.exp $nohtml(%stat)
    if ($hget($gettok($sockname,2,46),skill) != Overall) { 
      .set %stat.level $virtual($remove(%stat.exp,$chr(44)))
    }
    if ($hget($gettok($sockname,2,46),skill) == Overall) {
      .set %stat.level $remove(%stat.lvl,$chr(44))
    }
  }
  if (*#AA0022* iswm %stat && %stat.name && !%stat.lvl) { .set %stat.lvl $nohtml(%stat) }
  if (*#AA0022* iswm %stat && %stat.rank && !%stat.name) { .set %stat.name $nohtml(%stat) }
  if (*#AA0022* iswm %stat && !%stat.rank) { .set %stat.rank $nohtml(%stat) }
}
on *:Sockclose:stat.*: {
  if (!%stat.exp) { $hget($gettok($sockname,2,46),out) User $hget($gettok($sockname,2,46),nick) not found }
  else { 
    if (!$hget($gettok($sockname,2,46),goal)) {
      $hget($gettok($sockname,2,46),out) User:7 $hget($gettok($sockname,2,46),nick)  $+ $chr(124) Skill:7 $hget($gettok($sockname,2,46),skill)
      $hget($gettok($sockname,2,46),out) Rank:7 %stat.rank  $+ $chr(124) Lvl:7 %stat.lvl (07 $+ %stat.level $+ ) $chr(124) Exp:7 %stat.exp  $&
        $xp2lvl
    }
    if ($hget($gettok($sockname,2,46),goal)) {
      $hget($gettok($sockname,2,46),out) User:7 $hget($gettok($sockname,2,46),nick)  $+ $chr(124) Skill:7 $hget($gettok($sockname,2,46),skill)
      $hget($gettok($sockname,2,46),out) Rank:7 %stat.rank  $+ $chr(124) Lvl:7 %stat.lvl (07 $+ %stat.level $+ ) $chr(124) Exp:7 %stat.exp  $&
        $xp2goal
    }
    if ($tracked($hget($gettok($sockname,2,46),nick)) == tracked) {
      if ($calc($remove(%stat.exp,$chr(44)) - $readini(today.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),xp))) > 0) { var %today.xp = $+(03,$bytes($calc($remove(%stat.exp,$chr(44)) - $readini(today.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),xp))),db)) $+(xp,$chr(44)) }
      if ($calc($remove(%stat.lvl,$chr(44)) - $readini(today.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),lvl))) > 0) { var %today.lvl = $+(03,$bytes($calc($remove(%stat.lvl,$chr(44)) - $readini(today.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),lvl))),db)) $+(lvls,$chr(44)) }
      if ($calc($readini(today.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),rank)) - $remove(%stat.rank,$chr(44))) < 0) { var %today.rank = $+(04,$bytes($calc($readini(today.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),rank)) - $remove(%stat.rank,$chr(44))),db)) ranks }
      if ($calc($readini(today.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),rank)) - $remove(%stat.rank,$chr(44))) > 0) { var %today.rank = $+(03,+,$bytes($calc($readini(today.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),rank)) - $remove(%stat.rank,$chr(44))),db)) ranks }
      if (%today.xp || %today.rank) { var %today.title = Today: }
      if ($calc($remove(%stat.exp,$chr(44)) - $readini(week.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),xp))) > 0) { var %week.xp = $+(03,$bytes($calc($remove(%stat.exp,$chr(44)) - $readini(week.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),xp))),db)) $+(xp,$chr(44)) }
      if ($calc($remove(%stat.lvl,$chr(44)) - $readini(week.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),lvl))) > 0) { var %week.lvl = $+(03,$bytes($calc($remove(%stat.lvl,$chr(44)) - $readini(week.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),lvl))),db)) $+(lvls,$chr(44)) }
      if ($calc($readini(week.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),rank)) - $remove(%stat.rank,$chr(44))) < 0) { var %week.rank = $+(04,$bytes($calc($readini(week.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),rank)) - $remove(%stat.rank,$chr(44))),db)) ranks }
      if ($calc($readini(week.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),rank)) - $remove(%stat.rank,$chr(44))) > 0) { var %week.rank = $+(03,+,$bytes($calc($readini(week.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),rank)) - $remove(%stat.rank,$chr(44))),db)) ranks }
      if (%week.xp || %week.rank) { var %week.title = $chr(124) Week: }
      if ($calc($remove(%stat.exp,$chr(44)) - $readini(month.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),xp))) > 0) { var %month.xp = $+(03,$bytes($calc($remove(%stat.exp,$chr(44)) - $readini(month.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),xp))),db)) $+(xp,$chr(44)) }
      if ($calc($remove(%stat.lvl,$chr(44)) - $readini(month.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),lvl))) > 0) { var %month.lvl = $+(03,$bytes($calc($remove(%stat.lvl,$chr(44)) - $readini(month.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),lvl))),db)) $+(lvls,$chr(44)) }
      if ($calc($readini(month.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),rank)) - $remove(%stat.rank,$chr(44))) < 0) { var %month.rank = $+(04,$bytes($calc($readini(month.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),rank)) - $remove(%stat.rank,$chr(44))),db)) ranks }
      if ($calc($readini(month.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),rank)) - $remove(%stat.rank,$chr(44))) > 0) { var %month.rank = $+(03,+,$bytes($calc($readini(month.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),rank)) - $remove(%stat.rank,$chr(44))),db)) ranks }
      if (%month.xp || %month.rank) { var %month.title = $chr(124) Month: }
      if ($calc($remove(%stat.exp,$chr(44)) - $readini(year.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),xp))) > 0) { var %year.xp = $+(03,$bytes($calc($remove(%stat.exp,$chr(44)) - $readini(year.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),xp))),db)) $+(xp,$chr(44)) }
      if ($calc($remove(%stat.lvl,$chr(44)) - $readini(year.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),lvl))) > 0) { var %year.lvl = $+(03,$bytes($calc($remove(%stat.lvl,$chr(44)) - $readini(year.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),lvl))),db)) $+(lvls,$chr(44)) }
      if ($calc($readini(year.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),rank)) - $remove(%stat.rank,$chr(44))) < 0) { var %year.rank = $+(04,$bytes($calc($readini(year.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),rank)) - $remove(%stat.rank,$chr(44))),db)) ranks }
      if ($calc($readini(year.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),rank)) - $remove(%stat.rank,$chr(44))) > 0) { var %year.rank = $+(03,+,$bytes($calc($readini(year.ini,$hget($gettok($sockname,2,46),nick),$+($hget($gettok($sockname,2,46),skill),rank)) - $remove(%stat.rank,$chr(44))),db)) ranks }
      if (%year.xp || %year.rank) { var %year.title = $chr(124) Year: }
      if (%year.xp || %year.rank) { $hget($gettok($sockname,2,46),out) %today.title %today.xp %today.lvl %today.rank %week.title %week.xp %week.lvl %week.rank %month.title %month.xp %month.lvl %month.rank %year.title %year.xp %year.lvl %year.rank }
    }
  }
  if ($hget($gettok($sockname,2,46),list) == yes && $first(1) > 0) {
    $hget($gettok($sockname,2,46),out) Required for07 $bytes(%xp,db) $hget($gettok($sockname,2,46),skill) Exp: $&
       $+ $first(1) 07 $+ $bytes($round($calc(%xp /$first(2)),0),db) $&
       $+ $secon(1) 07 $+ $bytes($round($calc(%xp /$secon(2)),0),db) $&
       $+ $third(1) 07 $+ $bytes($round($calc(%xp /$third(2)),0),db) $&
       $+ $forth(1) 07 $+ $bytes($round($calc(%xp /$forth(2)),0),db)
  }
  unset %stat.*
  unset %skill
  unset %today.*
  unset %week.*
  unset %month.*
  unset %year.*
  unset %xp
}
alias first { return $gettok($readini($mircdirparam\itemto.ini,$hget($gettok($sockname,2,46),skill),1),$1,124) }
alias secon { return $gettok($readini($mircdirparam\itemto.ini,$hget($gettok($sockname,2,46),skill),2),$1,124) }
alias third { return $gettok($readini($mircdirparam\itemto.ini,$hget($gettok($sockname,2,46),skill),3),$1,124) }
alias forth { return $gettok($readini($mircdirparam\itemto.ini,$hget($gettok($sockname,2,46),skill),4),$1,124) }
alias xp2lvl {
  var %less99 = $calc(($remove(%stat.exp,$chr(44)) /13034431)*100)
  if (%skill != Overall && $remove(%stat.exp,$chr(44)) <= 199999999) {
    if ($virtual($remove(%stat.exp,$chr(44))) <= 125) { 
      var %xp2lvl = $calc((($remove(%stat.exp ,$chr(44))-$readini(exp.ini,lvl,%stat.level ))/($readini(exp.ini,lvl,$calc(%stat.level +1))-$readini(exp.ini,lvl,%stat.level )))*100))
      set %xp $calc($readini(exp.ini,lvl,$calc(%stat.level +1)) - $remove(%stat.exp,$chr(44)))
      return (07 $+ $round(%less99,2) $+ % of 99)  $+ $chr(124) Exp till $calc(%stat.level +1) $+ :7 $bytes(%xp,db) $&
        ( $+ 07 $+ $round(%xp2lvl,2) $+ % of $calc(%stat.level +1) $+ )
    }
    if ($virtual($remove(%stat.exp,$chr(44))) == 126) { 
      var %xp2lvl = $calc((($remove(%stat.exp ,$chr(44))-$readini(exp.ini,lvl,%stat.level ))/(200000000-$readini(exp.ini,lvl,%stat.level )))*100))
      set %xp $calc(200000000-$remove(%stat.exp,$chr(44)))
      return (07 $+ $round(%less99,2) $+ % of 99)  $+ $chr(124) Exp till max $+ :7 $bytes($calc(200000000-$remove(%stat.exp,$chr(44))),db) $&
        ( $+ 07 $+ $round(%xp2lvl,2) $+ % of max $+ )
    }
  }
}
alias xp2goal {
  var %less99 = $calc(($remove(%stat.exp,$chr(44)) /13034431)*100)
  if ($hget($gettok($sockname,2,46),goal) < 127) {
    var %xp2lvl = $calc(($remove(%stat.exp ,$chr(44))/$readini(exp.ini,lvl,$hget($gettok($sockname,2,46),goal)))*100)
    set %xp $calc($readini(exp.ini,lvl,$hget($gettok($sockname,2,46),goal)) - $remove(%stat.exp,$chr(44)))
    if (%skill != Overall && %skill != Duel) {
      return (07 $+ $round(%less99,2) $+ % of 99)  $+ $chr(124) Exp till $hget($gettok($sockname,2,46),goal) $+ :7 $bytes($calc($readini(exp.ini,lvl,$hget($gettok($sockname,2,46),goal)) - $remove(%stat.exp,$chr(44))),db) $&
        ( $+ 07 $+ $round(%xp2lvl,2) $+ % of $hget($gettok($sockname,2,46),goal) $+ ) 
    }
  }
  if ($hget($gettok($sockname,2,46),goal) > 126) {
    var %xp2lvl = $calc(($remove(%stat.exp,$chr(44))/ $hget($gettok($sockname,2,46),goal))*100)
    set %xp $calc($hget($gettok($sockname,2,46),goal) - $remove(%stat.exp,$chr(44)))
    if (%skill != Duel) {
      if ($hget($gettok($sockname,2,46),goal) < 1000000) {
        return (07 $+ $round(%less99,2) $+ % of 99)  $+ $chr(124) Exp till $+($bytes($round($calc($hget($gettok($sockname,2,46),goal) /1000),1),db),k) $+ :7 $bytes($calc($hget($gettok($sockname,2,46),goal) - $remove(%stat.exp,$chr(44))),db) $&
          ( $+ 07 $+ $round(%xp2lvl,2) $+ % of $+($bytes($round($calc($hget($gettok($sockname,2,46),goal) /1000),1),db),k) $+ ) 
      }
      if ($hget($gettok($sockname,2,46),goal) > 999999) {
        return (07 $+ $round(%less99,2) $+ % of 99)  $+ $chr(124) Exp till $+($bytes($round($calc($hget($gettok($sockname,2,46),goal) /1000000),1),db),M) $+ :7 $bytes($calc($hget($gettok($sockname,2,46),goal) - $remove(%stat.exp,$chr(44))),db) $&
          ( $+ 07 $+ $round(%xp2lvl,2) $+ % of $+($bytes($round($calc($hget($gettok($sockname,2,46),goal) /1000000),1),db),M) $+ ) 
      }
    }
  }