All pastes #715296 Raw Edit

Miscellany

public text v1 · immutable
#715296 ·published 2007-09-26 05:04 UTC
rendered paste body
on *:START:{
  set %en Overall Attack Defence Strength Hitpoints Ranged Prayer Magic Cooking Woodcutting Fletching Fishing Firemaking Crafting Smithing Mining Herblore Agility Thieving Slayer Farming Runecraft Hunter Construction
  set %de Insgesamt Angriff Verteidigung Stärke Lebenspunkte Fernkampf Gebet Magie Kochen Holzfällerei Bognerei Fischen Funkenschlagen Handwerk Schmieden Bergbau Pflanzenkunde Gewandtheit Diebstahl Berserker Landwirtschaft Runenfertigung Jagen Baukunst
  set %nl Totaal Aanval Verdediging Kracht Levenspunten Boogschieten Bidden Magie Koken Houthakken Boogmaken Vissen Vuurmaken Handwerk Smeden Mijnen Plantenkunde Behendigheid Diefstal Slachten Tuinieren Stenenmaken Jagen Bouwen
}
on $*:TEXT:/^[.!@](g|d)?stats( .*)?$/Si:#:{
  if ($2 == zezima) { halt }
  if ($len($2-) > 12) { .notice $nick Error: Name too long | halt }
  if ($2 == $null) { .notice $nick Error: No RSN Specified. | halt }
  var %stats.id $r(10000,99999)
  sockopen $+(stats.,%stats.id) hiscore.runescape.com 80
  sockmark $+(stats.,%stats.id) $chan $nick $+($chr(3),14) $+($chr(3),10) $iif($left($1,1) == @,pu,pr) $replace($2-,$chr(32),+) $lang($1,%stats.id)
}
on *:SockOpen:stats.*:{
  tokenize 32 $sock($sockname).mark
  sockwrite -nt $sockname GET /index_lite.ws?player= $+ $6 HTTP/1.0
  sockwrite -nt $sockname Host: hiscore.runescape.com $+ $str($crlf,2)
}
on *:SockRead:stats.*:{
  var %read | sockread %read | tokenize 44 %read
  if ($0 == 3) {
    if ($1 == -1) && ($2 == -1) { inc $+(%,$sockname,.s) 1 }
    else { inc $+(%,$sockname,.s) 1 | set $+(%,$sockname,.,$gettok($($+(%,$gettok($sock($sockname).mark,7,32)),2),$($+(%,$sockname,.s),2),32),.rank) $iif($1 == -1,Unranked,$1) | set $+(%,$sockname,.,$gettok($($+(%,$gettok($sock($sockname).mark,7,32)),2),$($+(%,$sockname,.s),2),32),.level) $2 | set $+(%,$sockname,.,$gettok($($+(%,$gettok($sock($sockname).mark,7,32)),2),$($+(%,$sockname,.s),2),32),.exp) $3 }
  }
  if ($($+(%,$sockname,.s),2) == 24) {
    if ($($+(%,$sockname,.Overall.level),2) != $null) || ($($+(%,$sockname,.Totaal.level),2) != $null) || ($($+(%,$sockname,.Insgesamt.level),2) != $null) { set $+(%,$sockname,.x) 2 | set $+(%,$sockname,.aa) 0 }
    else { set $+(%,$sockname,.x) 1 | set $+(%,$sockname,.aa) 0 }
    get_cmb $sockname $gettok($sock($sockname).mark,7,32) $gettok($sock($sockname).mark,3,32) $gettok($sock($sockname).mark,4,32)
    var %c1 $gettok($sock($sockname).mark,3,32), %c2 $gettok($sock($sockname).mark,4,32), %send $replace($gettok($sock($sockname).mark,5,32),pu,.msg $gettok($sock($sockname).mark,1,32),pr,.notice $gettok($sock($sockname).mark,2,32))
    if ($gettok($sock($sockname).mark,7,32) == nl) { var %stats.text Persoonlijke scores van, %overall.level $iif($($+(%,$sockname,.Totaal.level),2) == $null,N/A,$replace($bytes($($+(%,$sockname,.Totaal.level),2),b),$chr(44),$chr(46))), %stats.overtext Vaardigheid Totaal: }
    if ($gettok($sock($sockname).mark,7,32) == de) { var %overall.level $iif($($+(%,$sockname,.Insgesamt.level),2) == $null,N/A,$replace($bytes($($+(%,$sockname,.Insgesamt.level),2),b),$chr(44),$chr(46))), %stats.text Persönliche Punktzahl für, %stats.overtext Gesamt-stufe: }
    if ($gettok($sock($sockname).mark,7,32) == en) { var %overall.level $iif($($+(%,$sockname,.Overall.level),2) == $null,N/A,$bytes($($+(%,$sockname,.Overall.level),2),b)), %stats.text Personal Scores for, %stats.overtext Skill Total: }
    while ($var($+(%,$sockname,.*.level),$($+(%,$sockname,.x),2)) < 25) {
      if ($($+(%,$sockname,.x),2) < 14) { set $+(%,$sockname,.printline1) $($+(%,$sockname,.printline1),2) $+(%c1,$gettok($var(%stats.*.level,$($+(%,$sockname,.x),2)),3,46),:,%c2) $($var(%stats.*.level,$($+(%,$sockname,.x),2)),2) | inc $+(%,$sockname,.x) 1 }
      else { set $+(%,$sockname,.printline2) $($+(%,$sockname,.printline2),2) $+(%c1,$gettok($var(%stats.*.level,$($+(%,$sockname,.x),2)),3,46),:,%c2) $($var(%stats.*.level,$($+(%,$sockname,.x),2)),2) | inc $+(%,$sockname,.x),2) 1 }
    }
    if ($($+(%,$sockname,.printline1),2) == $null) { %send %c1 $+ This Person Does Not Appear To Be Listed For Any Skill On The Hiscores | unset $+(%,$sockname,.,*) | halt }
    else { %send $+(%c1,%stats.text,%c2) $fix($replace($gettok($sock($sockname).mark,6,32),+,$chr(32))) $+  - $+(%c1,%stats.overtext,%c2) %overall.level $+  - $($+(%,$sockname,.printline),2) | %send $($+(%,$sockname,.printline1),2) | $iif($($+(%,$sockname,.printline2),2) != $null,%send $($+(%,$sockname,.printline2),2),) | halt }
  }
}
alias get_cmb {
  if ($2 == en) { var %atk $calc($eval($+(%,$1,.Attack.level),2) *130), %str $calc($eval($+(%,$1,.Strength.level),2) *130), %def $calc($eval($+(%,$1,.Defence.level),2) *100), %hp $calc($eval($+(%,$1,.Hitpoints.level),2) *100), %magic1 $iif($chr(46) iswm $calc($eval($+(%,$1,.Magic.level),2) /2),$calc(($eval($+(%,$1,.Magic.level),2) -1)*65),$calc($eval($+(%,$1,.Magic.level),2) *195)), %ranged1 $iif($chr(46) iswm $calc($eval($+(%,$1,.Ranged.level),2) /2),$calc(($eval($+(%,$1,.Ranged.level),2) -1)*65),$calc($eval($+(%,$1,.Ranged.level),2) *195)), %prayer $iif($chr(46) iswm $calc($eval($+(%,$1,.Prayer.level),2) /2),$calc(($eval($+(%,$1,.Prayer.level),2) -1)*50),$calc($eval($+(%,$1,.Prayer.level),2) *50)) }
  if ($2 == nl) { var %atk $calc($eval($+(%,$1,.Aanval.level),2) *130), %str $calc($eval($+(%,$1,.Kracht.level),2) *130), %def $calc($eval($+(%,$1,.Verdediging.level),2) *100), %hp $calc($eval($+(%,$1,.Levenspunten.level),2) *100), %magic1 $iif($chr(46) iswm $calc($eval($+(%,$1,.Magie.level),2) /2),$calc(($eval($+(%,$1,.Magie.level),2) -1)*65),$calc($eval($+(%,$1,.Magie.level),2) *195)), %ranged1 $iif($chr(46) iswm $calc($eval($+(%,$1,.Boogschieten.level),2) /2),$calc(($eval($+(%,$1,.Boogschieten.level),2) -1)*65),$calc($eval($+(%,$1,.Boogschieten.level),2) *195)), %prayer $iif($chr(46) iswm $calc($eval($+(%,$1,.Bidden.level),2) /2),$calc(($eval($+(%,$1,.Bidden.level),2) -1)*50),$calc($eval($+(%,$1,.Bidden.level),2) *50)) }
  if ($2 == de) { var %atk $calc($eval($+(%,$1,.Angriff.level),2) *130), %str $calc($eval($+(%,$1,.Stärke.level),2) *130), %def $calc($eval($+(%,$1,.Verteidigung.level),2) *100), %hp $calc($eval($+(%,$1,.Lebenspunkte.level),2) *100), %magic1 $iif($chr(46) iswm $calc($eval($+(%,$1,.Magie.level),2) /2),$calc(($eval($+(%,$1,.Magie.level),2) -1)*65),$calc($eval($+(%,$1,.Magie.level),2) *195)), %ranged1 $iif($chr(46) iswm $calc($eval($+(%,$1,.Bognerei.level),2) /2),$calc(($eval($+(%,$1,.Bognerei.level),2) -1)*65),$calc($eval($+(%,$1,.Bognerei.level),2) *195)), %prayer $iif($chr(46) iswm $calc($eval($+(%,$1,.Gebet.level),2) /2),$calc(($eval($+(%,$1,.Gebet.level),2) -1)*50),$calc($eval($+(%,$1,.Gebet.level),2) *50)) }
  var %base $calc((%def + %hp + %prayer)/400), %melee $calc(((%atk + %str)/400) + %base), %magic $calc((%magic /400) + %base), %ranged $calc((%ranged /400) + %base), %melee $gettok(%melee,1,46), %magic $gettok(%magic,1,46), %ranged $gettok(%ranged,1,46)
  if (%melee == %magic) && (%melee == %ranged) { set $+(%,$1,.printline) $+($3,$iif($2 == en,Combat Level:,$iif($2 == de,Kampfstufe:,Combat Level:)),$4) N/A }
  if (%melee > %magic) && (%melee > %ranged) { set $+(%,$1,.printline) $+($3,$iif($2 == en,Combat Level:,$iif($2 == de,Kampfstufe:,Combat Level:)),$4) %melee }
  if (%magic > %melee) && (%magic > %ranged) { set $+(%,$1,.printline) $+($3,$iif($2 == en,Combat Level:,$iif($2 == de,Kampfstufe:,Combat Level:)),$4) %magic }
  if (%ranged > %melee) && (%ranged > %magic) { set $+(%,$1,.printline) $+($3,$iif($2 == en,Combat Level:,$iif($2 == de,Kampfstufe:,Combat Level:)),$4) %ranged }
}
alias lvl {
  var %x = 1, %level = $calc($1 - 1), %xp = 0 
  while (%x <= %level) { 
    var %TempXp = $calc($floor($calc(%x + 300 * 2 ^ (%x / 7))) / 4) 
    inc %xp %TempXp 
    inc %x 
  }
  return $int(%xp)
}
alias fix { return $regsubex($1,/\b(.)/g,$upper(\1)) }
alias lang {
  if ($regex($1,/^[.!@](.*)$/Si)) { return $replace($regml(1),gstats,de,dstats,nl,stats,en) }
}




on $*:text:/^[!@]away/Si:#:{
  if (!%away. [ $+ [ $address($nick,2) ] ]) {
    if ($len($2-) <= 100) {
      set %away. [ $+ [ $address($nick,2) ] ] $iif($2,$2-,No reason)
      set %awaytime. [ $+ [ $address($nick,2) ] ] $ctime
      msg $chan [7AWAY1] $+([7,$nick,]) Reason: $+([7,$iif($2,$2-,No reason),]) Left at $+([,$chr(3),07,$asctime($gmt,hh:nn:ss:TT),$chr(40),GMT,$chr(41),$chr(3),])
    }
    else .notice $nick Please shorten your reason $+($chr(91),$chr(3),07,$len($2-),$chr(3),/,$chr(3),07,100,$chr(3),$chr(93))
  }
  else .notice $nick Youre already away
}
on $*:text:/^[!@]back/Si:#:{
  if (%away. [ $+ [ $address($nick,2) ] ]) {
    msg $chan [7BACK] $+($chr(91),$chr(3),07,$nick,$chr(3),$chr(93)) Reason $+($chr(91),$chr(3),07,%away. [ $+ [ $address($nick,2) ] ],$chr(3),$chr(93)) Gone $+($chr(91),$chr(3),07,$duration($calc($ctime - %awaytime. [ $+ [ $address($nick,2) ] ] )),$chr(3),$chr(93))
    unset %away. [ $+ [ $address($nick,2) ] ]
    unset %awaytime. [ $+ [ $address($nick,2) ] ]
  }
  else .notice $nick Youre not away
}
on $*:text:/^[!@]list(away)?/Si:#:{
  if ($var(%away.*,0) > 0) {
    var %k = 1
    while (%k <= $nick($chan,0)) {
      if (%away. [ $+ [ $address($nick($chan,%k),2) ] ]) {
        var %allaway = $iif(%allaway,$+($v1,$chr(3),$chr(44),$chr(3),07)) $nick($chan,%k)
        inc %k
      }
      else inc %k
    }
    $iif($left($2,1) == @,msg $chan,.notice $nick) [7AWAY] $iif(%allaway,Users marked as away in7 $chan $+ :7 %allaway $+ .,No users marked as away in $chan $+ .)
  }
  else $iif($left($2,1) == @,msg $chan,.notice $nick) There are no users marked as away in all channels I am on.
}
on $*:text:/^llama (!|@)check/Si:#:{
  if ($2 == -a) {
    if ($3) {
      if (%away. [ $+ [ $3- ] ]) {
        $iif($left($2,1) == @,msg $chan,.notice $nick) Host $+([7,$3,])  Is away at7 %away. [ $+ [ $3 ] ] $+ . Left7 $duration($calc($ctime - %awaytime. [ $+ [ $3 ] ] )) Ago.
      }
      else $iif($left($2,1) == @,msg $chan,.notice $nick) Host $+([7,$3,]) Is Not away.
    }
    else .notice $nick Please provide a host, !@check -a7 *!*@host.
  }
  else {
    if ($2) {
      if (%away. [ $+ [ $address($2-,2) ] ]) {
        $iif($left($2,1) == @,msg $chan,.notice $nick) Nick7 $2 Is away at7 %away. [ $+ [ $address($2,2) ] ] $+ . Left7 $duration($calc($ctime - %awaytime. [ $+ [ $address($2-,2) ] ] )) Ago.
      }
      else $iif($left($2,1) == @,msg $chan,.notice $nick) Nick7 $2 Is Not away.
    }
    else {
      if (%away. [ $+ [ $address($nick,2) ] ]) {
        $iif($left($2,1) == @,msg $chan,.notice $nick) Nick7 $nick Is away at7 %away. [ $+ [ $address($nick,2) ] ] $+ . Left7 $duration($calc($ctime - %awaytime. [ $+ [ $address($nick,2) ] ] )) Ago.
      }
      else $iif($left($2,1) == @,msg $chan,.notice $nick) Nick7 $nick Is Not away.
    }
  }
}
on *:text:*:#:{
  var %o = 1
  while (%o <= $0) {
    if (%away. [ $+ [ $address($($+($chr(36),%o),2),2) ] ]) {
      if (!%told. [ $+ [ $address($nick,2) ] ]) {
        .notice $nick [7AWAY] $+($chr(91),$chr(3),07,$ialchan($address($($+($chr(36),%o),2),2),$chan,1).nick,$chr(3),$chr(93)) Is away $+($chr(91),$chr(3),07,%away. [ $+ [ $address($($+($chr(36),%o),2),2) ] ],$chr(3),$chr(93)) They have been gone for $+($chr(91),$chr(3),07,$duration($calc($ctime - %awaytime. [ $+ [ $address($($+($chr(36),%o),2),2) ] ] )),$chr(3),$chr(93))
        set -u60 %told. [ $+ [ $address($nick,2) ] ] HI
        inc %o $0
      }
      else inc %o $0
    }
    else inc %o
  }
}