All pastes #348851 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-02-10 11:42 UTC
rendered paste body
on *:TEXT:*:#: {
  inc %ID 1
  if ($setskill($remove($1,@,!,.))) { set $+(%,skill.skill.,%ID) $setskill($remove($1,@,!,.))
    set $+(%,skill.nick.,%ID) $nick
    set $+(%,skill.target.,%ID) $replace($2-,$chr(32),$chr(37) $+ 20)
    set $+(%,skill.return.,%ID) $iif($left($1,1) == @,msg $chan,notice $nick)
    if ($len($2-) > 12) { 
      $($+(%,skill.return.,%ID),2) 14The nickname4 $2- 14is too long
      unset $+(%,skill.*)
      halt 
    } 
    if ($2) set $+(%,skill.target.,%ID) $replace($2-,$chr(32),$chr(95)) 
    elseif ($readini(DefRSN.ini,RSNs,$mask($fulladdress,3))) set $+(%,skill.target.,%ID) $ifmatch 
    elseif ($readini(DefRSN.ini,RSNs,$nick)) set $+(%,skill.target.,%ID) $ifmatch 
    else set $+(%,skill.target.,%ID) $nick 
    sockopen $+(skill.,%ID) www.o-ss.net 80
  }
  else { halt }
}
on *:SOCKOPEN:skill.*:{
  var %ID = $gettok($sockname,2,46)
  sockwrite -nt $sockname GET /parsers/skills.php?user= $+ $($+(%,skill.target.,%ID),2) $+ &skill= $+ $($+(%,skill.skill.,%ID),2) HTTP/1.1
  sockwrite -nt $sockname Host: www.o-ss.net $+ $crlf $+ $crlf
}
on *:SOCKREAD:skill.*:{
  var %ID = $gettok($sockname,2,46), $&
    %file = $sockname, $&
    %rank = rank. $+ $gettok($sockname,2,46), $&
    %level = level. $+ $gettok($sockname,2,46), $&
    %Exp = Exp. $+ $gettok($sockname,2,46)
  if ($sockerr) { 
    echo -a Error. 
    halt 
  }
  else {
    var %read 
    sockread %read
    if (*END* iswm %read) { 
      var %read $remove(%read,end)
      tokenize 32 %read
      /hadd -m %file %rank $1
      /hadd -m %file %level $2
      /hadd -m %file %exp $3
      if (!$hget(%file,%level)) { $($+(%,skill.return.,%ID),2) 14The nickname:4 $($+(%,skill.target.,%ID),2) 14did not feature in runescape highscores! | sockclose $sockname | unset $+(%,skill.*) | halt }
      $($+(%,skill.return.,%ID),2) 4 $+ $($+(%,skill.skill.,%ID),2) 14stats for4 $($+(%,skill.target.,%ID),2) $+ 14:
      $($+(%,skill.return.,%ID),2) 14Level:4 $hget(%file,%level) 14Rank:4 $hget(%file,%rank)
      $($+(%,skill.return.,%ID),2) 14Exp:4 $hget(%file,%exp) 14Exp for4 $calc($hget(%file,%level) + 1) 14 $+ $($+(%,skill.target.,%ID),2) $+ 14:4 $comma($xp2next($hget(%file,%level),$hget(%file,%exp)))
      $($+(%,skill.return.,%ID),2) %logo
      unset $+(%,skill.*)
      sockclose $sockname
    }
  }
}
Alias -l comma { Var %a, %b = $regsub($ticks,$$1,/\G([+-]?\d+?)(?=(?:\d{3})++(?=\.\d++$|$))/g,\1 $+ $chr(44),%a) | Return %a }
alias -l xp2Next { var %xp = $remove($2,$chr(44)), %nextxp = $xp($calc($1 + 1)) | return $calc(%nextxp - %xp) } 
alias -l setskill {
  if ($1 == 0) || ($regex($1,/^(st|(skill)?total|overall)$/Si)) return Overall
  elseif ($regex($1,/^at(t|k|tack)$/Si)) return Attack
  elseif ($regex($1,/^def(en[cs]e)?$$/Si)) return Defence
  elseif ($regex($1,/^str(ength)?$/Si)) return Strength
  elseif ($regex($1,/^hp|hit(s|points?)?$/Si)) return Hitpoints
  elseif ($regex($1,/^range(r|d|ing)?$/Si)) return Ranged
  elseif ($regex($1,/^Pray(er)?$$/Si)) return Prayer
  elseif ($regex($1,/^mag(e|ic)$$/Si)) return Magic
  elseif ($regex($1,/^cook(ing)?$/Si)) return Cooking
  elseif ($regex($1,/^wc|wood(cut(ting)?)?$/Si)) return Woodcutting
  elseif ($regex($1,/^fletch(ing)?$/Si)) return Fletching
  elseif ($regex($1,/^fish(ing)?$/Si)) return Fishing
  elseif ($regex($1,/^(fire|fm)(make?(ing)?|ing)?$/Si)) return Firemaking
  elseif ($regex($1,/^craft(ing)?$/Si)) return Crafting
  elseif ($regex($1,/^(smith|smelt)(ing)?$/Si)) return Smithing
  elseif ($regex($1,/^mine(ing)?$/Si)) return Mining
  elseif ($regex($1,/^herb(law|lore)?$/Si)) return Herblore
  elseif ($regex($1,/^agil(ity)?$/Si)) return Agility
  elseif ($regex($1,/^(th(ei|ie)[fv](e|ing)?)$/Si)) return Thieving
  elseif ($regex($1,/^slay(er|ing)?$/Si)) return Slayer
  elseif ($regex($1,/^farm(er|ing)?$/Si)) return Farming
  elseif ($regex($1,/^(rc|runecraft)(er|ing)?$/Si)) return Runecrafting
  elseif ($regex($1,/^(hunt)(er|ing)?$/si)) return Hunter
  elseif ($regex($1,/^(con)(ion|ing)?$/si)) return Construction
}