All pastes #635847 Raw Edit

Richbot Tools

public text v1 · immutable
#635847 ·published 2007-07-27 12:43 UTC
rendered paste body
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

on *:TEXT:!calc*:*: notice $nick 3[14 $me Calc3] 14Answer:07 $bytes($calc($replace($2-,k,*1000,m,*1000000,K,*1000,M,*1000000)),bd) $+ 
on *:TEXT:@calc*:*: msg $chan 3[14 $me Calc3] 14Answer:07 $bytes($calc($replace($2-,k,*1000,m,*1000000,K,*1000,M,*1000000)),bd) $+ 
on *:TEXT:*!dice*:#:{{  msg $chan 3[14 $me 6 Sided Dice3] 4 $me throws the dice at $nick and the dice shows a -  $read(6die.txt) 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ON $*:TEXT:/^[!@]clan/Si:#:{ unset %clanc.* | inc %c 
  set $+(%,clan.return.,%c) $iif($left($1,1) == @,msg $chan,notice $nick) 
  set $+(%,clan.member.,%c) $replace($2-,$chr(32),_) 
  sockopen $+(clan.,%c) www.runehead.com 80 
} 
ON *:SOCKOPEN:clan.*:{ 
  sockwrite -nt $sockname GET $+(/clans/search.php?search=,$($+(%,clan.member.,%c),2),&searchtype=excact) HTTP/1.1 
  sockwrite -nt $sockname Host: www.runehead.com $+ $+($crlf,$crlf) 
} 
ON *:SOCKREAD:clan.*:{ 
  if ($sockerr) { $($+(%,clan.return.,%c),2) [CLAN] Socket Error Has Occured Please Try Again In 30 Seconds } 
  else { 
    sockread %clan 
    if (*<p>No results were found for* iswm %clan) { 
      $($+(%,clan.return.,%c),2) [CLAN] Sorry, no results were found for: $replace($($+(%,clan.member.,%c),2),_,$chr(32)) 
      sockclose $sockname    
    }    
    if (*</b> returned <b>*</b> result*:* iswm %clan) { set $+(%,clan.results.,%c) $remove($htmlfree(%clan), $($+(%,clan.member.,%c),2), exact, the, search, returned, results:, result:, $chr(32)) 
    } 
    if (*'ml.php?clan=*'>*</a></td> iswm %clan) { if ($($+(%,clan.results.,%c),2) >= 2) { set $+(%,clan.list2.,%c) $($+(%,clan.list.,%c),2) 
        set $+(%,clan.list.,%c) $($+(%,clan.list2.,%c),2) « » $htmlfree(%clan) 
        inc $+(%,clan.c.,%c) 
        if ($($+(%,clan.c.,%c),2) == $($+(%,clan.results.,%c),2)) $($+(%,clan.return.,%c),2) [CLAN] » $replace($($+(%,clan.member.,%c),2),_,$chr(32)) is in the clans: $($+(%,clan.list.,%c),2) « 
      } 
      if ($($+(%,clan.results.,%c),2) == 1) { $($+(%,clan.return.,%c),2) [CLAN] $replace($($+(%,clan.member.,%c),2),_,$chr(32)) is in the clan:» $htmlfree(%clan) « } 
    }    
  } 
} 

ON *:SOCKCLOSE:clan.*:{ 
  unset %clan.* 
  unset %clanc.* 
} 
alias -l htmlfree { var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x,&nbsp;) | return %x }

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ON *:TEXT:!SetGreet*:#:{
  if ($ isin $1-) {
    notice $Nick i am now ignoring you.
    ignore $nick
    halt
  }
  if ($2 == $null) {
    notice $nick 12!SetGreet4 <12Greet Here4>
    halt
  }
  if ($read(greet.txt, s, $address($nick,2)) == $null) {
    write Greet.Txt $Address($nick,2) $2-
    notice $nick 12Greet Saved for4 $address($nick,2) 
    halt
  }
  else {
    write -ds $+ $address($nick,2) Greet.txt
    write Greet.Txt $Address($nick,2) $2-
    notice $nick 12Greet Saved for4 $address($nick,2) 
  }
}
ON *:JOIN:#:{
  if ($chan == #b0ts || $nick == $me) { halt }
  if ($read(greet.txt, s, $address($nick,2)) == $null) {
    notice $nick 12You have no set greet!4 !SetGreet12 <Greet Here>
    halt
  }
  else {
    msg $chan 1[ $+ $nick $+ 1]: $read(greet.txt, s, $address($nick,2))
  }
}


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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) }

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

on $*:TEXT:/^[!@.]compare/Si:#:{ 
  if (!$4 || !$skills($2)) { notice $nick Invalid format: $1 <skill> <nick1> <nick2> | halt } 
  var %id = $ticks 
  set %compare.nick1 [ $+ [ %id ] ] $3 
  set %compare.nick2 [ $+ [ %id ] ] $4 
  set %compare.skill [ $+ [ %id ] ] $skills($2) 
  set %compare.way [ $+ [ %id ] ] $iif($left($1,1) == @,msg $chan,notice $nick) 
  sockopen compare. [ $+ [ %id ] ] parsers.o-ss.net 80 
} 
on *:SOCKOPEN:compare.*: { 
  var %id = $gettok($sockname,2,46) 
  sockwrite -n $sockname GET $+(/compare.php?user1=,%compare.nick1 [ $+ [ %id ] ],&user2=,%compare.nick2 [ $+ [ %id ] ],&skill=,%compare.skill [ $+ [ %id ] ]) HTTP/1.1 
  sockwrite -n $sockname Host: parsers.o-ss.net 
  sockwrite -n $sockname $str($crlf,2) 
} 
on *:SOCKREAD:compare.*:{ 
  var %id = $gettok($sockname,2,46) 
  var %rsn1 = %compare.nick1 [ $+ [ %id ] ], $& 
    %rsn2 = %compare.nick2 [ $+ [ %id ] ], $& 
    %skill = %compare.skill [ $+ [ %id ] ], $& 
    %style = %compare.way [ $+ [ %id ] ] 
  var %compare.sockread 
  sockread %compare.sockread 
  if (*is not in the* iswm %compare.sockread) { 
    tokenize 32 %compare.sockread 
    %style [COMPARE] Sorry $1 is not in the hiscores for %skill 
    sockclose $sockname 
  } 
  elseif (*are not in the* iswm %compare.sockread) { 
    tokenize 32 %compare.sockread 
    %style [COMPARE] Sorry $1 and $3 are not in the hiscores for %skill 
    sockclose $sockname 
  } 
  else { 
    tokenize 32 %compare.sockread 
    if ($3 == 1) { 
      %style[COMPARE] %rsn1 ( $+ $1 $+ ) is $4 %skill levels higher than %rsn2 ( $+ $2 $+ ) with $bytes($5,db) more experience. 
      sockclose $sockname 
    } 
    elseif ($3 == 0) { 
      %style [COMPARE] %rsn2 ( $+ $1 $+ ) is $4 %skill levels higher than %rsn1 ( $+ $2 $+ ) with $bytes($5,db) more experience. 
      sockclose $sockname 
    } 
  } 
} 
on *:SOCKCLOSE:compare.*:{ unset %compare.* } 
alias skills { 
  if ($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,/^min(e|eing|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 Runecraft 
  elseif ($regex($1,/^(con)(struct)(ion|ing)?$/si)) return Construction 
  elseif ($regex($1,/^(hunt)(er|in|ing)?$/si)) return Hunter 
}

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

on $*:TEXT:/^[!@.](rs)?(world|server) */Si:#: { 
  if ($2 !isnum) { .notice $nick Specify a numeric world! | halt } 
  else { 
    var %x = 1 
    while ($sock(world. $+ %x)) inc %x 
    .set $+(%,target.,%x) $iif($left($1,1) == @ && $nick !isreg #,.msg $chan,.notice $nick) 
    .set $+(%,world.,%x) $2 
    sockopen $+(world.,%x) parsers.o-ss.net 80 
  } 
} 
on *:SOCKOPEN:world.*: { 
  var %x = $right($sockname,1) 
  if ($sockerr > 0) { 
    $eval($+(%,target.,%x),2) Socket Error: $sockerr 
    cleanup $sockname 
    halt 
  } 
  sockwrite -nt $sockname GET /oneline/worlds.php?w= $+ $eval($+(%,world.,%x),2) HTTP/1.1 
  sockwrite -nt $sockname Host: parsers.o-ss.net 
  sockwrite -nt $sockname $crlf 
} 
on *:SOCKREAD:world.*: { 
  var %x = $right($sockname,1) 
  if ($sockerr > 0) { 
    $eval($+(%,target.,%x),2) Socket Error: $sockerr 
    cleanup $sockname 
    halt 
  } 
  var %read | sockread %read 
  if (world isin %read) { 
    $eval($+(%,target.,%x),2) World $eval($+(%,world.,%x),2) not found. 
    cleanup $sockname 
    halt 
  } 
  if (END isin %read) { 
    tokenize 32 %read 
    $eval($+(%,target.,%x),2) World: $1 $chr(124) Members only: $iif($2 == M,Yes,No) $chr(124) Players: $3 $chr(124) Location: $remove($4-,END) 
    cleanup $sockname 
  } 
} 
alias cleanup { 
  unset %target. $+ $right($1,1) 
  unset %world. $+ $right($1,1) 
  sockclose $1 
} 


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

on $*:TEXT:/^[!@.](rs)?players/Si:#: { 

  var %x = 1 

  while ($sock(rsp. $+ %x)) inc %x 

  .set $+(%,target.,%x) $iif($left($1,1) == @ && $nick !isreg #,.msg $chan,.notice $nick) 

  sockopen $+(rsp.,%x) parsers.o-ss.net 80 

} 

on *:SOCKOPEN:rsp.*: { 

  var %x = $right($sockname,1) 

  if ($sockerr > 0) { 

    $eval($+(%,target.,%x),2) Socket Error: $sockerr 
    pcleanup $sockname 
    halt 

  } 

  sockwrite -nt $sockname GET /players.php HTTP/1.1 
  sockwrite -nt $sockname Host: parsers.o-ss.net 
  sockwrite -nt $sockname $crlf 

} 

on *:SOCKREAD:rsp.*: { 

  var %x = $right($sockname,1) 

  if ($sockerr > 0) { 

    $eval($+(%,target.,%x),2) Socket Error: $sockerr 
    pcleanup $sockname 
    halt 

  } 

  var %read | sockread %read 

  if (END isin %read) { 

    $eval($+(%,target.,%x),2) Current RuneScape Players online: $bytes($gettok(%read,1,32),b) 
    pcleanup $sockname 

  } 

} 

alias pcleanup { 

  unset %target. $+ $right($1,1) 
  sockclose $1 

} 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

on $*:TEXT:/^[!@.]price */Si:#: { 
  if (!$2) { 
    .notice $nick Specify an item! 
    halt 
  } 
  else { 
    var %x = 1 
    while ($sock(price. $+ %x)) inc %x 
    .set $+(%,target.,%x) $iif($left($1,1) == @ && $nick !isreg #,.msg $chan,.notice $nick) 
    .set $+(%,item.,%x) $replace($2-,$chr(32),+) 
    sockopen $+(price.,%x) parsers.o-ss.net 80 
  } 
} 
on *:SOCKOPEN:price.*: { 
  var %x = $right($sockname,1) 
  if ($sockerr > 0) { 
    $eval($+(%,target.,%x),2) Socket Error: $sockerr 
    cleanup $sockname 
    halt 
  } 
  sockwrite -nt $sockname GET /oneline/price.php?showmemb=1&item= $+ $eval($+(%,item.,%x),2) HTTP/1.1 
  sockwrite -nt $sockname Host: parsers.o-ss.net 
  sockwrite -nt $sockname $crlf 
} 
on *:SOCKREAD:price.*: { 
  var %x = $right($sockname,1) 
  if ($sockerr > 0) { 
    $eval($+(%,target.,%x),2) Socket Error: $sockerr 
    cleanup $sockname 
    halt 
  } 
  var %read | sockread %read 
  if (END isin %read) { 
    $eval($+(%,target.,%x),2) $left($replace(%read,M-,{M} -),-6) 
    cleanup $sockname 
  } 
  if (spelling isin %read) { 
    $eval($+(%,target.,%x),2) %read 
    cleanup $sockname 
  } 
} 
alias cleanup { 
  unset %target. $+ $right($1,1) 
  unset %item. $+ $right($1,1) 
  sockclose $1 
} 


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

On $*:text:/^[!@]Google/Si:#: { 
  if ($2 == $null) { $iif($left($1,1) == @,msg $chan,notice $nick) You must specify a sentence or word to search for. Syntax: [!@]Google <sentence/word>. } 
  else { 
    inc %hi 
    set %hisearch [ $+ [ %hi ] ] $replace($2-,$chr(32),+) 
    sockopen $+(google.,%hi) www.google.com 80 
  sockmark $+(google.,%hi) $+($iif($left($1,1) == @,msg $chan,notice $nick)) } 
} 
on *:sockopen:google.*: { 
  remove google 
  sockwrite -nt $sockname GET /search?hl=en&q= $+ %hisearch [ $+ [ $gettok($sockname,2,46) ] ] HTTP/1.0 
  sockwrite -nt $sockname Host: www.google.com 
  sockwrite -nt $sockname $crlf 
} 
on *:sockread:google.*: { 
  while ($sock($sockname).rq) { 
    sockread &google 
    bwrite google -1 -1 &google 
  } 
  bread google 0 $file(google).size &google 
  if ($bfind(&google,1,did not match)) { 
    $sock($sockname).mark [Nothing was found for %hisearch [ $+ [ $gettok($sockname,2,46) ] ] $+ ] 
    halt 
    unset %hisearch [ $+ [ $gettok($sockname,2,46) ] ] 
    sockclose $sockname 
  } 
  if ($bfind(&google,1,</HTML>)) {    
    $sock($sockname).mark [Link: $bvar(&google,$calc($bfind(&google,1,<h2 class=r><a href=") + 21),$calc($bfind(&google,$calc($bfind(&google,1,<h2 class=r><a href=") + 21),34) - $calc($bfind(&google,1,<h2 class=r><a href=") + 21))).text $+ ] [Name: $htmlfree($bvar(&google,$calc($bfind(&google,1,class=l>) + 8),$calc($bfind(&google,$calc($bfind(&google,1,class=l>) + 9),</a></h2>) - $calc($bfind(&google,1,class=l>) + 8))).text) $+ ] [Description: $htmlfree($bvar(&google,$calc($bfind(&google,1,class="j">) + 14),$calc($bfind(&google,$calc($bfind(&google,1,class="j">) + 9),<br>) - $calc($bfind(&google,1,class="j">) + 14))).text) $+ ] 
    unset %hisearch [ $+ [ $gettok($sockname,2,46) ] ] 
  sockclose $sockname } 
} 
alias -l htmlfree { 
  var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x,&amp;) | return %x 
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

alias nohtml { 
  var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x) 
  return $remove(%x,&nbsp;,$chr(09)) 
} 
alias c1 return $+($chr(3),10,$1-) 
alias c2 return $+($chr(3),03,$1-) 
on $*:TEXT:/^[!@]Monster/Si:#:{ 
  $ibusta 
  var %sckid = $right($ticks,5) 
  if (!$2) { notice $nick $c1(Put a second word) } 
  sockclose monster. [ $+ [ %sckid ] ] 
  set %display. [ $+ [ %sckid ] ] $iif($left($1,1) == @, msg $chan, notice $nick) 
  set %searched. [ $+ [ %sckid ] ] $replace($2-,$chr(32),% $+ 20) 
  sockopen monster. [ $+ [ %sckid ] ] tip.it 80 
} 
on *:SOCKOPEN:monster.*: { 
  sockwrite -nt $sockname GET /runescape/index.php?rs2monster=&orderby=0&keywords= $+ %searched. [ $+ [ $right($sockname,5) ] ]  HTTP/1.1 
  sockwrite -nt $sockname Host: tip.it 
  sockwrite -nt $sockname $crlf 
} 
on *:SOCKREAD:monster.*: { 
  if ($sockerr) { 
    echo -a Socket error 
  } 
  else { 
    var %mreader 
    sockread %mreader 
    if (*<td><a href="?rs2monster_id=*">*</a></td>* iswm %mreader) {  
      set %name. [ $+ [ $right($sockname,5) ] ] $nohtml(%mreader) 
    } 
    if ($regex(%mreader,/<a href="\?rs2monster_id=(.+)">/)) { 
      set %site2. [ $+ [ $right($sockname,5) ] ] $regml(1) 

    } 

    if (*<td align="center">*</td>* iswm %mreader) { 
      inc %monsterinc. [ $+ [ $right($sockname,5) ] ] 
    } 
    if (*<td align="center">*</td>* iswm %mreader) && (%monsterinc. [ $+ [ $right($sockname,5) ] ] == 1) { 
      tokenize 32 $nohtml(%mreader) 
    set %Race. [ $+ [ $right($sockname,5) ] ] $nohtml(%mreader) } 
  } 
  if (*<td align="center">*</td>* iswm %mreader) && (%monsterinc. [ $+ [ $right($sockname,5) ] ] == 2) { 
    set %Members. [ $+ [ $right($sockname,5) ] ] $nohtml(%mreader) 
  } 
  if (*<td align="center">*</td>* iswm %mreader) && (%monsterinc. [ $+ [ $right($sockname,5) ] ] == 3) { 
    %display. [ $+ [ $right($sockname,5) ] ] $+($c1,$chr(91),Name:,$c2,%name. [ $+ [ $right($sockname,5) ] ],$chr(93),$chr(03)) $+($c1,$chr(91),Level:,$c2,%level. [ $+ [ $right($sockname,5) ] ],$chr(93),$chr(03)) $+($c1,$chr(91),Race:,$c2,%race. [ $+ [ $right($sockname,5) ] ],$chr(93),$chr(03)) $+($c1,$chr(91),Members:,$c2,%members. [ $+ [ $right($sockname,5) ] ],$chr(93),$chr(03)) $+($c1,$chr(91),Quest:,$c2,$nohtml(%mreader),$chr(93),$chr(03)) 
  } 
  if (*<td>*</td>* iswm %mreader) { 
    inc %tdstuff. [ $+ [ $right($sockname,5) ] ] 
  } 
  if (*<td>*</td>* iswm %mreader) && (%tdstuff. [ $+ [ $right($sockname,5) ] ] == 10) { 
    set %level. [ $+ [ $right($sockname,5) ] ] $nohtml(%mreader) 
    sockopen monster2. [ $+ [ $right($sockname,5) ] ] tip.it 80 
  } 
} 
on *:SOCKOPEN:monster2.*: { 
  sockwrite -nt $sockname GET /runescape/index.php?rs2monster_id= $+ %site2. [ $+ [ $right($sockname,5) ] ] HTTP/1.1 
  sockwrite -nt $sockname Host: tip.it 
  sockwrite -nt $sockname $crlf 
} 

on *:SOCKREAD:monster2.*: { 
  var %mreader2 
  sockread %mreader2 
  if (*<td width="20%">*</td> iswm %mreader2) { 
    inc %e. [ $+ [ $right($sockname,5) ] ] 
  } 
  if (*<td width="20%">*</td>* iswm %mreader2) && (%e. [ $+ [ $right($sockname,5) ] ] == 4) { 
    set %hp. [ $+ [ $right($sockname,5) ] ] $nohtml(%mreader2) 
  } 
  if (*<td width="*%"><b>Aggressive?</b>&nbsp;&nbsp;*</td>* iswm %mreader2) { 
    set %aggressive. [ $+ [ $right($sockname,5) ] ] $nohtml(%mreader2) 
  } 
  if (*<td width="*%"><b>Retreats?</b>&nbsp;&nbsp;*</td>* iswm %mreader2) { 
    set %retreat. [ $+ [ $right($sockname,5) ] ] $nohtml(%mreader2) 
  } 
  if (*<td width="*%"><b>Poisonous?</b>&nbsp;&nbsp;*</td>* iswm %mreader2) { 
    set %poisonous. [ $+ [ $right($sockname,5) ] ] $nohtml(%mreader2) 
  } 
  if (*<td align="left"><ul>*</ul>* iswm %mreader2) { 
    %display. [ $+ [ $right($sockname,5) ] ] $+($c1,$chr(91),Hitpoints:,$c2,%hp. [ $+ [ $right($sockname,5) ] ],$chr(93)) $+($c1,$chr(91),Retreats:,$c2,$remove(%retreat. [ $+ [ $right($sockname,5) ] ],retreats?),$chr(93),$chr(32),$c1,$chr(91),$c1,Aggressive:,$C2,$remove(%aggressive. [ $+ [ $right($sockname,5) ] ],aggressive?),$chr(93),$chr(32),$c1,$Chr(91),$c2,Poisonous:,$c1,$remove(%poisonous. [ $+ [ $right($sockname,5) ] ],poisonous?),$chr(93)) $+($chr(91),$c1,Habbitat:,$c2,$nohtml(%mreader2),$chr(93)) 
    unset %*. [ $+ [ $right($sockname,5) ] ] 
    sockclose $sockname 
  } 
} 


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

on $*:TEXT:/^[!@]alch/Si:#: { 
  if (!$2) { notice $nick please enter a item to lookup. | halt } 
  else { 
    set %item $replace($2-,$chr(32),%20) 
    set %nick $nick 
    sockopen alch rsparsers.awardspace.com 80 
  } 
} 
on *:SOCKOPEN:alch: { 
  sockwrite -nt $sockname GET /alch.php HTTP/1.1 
  sockwrite -nt $sockname Host: rsparsers.awardspace.com 
  sockwrite -nt $sockname $crlf 
} 
on *:SOCKREAD:alch: { 
  if ($sockerr) { 
    msg %nick Error whilst running script. 
    halt 
  } 
} 
else { 
  var %sockreader 
  sockread %sockreader 
  if (* %item * iswm %sockreader ) { 
    notice %nick *** [ALCH] %sockreader 
    sockclose alch | unset %nick | unset %item 
  } 
} 
if (* %item - No Data * iswm %sockreader ) { 
  notice %nick *** [ALCH] There is no data retrieved for item " $+ %item $+ " 
}

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ON $*:TEXT:/^[!@](e)?xp/Si:#:{ 
  $iif($left($1,1) == @,msg $chan,notice $nick) [Level: $2 $+ ] [Exp: $bytes($xp($2),db) $+ ] 
} 
alias xp { 
  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) 
} 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

on $*:TEXT:$(/^(?>\Q $+ $me $+ \E,? ?)?([!.@~]gratz)/Si):*:{
  if (($readini(dchans.ini, dchans, $chan) == on) && ($me !isin $1)) /halt
  /tokenize 32 $iif($me isin $1,$deltok($1-,1,32),$1-) 
  if ($2- == $null) { .notice $nick Syntax: $1 level skill } 
  elseif (($2 > 99) || ($2 < 1)) { .notice $nick Err: The level must be between 1-99. Syntax: $1 level skill } 
  elseif (!$skill($3-)) { .notice $nick Err: $+(",$3-,") is not a valid skill. Syntax: $1 level skill } 
  else { $iif($left($1,1) == @ && ($nick !isreg $chan),/msg $chan,/.notice $nick) 12*****4 Congrats on level 07 $+ $2 $skill($3) $+ , $nick 12***** } 
}
alias -l /skill { 
  if ($regex($1,/^c(o)?mb(at)?$/Si)) return Combat 
  elseif ($regex($1,/^((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,/^rang(e|er|ed|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(ing)?|woodcut(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,/^min(e|e?ing)$/Si)) return Mining 
  elseif ($regex($1,/^herb(law|lore)?$/Si)) return Herblore 
  elseif ($regex($1,/^hunter(hnt|hunt)?$/Si)) return Hunter
  elseif ($regex($1,/^retard(div|idiot)?$/Si)) return Retard  
  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 Runecraft 
}

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~