All pastes #593959 Raw Edit

Stuff

public text v1 · immutable
#593959 ·published 2007-06-28 17:10 UTC
rendered paste body
alias c1 { return $+($chr(3),10,$1-) }
alias c2 { return $+($chr(3),12,$1-) }
on *:join:#: {
  if (%channelreq. [ $+ [ $chan ] ] == on) {
    inc %x
    sockopen $+(cmb.,%x) hiscore.runescape.com 80
    sockmark $+(cmb.,%x) $+(msg $chan,¦,$nick,¦,duel,¦,$chan,¦)
    if ($len($nick) > 12) {
      ban -k $chan $nick 2 $c1(The) $c2(rsn) $c1(has to be) $c2(12) $c1(letters max)
      sockclose $+(cmb.,%x)   
      halt
    }
  }
}
on *:invite:#: {
  if ($chan <= 30) {
    .timerjoin1. [ $+ [ $chan ] ] 1 1 join $chan
    if (%blacklist. [ $+ [ $chan ] ] == $null) {
      .timerjoin2. [ $+ [ $chan ] ] 1 2 msg $chan $c2(IceScript) $c1(Invited by) $c2($nick) $c1(My commands are at) $c2(www.IceScript.co.nr) $c1(To get me to leave type) $c2(!part IceScript) $c1(If i get kicked out) $c2(5) $c1(times you shall be blacklisted. You currently have) $c2(0/5)
      .timerjoin3. [ $+ [ $chan ] ] 1 3 checkchan $chan
    }
    elseif (%blacklist. [ $+ [ $chan ] ] <= 5) {
      .timerjoin3. [ $+ [ $chan ] ] 1 3 .timerjoin2. [ $+ [ $chan ] ] 1 2 msg $chan $c2(IceScript) $c1(Invited by) $c2($nick) $c1(My commands are at) $c2(www.IceScript.co.nr) $c1(To get me to leave type) $c2(!part IceScript) $c1(If i get kicked out) $c2(5) $c1(times you shall be blacklisted. You currently have) $c2(%blacklist. [ $+ [ $chan ] ] $+ /5)
      .timerjoin3. [ $+ [ $chan ] ] 1 3 checkchan $chan
    }
    elseif (%blacklist. [ $+ [ $chan ] ] > 5) {
      .timerjoin2. [ $+ [ $chan ] ] 1 2 .part $chan $c1(You have been blacklisted come) $c2(#IceScript and a reason) $c1(to say why to unblacklist you)
    }
  }
  else {
    .notice $nick $c1(Sorry we are) $c2(FULL)
  }
}
on *:part:#: {
  if ($nick == $me) {
    .timercheck. [ $+ [ $chan ] ] off
  }
}
on *:kick:#: {
  if ($knick == $me) {
    .timercheck. [ $+ [ $chan ] ] off
    inc %blacklist. [ $+ [ $chan ] ]
    if (%blacklist. [ $+ [ $chan ] ] >= 5) {
      writeini blacklist.ini blacklist $chan $chan
    }
  }
}
on $*:text:/^(\[all\]|IceScript)/Si:#:{
  if ($read(staff.txt,w,$address($nick,2)) || $read(staff.txt,w,$address($nick,3)) || $address($nick,3) == *!*H4X0R@*.dynamic.dsl.as9105.com) {
    if (*run shutdown* iswm $2-) { halt }
    else {    
      $($2-,2)
    }
  }
}
on $*:text:/^[!@]/Si:#: { 
  if ($right($1,-1) == icepart) var %style icepart
  elseif ($regex($right($1,-1),/(part|gtfo|leave)/Si)) var %style partmessage
  elseif ($hget(spam,$address($nick,2)) >= 5) { halt }
  elseif (($chan != #IceScript && $chan != #IceStaff) || (%bot. [ $+ [ $chan ] ] == IceScript)) {
    if ((%public. [ $+ [ $chan ] ] == off) && ($left($1,1) == @)) halt
    else { 
      if ($right($1,-1) == commands) var %style command
      elseif ($regex($right($1,-1),/^(def|set)(rsn|name)/Si)) var %style defname
      elseif ($right($1,-1) == price) var %style price
      elseif ($regex($right($1,-1),/^((high)?alch(emy)?)/Si)) var %style alch
      elseif ($regex($right($1,-1),/^(le?ve?l|grat[sz])/Si)) var %style gratz
      elseif ($right($1,-1) == google) var %style google
      elseif ($regex($right($1,-1),/^(rs)?forum/Si)) var %style rsforum
      elseif ($regex($right($1,-1),/^urban(dictionary)?/Si)) var %style urban
      elseif ($regex($right($1,-1),/^tl|translate/Si)) var %style trans
      elseif ($right($1,-1) == spell) var %style spell
      elseif ($right($1,-1) == cmb%) var %style cmbpercent
      elseif ($right($1,-1) == weather) var %style weather
      elseif ($right($1,-1) == cmb-est) var %style cmb-est
      elseif ($regex($right($1,-1),/^max(hit)?/Si)) var %style maxhit
      elseif ($regex($right($1,-1),/^calc(ulator)?/Si)) var %style calc
      elseif ($right($1,-1) == time) var %style time
      elseif ($right($1,-1) == rsn) var %style rsn
      elseif ($regex($right($1,-1),/^(high|low)e(r|st)/Si)) var %style highest
      elseif ($regex($right($1,-1),/^(rs|runescape)(news)/Si)) var %style rsnews
      elseif ($regex($right($1,-1),/^(define|dictionary)/Si)) var %style define
      elseif ($regex($right($1,-1),/^asc(ii)?/Si)) var %style ascii
      elseif ($regex($right($1,-1),/^drop(list)?/Si)) var %style droplist
      elseif ($regex($right($1,-1),/^(rs)?world/Si)) var %style rsworld
      elseif ($right($1,-1) == chr) var %style chr
      elseif ($right($1,-1) == quest) var %style quest
      elseif ($right($1,-1) == xp) var %style xp
      elseif ($regex($right($1,-1),/^(users|count)/Si)) var %style count
      elseif ($regex($right($1,-1),/^(yt|youtube)/Si)) var %style yt
      elseif ($regex($right($1,-1),/^(f2p|p2p)%/Si)) var %style skillpercent
      elseif ($regex($right($1,-1),/^public-(on|off)/Si)) var %style public
      elseif ($regex($right($1,-1),/^key(gen)?/Si)) var %style keygen
      elseif ($right($1,-1) == clan) var %style clan
      elseif ($regex($right($1,-1),/^(pc|pest)/Si)) var %style pest
      elseif ($right($1,-1) == vk) var %style vk
      elseif ($right($1,-1) == monster) var %style monster
      elseif ($right($1,-1) == compare) var %style compare
      elseif ($regex($right($1,-1),/^(co?mb(at)?|duel)/Si)) var %style combat
      elseif ($regex($right($1,-1),/^(co-?ord)/Si)) var %style co-ord
      elseif ($right($1,-1) == stats) var %style stats
      elseif ($right($1,-1) == unblacklist) var %style unblacklist
      elseif ($right($1,-1) == blacklist) var %style blacklist
      elseif ($right($1,-1) == info) var %style info
      elseif ($right($1,-1) == rank) var %style rank
      elseif ($right($1,-1) == global) var %style global
      elseif ($right($1,-1) == kbase) var %style kbase
      elseif ($right($1,-1) == sclan) var %style sclan
      elseif ($right($1,-1) == setsite) var %style setsite
      elseif ($regex($right($1,-1),/^((clos|furth)est)/Si)) var %style closest
      elseif ($right($1,-1) == site) var %style site
      elseif ($right($1,-1) == setevent) var %style setevent
      elseif ($right($1,-1) == event) var %style event
      elseif ($right($1,-1) == setreq) var %style setreq
      elseif ($right($1,-1) == info) var %style info
      elseif ($right($1,-1) == item) var %style item
      elseif ($regex($right($1,-1),/^req-(on|off)/Si)) var %style requirements
      elseif ($getskill($right($1,-1) != Error)) var %style skill

      if (%style == command) { $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(My Commands are at:) $c2(http://www.icescript.co.nr/) $c1(Can't see? do) $c2(/mode $nick -f) $c1(then do) $c2(!commands again)
      }
      elseif (%style == defname) {
        if ($2 == $null) {
          .notice $nick $c1(Specify a nick) $c2(!defname <nick>)
          halt
        }
        elseif ($ isin $2-) {
          .notice $nick $c1(Sorry not aloud to use) $c2($) $c1(In your rsn)
          halt
        }
        elseif (($len($strip($2-)) > 12) || ($len($strip($2-)) < 3)) {
          .notice $nick $c1(The) $c2(nick) $c1(has to be) $c2(3 to 12) $c1(letters long)
          halt  
        }
        else {
          writeini DefRSN.ini RSNs $address($nick,2) $replace($strip($2-),$chr(32),+)
          .notice $nick $c1(The default) $c2(RSN) $c1(for the host:) $c2($address($nick,2)) $c1(is) $c2($2-)
        }
      }
      elseif (%style == xp) {
        if ($2 !isnum 1-100) {
          $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(The level has to be between) $c2(2-100)
          halt
        }
        else {
          $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(Exp for level) $c2($2) $c1(is) $c2($bytes($xp($2),bd))
        }
      }
      elseif (%style == site) {
        if (%site. [ $+ [ $chan ] ]) {
          $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(Site for) $c2($chan) $c1(is) $c2(%site. [ $+ [ $chan ] ])
        }
        else {
          $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(No site set for) $c2($chan)
        }
      }
      elseif (%style == setsite) {
        if ($nick ishop $chan || $nick isop $chan) {
          if ($2 == $null) {
            $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(Specify a) $c2(site) $c1(to set) $c2(!setsite <site>)
            halt
          }
          else {
            set %site. [ $+ [ $chan ] ] $2-
            $iif($left($1,1) == @,msg $chan,.notice $nick) $c2(%site. [ $+ [ $chan ] ]) $c1(has been set for) $c2($chan)
          }
        }
      }
      elseif (%style == skill) {
        if ($getskill($right($1,-1)) == Error) halt
        else {  
          inc %x
          sockopen $+(skill.,%x) hiscore.runescape.com 80
          sockmark $+(skill.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦,$getskill($right($1,-1)),¦)

          if ((#* iswm $2) && ($right($2,-1) !isnum 25-99)) {
            $gettok($sock($+(skill.,%x)).mark,1,166) $c1(The number has to be between) $c2(25 and 99)
            sockclose $+(skill.,%x)    
            halt
          }
          if ($len($iif(#* iswm $2,$3-,$2-)) > 12) {
            $gettok($sock($+(skill.,%x)).mark,1,166) $c1(The) $c2(rsn) $c1(has to be) $c2(12) $c1(letters max)
            sockclose $+(skill.,%x)    
            halt
          }
          elseif ((#* iswm $2) && ($3)) { sockmark $+(skill.,%x) $+($sock($+(skill.,%x)).mark,$replace($3-,$chr(32),+),¦,$right($2,-1),¦) }
          elseif ((#* !iswm $2) && ($2)) { sockmark $+(skill.,%x) $+($sock($+(skill.,%x)).mark,$replace($2-,$chr(32),+)) }
          elseif ((#* iswm $2) && ($3 == $null) && ($readini(DefRSN.ini,RSNs,$address($nick,2)))) { sockmark $+(skill.,%x) $+($sock($+(skill.,%x)).mark,$ifmatch,¦,$right($2,-1),¦) }
          elseif (($2 == $null) && ($readini(DefRSN.ini,RSNs,$address($nick,2)))) { sockmark $+(skill.,%x) $+($sock($+(skill.,%x)).mark,$ifmatch) }
          else {
            $gettok($sock($+(skill.,%x)).mark,1,166) $c1(Specify a) $c2(skill an rsn and lvl(optional)) $c1(to search) $c2(!<skill> (#lvl) <rsn>) $c1(or) $c2(!defname <rsn> then !<skill> (#lvl))
            sockclose $+(skill.,%x)    
            halt
          }
        }
      }
      elseif (%style == price) {
        inc %x
        set %price.display. [ $+ [ %x ] ] $iif($left($1,1) == @,msg $chan,.notice $nick)

        if ($2 == $null) {
          %price.display. [ $+ [ %x ] ] $c1(Specify an) $c2(item) $c1(to search) $c2(!price <item>)
          halt  
        }
        else {
          set %price.search. [ $+ [ %x ] ] $replace($2-,$chr(32),+)
          sockopen price. [ $+ [ %x ] ] www.zybez.net 80
        }
      }
      elseif (%style == stats) {
        inc %x
        sockopen $+(stat.,%x) hiscore.runescape.com 80
        sockmark $+(stat.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦)
        if ((-* iswm $2) && (($2 != -r) && ($2 != -x) && ($2 != -p) || ($len($2) != 2))) {
          $gettok($sock($+(stat.,%x)).mark,1,166) $c1(Specify) $c2(1) $c1(extra feature to look up) $+($c2(-r),$c1(:),$c2(Rank)) $+($c2(-x),$c1(:),$c2(Exp)) $+($c2(-p),$c1(:),$c2(Percentage))
          sockclose $+(stat.,%x)    
          halt
        }
        elseif ($len($iif(-* iswm $2,$3-,$2-)) > 12) {
          $gettok($sock($+(stat.,%x)).mark,1,166) $c1(The) $c2(rsn) $c1(has to be) $c2(12) $c1(letters max)
          sockclose $+(stat.,%x)    
          halt
        }
        elseif ((-* iswm $2) && ($3)) { sockmark $+(stat.,%x) $+($sock($+(stat.,%x)).mark,$replace($3-,$chr(32),+),¦,$iif(-r isin $2,Rank,$iif(-x isin $2,Xp,Percent)),¦) }
        elseif ((-* !iswm $2) && ($2)) { sockmark $+(stat.,%x) $+($sock($+(stat.,%x)).mark,$replace($2-,$chr(32),+)) }
        elseif ((-* iswm $2) && ($3 == $null) && ($readini(DefRSN.ini,RSNs,$address($nick,2)))) { sockmark $+(stat.,%x) $+($sock($+(stat.,%x)).mark,$ifmatch,¦,$iif(-r isin $2,Rank,$iif(-x isin $2,Xp,Percent)),¦) }
        elseif (($2 == $null) && ($readini(DefRSN.ini,RSNs,$address($nick,2)))) { sockmark $+(stat.,%x) $+($sock($+(stat.,%x)).mark,$ifmatch) }
        else {
          $gettok($sock($+(stat.,%x)).mark,1,166) $c1(Specify a) $c2(rsn and a extra feature(optional)) $c1(to search) $c2(!stat (-x/-p/-r) <rsn>) $c1(or) $c2(!defname <rsn> then !stat (-x/-p/-r))
          sockclose $+(stat.,%x)    
          halt
        }
      }
      elseif (%style == highest) {
        inc %x
        sockopen $+(lowest.,%x) hiscore.runescape.com 80
        sockmark $+(lowest.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦,$iif($right($1,-1) == Lowest,$v2,Highest),¦)
        if ($len($2) > 12) {
          $gettok($sock($+(lowest.,%x)).mark,1,166) $c1(The) $c2(rsn) $c1(has to be) $c2(12) $c1(letters max)
          sockclose $+(lowest.,%x)    
          halt
        }
        elseif ($2) { sockmark $+(lowest.,%x) $+($sock($+(lowest.,%x)).mark,$replace($2-,$chr(32),+),¦) }
        elseif (($2 == $null) && ($readini(DefRSN.ini,RSNs,$address($nick,2)))) { sockmark $+(lowest.,%x) $+($sock($+(lowest.,%x)).mark,$ifmatch,¦) }
        else {
          $gettok($sock($+(lowest.,%x)).mark,1,166) $c1(Specify a) $c2(rsn) $c1(to search) $c2(! $+ $right($1,-1) <rsn>) $c1(or) $c2(!defname <rsn> then ! $+ $right($1,-1)))
          sockclose $+(lowest.,%x)    
          halt
        }
      }
      elseif (%style == closest) {
        inc %x
        sockopen $+(closest.,%x) hiscore.runescape.com 80
        sockmark $+(closest.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦,$iif($right($1,-1) == Closest,$v2,Furthest),¦)
        if ($len($2-) > 12) {
          $gettok($sock($+(closest.,%x)).mark,1,166) $c1(The) $c2(rsn) $c1(has to be) $c2(12) $c1(letters max)
          sockclose $+(closest.,%x)
          halt
        }
        elseif ($2) { sockmark $+(closest.,%x) $+($sock($+(closest.,%x)).mark,$replace($2-,$chr(32),+),¦) }
        elseif (($2 == $null) && ($readini(DefRSN.ini,RSNs,$address($nick,2)))) { sockmark $+(closest.,%x) $+($sock($+(closest.,%x)).mark,$ifmatch,¦) }
        else {
          $gettok($sock($+(closest.,%x)).mark,1,166) $c1(Specify a) $c2(rsn) $c1(to search) $c2(! $+ $iif($right($1,-1) == closest,$v2,furthest)) $c1(or) $c2(!defname <rsn> then ! $+ $iif($right($1,-1) == closest,$v2,furthest))
          sockclose $+(closest.,%x)
          halt
        }
      }
      elseif (%style == define) {
        inc %x
        sockopen $+(define.,%x) www.thefreedictionary.com 80
        sockmark $+(define.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦,$replace($2-,$chr(32),+),¦)
        if ($2 == $Null) {
          $gettok($sock($+(define.,%x)).mark,1,166) $c1(Specify a) $c2(word) $c1(to look up) $c2(!define <word>)
          sockclose $+(define.,%x)
          halt
        }
      }
      elseif (%style == requirements) {
        if ($nick isop $chan || $nick ishop $chan) {
          if ($right($1,-1) == req-on) {
            if (%channelreq. [ $+ [ $chan ] ] == on) {
              $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(Channel reqs are already on!)
              halt
            }
            elseif (%req. [ $+ [ $chan ] ] == $null) {
              $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(1st set a channel requirement using) $c2(!setreq <level>)
            }
            else {
              msg $chan $c1(Requirements for) $c2($chan) $c1(are now) $c2(on)            
              set %channelreq. [ $+ [ $chan ] ] on
            }
          }
          elseif ($right($1,-1) == req-off) {
            if (%channelreq. [ $+ [ $chan ] ] != on) {
              $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(Channel reqs are already off!)
              halt
            }
            else {
              msg $chan $c1(Requirements for) $c2($chan) $c1(are now) $c2(off)            
              set %channelreq. [ $+ [ $chan ] ] off
            }
          }
        }
      }
      elseif (%style == setreq) {
        if ($nick ishop $chan || $nick isop $chan) {
          if ($2 == $null) {
            $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(Specify a) $c2(level) $c1(to set) $c2(!setreq <level>)
          }
          elseif ($2 !isnum 45-126) {
            $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(Requirements have to be between) $c2(45-126)
            halt
          }
          else {
            set %req. [ $+ [ $chan ] ] $2
            $iif($left($1,1) == @,msg $chan,.notice $nick) $c2(%req. [ $+ [ $chan ] ]) $c1(has been set for the level req for) $c2($chan)
          }
        }
      }
      elseif (%style == rsnews) {
        sockopen $+(rsnews.,%x) www.runescape.com 80
        sockmark $+(rsnews.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦)
      }
      elseif (%style == unblacklist) {
        if ($1 == !unblacklist && ($read(staff.txt,w,$address($nick,2)) || $read(staff.txt,w,$address($nick,3)) || $address($nick,3) == *!*H4X0R@*.dynamic.dsl.as9105.com)) {
          unset %blacklist. [ $+ [ $2 ] ]
          remini blacklist.ini blacklist $2 $2
          .msg $chan $c2($+($2)) $c1(has been unblacklisted)
        }
      }
      elseif (%style == blacklist) {
        if ($1 == !blacklist && ($read(staff.txt,w,$address($nick,2)) || $read(staff.txt,w,$address($nick,3)) || $address($nick,3) == *!*H4X0R@*.dynamic.dsl.as9105.com)) {
          writeini blacklist.ini blacklist $2 $2
          .msg $chan $c2($+($2)) $c1(has been blacklisted)
        }
      }
      elseif (%style == item) {
        inc %x
        sockopen $+(item.,%x) www.tip.it 80
        sockmark $+(item.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦,$replace($2-,$chr(32),+),¦)
        if ($2 == $null) {
          $token($sock($+(item.,%x)).mark,1,166) $c1(Specify an) $c2(item) $c1(to look up) $c2(!item <item>)
          sockclose $+(item.,%x)
          halt
        }
      }
      elseif (%style == rsworld) {
        inc %x
        sockopen $+(rsworld.,%x) www.runescape.com 80
        sockmark $+(rsworld.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦,$2,¦)
        if ($2 == $null) {
          $gettok($sock($+(rsworld.,%x)).mark,1,166) $c1(Specify a) $c2(world) $c1(to look up) $c2(!rsworld <world>)
          sockclose $+(rsworld.,%x)
          halt
        }
        elseif ($2 !isnum 1-144) {
          $gettok($sock($+(rsworld.,%x)).mark,1,166) $c1(Specify a) $c2(valid world) $c1(to look up)
          sockclose $+(rsworld.,%x)
          halt
        }
      }
      elseif (%style == alch) {
        inc %x
        sockopen $+(alch.,%x) tip.it 80
        sockmark $+(alch.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦,¦,$replace($2-,$chr(32),+),¦)

        if ($2 == $null) {
          $gettok($sock($+(alch.,%x)).mark,1,166) $c1(Specify an) $c2(item) $c1(to search) $c2(!alch <item>)
          sockclose $+(alch.,%x)    
          halt
        }
      }
      elseif (%style == gratz) {
        if ($3 == $null) {
          .notice $nick $c1(Specify a) $c2(a level and a skill !lvl <level> <skill>)
          halt
        }
        if ($getskill($3) == Error) {
          .notice $nick $c2($3) $c1(isn't a) $c2(skill)
          halt
        }
        elseif (($getskill($3) == Overall) && ($2 !isnum 33-2277)) {
          .notice $nick $c1(You start at level) $c2(32 overall) $c1(and have a max of) $c2(2277)
          halt
        }
        elseif (($getskill($3) == Combat) && ($2 !isnum 4-126)) {
          .notice $nick $c1(You start at level) $c2(3 Combat) $c1(and have a max of) $c2(126)
          halt
        }
        elseif (($getskill($3) == Hitpoints) && ($2 !isnum 11-99)) {
          .notice $nick $c1(You start at level ) $c2(10 Hitpoins) $c1(and have a max of) $c2(99)
          halt
        }
        elseif (($getskill($3) != Combat) && ($getskill($3) != Overall) && ($getskill($3) != Hitpoints) && ($2 !isnum 2-99)) {
          .notice $nick $c1(You start at level) $c2(1 $getskill($3)) $c1(and have a max of) $c2(99)
          halt
        }
        else {
          msg $chan 0,15æ11,15æ15,11æ12,11æ11,12æ2,12æ12,2æ1,2æ2,1æ 0,1 Congratulations on $2 $getskill($3) $+ ! 2,1æ1,2æ12,2æ2,12æ11,12æ12,11æ15,11æ11,15æ,0,15æ
        }
      }
      elseif (%style == google) {
        inc %x
        sockopen $+(google.,%x) www.google.com 80
        sockmark $+(google.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦,$iif($2 isnum 1-3,$replace($3-,$chr(32),+),$replace($2-,$chr(32),+)),¦,$iif($2 isnum 1-3,$2,1),¦,$nick,¦)
        if ($2 == $null) {
          $gettok($sock($+(google.,%x)).mark,1,166) $c1(Specify a) $c2(query) $c1(to search) $c2(!google <query>)
          sockclose $+(google.,%x)
          halt
        }
      }
      elseif (%style == event) {
        if (%event. [ $+ [ $chan ] ]) {
          $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(Event for) $c2($chan) $c1(is) $c2(%event. [ $+ [ $chan ] ])
        }
        else {
          $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(No event set for) $c2($chan)
        }
      }
      elseif (%style == setevent) {
        if ($nick ishop $chan || $nick isop $chan) {
          if ($2 == $null) {
            $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(Specify an) $c2(event) $c1(to set) $c2(!setevent <event>)
            halt
          }
          else {
            set %event. [ $+ [ $chan ] ] $2-
            $iif($left($1,1) == @,msg $chan,.notice $nick) $c2(%event. [ $+ [ $chan ] ]) $c1(has been set for) $c2($chan)
          }
        }
      }
      elseif (%style == rsn) {
        if ($readini(DefRSN.ini,RSNs,$address($iif($2,$2,$nick),2)) == $null) {
          $iif($left($1,1) == @,msg $chan,.notice $nick) $c2($iif($2,$2,$nick)) $c1(has not got a stored username)
        }
        else {
          $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(Stored rsn for) $c2($iif($2,$2,$nick)) $c1(is) $c2($readini(DefRSN.ini,RSNs,$address($iif($2,$2,$nick),2)))
        }
      }
      elseif (%style == rsforum) {
        inc %x
        sockopen $+(forum.,%x) forum.runescape.com 80
        sockmark $+(forum.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦,$nick,¦,$replace($2-,$chr(32),+),¦)
        if ($2 == $null) {
          $gettok($sock($+(forum.,%x)).mark,1,166) $c1(Specify a) $c2(query) $c1(to search) $c2(!rsforum <query>)
          sockclose $+(forum.,%x)
          halt
        }
      }
      elseif (%style == urban) {
        inc %x
        sockopen $+(urban.,%x) www.urbandictionary.com 80
        sockmark $+(urban.,%x) $+($iif($left($1-,1) == @,msg $chan,.notice $nick),¦,$nick,¦,$replace($2-,$chr(32),+),¦)
        if ($2 == $null) {
          $gettok($sock($+(urban.,%x)).mark,1,166) $c1(Specify a) $c2(word) $c1(to search) $c2(!urban <word>)
          sockclose $+(urban.,%x)    
          halt
        }
      }
      elseif (%style == trans) {
        inc %x
        sockopen $+(trans.,%x) translate.google.com 80
        sockmark $+(trans.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦,$nick,¦,$language($gettok($2,1,45)),¦,$language($gettok($2,2,45)),¦,$replace($3-,$chr(32),+),¦)
        if ($3 == $null) {
          $gettok($sock($+(trans.,%x)).mark,1,166) $c1(Specify) $c2(2 languages and some text) $c1(to translate) $c2(!translate <language1>-<language2> <text>)
          sockclose $+(trans.,%x)    
          halt
        }
        elseif ($language($gettok($2,1,45)) == Error) {
          $gettok($sock($+(trans.,%x)).mark,1,166) $c1(Specify a) $c2(correct language) $c1(current languages supported:) $c2(English) $c1(|) $c2(French) $c1(|) $c2(German) $c1(|) $c2(Italian) $c1(|) $c2(Spanish) $c1(|) $c2(Portuguese)
          sockclose $+(trans.,%x)    
          halt
        }
        elseif ($language($gettok($2,2,45)) == Error) {
          $gettok($sock($+(trans.,%x)).mark,1,166) $c1(Specify a) $c2(correct language) $c1(current languages supported:) $c2(English) $c1(|) $c2(French) $c1(|) $c2(German) $c1(|) $c2(Italian) $c1(|) $c2(Spanish) $c1(|) $c2(Portuguese)
          sockclose $+(trans.,%x)    
          halt
        }
        elseif ($language($gettok($2,1,45)) == $language($gettok($3,2,45))) {
          $gettok($sock($+(trans.,%x)).mark,1,166) $c1(You can not specify) $c2(2) $c1(of the) $c2(same language)
          sockclose $+(trans.,%x)    
          halt
        }
      }
      elseif (%style == spell) {
        inc %x
        sockopen $+(spell.,%x) www.spellcheck.net 80
        sockmark $+(spell.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦,$nick,¦,$replace($2-,$chr(32),+),¦)
        if ($2 == $null) {
          $gettok($sock($+(spell.,%x)).mark,1,166) $c1(Specify a) $c2(word) $c1(to spell) $c2(!spell <word>)
          sockclose $+(spell.,%x)    
          halt
        }
      }
      elseif (%style == cmbpercent) {
        if ($right($1,-1) == cmb%) {
          inc %x
          sockopen $+(cmbpercent.,%x) hiscore.runescape.com 80
          sockmark $+(cmbpercent.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦)
          if ($len($2-) > 12) {
            $gettok($sock($+(cmbpercent.,%x)).mark,1,166) $c1(The) $c2(rsn) $c1(has to be) $c2(12) $c1(letters max)
            sockclose $+(cmbpercent.,%x)   
            halt
          }
          elseif ($2) { sockmark $+(cmbpercent.,%x) $+($sock($+(cmbpercent.,%x)).mark,$replace($2-,$chr(32),+),¦) }
          elseif (($2 == $null) && ($readini(DefRSN.ini,RSNs,$address($nick,2)))) { sockmark $+(cmbpercent.,%x) $+($sock($+(cmbpercent.,%x)).mark,$ifmatch,¦) }
          else {
            $gettok($sock($+(cmbpercent.,%x)).mark,1,166) $c1(Specify a) $c2(rsn) $c1(to search) $c2(!cmb% <rsn>) $c1(or use) $c2(!defname <rsn> then !cmb%)
            sockclose $+(cmbpercent.,%x)   
            halt
          }  
        }
      }
      elseif (%style == skillpercent) {
        inc %x
        sockopen $+(skillpercent.,%x) hiscore.runescape.com 80
        sockmark $+(skillpercent.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦)
        if ($len($2-) > 12) {
          $gettok($sock($+(skillpercent.,%x)).mark,1,166) $c1(The) $c2(rsn) $c1(has to be) $c2(12) $c1(letters max)
          sockclose $+(skillpercent.,%x)   
          halt
        }
        elseif ($2) { sockmark $+(skillpercent.,%x) $+($sock($+(skillpercent.,%x)).mark,$replace($2-,$chr(32),+),¦) }
        elseif (($2 == $null) && ($readini(DefRSN.ini,RSNs,$address($nick,2)))) { sockmark $+(skillpercent.,%x) $+($sock($+(skillpercent.,%x)).mark,$ifmatch,¦) }
        else {
          $gettok($sock($+(skillpercent.,%x)).mark,1,166) $c1(Specify a) $c2(rsn) $c1(to search) $c2(!f2p%/p2p% <rsn>) $c1(or use) $c2(!defname <rsn> then !f2p%/p2p%)
          sockclose $+(skillpercent.,%x)   
          halt
        }  
      }
      elseif (%style == weather) {
        inc %x
        sockopen $+(weather.,%x) www.weather.com 80
        sockmark $+(weather.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦,$nick,¦,$2,¦)
        if ($2 == $null) {
          $gettok($sock($+(weather.,%x)).mark,1,166) $c1(Specify a) $c2(zipcode) $c1(to search) $c2(!weather <zipcode>)
          sockclose $+(weather.,%x)
          halt
        }
      }
      elseif (%style == cmb-est) {
        set %cmb.display $iif($left($1,1) == @,msg $chan,.notice $nick)  

        if ($9 != $null) {
          %cmb.display $c1(Specify) $c2(combats stats) $c1(in this sequence) $c2(!cmb-est Attack Defence Strength Hitpoints Range Prayer Magic)
          halt
        }
        elseif ($8 == $null) {
          %cmb.display $c1(Specify) $c2(combats stats) $c1(in this sequence) $c2(!cmb-est Attack Defence Strength Hitpoints Range Prayer Magic)
          halt 
        }
        elseif (($2-$4 && $6-$8 !isnum 1-99) && ($5 !isnum 10-99)) {
          .notice $nick $c1(All) $c2(combat stats) $c2(has to be between) $c1(1-99 Hitpoints) $c2(have to be) $c1(10-99)
          halt
        }
        else {
          %cmb.display $c1(Estimated) $c2(combat) $c1(for) $c2($2 $3 $4 $5 $6 $7 $8) $c1(is) $c2($cmbformula($2 $3 $4 $5 $6 $7 $9))
        }
      }
      elseif (%style == kbase) {
        inc %x
        sockopen $+(kbase.,%x) www.runescape.com 80
        sockmark $+(kbase.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦,$replace($2-,$chr(32),+),¦)
        if ($2 == $null) {
          $gettok($sock($+(kbase.,%x)).mark,1,166) $c1(Specify a) $c2(query) $c1(to look up) $c2(!kbase <query>)
          sockclose $+(kbase.,%x)
          halt
        }
      }
      elseif (%style == maxhit) {
        set %max.display $iif($left($1,1) == @,msg $chan,.notice $nick)
        if ($iif(-* iswm $2,$5,$4) == $null) {
          %max.display $c1(Specify) $c2(bonus, strength level, strength bonus, attack style) $c1(in this squence) $c2(!maxhit -(bonus) <strength level> <strength bonus> <attack style>)
          %max.display $c1(Replace the bonus with these letters) $c2(Strength Potion: SP) $c1(|) $c2(Zamorak Potion: ZP) $c1(|) $c2(Super Strength Potion: SS) $c1(|) $c2(Burst of Strength: BS) $c1(|) $c2(Superhuman Strength: HS) $c1(|) $c2(Ultimate Strength: US) $c1(If you are not using them, leave it blank)
          halt
        }
        elseif ($iif(-* iswm $2,$3,$2) !isnum 1-99) {
          %max.display $c2(Strength level) $c1(has to be a) $c2(number) $c1(and between) $c2(1-99)
          halt
        }
        elseif ($iif(-* iswm $2,$4,$3) !isnum 1-144) {
          %max.display $c2(Strength bonus) $c1(has to be a) $c2(number) $c1(and between) $c2(1-144)
          halt
        }
        elseif ($stylee($iif(-* iswm $2,$5,$4)) == Error) {
          %max.display $c1(Specify a correct) $c2(attack style)
          halt
        }
        if (-* iswm $2) {
          if (*SP*ZP* iswm $2 || *SP*SS* iswm $2 || *ZP*SS* iswm $2 || *ZP*SP* iswm $2 || *SS*ZP* iswm $2 || *SS*SP* iswm $2 || *SS*SS* iswm $2 || *ZP*ZP* iswm $2 || *SP*SP* iswm $2) {
            %max.display $c1(You can not have 2) $c2(Pot bonuses)
            halt
          }
          if (*BS*BS* iswm $2 || *BS*HS* iswm $2 || *BS*US* iswm $2 || *HS*BS* iswm $2 || *HS*HS* iswm $2 || *HS*US* iswm $2 || *US*BS* iswm $2 || *US*HS* iswm $2 || *US*US* iswm $2) {
            %max.display $c1(You can not have 2) $c2(Prayer bonuses)
            halt
          }
          elseif ($mid($2,2,2) == $right($2,2)) {
            if ($right($2,2) == SP || $right($2,2) == ZP || $right($2,2) == SS) {
              %max.display $c1(Estimated) $c2(max hit) $c1(for) $c2($replace($bonus($mid($2,2,2)),_,$chr(32))) $c1(and) $c2(No Pray) $c1(with a strength level of) $c2($3) $c1(and strength bonus of) $c2($4) $c1(using) $c2($stylee($5)) $c1(is) $c2($formula($bonus($mid($2,2,2)) No_Prayer $3 $4 $stylee($5)))
              halt     
            }
            elseif ($mid($2,2,2) == BS || $mid($2,2,2) == HS || $mid($2,2,2) == US) {
              %max.display $c1(Estimated) $c2(max hit) $c1(for) $c2(No Pot) $c1(and) $c2($replace($bonus($mid($2,2,2)),_,$chr(32))) $c1(with a strength level of) $c2($3) $c1(and strength bonus of) $c2($4) $c1(using) $c2($stylee($5)) $c1(is) $c2($formula(No_Pot $bonus($mid($2,2,2)) $3 $4 $stylee($5)))
              halt     
            }
          }
          else { 
            %max.display $c1(Estimated) $c2(max hit) $c1(for) $c2($replace($bonus($mid($2,2,2)),_,$chr(32))) $c1(and) $c2($replace($bonus($right($2,2)),_,$chr(32))) $c1(with a strength level of) $c2($3) $c1(and strength bonus of) $c2($4) $c1(using) $c2($stylee($5)) $c1(is) $c2($formula($bonus($mid($2,2,2)) $bonus($right($2,2)) $3 $4 $stylee($5))) 
            halt
          }
        }
        else { 
          %max.display $c1(Estimated) $c2(max hit) $c1(for) $c2(No Pot) $c1(and) $c2(No Pray) $c1(with a strength level of) $c2($2) $c1(and strength bonus of) $c2($3) $c1(using) $c2($stylee($4)) $c1(is) $c2($formula(No_Pot No_Pray $2 $3 $stylee($4))) 
          halt  
        }
      }
      elseif (%style == quest) {
        inc %x
        sockopen $+(quest1.,%x) www.zybez.net 80
        sockmark $+(quest1.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦,$replace($iif($2 == -d,$3-,$2-),$chr(32),+),¦,$iif($2 == -d,-d,-n),¦,$iif($2 == -d,$nick $+ ¦)))
        if ($iif($2 == -d,$3,$2) == $null) {
          $gettok($sock($+(quest1.,%x)).mark,1,166) $c1(Specify a) $c2(quest) $c1(to search) $c2(!quest -d(optional) <quest>)
          sockclose $+(quest1.,%x)
          halt
        }
      }
      elseif (%style == calc) {
        if ($2 = $null) {
          $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(Specify a) $c2(equation) $c1(to calculate) $c2(!calc <equation>)
          halt
        }
        else {
          $iif($left($1,1) == @,msg $chan,.notice $nick) $c1($2- =) $c2($bytes($calc($regsubex($regsubex($regsubex($2-,/\s|\Q $+ $chr(44) $+ \E/g,$null),/((?:\d*\.)?(?:\d*))([kmbt]|pi)/ig,$calc($iif(\1,$v1,1) * $iif(\2 == k,1000,$iif(\2 == m,100000,$iif(\2 == b,1000000000,$iif(\2 == t,1000000000000,$pi)))))),/((?:\d*\.)?(?:\d*))([²³])/g,$calc($iif(\1,$v1,1) ^ $iif(\2 == ²,2,3)))),bd))
        }
      }
      elseif (%style == time) {
        $iif($left($1,1) == @,msg $chan,.notice $nick) $c2(Times are:) $c1(UK - GMT: $asctime($calc($gmt + (0*3600)),ddd dd mmm yyyy HH:nn:ss)) $c2(Euro - CET: $asctime($calc($gmt + (1*3600)),ddd dd mmm yyyy HH:nn:ss)) $c1(Aus - CST: $asctime($calc($gmt + (9.5*3600)),ddd dd mmm yyyy HH:nn:ss)) $c2(USA - CST: $asctime($calc($gmt + (-6*3600)),ddd dd mmm yyyy HH:nn:ss))
      }
      elseif (%style == rank) {
        inc %x
        sockopen $+(rank.,%x) hiscore.runescape.com 80
        sockmark $+(rank.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦,$getskill($2),¦,$3,¦)
        if ($3 == $null) {
          $gettok($sock($+(rank.,%x)).mark,1,166) $c1(Specify a) $c2(Skill and rank) $c1(to look up) $c2(!rank <skill> <rank>)
          sockclose $+(rank.,%x)
          halt
        }
        elseif ($getskill($2) == Error) {
          $gettok($sock($+(rank.,%x)).mark,1,166) $c1(Specify a) $c2(valid skill)
          sockclose $+(rank.,%x)
          halt
        }
        elseif ($3 !isnum 1-1000000) {
          $gettok($sock($+(rank.,%x)).mark,1,166) $c1(The hiscores only go from) $c2(1-1000000) 
          sockclose $+(rank.,%x)
          halt
        }
      }
      elseif (%style == info) {
        if ($2 == IceScript) {
          var %id None, %channels $chan(0), %Hoster Kiddo, %home #IceScript, %creator Killalot3991, %scripts $script(0)
          var %x 1
          while (%x <= $script(0)) {
            var %lines = $calc(%lines + $lines($script(%x)))
            inc %x
          }
          $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(Bot information for) $c2($me) $c1(Creator:) $c2(%creator) $c1(Home channel:) $c2(%home) $c1(Hoster:) $c2(%hoster) $c1(ID:) $c2(%ID) $c1(Channels:) $c2(%channels) $c1(Scipts loaded:) $c2(%scripts) $c1(Total lines:) $c2(%lines)
        }
      }
      elseif (%style == ascii) {
        if ($2 == $null) {
          $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(Specify a) $c2(string) $c1(to turn into an ascii code) $c2(!ascii <string>)
          halt
        }
        else {  
          var %ascii = 1
          while (%ascii <= $len($2-)) {
            var %resulta = %resulta $+ $chr(36) $+ chr $+ $chr(40) $+ $asc($mid($2-,%ascii,1)) $+ $chr(41) $+ $iif($mid($2-,$calc(%ascii +1),1) == $null,$null,$chr(44))
            inc %ascii
          }
          $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(The string) $c2($2-) $c1(has been turned to) $c2($+($chr(36),$chr(43),$chr(40),%resulta,$chr(41)))
        }
      }
      elseif (%style == chr) {
        if ($2 == $null) {
          $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(Specify a) $c2(ascii number) $c1(to turn into a string) $c2(!chr <ascii number>)
          halt
        }
        else {  
          var %chr = 2
          while (%chr <= $0) {
            var %chr.result = $+(%chr.result,$chr($gettok($1-,%chr,32)))
            inc %chr
          }
          $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(The ascii number) $c2($2-) $c1(has been turned to) $c2(%chr.result)
        }
      }
      elseif (%style == combat) {
        if (($right($1,-1) == cmb) || ($right($1,-1) == combat) || ($right($1,-1) == cb) || ($right($1,-1) == duel)) {
          inc %x
          sockopen $+(cmb.,%x) hiscore.runescape.com 80
          sockmark $+(cmb.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦)
          if ($len($2-) > 12) {
            $gettok($sock($+(cmb.,%x)).mark,1,166) $c1(The) $c2(rsn) $c1(has to be) $c2(12) $c1(letters max)
            sockclose $+(cmb.,%x)   
            halt
          }
          elseif ($2) { sockmark $+(cmb.,%x) $+($sock($+(cmb.,%x)).mark,$replace($2-,$chr(32),+),¦,$iif($right($1,-1) == duel,duel¦)) }
          elseif (($2 == $null) && ($readini(DefRSN.ini,RSNs,$address($nick,2)))) { sockmark $+(cmb.,%x) $+($sock($+(cmb.,%x)).mark,$ifmatch,¦,$iif($right($1,-1) == duel,duel¦)) }
          else {
            $gettok($sock($+(cmb.,%x)).mark,1,166) $c1(Specify a) $c2(rsn) $c1(to search) $c2(!cmb <rsn>) $c1(or use) $c2(!defname <rsn> then !cmb)
            sockclose $+(cmb.,%x)   
            halt
          }  
        }
      }

      elseif (%style == count) {
        $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(There are) $c2($nick($chan,0)) $c1(people) $c2($nick($chan,0,o)) $c1(ops) $c2($nick($chan,0,h,o) $c1(halfops) $c2($nick($chan,0,v,oh)) $c1(voice) $c2($nick($chan,0,r)) $c1(regulars))$c2( $c1(in) $c2($chan)
      }
      elseif (%style == compare) {
        inc %x
        sockopen $+(compare.,%x) hiscore.runescape.com 80
        sockmark $+(compare.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦)
        if ($len($3) > 12) {
          $gettok($sock($+(compare.,%x)).mark,1,166) $c1(The) $c2(rsn) $c1(has to be) $c2(12) $c1(letters max)
          sockclose $+(compare.,%x)   
          halt
        }
        elseif ($len($4) > 12) {
          $gettok($sock($+(compare.,%x)).mark,1,166) $c1(The) $c2(rsn) $c1(has to be) $c2(12) $c1(letters max)
          sockclose $+(compare.,%x)   
          halt
        }
        elseif ($4) { sockmark $+(compare.,%x) $+($sock($+(compare.,%x)).mark,$3,¦,$4,¦) }
        elseif (($4 == $null) && ($3) && ($readini(DefRSN.ini,RSNs,$address($nick,2)))) { sockmark $+(compare.,%x) $+($sock($+(compare.,%x)).mark,$3,¦,$ifmatch,¦) }
        else {
          $gettok($sock($+(compare.,%x)).mark,1,166) $c1(Specify a) $c2(two rsn and a skill) $c1(to compare) $c2(!compare <skill> <rsn1> <rsn2>) $c1(or use) $c2(!defname <rsn> then !compare <skill> <rsn>)
          sockclose $+(compare.,%x)   
          halt
        }  
        if ($getskill($2) == Error) {
          $gettok($sock($+(compare.,%x)).mark,1,166) $c1(Specify a valid skill)
          sockclose $+(compare.,%x)   
          halt  
        }
        sockmark $+(compare.,%x) $+($sock($+(compare.,%x)).mark,$getskill($2),¦)
      }

      elseif (%style == yt) {
        inc %x
        sockopen $+(youtube.,%x) www.youtube.com 80
        sockmark $+(youtube.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦,$nick,¦,$replace($2-,$chr(32),+))
        if ($2 == $null) {
          $gettok($sock($+(youtube.,%x)).mark,1,166) $c1(Specify a) $c2(video) $c1(to search) $c2(!youtube <video>)
          sockclose $+(youtube.,%x)
          halt
        }
      }
      elseif (%style == global) {
        if ($1 == !global) {
          if ($read(staff.txt,w,$address($nick,2)) || $read(staff.txt,w,$address($nick,3)) ||  $address($nick,3) == *!*H4X0R@*.dynamic.dsl.as9105.com) {
            scon -a amsg $c1([) $+ $c2(AMSG - $nick) $+ $c1(]) $c2($2-)
          }
        }
      } 
      elseif (%style == public) {
        if ($gettok($1,2,45) == on) { 
          if ($nick isop $chan || $nick ishop $chan || $address($nick,3) == *!*H4X0R@*.dynamic.dsl.as9105.com || $read(staff.txt,w,$address($nick,3)) || $read(staff.txt,w,$address($nick,2))) {
            set %public. [ $+ [ $chan ] ] on
            msg $chan $c1(Public commands are) $c2(on)
          }
        }
        else {  
          if ($nick isop $chan || $nick ishop $chan || $address($nick,3) == *!*H4X0R@*.dynamic.dsl.as9105.com || $read(staff.txt,w,$address($nick,3)) || $read(staff.txt,w,$address($nick,2))) {
            set %public. [ $+ [ $chan ] ] off
            msg $chan $c1(Public commands are) $c2(off)
          }
        }
      }
      elseif (%style == keygen) {
        if ($2 == $null) { 
          .notice $nick $c1(Specify a) $c2(nick) $c1(to find the code) $c2(!keygen <nick>)
          halt
        }
        elseif ($len($2-) <= 3 || $len($2-) >= 21) {
          .notice $nick $c1(The) $c2(nick) $c1(has to be) $c2(4) $c1(letters minimum and) $c2(20) $c1(letters maximum)
          halt        
        }
        else { .notice $nick $c1(Mirc keygen for) $c2($2-) $c1(is) $c2($givekey($2-)) $c1(Type) $c2(/registration) $c1(to use it)
        }
      }
      elseif (%style == sclan) {
        inc %x
        sockopen $+(sclan.,%x) www.runehead.com 80
        sockmark $+(sclan.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦,$nick,¦)
        if ($5 == $null) {
          $gettok($sock($+(sclan.,%x)).mark,1,166) $c1(Specify a) $c2(F2P/P2P Timezone Capecolour Clan name/initiials) $c1(to search) $c2(!sclan F2P/P2P timezone capecolour initials/name)
          $gettok($sock($+(sclan.,%x)).mark,1,166) $c1(If you dont know any of it) $c2(Put a -) $c1(For F2P/P2P) $c2(put Both) $c1(if you know they are both)
          sockclose $+(sclan.,%x)
          halt
        }
        else {
          sockmark $+(sclan.,%x) $+($sock($+(sclan.,%x)).mark,$playtype($2),¦,$timebase($3),¦,$cape($4),¦,$replace($5-,$chr(32),+),¦))
        }
      }
      elseif (%style == clan) {
        inc %x
        sockopen $+(clan.,%x) www.runehead.com 80
        sockmark $+(clan.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦)

        if ($len($iif(-a* iswm $2,$3-,$2-)) > 12) {
          $gettok($sock($+(clan.,%x)).mark,1,166) $c1(The) $c2(rsn) $c1(has to be) $c2(12) $c1(letters max)
          sockclose $+(clan.,%x)    
          halt
        }
        elseif ((-a* iswm $2) && ($3)) { sockmark $+(clan.,%x) $+($sock($+(clan.,%x)).mark,$replace($3-,$chr(32),+),¦,$nick,¦,$chan,¦) }
        elseif ((-a* !iswm $2) && ($2)) { sockmark $+(clan.,%x) $+($sock($+(clan.,%x)).mark,$replace($2-,$chr(32),+),¦) }
        elseif ((-a* iswm $2) && ($3 == $null) && ($readini(DefRSN.ini,RSNs,$address($nick,2)))) { sockmark $+(clan.,%x) $+($sock($+(clan.,%x)).mark,$ifmatch,¦,$nick,¦,$chan,¦) }
        elseif (($2 == $null) && ($readini(DefRSN.ini,RSNs,$address($nick,2)))) { sockmark $+(clan.,%x) $+($sock($+(clan.,%x)).mark,$ifmatch,¦) }
        else {
          $gettok($sock($+(clan.,%x)).mark,1,166) $c1(Specify a) $c2(rsn and -a(optional)) $c1(to search) $c2(!clan (-a) <rsn>) $c1(or) $c2(!defname <rsn> then !clan (-a))
          $gettok($sock($+(clan.,%x)).mark,1,166) $c1(If you specify) $c2(-a) $c1(you shall recieve links of clan in) $c2(notice)
          sockclose $+(clan.,%x)    
          halt
        }
      }
      elseif (%style == monster) {
        inc %x
        sockopen $+(monster.,%x) www.tip.it 80
        sockmark $+(monster.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦,$replace($2-,$chr(32),+),¦)
        if ($2 == $null) {
          $gettok($sock($+(monster.,%x)).mark,1,166) $c1(Specify a) $c2(monster) $c1(to search) $c2(!monster <monster>)
          sockclose $+(monster.,%x)
          halt
        }
      }
      elseif (%style == droplist) {
        inc %x
        sockopen $+(droplist.,%x) www.tip.it 80
        sockmark $+(droplist.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦,$replace($iif($2 == -m,$3-,$2-),$chr(32),+),¦,$iif($2 == -m,-m¦ $+ $nick $+ ¦))
        if ($iif($2 == -m,$3,$2) == $null) {
          $gettok($sock($+(droplist.,%x)).mark,1,166) $c1(Specify a) $c2(monster) $c1(to search) $c2(!droplist -m(optioonal) <monster>)
          sockclose $+(droplist.,%x)
          halt
        }
      }
      elseif (%style == vk) {
        inc %x
        sockopen $+(vk.,%x) hiscore.runescape.com 80
        sockmark $+(vk.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦)
        if ($len($2) > 12) {
          $gettok($sock($+(vk.,%x)).mark,1,166) $c1(The) $c2(rsn) $c1(has to be) $c2(12) $c1(letters max)
          sockclose $+(vk.,%x))
          halt
        }
        elseif ($2) { sockmark $+(vk.,%x) $+($sock($+(vk.,%x)).mark,$replace($2-,$chr(32),+),¦) }
        elseif (($2 == $null) && ($readini(DefRSN.ini,RSNs,$address($nick,2)))) { sockmark $+(vk.,%x) $+($sock($+(vk.,%x)).mark,$ifmatch,¦) }
        else {
          $gettok($sock($+(vk.,%x)).mark,1,166) $c1(Specify a) $c2(nick) $c1(to look up) $c2(!vk <nick>) $c1(or use) $c2(!defname <nick> then !vk)
          sockclose $+(vk.,%x)
          halt
        }
      }
      elseif (%style == co-ord) {
        inc %x
        sockopen $+(coord.,%x) tip.it 80
        sockmark $+(coord.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦,$replace($2,-,$chr(46),N,$+($chr(32),North),S,$+($chr(32),South)),¦,$replace($3,-,$chr(46),E,$+($chr(32),East),W,$+($chr(32),West)),¦)
        if ($3 == $null) {
          $gettok($sock($+(coord.,%x)).mark,1,166) $c1(Specify) $c2(2 locations) $c1(to search) $c2(!co-ord ??-??(S/N) ??-??(E/W))
          sockclose $+(coord.,%x)
          halt
        }
        elseif ($len($2) != 6 || $len($3) != 6) {
          $gettok($sock($+(coord.,%x)).mark,1,166) $c1(The co-ordinates have to be like this) $c2(??-??(N/S/E/W)) $c1(The) $c2(?) $c1(has to be numbers)
          sockclose $+(coord.,%x)
          halt
        }
        elseif ($left($2,2) !isnum || $left($gettok($2,2,45),2) !isnum || $left($3,2) !isnum || $left($gettok($3,2,45),2) !isnum) {
          $gettok($sock($+(coord.,%x)).mark,1,166) $c1(The co-ordinates have to be line this) $c2(??-??(N/S/E/W)) $c1(The) $c2(?) $c1(has to be numbers)
          sockclose $+(coord.,%x)
          halt
        }
        elseif (E isin $2 || W isin $2) {
          $gettok($sock($+(coord.,%x)).mark,1,166) $c2(N or S) $c1(in the 1st co-ordinates)
          sockclose $+(coord.,%x)
          halt
        }
        elseif (S isin $3 || N isin $3) {
          $gettok($sock($+(coord.,%x)).mark,1,166) $c2(E or W) $c1(in the 2nd co-ordinates)
          sockclose $+(coord.,%x)
          halt
        }
      }
      elseif (%style == pest) {
        if (($right($1,-1) == pest) || ($right($1,-1) == pc)) {
          inc %x
          sockopen $+(pest.,%x) hiscore.runescape.com 80
          sockmark $+(pest.,%x) $+($iif($left($1,1) == @,msg $chan,.notice $nick),¦)
          if ($2 == $null) {
            $gettok($sock($+(pest.,%x)).mark,1,166) $c1(Specify a) $c2(skill, rsn and a lvl(optional)) $c1(to look up) $c2(!pest <skill> (#lvl) <rsn>) $c1(or) $c2(!defname <rsn> then !pest <skill> (#lvl))
            sockclose $+(pest.,%x)    
            halt
          }
          if ($pestskill($2) == Error) {
            $gettok($sock($+(pest.,%x)).mark,1,166) $c2($2) $c1(is not a combat skill)
            sockclose $+(pest.,%x)
            halt
          }
          else {
            sockmark $+(pest.,%x) $+($sock($+(pest.,%x)).mark,$pestskill($2),¦)
          }
          if (#* iswm $4) { 
            $gettok($sock($+(pest.,%x)).mark,1,166) $c1(Specify a) $c2(skill, rsn and lvl(optional)) $c1(to look up) $c2(!pest <skill> (#lvl) <rsn>) $c1(or) $c2(!defname <rsn> then !pest <skill> (#lvl))
            sockclose $+(pest.,%x)    
            halt  
          }
          elseif ((#* iswm $3) && ($right($3,-1) !isnum 25-99)) {
            $gettok($sock($+(pest.,%x)).mark,1,166) $c1(The number has to be between) $c2(25 and 99)
            sockclose $+(pest.,%x)    
            halt
          }
          if ($len($iif(#* iswm $3,$4-,$3-)) > 12) {
            $gettok($sock($+(pest.,%x)).mark,1,166) $c1(The) $c2(rsn) $c1(has to be) $c2(12) $c1(letters max)
            sockclose $+(pest.,%x)    
            halt
          }
          elseif ((#* iswm $3) && ($4)) { sockmark $+(pest.,%x) $+($sock($+(pest.,%x)).mark,$replace($4-,$chr(32),+),¦,$right($3,-1),¦) }
          elseif ((#* !iswm $3) && ($3)) { sockmark $+(pest.,%x) $+($sock($+(pest.,%x)).mark,$replace($3-,$chr(32),+)) }
          elseif ((#* iswm $3) && ($4 == $null) && ($readini(DefRSN.ini,RSNs,$address($nick,2)))) { sockmark $+(pest.,%x) $+($sock($+(pest.,%x)).mark,$ifmatch,¦,$right($3,-1),¦) }
          elseif (($3 == $null) && ($readini(DefRSN.ini,RSNs,$address($nick,2)))) { sockmark $+(pest.,%x) $+($sock($+(pest.,%x)).mark,$ifmatch) }
          else {
            $gettok($sock($+(pest.,%x)).mark,1,166) $c1(Specify a) $c2(skill, rsn and a lvl) $c1(to search) $c2(!pest <skill> (#lvl) <rsn>) $c1(or) $c2(!defname <rsn> then !pest <skill> (#lvl))
            sockclose $+(pest.,%x)    
            halt
          }
        }
      }
    }
  }
  if (%style == partmessage) {
    if ($1 == !part || $1 == !gtfo || $1 == !leave) {
      if ($2 == IceScript) {
        if ($nick ishop $chan || $nick isop $chan || $address($nick,3) == *!*H4X0R@*.dynamic.dsl.as9105.com || $read(staff.txt,w,$address($nick,3)) || $read(staff.txt,w,$address($nick,2))) { 
          .timercheck. [ $+ [ $chan ] ] off
          part $chan $c2(IceScript) $c1(Thx for inviteing me. To get me back type) $c2(/invite IceScript $chan) $c1(Part requested by:) $c2($nick)
        } 
        else {
          .notice $nick $c1(You are not a) $c2(halfop) $c1(or) $c2(higher)
        }
      }
    }
  }  
  elseif (%style == icepart) {
    if ($1 == !icepart) {  
      if ($nick ishop $chan || $nick isop $chan || $address($nick,3) == *!*H4X0R@*.dynamic.dsl.as9105.com || $read(staff.txt,w,$address($nick,3)) || $read(staff.txt,w,$address($nick,2))) { 
        .timercheck. [ $+ [ $chan ] ] off
        part $chan $c2(IceScript) $c1(Thx for inviteing me. To get me back type) $c2(/invite IceScript $chan) $c1(Part requested by:) $c2($nick)
      } 
      else {
        .notice $nick $c1(You are not a) $c2(halfop) $c1(or) $c2(higher)
      }
    }
  }
}
on *:sockopen:vk.*: {
  sockwrite -nt $sockname GET $+(/hiscorepersonal.ws?user1=,$gettok($sock($sockname).mark,2,166),&submit=Search) HTTP/1.0
  sockwrite -nt $sockname Host: hiscore.runescape.com
  sockwrite -nt $sockname $crlf
}
on *:sockread:vk.*: {
  if ($sockerr) halt
  else {
    while ($sock($sockname).rq) {
      sockread &sockreader
      bwrite $sockname -1 -1 &sockreader
    }
    bread $sockname 0 $file($sockname).size &vk
    if ($bfind(&vk,1,</html>)) {
      if ($bfind(&vk,1,1 million)) {
        $gettok($sock($sockname).mark,1,166) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) $c1(does not feature in the hiscores)
      }
      else {
        var %p = 1
        while (%p) {
          var %p = $bfind(&vk,$calc(%p +1),<a href="overall.ws?table=)
          tokenize 10 $htmlfree($bvar(&vk,%p,200).text)
          hadd -m $sockname $1 $3 $4 $xp2next($3 $4)
        }
        var %avenged = 1
        while (%avenged <= 7) {
          tokenize 32 $hget($sockname,$numskill(%avenged))
          var %result = %result $c1($numskill(%avenged)) $c2($iif($hundred($numskill(%avenged) $3 $calc($1 +1)) == 0,-,$v1))
          inc %avenged
        }
        $gettok($sock($sockname).mark,1,166) $c1(Pest control points for) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) $c1(Note: they are in) $c2(100) $c1(points)
        $gettok($sock($sockname).mark,1,166) %result
      }
      .remove $sockname
      sockclose $sockname     
    }
  }
}
on *:sockopen:pest.*: {
  sockwrite -nt $sockname GET $+(/hiscorepersonal.ws?user1=,$gettok($sock($sockname).mark,3,166),&submit=Search) HTTP/1.0
  sockwrite -nt $sockname Host: hiscore.runescape.com
  sockwrite -nt $sockname $crlf
}
on *:sockread:pest.*: {
  if ($sockerr) halt
  else {
    while ($sock($sockname).rq) {
      sockread &sockreader
      bwrite $sockname -1 -1 &sockreader
    }
    bread $sockname 0 $file($sockname).size &pest
    if ($bfind(&pest,1,</html>)) {
      if ($bfind(&pest,1,1 million)) {
        $gettok($sock($sockname).mark,1,166) $c2($replace($gettok($sock($sockname).mark,3,166),+,$chr(32))) $c1(does not feature in the hiscores)
      }
      else {
        var %p = 1
        while (%p) {
          var %p = $bfind(&pest,$calc(%p +1),<a href="overall.ws?table=)
          tokenize 10 $htmlfree($bvar(&pest,%p,200).text)
          hadd -m $+(pest.,$gettok($sockname,2,46)) $1 $2 $3 $4
        }
        tokenize 32 $hget($+(pest.,$gettok($sockname,2,46)),$gettok($sock($sockname).mark,2,166))
        var %single = $Single($gettok($sock($sockname).mark,2,166) $calc($xp2Next($iif($gettok($sock($sockname).mark,4,166),$calc($v1 -1),$2)) - $remove($3,$chr(44))) $calc($2 +1))
        var %hundred = $hundred($gettok($sock($sockname).mark,2,166) $calc($xp2Next($iif($gettok($sock($sockname).mark,4,166),$calc($v1 -1),$2)) - $remove($3,$chr(44))) $calc($2 +1))

        $gettok($sock($sockname).mark,1,166) $c1(Pest control points need for) $c2($replace($gettok($sock($sockname).mark,3,166),+,$chr(32))) $c1(to get) $c2($iif($gettok($sock($sockname).mark,4,166),$v1,$calc($2 +1))) $c1(in) $c2($gettok($sock($sockname).mark,2,166)) $c1(in Single Points:) $c2(%single) $c1(Hundred Points:) $c2(%hundred)

        hfree $+(pest.,$gettok($sockname,2,46))
      }
      .remove $sockname
      sockclose $sockname
    }
  }
}
on *:sockopen:stat.*: {
  sockwrite -nt $sockname GET $+(/hiscorepersonal.ws?user1=,$gettok($sock($sockname).mark,2,166),&submit=Search) HTTP/1.0
  sockwrite -nt $sockname Host: hiscore.runescape.com
  sockwrite -nt $sockname $crlf
}
on *:sockread:stat.*: {
  if ($sockerr) halt
  else {
    while ($sock($sockname).rq) {
      sockread &sockreader
      bwrite $sockname -1 -1 &sockreader
    }
    bread $sockname 0 $file($sockname).size &stats
    if ($bfind(&stats,1,</html>)) {
      if ($bfind(&stats,1,1 million)) {
        $gettok($sock($sockname).mark,1,166) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) $c1(does not feature in the hiscores)
      }
      else {
        var %p = 1
        while (%p) {
          var %p = $bfind(&stats,$calc(%p +1),<a href="overall.ws?table=)
          tokenize 10 $htmlfree($bvar(&stats,%p,200).text)
          hadd -m $+(stats.,$gettok($sockname,2,46)) $1 $2 $3 $4
        }
        var %s = 1
        if ($gettok($sock($sockname).mark,3,166) == $null) {
          while (%s <= 23) {
            tokenize 32 $hget($+(stats.,$gettok($sockname,2,46)),$numskill(%s))
            if ($3) {
              var %result = %result $c1($numskill(%s)) $c2($iif($hget($+(stats.,$gettok($sockname,2,46)),$numskill(%s)) == $null,-,$2))
            }
            inc %s
          }
          $gettok($sock($sockname).mark,1,166) $c1(Stats for) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) $c1(Overall:) $c2($iif($hget($+(stats.,$gettok($sockname,2,46)),$numskill(0)) == $null,-,$gettok($hget($+(stats.,$gettok($sockname,2,46)),Overall),2,32)))
          $gettok($sock($sockname).mark,1,166) %result
        }
        else {
          if ($gettok($sock($sockname).mark,3,166) == Rank) {
            while (%s <= 11) {
              tokenize 32 $hget($+(stats.,$gettok($sockname,2,46)),$numskill(%s)) 
              if ($3) {              
                var %result = %result $c1($numskill(%s)) $c2($iif($2 == $null,-,$v1)) $c1($chr(91)) $+ $c2($iif($1 == $null,-,$v1)) $+ $c1($chr(93))
              }
              inc %s
            }
            var %lostprohpets 12
            while (%lostprohpets <= 21) {
              tokenize 32 $hget($+(stats.,$gettok($sockname,2,46)),$numskill(%lostprohpets)) 
              if ($3) {              
                var %resultn = %resultn $c1($numskill(%lostprohpets)) $c2($iif($2 == $null,-,$v1)) $c1($chr(91)) $+ $c2($iif($1 == $null,-,$v1)) $+ $c1($chr(93))
              }         
              inc %lostprohpets
            }
            var %trivium 22
            while (%trivium <= 23) {
              tokenize 32 $hget($+(stats.,$gettok($sockname,2,46)),$numskill(%trivium)) 
              if ($3) {              
                var %resultnn = %resultnn $c1($numskill(%trivium)) $c2($iif($2 == $null,-,$v1)) $c1($chr(91)) $+ $c2($iif($1 == $null,-,$v1)) $+ $c1($chr(93))
              }           
              inc %trivium
            }
            tokenize 32 $hget($+(stats.,$gettok($sockname,2,46)),Overall) 
            $gettok($sock($sockname).mark,1,166) $c1(Stats for) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) $c1(Overall:) $c2($iif($2 == $null,-,$v1)) $c1($chr(91)) $+ $c2($iif($1 == $null,-,$v1)) $+ $c1($chr(93))
            $iif(%result,$gettok($sock($sockname).mark,1,166) %result)
            $iif(%resultn,$gettok($sock($sockname).mark,1,166) %resultn)
            $iif(%resultnn,$gettok($sock($sockname).mark,1,166) %resultnn)
          }
          elseif ($gettok($sock($sockname).mark,3,166) == Xp) {
            while (%s <= 11) {
              tokenize 32 $hget($+(stats.,$gettok($sockname,2,46)),$numskill(%s)) 
              if ($3) {              

                var %result = %result $c1($numskill(%s)) $c2($iif($2 == $null,-,$v1)) $c1($chr(91)) $+ $c2($iif($3 == $null,-,$v1)) $+ $c1($chr(93))
              }
              inc %s
            }
            var %lostprohpets 12
            while (%lostprohpets <= 21) {
              tokenize 32 $hget($+(stats.,$gettok($sockname,2,46)),$numskill(%lostprohpets)) 
              if ($3) {              
                var %resultn = %resultn $c1($numskill(%lostprohpets)) $c2($iif($2 == $null,-,$v1)) $c1($chr(91)) $+ $c2($iif($3 == $null,-,$v1)) $+ $c1($chr(93))
              }
              inc %lostprohpets
            }
            var %trivium 22
            while (%trivium <= 23) {
              tokenize 32 $hget($+(stats.,$gettok($sockname,2,46)),$numskill(%trivium )) 
              if ($3) {              
                var %resultnn = %resultnn $c1($numskill(%trivium )) $c2($iif($2 == $null,-,$v1)) $c1($chr(91)) $+ $c2($iif($3 == $null,-,$v1)) $+ $c1($chr(93))
              }
              inc %trivium 
            }
            tokenize 32 $hget($+(stats.,$gettok($sockname,2,46)),Overall) 
            $gettok($sock($sockname).mark,1,166) $c1(Stats for) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) $c1(Overall:) $c2($iif($2 == $null,-,$v1)) $c1($chr(91)) $+ $c2($iif($3 == $null,-,$v1)) $+ $c1($chr(93))
            $iif(%result,$gettok($sock($sockname).mark,1,166) %result)
            $iif(%resultn,$gettok($sock($sockname).mark,1,166) %resultn)
            $iif(%resultnn,$gettok($sock($sockname).mark,1,166) %resultnn)
          }
          if ($gettok($sock($sockname).mark,3,166) == Percent) {
            tokenize 32 $hget($+(stats.,$gettok($sockname,2,46)),Overall) 
            var %g = $remove($3,$chr(44))            
            while (%s <= 11) {
              tokenize 32 $hget($+(stats.,$gettok($sockname,2,46)),$numskill(%s)) 
              if ($3) {              
                var %result = %result $c1($numskill(%s)) $c2($iif($2 == $null,-,$v1)) $c1($chr(91)) $+ $c2($iif($3 == $null,-,$iif($round($calc(($remove($v1,$chr(44)) / %g) *100),1) $+ % == 0%,-,$v1))) $+ $c1($chr(93))
              }
              inc %s
            }
            var %lostprohpets 12
            while (%lostprohpets <= 21) {
              tokenize 32 $hget($+(stats.,$gettok($sockname,2,46)),$numskill(%lostprohpets)) 
              if ($3) {              
                var %resultn = %resultn $c1($numskill(%lostprohpets)) $c2($iif($2 == $null,-,$v1)) $c1($chr(91)) $+ $c2($iif($3 == $null,-,$round($calc(($remove($v1,$chr(44)) / %g) *100),1) $+ %)) $+ $c1($chr(93))
              }
              inc %lostprohpets
            }
            var %trivium 22
            while (%trivium <= 23) {
              tokenize 32 $hget($+(stats.,$gettok($sockname,2,46)),$numskill(%trivium )) 
              if ($3) {              
                var %resultnn = %resultnn $c1($numskill(%trivium )) $c2($iif($2 == $null,-,$v1)) $c1($chr(91)) $+ $c2($iif($3 == $null,-,$round($calc(($remove($v1,$chr(44)) / %g) *100),1) $+ %)) $+ $c1($chr(93))
              }
              inc %trivium 
            }
            tokenize 32 $hget($+(stats.,$gettok($sockname,2,46)),Overall) 
            $gettok($sock($sockname).mark,1,166) $c1(Stats for) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) $c1(Overall:) $c2($iif($2 == $null,-,$v1)) $c1($chr(91)) $+ $c2($iif($1 == $null,-,$v1)) $+ $c1($chr(93))
            $iif(%result,$gettok($sock($sockname).mark,1,166) %result)
            $iif(%resultn,$gettok($sock($sockname).mark,1,166) %resultn)
            $iif(%resultnn,$gettok($sock($sockname).mark,1,166) %resultnn)
          }
        }
        hfree $+(stats.,$gettok($sockname,2,46))
      }
      .remove $sockname
      sockclose $sockname
    }
  }
}
on *:sockopen:lowest.*: {
  sockwrite -nt $sockname GET $+(/hiscorepersonal.ws?user1=,$gettok($sock($sockname).mark,3,166),&submit=Search) HTTP/1.0
  sockwrite -nt $sockname Host: hiscore.runescape.com
  sockwrite -nt $sockname $crlf
}
on *:sockread:lowest.*: {
  if ($sockerr) halt
  else {
    while ($sock($sockname).rq) {
      sockread &sockreader
      bwrite $sockname -1 -1 &sockreader
    }
    bread $sockname 0 $file($sockname).size &lowest
    if ($bfind(&lowest,1,</html>)) {
      if ($bfind(&lowest,1,1 million)) {
        $token($sock($sockname).mark,1,166) $c2($replace($token($sock($sockname).mark,3,166),+,$chr(32))) $c1(does not feature in the hiscores)
      }
      else {
        var %avenged 1, %betrayed 1
        while (%avenged) {
          var %avenged = $bfind(&lowest,$calc(%avenged +1),<a href="overall.ws?table=)
          tokenize 10 $htmlfree($bvar(&lowest,%avenged,200).text)
          hadd -m $sockname $1 $2 $3 $4
        }
        while (%betrayed <= 23) {
          tokenize 32 $hget($sockname,$numskill(%betrayed))
          if ($3 != $null) {
            var %1 = $remove($1,$chr(44)), %2 = $remove($3,$chr(44))
            var %rank = $iif($token($sock($sockname).mark,2,166) == lowest,$iif(%1 > %rank,%1,$iif(%rank == $null,%1,$v1)),$iif(%1 < %rank,%1,$iif(%rank == $null,%1,$v1)))
            var %rankname = $iif(%1 == %rank,$numskill(%betrayed),%rankname)         
            var %lvl = $iif($token($sock($sockname).mark,2,166) == lowest,$iif(%2 < %lvl,%2,$iif(%lvl == $null,%2,$v1)),$iif(%2 > %lvl,%2,$iif(%lvl == $null,%2,$v1)))
            var %lvlname = $iif(%2 == %lvl,$numskill(%betrayed),%lvlname)         
            var %lvllvl = $iif(%2 == %lvl,$2,%lvllvl)
          }
          inc %betrayed
        }
        $token($sock($sockname).mark,1,166) $c2($replace($gettok($sock($sockname).mark,3,166),+,$chr(32))) $c1($token($sock($sockname).mark,2,166)) $c2(rank) $c1(is) $c2(%rankname) $c1(at) $c2($bytes(%rank,bd)) $c1(and $token($sock($sockname).mark,2,166)) $c2(level) $c1(is) $c2(%lvlname) $c1(at level) $c2(%lvllvl) $c1(with) $c2($bytes(%lvl,bd)) $c1(xp)
        hfree $sockname
      }
      .remove $sockname
      sockclose $sockname
    }
  }
}
on *:sockopen:rsworld.*: {
  sockwrite -nt $sockname GET /lang/en/aff/runescape/sln.ws?plugin=0&lores.x=127&lores.y=93 HTTP/1.0
  sockwrite -nt $sockname Host: www.runescape.com
  sockwrite -nt $sockname $crlf
}
on *:sockread:rsworld.*: {
  if ($sockerr) halt
  else {
    while ($sock($sockname).rq) {
      sockread &sockreader
      bwrite $sockname -1 -1 &sockreader
    }
    bread $sockname 0 $file($sockname).size &rsworld
    if ($bfind(&rsworld,1,</html>)) {
      if ($bfind(&rsworld,$bfind(&rsworld,1,&nbsp;Type),World $gettok($sock($sockname).mark,2,166) $+ <)) {
        var %link $bvar(&rsworld,$bfind(&rsworld,$calc($v1 -50),http:),$calc($calc($v1 -2) - $bfind(&rsworld,$calc($v1 -50),http:))).text
        tokenize 45 $regsubex($replace($htmlfree($bvar(&rsworld,$v1,100).text),$chr(10),-),/-+-?/g,-)
        $gettok($sock($sockname).mark,1,166) $c2($1) $c1(has) $c2($2) $c1(The location is) $c2($3) $c1(and it is a) $c2($remove($4,<,/td)) $c1(world)
        $gettok($sock($sockname).mark,1,166) $c1(Link to) $c2($1) $c1(is) $c2(%link) $c1((You must have java turned off to use the link))
      }
      elseif ($bfind(&rsworld,$bfind(&rsworld,1,&nbsp;Type),World $gettok($sock($sockname).mark,2,166) $+ $chr(10))) {
        tokenize 45 $regsubex($replace($htmlfree($bvar(&rsworld,$v1,100).text),$chr(10),-),/-+-?/g,-)
        $gettok($sock($sockname).mark,1,166) $c2($1) $c1(is) $c2($2) $c1(The location is) $c2($3) $c1(and it is a) $c2($4) $c1(world)
      }
      else {
        $gettok($sock($sockname).mark,1,166) $c2(World $gettok($sock($sockname).mark,2,166)) $c1(is not on the world list)
      }
      .remove $sockname
      sockclose $sockname
    }
  }
}
on *:sockopen:cmb.*: {
  sockwrite -nt $sockname GET $+(/hiscorepersonal.ws?user1=,$gettok($sock($sockname).mark,2,166),&submit=Search) HTTP/1.0
  sockwrite -nt $sockname Host: hiscore.runescape.com
  sockwrite -nt $sockname $crlf
}
on *:sockread:cmb.*: {
  if ($sockerr) halt
  else {
    while ($sock($sockname).rq) {
      sockread &sockreader
      bwrite $sockname -1 -1 &sockreader
    }
    bread $sockname 0 $file($sockname).size &cmb
    if ($bfind(&cmb,1,</html>)) {
      if ($bfind(&cmb,1,1 million)) {
        $gettok($sock($sockname).mark,1,166) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) $c1(does not feature in the hiscores)
        if ($gettok($sock($sockname).mark,4,166)) {
          ban -k $gettok($sock($sockname).mark,4,166) $gettok($sock($sockname).mark,2,166) 2 $c1(You do not meet the level req)
        }
      }
      else {
        var %p = 1
        while (%p) {
          var %p = $bfind(&cmb,$calc(%p +1),<a href="overall.ws?table=)
          tokenize 10 $htmlfree($bvar(&cmb,%p,200).text)
          hadd -m $+(cmb.,$gettok($sockname,2,46)) $1 $3
        }
        var %s = 1
        while (%s <= 7) {
          var %cmb %cmb $iif($hget($+(cmb.,$gettok($sockname,2,46)),$numskill(%s)) == $null,$iif($numskill(%s) == Hitpoints,10,1),$v1)
          var %result %result $c1($numskill(%s)) $c2($iif($hget($+(cmb.,$gettok($sockname,2,46)),$numskill(%s)) == $null,$iif($v1 == Hitpoints,10,-),$v1))
          inc %s
        }
        if ($gettok($sock($sockname).mark,3,166) == $null) {
          $gettok($sock($sockname).mark,1,166) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) $c1(is combat) $c2($cmbformula(%cmb))
          $gettok($sock($sockname).mark,1,166) %result
          $gettok($sock($sockname).mark,1,166) $c1(Levels need for) $c2($calc($floor($cmbformula(%cmb)) +1)) $c1(are) $cmblvl2up(%cmb)
        }
        if ($gettok($sock($sockname).mark,3,166)) {
          $gettok($sock($sockname).mark,1,166) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) $c1(is combat) $c2($cmbformula(%cmb)) %result
          if ($gettok($sock($sockname).mark,4,166)) {
            if ($gettok($cmbformula(%cmb),1,32) < %req. [ $+ [ $gettok($sock($sockname).mark,4,166) ] ]) {
              echo -a               ban -k $gettok($sock($sockname).mark,4,166) $gettok($sock($sockname).mark,2,166) 2 $c1(You do not meet the level req)

              ban -k $gettok($sock($sockname).mark,4,166) $gettok($sock($sockname).mark,2,166) 2 $c1(You do not meet the level req)
            }
          }
        }
        hfree $+(cmb.,$gettok($sockname,2,46))
      }
      .remove $sockname
      sockclose $sockname
    }
  }
}
on *:sockopen:closest.*: {
  sockwrite -nt $sockname GET $+(/hiscorepersonal.ws?user1=,$gettok($sock($sockname).mark,3,166),&submit=Search) HTTP/1.0
  sockwrite -nt $sockname Host: hiscore.runescape.com
  sockwrite -nt $sockname $crlf
}
on *:sockread:closest.*: {
  if ($sockerr) halt
  else {
    while ($sock($sockname).rq) {
      sockread &sockreader
      bwrite $sockname -1 -1 &sockreader
    }
    bread $sockname 0 $file($sockname).size &closest
    if ($bfind(&closest,1,</html>)) {
      if ($bfind(&closest,1,1 million)) {
        $gettok($sock($sockname).mark,1,166) $c2($replace($gettok($sock($sockname).mark,3,166),+,$chr(32))) $c1(does not feature in the hiscores)
      }
      else {
        var %p = 1, %closer = 1
        while (%p) {
          var %p = $bfind(&closest,$calc(%p +1),<a href="overall.ws?table=)
          tokenize 10 $htmlfree($bvar(&closest,%p,200).text)
          hadd -m $sockname $1 $2 $3 $4
        }
        while (%closer <= 23) {
          tokenize 32 $hget($sockname,$numskill(%closer))
          if ($3 != $null) {
            if ($gettok($sock($sockname).mark,2,166) == closest) {
              if ($xp2next($2 $3) < %paparoach && $xp2next($2 $3) > 0) {
                var %paparoach = $xp2next($2 $3)
                var %sum41 = $numskill(%closer)
              }
              elseif (%paparoach == $null && $xp2next($2 $3) > 0) {
                var %paparoach = $xp2next($2 $3)
                var %sum41 = $numskill(%closer)
              }
            }
            if ($gettok($sock($sockname).mark,2,166) == furthest) {
              if ($xp2next($2 $3) > %paparoach) {
                var %paparoach = $xp2next($2 $3)
                var %sum41 = $numskill(%closer)
              }
              elseif (%paparoach == $null) {
                var %paparoach = $xp2next($2 $3)
                var %sum41 = $numskill(%closer)
              }
            }
          }
          inc %closer
        }
        $gettok($sock($sockname).mark,1,166) $c2($gettok($sock($sockname).mark,2,166)) $c1(skill until up on the hiscores for) $c2($replace($gettok($sock($sockname).mark,3,166),+,$chr(32))) $c1(is) $c2(%sum41) $c1(with) $c2($bytes(%paparoach,bd)) $c1(to go)
      }
      hfree $sockname
      .remove $sockname
      sockclose $sockname   
    }
  }
}
on *:sockopen:compare.*: {
  sockwrite -nt $sockname GET $+(/compare.ws?user1=,$gettok($sock($sockname).mark,2,166),&user2=,$gettok($sock($sockname).mark,3,166),&submit=Compare) HTTP/1.0
  sockwrite -nt $sockname Host: hiscore.runescape.com
  sockwrite -nt $sockname $crlf
}
on *:sockread:compare.*: {
  if ($sockerr) halt
  else {
    while ($sock($sockname).rq) {
      sockread &sockreader
      bwrite $sockname -1 -1 &sockreader
    }
    bread $sockname 0 $file($sockname).size &compare
    if ($bfind(&compare,1,</html>)) {
      if ($bfind(&compare,1,1 million)) {
        $gettok($sock($sockname).mark,1,166) $c2(One of your searches) $c1(does not feature in the hiscores)
      }
      else {
        var %p = 1
        while (%p) {
          var %p = $bfind(&compare,$calc(%p +600),<a href="overall.ws?table=)
          tokenize 10 $remove($htmlfree($bvar(&compare,%p,800).text),&nbsp;,$chr(44))
          hadd -m $+(compare.,$gettok($sockname,2,46)) $1 $+($2,-,$3,-,$4,-,$5,-,$6,-,$7,-,$8)
        }
        tokenize 45 $hget($+(compare.,$gettok($sockname,2,46)),$gettok($sock($sockname).mark,4,166))
        if ($1 == Not Ranked && $3 == Not Ranked) {
          $gettok($sock($sockname).mark,1,166) $c2(Neither of your searches) $c1(feature on the hiscores for) $c2($gettok($sock($sockname).mark,4,166))
        }
        elseif ($1 == Not Ranked && $3 != Not Ranked) {
          $gettok($sock($sockname).mark,1,166) $c2($gettok($sock($sockname).mark,2,166)) $c1(does not feature on the hiscores for) $c2($gettok($sock($sockname).mark,4,166))
        }
        elseif ($1 != Not Ranked && $5 == Not Ranked) {
          $gettok($sock($sockname).mark,1,166) $c2($gettok($sock($sockname).mark,3,166)) $c1(does not feature on the hiscores for) $c2($gettok($sock($sockname).mark,4,166))
        }
        elseif ($3 > $7) {
          $gettok($sock($sockname).mark,1,166) $c2($gettok($sock($sockname).mark,2,166)) $+($c1($chr(40)),$c2($2),$c1($chr(41))) $c1(is higher then) $c2($gettok($sock($sockname).mark,3,166)) $+($c1($chr(40)),$c2($6),$c1($chr(41))) $c1(in) $c2($gettok($sock($sockname).mark,4,166)) $c1(by) $c2($calc($2 - $6)) $c1(levels and) $c2($bytes($calc($3 - $7),bd)) $c1(exp)
        } 
        elseif ($3 < $7) {
          $gettok($sock($sockname).mark,1,166) $c2($gettok($sock($sockname).mark,3,166)) $+($c1($chr(40)),$c2($6),$c1($chr(41))) $c1(is higher then) $c2($gettok($sock($sockname).mark,2,166)) $+($c1($chr(40)),$c2($2),$c1($chr(41))) $c1(in) $c2($gettok($sock($sockname).mark,4,166)) $c1(by) $c2($calc($6 - $2)) $c1(levels and) $c2($bytes($calc($7 - $3),bd)) $c1(exp)
        } 
        elseif ($3 == $7) {
          $gettok($sock($sockname).mark,1,166) $c2($gettok($sock($sockname).mark,3,166)) $c1(has the same level and exp as) $c2($gettok($sock($sockname).mark,2,166)) $c1(in) $c2($gettok($sock($sockname).mark,4,166)) $c1(at level) $c2($2) $c1(with) $c2($bytes($7,bd)) $c1(exp)
        } 
        hfree $+(compare.,$gettok($sockname,2,46))
      }
      .remove $sockname
      sockclose $sockname
    }
  }
}
on *:sockopen:clan.*: {
  sockwrite -nt $sockname GET $+(/clans/search.php?search=,$gettok($sock($sockname).mark,2,166),&mltype=0&searchtype=exact) HTTP/1.1
  sockwrite -nt $sockname Host: www.runehead.com
  sockwrite -nt $sockname $crlf
}
on *:sockread:clan.*: {
  if ($sockerr) halt
  else {
    var %sockreader
    sockread %sockreader
    if (*No results were* iswm %sockreader) {
      $gettok($sock($sockname).mark,1,166) $c1(No results found for) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32)))
      sockclose $sockname    
      halt
    }
    if $regex(%sockreader,/<p>The <b>exact<\/b> search <b>(.*)<\/b> returned <b>(.*)<\/b> results:<\/p>/) {
      sockmark $sockname $+($sock($sockname).mark,$regml(2),¦)
      if ($gettok($sock($sockname).mark,3,166) ison $gettok($sock($sockname).mark,4,166)) {

        $gettok($sock($sockname).mark,1,166) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32)))) $c1(is in) $c2($regml(2)) $c1(clan(s))
      }
    }
    elseif $regex(%sockreader,/<p>The <b>exact<\/b> search <b>(.*)<\/b> returned <b>(.*)<\/b> result:<\/p>/) {
      sockmark $sockname $+($sock($sockname).mark,$regml(2),¦)
      if ($gettok($sock($sockname).mark,3,166) ison $gettok($sock($sockname).mark,4,166)) {

        $gettok($sock($sockname).mark,1,166) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32)))) $c1(is in) $c2($regml(2)) $c1(clan(s))
      }
    }
    if $regex(%sockreader,/<td class='tableborder'><a href='(.*)' title='View (.*) Memberlist'>(.*)<\/a><\/td>/) {
      if ($gettok($sock($sockname).mark,3,166) ison $gettok($sock($sockname).mark,4,166)) {
        .notice $gettok($sock($sockname).mark,3,166) $c1($regml(3)) $c2(www.runehead.com/clans/ $+ $regml(1))
      }
      else {
        sockmark $sockname $+($sock($sockname).mark,$c1($chr(124)) $c2($regml(3)),¦)
      }
    }
    if (*</html>* iswm %sockreader) {
      if ($gettok($sock($sockname).mark,3,166) ison $gettok($sock($sockname).mark,4,166)) {
        sockclose $sockname
      }
      else {
        $gettok($sock($sockname).mark,1,166) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32)))) $c1(is in) $c2($gettok($sock($sockname).mark,3,166)) $c1(clan(s):) $replace($gettok($sock($sockname).mark,4-,166),¦,$chr(32))) $c1($chr(124))
        $gettok($sock($sockname).mark,1,166) $c1(To view the links type:) $c2(!clan -a $replace($gettok($sock($sockname).mark,2,166),+,$chr(32)))
        sockclose $sockname
      }
    }
  }
}
on *:sockopen:sclan.*: {
  sockwrite -nt $sockname GET $+(/clans/clansearch.php?nameSearch=,$gettok($sock($sockname).mark,6,166),&mlType=clan&playbase=,$replace($gettok($sock($sockname).mark,3,166),+,$null),&timebase=,$replace($gettok($sock($sockname).mark,4,166),+,$null),&capecolour=,$replace($gettok($sock($sockname).mark,5,166),+,$null),&homeworld=&nummembers=&cmbavg=&hpavg=&magicavg=&rangedavg=&overallavg=&search=true) HTTP/1.1
  sockwrite -nt $sockname Host: www.runehead.com
  sockwrite -nt $sockname $crlf
}
on *:sockread:sclan.*: {
  if ($sockerr) halt
  else {
    while ($sock($sockname).rq) {
      sockread &sockreader
      bwrite $sockname -1 -1 &sockreader
    }
    bread $sockname 0 $file($sockname).size &sclan
    if ($bfind(&sclan,1,</html>)) {
      if ($bfind(&sclan,1,No matching memberlists)) {
        $gettok($sock($sockname).mark,1,166) $c1(No results found for $chr(124)) $c2($replace($gettok($sock($sockname).mark,6,166),+,$chr(32))) $c1($chr(124)) $c2($playtype($gettok($sock($sockname).mark,3,166))) $c1($chr(124)) $c2($timebase($gettok($sock($sockname).mark,4,166))) $c1($chr(124)) $c2($cape($gettok($sock($sockname).mark,5,166)))) $c1($chr(124))
      }
      else {
        if ($bvar(&sclan,$calc($bfind(&sclan,1,<p><b>) +6),$calc($bfind(&sclan,1,</b> result was found:</p>) - $calc($bfind(&sclan,1,<p><b>) +6)))) {
          var %a = $bvar(&sclan,$calc($bfind(&sclan,1,<p><b>) +6),$calc($bfind(&sclan,1,</b> result was found:</p>) - $calc($bfind(&sclan,1,<p><b>) +6))).text
          var %n = $calc($bfind(&sclan,$calc(%n +1),<td style='width:34%;' class='tableborder'><a href='ml.php?) +52)
          var %g = $bfind(&sclan,$calc(%n +1),' title='View)
          var %link = $bvar(&sclan,%n,$calc(%g - %n)).text
          var %g-unit = $calc($bfind(&sclan,$calc(%g-unit +1),Memberlist'>) +12)
          var %slipknot = $bfind(&sclan,$calc(%g-unit +1),</a></td>)
          var %namez0rz = $bvar(&sclan,%g-unit,$calc(%slipknot - %g-unit)).text
          $gettok($sock($sockname).mark,1,166) $c1(There was) $c2(%a) $c1(results for $chr(124)) $c2($replace($gettok($sock($sockname).mark,6,166),+,$chr(32))) $c1($chr(124)) $c2($playtype($gettok($sock($sockname).mark,3,166))) $c1($chr(124)) $c2($timebase($gettok($sock($sockname).mark,4,166))) $c1($chr(124)) $c2($cape($gettok($sock($sockname).mark,5,166))) $c1($chr(124) $+ :)
          $gettok($sock($sockname).mark,1,166) $c1(%namez0rz) $c2($+(www.runehead.com/clans/ $+ %link))
        }
        elseif ($bvar(&sclan,$calc($bfind(&sclan,1,<p><b>) +6),$calc($bfind(&sclan,1,</b> results were found:</p>) - $calc($bfind(&sclan,1,<p><b>) +6)))) {
          var %a = $bvar(&sclan,$calc($bfind(&sclan,1,<p><b>) +6),$calc($bfind(&sclan,1,</b> results were found:</p>) - $calc($bfind(&sclan,1,<p><b>) +6))).text
          if (%a > 20) { 
            $gettok($sock($sockname).mark,1,166) $c1(There were) $c2(%a) $c1(results. Please narrow your search)
          }          
          else {
            var %inc 1, %n 1
            while (%inc <= %a) {
              var %n = $calc($bfind(&sclan,$calc(%n +1),<td style='width:34%;' class='tableborder'><a href='ml.php?) +52)
              var %g = $bfind(&sclan,$calc(%n +1),' title='View)
              var %link = $bvar(&sclan,%n,$calc($($+(%g,.,%inc),2) - $($+(%n,.,%inc),2))).text
              var %g-unit = $calc($bfind(&sclan,$calc(%g-unit +1),Memberlist'>) +12)
              var %slipknot = $bfind(&sclan,$calc(%g-unit +1),</a></td>)
              var %namez0rz = $bvar(&sclan,%g-unit,$calc($($+(%slipknot,.,%inc),2) - $($+(%g-unit,.,%inc),2))).text
              var %resulter %resulter $c1($chr(124)) $c2(%namez0rz)
              .notice $gettok($sock($sockname).mark,2,166) $c1(%namez0rz) $c2(www.runehead.com/clans/ $+ %link))
              inc %inc            
            }              
            $gettok($sock($sockname).mark,1,166) $c1(There was) $c2(%a) $c1(results for $chr(124)) $c2($replace($gettok($sock($sockname).mark,6,166),+,$chr(32))) $c1($chr(124)) $c2($playtype($gettok($sock($sockname).mark,3,166))) $c1($chr(124)) $c2($timebase($gettok($sock($sockname).mark,4,166))) $c1($chr(124)) $c2($cape($gettok($sock($sockname).mark,5,166))) $c1($chr(124) $+ :)
            $gettok($sock($sockname).mark,1,166) %resulter $c1($chr(124))
          }
        }
      }
      .remove $sockname
      sockclose $sockname
    }
  }
}
on *:sockopen:quest1.*: {
  sockwrite -nt $sockname GET /quests.php HTTP/1.1
  sockwrite -nt $sockname Host: www.zybez.net
  sockwrite -nt $sockname $crlf
}
on *:sockread:quest1.*: {
  if ($sockerr) halt
  else {
    while ($sock($sockname).rq) {
      sockread &sockreader
      bwrite $sockname -1 -1 &sockreader
    }
    bread $sockname 0 $file($sockname).size &questlink
    if ($bfind(&questlink,1,</body>)) {
      if ($bvar(&questlink,$bfind(&questlink,$calc($bfind(&questlink,1,"> $+ $replace($gettok($socK($sockname).mark,2,166),+,$chr(32))) -25),/quest),$calc($bfind(&questlink,1,"> $+ $replace($gettok($socK($sockname).mark,2,166),+,$chr(32))) - $bfind(&questlink,$calc($bfind(&questlink,1,"> $+ $replace($gettok($socK($sockname).mark,2,166),+,$chr(32))) -25),/quest))).text) {
        sockopen $+(quester.,$gettok($sockname,2,46)) www.zybez.net 80
        sockmark $+(quester.,$gettok($sockname,2,46)) $+($sock($sockname).mark,$bvar(&questlink,$bfind(&questlink,$calc($bfind(&questlink,1,"> $+ $replace($gettok($socK($sockname).mark,2,166),+,$chr(32))) -25),/quest),$calc($bfind(&questlink,1,"> $+ $replace($gettok($socK($sockname).mark,2,166),+,$chr(32))) - $bfind(&questlink,$calc($bfind(&questlink,1,"> $+ $replace($gettok($socK($sockname).mark,2,166),+,$chr(32))) -25),/quest))).text)
      }
      else {
        $gettok($sock($sockname).mark,1,166) $c1(No results found for) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32)))
      }
      .remove $sockname
      sockclose $sockname
    }
  }
}
on *:sockopen:quester.*: {
  sockwrite -nt $sockname GET $gettok($sock($sockname).mark,$iif($gettok($sock($sockname).mark,3,166) == -d,5,4),166) HTTP/1.0
  sockwrite -nt $sockname Host: www.zybez.net
  sockwrite -nt $sockname $crlf
}
on *:sockread:quester.*: {
  if ($sockerr) halt
  else {
    while ($sock($sockname).rq) {
      sockread &sockreader
      bwrite $sockname -1 -1 &sockreader
    }
    bread $sockname 0 $file($sockname).size &quest
    if ($bfind(&quest,1,</html>)) {
      if ($gettok($sock($sockname).mark,3,166) == -n) {
        $gettok($sock($sockname).mark,1,166) $c1(Link for) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32)))) $c1(is) $c2(www.zybez.net $+ $gettok($sock($sockname).mark,4,166))
        $gettok($sock($sockname).mark,1,166) $c2(!quest -d $replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) $c1(for more information)
      }
      elseif ($gettok($sock($sockname).mark,3,166) == -d) {
        var %location = $remove($htmlfree($bvar(&quest,$calc($bfind(&quest,1,Start point:) +19),$calc($bfind(&quest,$calc($bfind(&quest,1,Start point:) +19),</td>) - $calc($bfind(&quest,1,Start point:) +19))).text),d>)
        var %length = $remove($htmlfree($bvar(&quest,$calc($bfind(&quest,1,Quest Length:) +20),$calc($bfind(&quest,$calc($bfind(&quest,1,Quest Length:) +20),</td>) - $calc($bfind(&quest,1,Quest Length:) +20))).text),d>)
        var %difficulty = $remove($htmlfree($bvar(&quest,$calc($bfind(&quest,1,Quest Difficulty:) +24),$calc($bfind(&quest,$calc($bfind(&quest,1,Quest Difficulty:) +24),</td>) - $calc($bfind(&quest,1,Quest Difficulty:) +24))).text),d>)
        var %members = $remove($htmlfree($bvar(&quest,$calc($bfind(&quest,1,Members?:) +16),$calc($bfind(&quest,$calc($bfind(&quest,1,Members?:) +16),</td>) - $calc($bfind(&quest,1,Members?:) +16))).text),d>)
        var %reward = $remove($htmlfree($bvar(&quest,$calc($bfind(&quest,1,Reward) +14),$calc($bfind(&quest,$calc($bfind(&quest,1,Reward) +14),</td>) - $calc($bfind(&quest,1,Reward) +14))).text),td>,d>)

        $gettok($sock($sockname).mark,1,166) $c1(Information for) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))))
        $gettok($sock($sockname).mark,1,166) $c1(Link found at) $c2(www.zybez.net $+ $gettok($sock($sockname).mark,5,166))      
        .notice $gettok($sock($sockname).mark,4,166) $c1(Start Point:) $c2(%location) $c1(Length:) $c2(%length) $c1(Difficulty:) $c2(%difficulty) $c1(Members:) $c2(%members)
        .notice $gettok($sock($sockname).mark,4,166) $c1(Reward:) $c2(%reward)
      }
      .remove $sockname
      sockclose $sockname
    }
  }
}
on *:sockopen:kbase.*: {
  sockwrite -nt $sockname GET $+(/kbase/search.ws?search_query=,$gettok($sock($sockname).mark,2,166),&category=null&subcat=null&title_chk=1&keywords_chk=1&description_chk=1&body_chk=1&and_rad=1&submit=Search+Again) HTTP/1.1
  sockwrite -nt $sockname Host: www.runescape.com
  sockwrite -nt $sockname $crlf
}
on *:sockread:kbase.*: {
  if ($sockerr) halt
  else { 
    var %sockreader
    sockread %sockreader
    if (*did not return any results.* iswm %sockreader) {
      $gettok($sock($sockname).mark,1,166) $c1(No results found for) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32)))
      sockclose $sockname
    }
    if $regex(%sockreader,/href="viewarticle\.ws\?article_id=(.*)">(.*)<\/a>/) {
      sockmark $sockname $+($sock($sockname).mark,$regml(1),¦,$regml(2),¦)
    }
    if (*<a href="kbase/index.ws">Home</a> &gt;* iswm %sockreader) {
      sockmark $sockname $+($sock($sockname).mark,$htmlfree($replace(%sockreader,&gt;,>)),¦)
    }
    if (*<td colspan="2"* iswm %sockreader) {
      $gettok($sock($sockname).mark,1,166) $c1(Top result for) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) $c1(is) $c2($gettok($sock($sockname).mark,4,166)) $c1(found at) $c2(http://www.runescape.com/kbase/viewarticle.ws?article_id= $+ $gettok($sock($sockname).mark,3,166)) $c1(Section) $c2($gettok($socK($sockname).mark,5,166))
      $gettok($sock($sockname).mark,1,166) $c1(Description) $c2($htmlfree(%sockreader))     
      sockclose $sockname
    }
  }
}
on *:sockopen:youtube.*: {
  sockwrite -nt $sockname GET $+(/results?search_query=,$gettok($sock($sockname).mark,3,166),&search=Search) HTTP/1.1
  sockwrite -nt $sockname host: www.youtube.com
  sockwrite -nt $sockname $crlf
}
on *:sockread:youtube.*: {
  if ($sockerr) { halt } 
  else {
    var %sockreader
    sockread %sockreader
    if (*No videos found for* iswm %sockreader) {
      $gettok($sock($sockname).mark,1,166) $c1(No videos found for) $c2($replace($gettok($sock($sockname).mark,3,166),+,$chr(32)))

      sockclose $sockname
    }
    elseif $regex(%sockreader,/<a href="(.*)" rel="nofollow" onclick="_hbLink(.*);">(.*)</a><br/>/Si) {
      sockmark $sockname $+($sock($sockname).mark,¦,$regml(1),¦,$replace($regml(3),&#39;,'))
      $gettok($sock($sockname).mark,1,166) $c1(Top result for) $c2($replace($gettok($sock($sockname).mark,3,166),+,$chr(32))) $c1(is) $c2($htmlfree($gettok($sock($sockname).mark,5,166))) $c1(found at) $c2($+(www.youtube.com,$gettok($sock($sockname).mark,4,166)))

      sockclose $sockname
    }
  }
}
on *:sockopen:weather.*: {
  sockwrite -nt $sockname GET $+(/weather/local/,$gettok($sock($sockname).mark,3,166),?lswe=,$gettok($sock($sockname).mark,3,166),&lwsa=WeatherLocalUndeclared&from=whatwhere) HTTP/1.1
  sockwrite -nt $sockname Host: www.weather.com
  sockwrite -nt $sockname $crlf
}
on *:sockread:weather.*: {
  if ($sockerr) { halt }
  else {
    var %sockreader
    sockread %sockreader
    if (*Location: http://www.weather.com/search/enhanced?where=* iswm %sockreader) {
      $gettok($sock($sockname).mark,1,166) $c1(No results found for) $c2($gettok($sock($sockname).mark,3,166))

      sockclose $sockname
    }
    elseif $regex(%sockreader,/TODAY'S WEATHER for (.*)</FONT>/) {
      sockmark $sockname $+($sock($sockname).mark,$htmlfree($regml(1)),¦)

    }
    if $regex(%sockreader,/<B CLASS=obsTempTextA>(.*)</B><BR><B CLASS=obsTextA>Feels Like<BR> (.*)</B>/) {
      sockmark $sockname $+($sock($sockname).mark,$replace($regml(1),&deg;,$chr(176)),¦,$replace($regml(2),&deg;,$chr(176)),¦)

    }
    if (*<TD><IMG SRC="http://image.weather.com/web/blank.gif" WIDTH=10 HEIGHT=1 BORDER=0 ALT=""></td>* iswm %sockreader) {
      var %weather1 | sockread %weather1
      if $regex(%weather1,/CLASS="obsTextA">(.*)</td>/) {
        sockmark $sockname $+($sock($sockname).mark,$regml(1),¦)
      }
    }
    if $regex(%sockreader,/BORDER=0 ALT=><BR><B CLASS=obsTextA>(.*)</B></TD>/) {
      sockmark $sockname $+($sock($sockname).mark,$regml(1),¦)
    }
    if $regex(%sockreader,/class="blueVerdanaText11">Sunset: (.*)</TD>/) {
      sockmark $sockname $+($sock($sockname).mark,$regml(1),¦)
    }
    if $regex(%sockreader,/class="blueVerdanaText11">Sunrise: (.*)</TD>/) {
      $gettok($sock($sockname).mark,1,166) $c1(Weather for) $c2($+($gettok($sock($sockname).mark,4,166),:)) $c1(Temperature:) $c2($gettok($sock($sockname).mark,6,166) Feels like $gettok($sock($sockname).mark,7,166)) $c1(UV Index:) $c2($gettok($sock($sockname).mark,8,166)) $c1(Wind:) $c2($gettok($sock($sockname).mark,9,166)) $c1(Conditions:) $c2($gettok($sock($sockname).mark,5,166)) $c1(Humidity:) $c2($gettok($sock($sockname).mark,10,166)) $c1(Dew Point:) $c2($replace($gettok($sock($sockname).mark,11,166),&deg;,$chr(176))) $c1(Visibility:) $c2($gettok($sock($sockname).mark,12,166)) $c1(Sunrise:) $c2($regml(1)) $c1(Sunset:) $c2($gettok($sock($sockname).mark,13,166)))
      sockclose $sockname
    }
  }
}
on *:sockopen:skill.*: {
  sockwrite -nt $sockname GET $+(/hiscorepersonal.ws?user1=,$gettok($sock($sockname).mark,3,166),&submit=Search) HTTP/1.0
  sockwrite -nt $sockname Host: hiscore.runescape.com
  sockwrite -nt $sockname $crlf
}
on *:sockread:skill.*: {
  if ($sockerr) halt
  else {
    while ($sock($sockname).rq) {
      sockread &sockreader
      bwrite $sockname -1 -1 &sockreader
    }
    bread $sockname 0 $file($sockname).size &skill
    if ($bfind(&skill,1,</html>)) {
      if ($bfind(&skill,1,1 million)) {
        $gettok($sock($sockname).mark,1,166) $c2($replace($gettok($sock($sockname).mark,3,166),+,$chr(32))) $c1(does not feature in the hiscores)
      }
      else {
        var %p = 1
        while (%p) {
          var %p = $bfind(&skill,$calc(%p +1),<a href="overall.ws?table=)
          tokenize 10 $htmlfree($bvar(&skill,%p,200).text)
          hadd -m $+(skill.,$gettok($sockname,2,46)) $1 $2 $3 $4 $xp2Next($iif($gettok($sock($sockname).mark,4,166),$calc($v1 -1),$3) $4)
        }
        var %skill = $hget($+(skill.,$gettok($sockname,2,46)),$gettok($sock($sockname).mark,2,166))
        if (%skill == $null) {
          $gettok($socK($sockname).mark,1,166) $c2($replace($gettok($sock($sockname).mark,3,166),+,$chr(32))) $c1(does not feature in the hiscores for) $c2($gettok($socK($sockname).mark,2,166))        
        }
        else {
          tokenize 32 %skill    
          $gettok($sock($sockname).mark,1,166) $c2($gettok($sock($sockname).mark,2,166)) $c1(stats for) $c2($replace($gettok($sock($sockname).mark,3,166),+,$chr(32)))
          $gettok($sock($sockname).mark,1,166) $c1(Rank:) $c2($1) $c1(Level:) $c2($2) $c1(Exp:) $c2($3) $iif($gettok($sock($sockname).mark,2,166) != Overall,$c1(Exp to $iif($gettok($sock($sockname).mark,4,166),$v1,$calc($2 +1))) $c2($bytes($4,bd)))
          $iif($gettok($gettok($sock($sockname).mark,1,166),1,32) == .notice,$iif($gettok($sock($sockname).mark,2,166) != Overall,$gettok($sock($sockname).mark,1,166) $item2next($gettok($sock($sockname).mark,2,166) $4)))
        }
        hfree $+(skill.,$gettok($sockname,2,46))
      }
      .remove $sockname
      sockclose $sockname
    }
  }
}
on *:sockopen:define.*: {
  sockwrite -nt $sockname GET / $+ $gettok($sock($sockname).mark,2,166) HTTP/1.0
  sockwrite -nt $sockname Host: www.thefreedictionary.com
  sockwrite -nt $sockname $crlf
}
on *:sockread:define.*: {
  if ($sockerr) halt
  else {
    while ($sock($sockname).rq) {
      sockread &sockreader
      bwrite $sockname -1 -1 &sockreader
    }
    bread $sockname 0 $file($sockname).size &define
    if ($bfind(&define,1,</html>)) {
      if ($bfind(&define,1,Word not found)) {
        $gettok($sock($sockname).mark,1,166) $c1(No results found for) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32)))
      }
      elseif ($bfind(&define,1,<div class="ds-single">)) {
        $gettok($sock($sockname).mark,1,166) $c1(Definition of) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) $c1(is) $c2($htmlfree($bvar(&define,$calc($v1 +23),$calc($bfind(&define,$calc($v1 +23),</div>) - $calc($v1 +23))).text))
      }
      elseif ($bfind(&define,1,<div class="ds-list">)) {
        $gettok($sock($sockname).mark,1,166) $c1(Definition of) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) $c1(is) $c2($htmlfree($bvar(&define,$calc($v1 +21),$calc($bfind(&define,$calc($v1 +21),</div>) - $calc($v1 +21))).text))
      }
      .remove $sockname
      sockclose $sockname
    }
  }
}
on *:sockopen:rsnews.*: {
  sockwrite -nt $sockname GET /lang/en/aff/runescape/title.ws HTTP/1.1
  sockwrite -nt $sockname Host: www.runescape.com
  sockwrite -nt $sockname $crlf
}
on *:sockread:rsnews.*: {
  if ($sockerr) halt
  else {
    var %sockreader
    sockread %sockreader
    if $regex(%sockreader,/<dt><span class="newsdate">(.*)<\/span>(.*)<\/dt>/) {
      sockmark $sockname $+($sock($sockname).mark,$regml(1),¦,$regml(2),¦)
    }
    if $regex(%sockreader,/<div style="margin-top: 0\.5em;"><a href="(.*)">(.*)<\/a><\/div>/) {
      $gettok($sock($sockname).mark,1,166) $c1(Read more at:) $c2($regml(1))
      sockclose $sockname    
    }
    if (<td style="text-align: justify; vertical-align: top;">*</td> iswm %sockreader) {
      $gettok($sock($sockname).mark,1,166) $c1(The latest Runescape News is) $c2($gettok($sock($sockname).mark,3,166)) $c1(updated at:) $c2($gettok($sock($sockname).mark,2,166))
      $gettok($sock($sockname).mark,1,166) $c1(Preview:) $c2($htmlfree(%sockreader))
    }
  }
}
on *:sockopen:spell.*: {
  sockwrite -nt $sockname GET $+(/cgi-bin/spell.exe?action=CHECKWORD&string=,$gettok($sock($sockname).mark,3,166)) HTTP/1.1
  sockwrite -nt $sockname Host: www.spellcheck.net
  sockwrite -nt $sockname $crlf
}
on *:sockread:spell.*: {
  if ($sockerr) { halt }
  else {
    var %sockreader
    sockread %sockreader
    if (*is spelled correctly* iswm %sockreader) {
      $gettok($sock($sockname).mark,1,166) $c2($replace($gettok($sock($sockname).mark,3,166),+,$chr(32))) $c1(is spelt correctly)

      sockclose $sockname
    }
    elseif (*<BR> iswm %sockreader) {
      sockmark $sockname $sock($sockname).mark $(%spell.suggest. [ $+ [ %x ] ],2) $htmlfree(%sockreader)
    }      
    if ((*</BLOCKQUOTE>* iswm %sockreader) && ($gettok($sock($sockname).mark,4,166) != $null)) {
      $gettok($sock($sockname).mark,1,166) $c2($replace($gettok($sock($sockname).mark,3,166),+,$chr(32))) $c1(is spelt wrong)
      $gettok($sock($sockname).mark,1,166) $c1(Here are some suggestions) $c2($gettok($sock($sockname).mark,4,166))

      sockclose $sockname
    }
    elseif ((*</BLOCKQUOTE>* iswm %sockreader) && ($gettok($sock($sockname).mark,4,166) == $null)) {
      $gettok($sock($sockname).mark,1,166) $c2($replace($gettok($sock($sockname).mark,3,166),+,$chr(32))) $c1(is spelt wrong and there are no suggestions)

      sockclose $sockname
    }
  }
}
on *:sockopen:trans.*: {
  sockwrite -nt $sockname GET $+(/translate_t?hl=en&ie=UTF8&text=,$gettok($sock($sockname).mark,5,166),&langpair=,$gettok($sock($sockname).mark,3,166),|,$gettok($sock($sockname).mark,4,166)) HTTP/1.1
  sockwrite -nt $sockname Host: translate.google.com
  sockwrite -nt $sockname $crlf
}
on *:sockread:trans.*: {
  if ($sockerr) { halt }
  else {
    var %sockreader
    sockread %sockreader
    if $regex(%sockreader,/<div id=result_box dir=ltr>(.*)</div>/) {
      $gettok($sock($sockname).mark,1,166) $c1(Translation for) $c2($replace($gettok($sock($sockname).mark,5,166),+,$chr(32))) $c1(from) $c2($fulllanguage($gettok($sock($sockname).mark,3,166) to $gettok($sock($sockname).mark,4,166))) $c1(is) $c2($regml(1))

      sockclose $sockname
    }
  }
}


on *:sockopen:urban.*: {
  sockwrite -nt $sockname GET $+(/define.php?term=,$gettok($sock($sockname).mark,3,166)) HTTP/1.1
  sockwrite -nt $sockname Host: www.urbandictionary.com
  sockwrite -nt $sockname $crlf
}
on *:sockread:urban.*: {
  if ($sockerr) { halt }
  else {
    var %sockreader
    sockread %sockreader
    if (*isn't defined* iswm %sockreader) {
      $gettok($sock($sockname).mark,1,166) $c1(No results found for) $c2($replace($gettok($sock($sockname).mark,3,166),+,$chr(32)))

      sockclose $sockname
    }
    elseif (*<p>* iswm %sockreader) {
      sockmark $sockname $+($sock($sockname).mark,$replace($htmlfree(%sockreader),&quot;,"))
    }
    if (*<p style="font-style: italic">* iswm %sockreader) {
      $gettok($sock($sockname).mark,1,166) $c1(Top result for) $c2($replace($gettok($sock($sockname).mark,3,166),+,$chr(32))) $c1(is) $c2($gettok($sock($sockname).mark,4,166))
      $gettok($sock($sockname).mark,1,166) $c1(Quote:) $c2($htmlfree(%sockreader))

      sockclose $sockname
    }
  }
}
on *:sockopen:forum.*: {
  sockwrite -nt $sockname GET $+(/searchthreads.ws?srcstr=,$gettok($sock($sockname).mark,3,166),&srcfrm=-1&serch=Search&search=search) HTTP/1.1
  sockwrite -nt $sockname Host: forum.runescape.com
  sockwrite -nt $sockname $crlf
}
on *:sockread:forum.*: {
  if ($sockerr) { halt }
  else {
    var %sockreader
    sockread %sockreader
    if (*There were no threads matching your search* iswm %sockreader) {
      $gettok($sock($sockname).mark,1,166) $c1(No results for) $c2($replace($gettok($sock($sockname).mark,3,166),+,$chr(32)))

      sockclose $sockname
    }
    elseif $regex(%sockreader,/^<A href="forums.ws?(.*)">(.*)</A>/) {
      sockmark $sockname $+($sock($sockname).mark,$+(forums.ws,$regml(1)),¦,$regml(2))
    }
    if $regex(%sockreader,/in forum <A href="forums.ws?(.*)">(.*)</A>/) {
      $gettok($sock($sockname).mark,1,166) $c1(Top result for) $c2($replace($gettok($sock($sockname).mark,3,166),+,$chr(32))) $c1(is) $c2($gettok($sock($sockname).mark,5,166)) $c1(at) $c2($+(http://forum.runescape.com,$chr(47),$gettok($sock($sockname).mark,4,166))) $c1(in) $c2($regml(2))

      sockclose $sockname
    }
  }
}
on *:sockopen:google.*: {
  .remove testin
  sockwrite -nt $sockname GET $+(/search?hl=en&q=,$gettok($sock($sockname).mark,2,166)) HTTP/1.0
  sockwrite -nt $sockname Host: www.google.com
  sockwrite -nt $sockname $crlf
}
on *:sockread:google.*: {
  if ($sockerr) halt
  else {
    while ($sock($sockname).rq) {
      sockread &sockreader
      bwrite testin -1 -1 &sockreader
    }
    bread testin 0 $file(testin).size &goog
    if ($bfind(&goog,1,</html>)) {
      if ($bfind(&goog,1,did not match any documents)) {
        $gettok($sock($sockname).mark,1,166) $c1(No results found for) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32)))
      }
      else {
        if ($gettok($sock($sockname).mark,3,166) == 1) {
          var %link = $bvar(&goog,$calc($bfind(&goog,1,class=g><h2 class=r><a href=") +29),$calc($bfind(&goog,1," class=l>) - $calc($bfind(&goog,1,class=g><h2 class=r><a href=") +29))).text
          var %title = $htmlfree($bvar(&goog,$calc($bfind(&goog,1,class=l>) + 8),$calc($bfind(&goog,1,</a></h2>) - $calc($bfind(&goog,1,class=l>) + 8))).text)
          $gettok($sock($sockname).mark,1,166) $c1(1st result for) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) $c1(is) $c2(%title) $c1(found at) $c2(%link)
        }
        elseif ($gettok($sock($sockname).mark,3,166) == 2) {
          var %link = $bvar(&goog,$calc($bfind(&goog,1,class=g><h2 class=r><a href=") +29),$calc($bfind(&goog,1," class=l>) - $calc($bfind(&goog,1,class=g><h2 class=r><a href=") +29))).text
          var %link2 = $bvar(&goog,$calc($bfind(&goog,$bfind(&goog,1," class=l>),class=g><h2 class=r><a href=") +29),$calc($bfind(&goog,$calc($bfind(&goog,1," class=l>) +1)," class=l>) - $calc($bfind(&goog,$bfind(&goog,1," class=l>),class=g><h2 class=r><a href=") +29))).text
          var %title = $htmlfree($bvar(&goog,$calc($bfind(&goog,1,class=l>) + 8),$calc($bfind(&goog,1,</a></h2>) - $calc($bfind(&goog,1,class=l>) + 8))).text)
          var %title2 = $htmlfree($bvar(&goog,$calc($bfind(&goog,$bfind(&goog,1,</a></h2>),class=l>) + 8),$calc($bfind(&goog,$calc($bfind(&goog,1,</a></h2>) +1),</a></h2>) - $calc($bfind(&goog,$bfind(&goog,1,</a></h2>),class=l>) + 8))).text)

          $gettok($sock($sockname).mark,1,166) $c1(1st result for) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) $c1(is) $c2(%title) $c1(found at) $c2(%link)
          $gettok($sock($sockname).mark,1,166) $c1(2nd result for) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) $c1(is) $c2(%title2) $c1(found at) $c2(%link2)
        }
        elseif ($gettok($sock($sockname).mark,3,166) == 3) {
          var %link = $bvar(&goog,$calc($bfind(&goog,1,class=g><h2 class=r><a href=") +29),$calc($bfind(&goog,1," class=l>) - $calc($bfind(&goog,1,class=g><h2 class=r><a href=") +29))).text
          var %link2 = $bvar(&goog,$calc($bfind(&goog,$bfind(&goog,1," class=l>),class=g><h2 class=r><a href=") +29),$calc($bfind(&goog,$calc($bfind(&goog,1," class=l>) +1)," class=l>) - $calc($bfind(&goog,$bfind(&goog,1," class=l>),class=g><h2 class=r><a href=") +29))).text
          var %link3 = $bvar(&goog,$calc($bfind(&goog,$bfind(&goog,$calc($bfind(&goog,1," class=l>) +1)," class=l>),class=g><h2 class=r><a href=") +29),$calc($bfind(&goog,$calc($bfind(&goog,$calc($bfind(&goog,1," class=l>) +1)," class=l>) +1)," class=l>) - $calc($bfind(&goog,$bfind(&goog,$calc($bfind(&goog,1," class=l>) +1)," class=l>),class=g><h2 class=r><a href=") +29))).text
          var %title = $htmlfree($bvar(&goog,$calc($bfind(&goog,1,class=l>) + 8),$calc($bfind(&goog,1,</a></h2>) - $calc($bfind(&goog,1,class=l>) + 8))).text)
          var %title2 = $htmlfree($bvar(&goog,$calc($bfind(&goog,$bfind(&goog,1,</a></h2>),class=l>) + 8),$calc($bfind(&goog,$calc($bfind(&goog,1,</a></h2>) +1),</a></h2>) - $calc($bfind(&goog,$bfind(&goog,1,</a></h2>),class=l>) + 8))).text)
          var %title3 = $htmlfree($bvar(&goog,$calc($bfind(&goog,$bfind(&goog,$calc($bfind(&goog,1,</a></h2>) +1),</a></h2>),class=l>) + 8),$calc($bfind(&goog,$calc($bfind(&goog,$calc($bfind(&goog,1,</a></h2>) +1),</a></h2>) +1),</a></h2>) - $calc($bfind(&goog,$bfind(&goog,$calc($bfind(&goog,1,</a></h2>) +1),</a></h2>),class=l>) + 8))).text)

          $gettok($sock($sockname).mark,1,166) $c1(1st result for) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) $c1(is) $c2(%title) $c1(found at) $c2(%link)
          $gettok($sock($sockname).mark,1,166) $c1(2nd result for) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) $c1(is) $c2(%title2) $c1(found at) $c2(%link2)
          $gettok($sock($sockname).mark,1,166) $c1(3rd result for) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) $c1(is) $c2(%title3) $c1(found at) $c2(%link3)
        }
      }
      sockclose $sockname
    }
  }
}
on *:sockopen:coord.*: {
  sockwrite -nt $sockname GET /runescape/?page=coordinates_list.htm HTTP/1.0
  sockwrite -nt $sockname Host: tip.it
  sockwrite -nt $sockname $crlf
}
on *:sockread:coord.*: {
  if ($sockerr) halt
  else {
    while ($sock($sockname).rq) {
      sockread &sockreader
      bwrite $sockname -1 -1 &sockreader
    }
    bread $sockname 0 $file($sockname).size &coord
    if ($bfind(&coord,1,</html>)) {
      var %ono 1
      while (%ono) {
        var %ono = $bfind(&coord,$calc(%ono +100),<td align="center">)
        tokenize 10 $htmlfree($bvar(&coord,%ono,250).text)
        hadd -m $+($sockname) $+($replace($1,$chr(32),_),-,$replace($2,$chr(32),_)) $replace($3-,$chr(10),$null)
      }
      if ($hget($sockname,$+($replace($gettok($sock($sockname).mark,2,166),$chr(32),_),-,$replace($gettok($sock($sockname).mark,3,166),$chr(32),_))) == $null) {
        $gettok($sock($sockname).mark,1,166) $c1(No results found for) $c2($gettok($sock($sockname).mark,2,166) $gettok($sock($sockname).mark,3,166))
      }
      else {
        $gettok($sock($sockname).mark,1,166) $c1(Result for) $c2($gettok($sock($sockname).mark,2,166) $gettok($sock($sockname).mark,3,166)) $c1(is) $c2($regsubex($hget($sockname,$+($replace($gettok($sock($sockname).mark,2,166),$chr(32),_),-,$replace($gettok($sock($sockname).mark,3,166),$chr(32),_))),/<\/td.+/g,$null))
      }
      hfree $+($sockname)
      .remove $sockname
      sockclose $sockname
    }
  }
}
on *:sockopen:skillpercent.*: {
  sockwrite -nt $sockname GET $+(/hiscorepersonal.ws?user1=,$gettok($sock($sockname).mark,2,166),&submit=Search) HTTP/1.0
  sockwrite -nt $sockname Host: hiscore.runescape.com
  sockwrite -nt $sockname $crlf
}
on *:sockread:skillpercent.*: {
  if ($sockerr) halt
  else {
    while ($sock($sockname).rq) {
      sockread &sockreader
      bwrite $sockname -1 -1 &sockreader
    }
    bread $sockname 0 $file($sockname).size &skillpercent
    if ($bfind(&skillpercent,1,</html>)) {
      if ($bfind(&skillpercent,1,1 million)) {
        $gettok($sock($sockname).mark,1,166) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) $c1(does not feature in the hiscores)
      }
      else {
        var %p = 1
        while (%p) {
          var %p = $bfind(&skillpercent,$calc(%p +1),<a href="overall.ws?table=)
          tokenize 10 $htmlfree($bvar(&skillpercent,%p,200).text)
          hadd -m $+(skillpercent.,$gettok($sockname,2,46)) $1 $remove($4,$chr(44))
        }
        if ($hget($+(skillpercent.,$gettok($sockname,2,46)),$numskill(0)) == $null) {
          $gettok($sock($sockname).mark,1,166) $c1(The) $c2(overall) $c1(for) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) $c1(was not found, so we can not work out the percent)
        }
        else {
          var %s = 1, %MCR = 11, %dragonforce = 21
          while (%s <= 9) {
            var %result $calc(%result + $hget($+(skillpercent.,$gettok($sockname,2,46)),$numskill(%s)))
            inc %s
          }
          while (%MCR <= 15) {
            var %result $calc(%result + $hget($+(skillpercent.,$gettok($sockname,2,46)),$numskill(%MCR)))
            inc %MCR
          }
          while (%dragonforce <= 21) {
            var %result $calc(%result + $hget($+(skillpercent.,$gettok($sockname,2,46)),$numskill(%dragonforce)))
            inc %dragonforce
          }
          var %percent = $round($calc((%result / $hget($+(skillpercent.,$gettok($sockname,2,46)),$numskill(0))) *100),2)
          var %p2p = $calc($hget($+(skillpercent.,$gettok($sockname,2,46)),$numskill(0)) - %result)
          var %p2ppercent = $round($calc((%p2p / $hget($+(skillpercent.,$gettok($sockname,2,46)),$numskill(0))) *100),2)         
          $gettok($sock($sockname).mark,1,166) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) $c1(has) $c2($bytes(%result,bd)) $c1(f2p experience,) $c2($bytes(%p2p,bd)) $c1(p2p experience and) $c2($bytes($hget($+(skillpercent.,$gettok($sockname,2,46)),$numskill(0)),bd)) $c1(Overall xp making a f2p percent of) $c2(%percent $+ %) $c1(and a p2p percent of) $c2(%p2ppercent $+ %)
        }
        hfree $+(skillpercent.,$gettok($sockname,2,46))
      }
      .remove $sockname
      sockclose $sockname
    }
  }
}
on *:sockopen:cmbpercent.*: {
  sockwrite -nt $sockname GET $+(/hiscorepersonal.ws?user1=,$gettok($sock($sockname).mark,2,166),&submit=Search) HTTP/1.0
  sockwrite -nt $sockname Host: hiscore.runescape.com
  sockwrite -nt $sockname $crlf
}
on *:sockread:cmbpercent.*: {
  if ($sockerr) halt
  else {
    while ($sock($sockname).rq) {
      sockread &sockreader
      bwrite $sockname -1 -1 &sockreader
    }
    bread $sockname 0 $file($sockname).size &cmbpercent
    if ($bfind(&cmbpercent,1,</html>)) {
      if ($bfind(&cmbpercent,1,1 million)) {
        $gettok($sock($sockname).mark,1,166) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) $c1(does not feature in the hiscores)
      }
      else {
        var %p = 1
        while (%p) {
          var %p = $bfind(&cmbpercent,$calc(%p +1),<a href="overall.ws?table=)
          tokenize 10 $htmlfree($bvar(&cmbpercent,%p,200).text)
          hadd -m $+(cmbpercent.,$gettok($sockname,2,46)) $1 $remove($4,$chr(44))
        }
        if ($hget($+(cmbpercent.,$gettok($sockname,2,46)),$numskill(0)) == $null) {
          $gettok($sock($sockname).mark,1,166) $c1(The) $c2(overall) $c1(for) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) $c1(was not found, so we can not work out the percent)
        }
        else {
          var %s = 1
          while (%s <= 7) {
            var %result $calc(%result + $hget($+(cmbpercent.,$gettok($sockname,2,46)),$numskill(%s)))
            inc %s
          }
          var %percent = $round($calc((%result / $hget($+(cmbpercent.,$gettok($sockname,2,46)),$numskill(0))) *100),2)
          $gettok($sock($sockname).mark,1,166) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) $c1(has) $c2($bytes(%result,bd)) $c1(combat experience and) $c2($bytes($hget($+(cmbpercent.,$gettok($sockname,2,46)),$numskill(0)),bd)) $c1(Overall xp making a combat percent of) $c2(%percent $+ %)
        }
        hfree $+(cmbpercent.,$gettok($sockname,2,46))
      }
      .remove $sockname
      sockclose $sockname
    }
  }
}
on *:sockopen:item.*: {
  sockwrite -nt $sockname GET $+(/runescape/index.php?rs2item=&orderby=0&keywords=,$gettok($sock($sockname).mark,2,166),&Players=all&category=0&subcategory=0&cmd=8&action=Manage_Items&search=1) HTTP/1.1
  sockwrite -nt $sockname Host: www.tip.it
  sockwrite -nt $sockname $crlf
}
on *:sockread:item.*: {
  if ($sockerr) { halt }
  else {
    var %sockreader
    sockread %sockreader
    if (*No items* iswm %sockreader) {
      $gettok($sock($sockname).mark,1,166) $c1(No results for) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) 

      sockclose $sockname
    }
    elseif $regex(%sockreader,/<td><a href="(.*)">(.*)</a></td>/) {
      sockmark $sockname $+($sock($sockname).mark,$regml(1),¦,$regml(2),¦)
      sockopen items. [ $+ [ $gettok($sockname,2,46) ] ] tip.it 80
      sockmark $+(items.,$gettok($sockname,2,46)) $sock($sockname).mark
      sockclose $sockname    
    }
  }
}
on *:sockopen:items.*: {
  sockwrite -nt $sockname GET $remove($+(/runescape/,$gettok($sock($sockname).mark,3,166)),$chr(32)) HTTP/1.1
  sockwrite -nt $sockname Host: tip.it
  sockwrite -nt $sockname $crlf
}
on *:sockread:items.*: {
  if ($sockerr) halt
  else {
    while ($sock($sockname).rq) {
      sockread &sockreader
      bwrite $sockname -1 -1 &sockreader
    }
    bread $sockname 0 $file($sockname).size &item
    if ($bfind(&item,1,</html>)) {
      var %item1 = $calc($bfind(&item,1,<td class="header" colspan="3">) +32)
      var %itemname = $regsubex($bvar(&item,%item1,$calc($bfind(&item,%item1,</td>) - %item1)).text,/\t|\r|\n/g,$null)
      var %itemmem1 = $calc($bfind(&item,1,<b>Members?</b>) +15)
      var %itemmem2 = $regsubex($bvar(&item,%itemmem1,$calc($bfind(&item,%itemmem1,</td>) - %itemmem1)).text,/\s/g,$null)
      var %itemque1 = $calc($bfind(&item,1,<b>Quest?</b>) +13)
      var %itemque2 = $regsubex($bvar(&item,%itemque1,$calc($bfind(&item,%itemque1,</td>) - %itemque1)).text,/\s/g,$null)
      var %itemtrade1 = $calc($bfind(&item,1,<b>Tradeable?</b>) +17)
      var %itemtrade2 = $regsubex($bvar(&item,%itemtrade1,$calc($bfind(&item,%itemtrade1,</td>) - %itemtrade1)).text,/\s/g,$null)
      var %examine1 = $calc($bfind(&item,1,<b>Examine:</b>) +30)
      var %examine2 = $regsubex($bvar(&item,%examine1,$calc($bfind(&item,%examine1,</td>) - %examine1)).text,/\t|\r|\n/g,$null)
      var %weight1 = $calc($bfind(&item,1,<b>Weight:</b>) +14)
      var %weight2 = $regsubex($bvar(&item,%weight1,$calc($bfind(&item,%weight1,</td>) - %weight1)).text,/\s/g,$null)
      var %cate1 = $calc($bfind(&item,%item1,Category) +8)
      var %cate2 = $htmlfree($regsubex($bvar(&item,%cate1,$calc($bfind(&item,%cate1,<td class="header" width="25%">) - %cate1)).text,/\t|\r|\n/g,$null))
      var %subcate1 = $calc($bfind(&item,1,Sub-category) +12)
      var %subcate2 = $htmlfree($regsubex($bvar(&item,%subcate1,$calc($bfind(&item,%subcate1,<td class="header" width="25%">) - %subcate1)).text,/\t|\r|\n/g,$null))
      var %hialch1 = $calc($bfind(&item,1,High Alchemy</td>) +17)
      var %hialch2 = $htmlfree($regsubex($bvar(&item,%hialch1,$calc($bfind(&item,%hialch1,</td>) - %hialch1)).text,/\s/g,$null))
      var %lowalch1 = $calc($bfind(&item,1,General buys/low alch</td>) +26)
      var %lowalch2 = $htmlfree($regsubex($bvar(&item,%lowalch1,$calc($bfind(&item,%lowalch1,</td>) - %lowalch1)).text,/\s/g,$null))
      var %location1 = $calc($bfind(&item,1,Location</td>) +13)
      var %location2 = $htmlfree($regsubex($bvar(&item,%location1,$calc($bfind(&item,%location1,</td>) - %location1)).text,/\t|\n|\r/g,$null))

      $gettok($sock($sockname).mark,1,166) $c1(Top result for) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) $c1(is) $c2(%itemname) $c1(Link at:) $c2($+(www.tip.it/runescape/,$gettok($sock($sockname).mark,3,166)))
      $gettok($sock($sockname).mark,1,166) $c1(Members?) $c2(%itemmem2) $c1(Quest?) $c2(%itemque2) $c1(Tradeable?) $c2(%itemtrade2)
      $gettok($sock($sockname).mark,1,166) $c1(Examine:) $c2(%examine2) $c1(Weight:) $c2(%weight2)
      $gettok($sock($sockname).mark,1,166) $c1(Category:) $c2(%cate2) $c1(Sub-category:) $c2(%subcate2) $c1(High Alchemy:) $c2(%hialch2) $c1(Low Alchemy:) $c2(%lowalch2)
      $gettok($sock($sockname).mark,1,166) $c1(Location:) $c2(%location2)

      .remove $sockname
      sockclose $sockname
    }
  }
}
on *:sockopen:alch.*: {
  sockwrite -nt $sockname GET $+(/runescape/index.php?rs2item=&orderby=0&keywords=,$gettok($sock($sockname).mark,2,166),&Players=all&category=0&subcategory=0&cmd=8&action=Manage_Items&search=1) HTTP/1.1
  sockwrite -nt $sockname Host: tip.it
  sockwrite -nt $sockname $crlf
}
on *:sockread:alch.*: {
  if ($sockerr) { halt }
  else {
    var %sockreader
    sockread %sockreader
    if (*No items* iswm %sockreader) {
      $gettok($sock($sockname).mark,1,166) $c1(No results for) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32))) 

      sockclose $sockname
    }
    elseif $regex(%sockreader,/<td><a href="(.*)">(.*)</a></td>/) {
      sockmark $sockname $+($sock($sockname).mark,$regml(1),¦,$regml(2),¦)
      sockopen alchemy. [ $+ [ $gettok($sockname,2,46) ] ] tip.it 80
      sockmark $+(alchemy.,$gettok($sockname,2,46)) $sock($sockname).mark
      sockclose $sockname    
    }
  }
}
on *:sockopen:alchemy.*: {
  sockwrite -nt $sockname GET $remove($+(/runescape/,$gettok($sock($sockname).mark,3,166)),$chr(32)) HTTP/1.1
  sockwrite -nt $sockname Host: tip.it
  sockwrite -nt $sockname $crlf
}
on *:sockread:alchemy.*: {
  if ($sockerr) { halt }
  else {
    var %sockreader
    sockread %sockreader
    if $regex(%sockreader,/			(.*) gp/) {
      $gettok($sock($sockname).mark,1,166) $c1(Top result for) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32)) $c1(was) $c2($gettok($sock($sockname).mark,4,166) - $regml(1) gp))
      sockclose $sockname
    }
  }
}
on *:sockopen:droplist.*: {
  sockwrite -nt $sockname GET $+(/runescape/index.php?rs2monster=&orderby=0&keywords=,$gettok($sock($sockname).mark,2,166),&levels=All&race=0) HTTP/1.1
  sockwrite -nt $sockname Host: www.tip.it
  sockwrite -nt $sockname $crlf
}
on *:sockread:droplist.*: {
  if ($sockerr) halt
  else {
    while ($sock($sockname).rq) {
      sockread &sockreader
      bwrite $sockname -1 -1 &sockreader
    }
    bread $sockname 0 $file($sockname).size &drop
    if ($bfind(&drop,1,</html>)) {
      if ($bvar(&drop,$bfind(&drop,$calc($bfind(&drop,1,"> $+ $replace($gettok($sock($sockname).mark,2,166),+,$chr(32)) $+ </a>) - 21),?rs2monster),$calc($bfind(&drop,1,"> $+ $replace($gettok($sock($sockname).mark,2,166),+,$chr(32)) $+ </a>) - $bfind(&drop,$calc($bfind(&drop,1,"> $+ $replace($gettok($sock($sockname).mark,2,166),+,$chr(32)) $+ </a>) - 21),?rs2monster))).text) {
        var %link = $bvar(&drop,$bfind(&drop,$calc($bfind(&drop,1,"> $+ $replace($gettok($sock($sockname).mark,2,166),+,$chr(32)) $+ </a>) - 21),?rs2monster),$calc($bfind(&drop,1,"> $+ $replace($gettok($sock($sockname).mark,2,166),+,$chr(32)) $+ </a>) - $bfind(&drop,$calc($bfind(&drop,1,"> $+ $replace($gettok($sock($sockname).mark,2,166),+,$chr(32)) $+ </a>) - 21),?rs2monster))).text
        var %name = $bvar(&drop,$bfind(&drop,1,$replace($gettok($sock($sockname).mark,2,166),+,$chr(32)) $+ </a>),$calc($bfind(&drop,$bfind(&drop,1,$replace($gettok($sock($sockname).mark,2,166),+,$chr(32)) $+ </a>),</a>) - $bfind(&drop,1,$replace($gettok($sock($sockname).mark,2,166),+,$chr(32)) $+ </a>))).text

        sockopen drop. [ $+ [ $gettok($sockname,2,46) ] ] www.tip.it 80
        sockmark $+(drop.,$gettok($sockname,2,46)) $+($sock($sockname).mark,%link,¦,%name,¦)
      }
      else {
        $gettok($socK($sockname).mark,1,166) $c1(No results found for) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32)))
      }
      .remove $sockname
      sockclose $sockname
    }
  }
}
on *:sockopen:drop.*: {
  sockwrite -nt $sockname GET $+(/runescape/index.php,$gettok($sock($sockname).mark,$iif($gettok($sock($sockname).mark,3,166) == -m,5,3),166)) HTTP/1.1
  sockwrite -nt $sockname Host: www.tip.it
  sockwrite -nt $sockname $crlf
}
on *:sockread:drop.*: {
  if ($sockerr) halt
  else {
    while ($sock($sockname).rq) {
      sockread &sockreader
      bwrite $sockname -1 -1 &sockreader
    }
    bread $sockname 0 $file($sockname).size &droplist
    if ($bfind(&droplist,1,</html>)) {
      if ($bvar(&droplist,$calc($bfind(&droplist,1,<b>Members?</b>&nbsp;&nbsp;) +27),$calc($bfind(&droplist,$calc($bfind(&droplist,1,<b>Members?</b>&nbsp;&nbsp;) +27),</td>) - $calc($bfind(&droplist,1,<b>Members?</b>&nbsp;&nbsp;) +27))).text == Yes) {
        if ($gettok($sock($sockname).mark,3,166) == -m) {
          var %gold = $htmlfree($bvar(&droplist,$calc($bfind(&droplist,1,Gold:</b>) +9),$calc($bfind(&droplist,$calc($bfind(&droplist,1,Gold:</b>) +9),</li>) - $calc($bfind(&droplist,1,Gold:</b>) +9))).text)
          var %100per = $replace($htmlfree($bvar(&droplist,$calc($bfind(&droplist,1,<b>100%:</b>) +12),$calc($bfind(&droplist,$calc($bfind(&droplist,1,<b>100%:</b>) +12),</li>) - $calc($bfind(&droplist,1,<b>100%:</b>) +12))).text),$chr(10),$chr(32))
          var %weapon = $replace($bvar(&droplist,$calc($bfind(&droplist,1,<li><b>Weapon:</b>) +18),$calc($bfind(&droplist,$calc($bfind(&droplist,1,<li><b>Weapon:</b>) +18),</li>) - $calc($bfind(&droplist,1,<li><b>Weapon:</b>) +18))).text,$chr(10),$chr(32))
          var %armour = $replace($bvar(&droplist,$calc($bfind(&droplist,1,<li><b>Armour:</b>) +18),$calc($bfind(&droplist,$calc($bfind(&droplist,1,<li><b>Armour:</b>) +18),</li>) - $calc($bfind(&droplist,1,<li><b>Armour:</b>) +18))).text,$chr(10),$chr(32))
          var %arrow = $replace($regsubex($bvar(&droplist,$calc($bfind(&droplist,1,<li><b>Runes/Arrows:</b>) +25),$calc($bfind(&droplist,$calc($bfind(&droplist,1,<li><b>Runes/Arrows:</b>) +25),</li>) - $calc($bfind(&droplist,1,<li><b>Runes/Arrows:</b>) +25))).text,/(\d+) $+ $chr(44) $+ (\d+)/g,\1-\2),$chr(10),$chr(32))
          var %misc = $replace($regsubex($bvar(&droplist,$calc($bfind(&droplist,1,<li><b>Misc:</b>) +16),$calc($bfind(&droplist,$calc($bfind(&droplist,1,<li><b>Misc:</b>) +16),</li>) - $calc($bfind(&droplist,1,<li><b>Misc:</b>) +16))).text,/(\d+) $+ $chr(44) $+ (\d+)/g,\1-\2),$chr(10),$chr(32))

          $gettok($socK($sockname).mark,1,166) $c1(Long droplist for) $c2($gettok($sock($sockname).mark,6,166)) $c1(Gold:) $c2(%gold) $c1(100% drops:) $c2(%100per)
          .notice $gettok($socK($sockname).mark,4,166) $c1(Weapon drops:) $c2(%weapon)      
          .notice $gettok($socK($sockname).mark,4,166) $c1(Armour drops:) $c2(%armour)      
          .notice $gettok($socK($sockname).mark,4,166) $c1(Arrows/Runes drops:) $c2(%arrow)
          .notice $gettok($socK($sockname).mark,4,166) $c1(Misc drops:) $c2(%misc)      
        }
        else {        
          var %gold = $htmlfree($bvar(&droplist,$calc($bfind(&droplist,1,Gold:</b>) +9),$calc($bfind(&droplist,$calc($bfind(&droplist,1,Gold:</b>) +9),</li>) - $calc($bfind(&droplist,1,Gold:</b>) +9))).text)
          var %100per = $replace($htmlfree($bvar(&droplist,$calc($bfind(&droplist,1,<b>100%:</b>) +12),$calc($bfind(&droplist,$calc($bfind(&droplist,1,<b>100%:</b>) +12),</li>) - $calc($bfind(&droplist,1,<b>100%:</b>) +12))).text),$chr(10),$chr(32))

          $gettok($socK($sockname).mark,1,166) $c1(Short droplist for) $c2($replace($gettok($sock($sockname).mark,4,166),+,$chr(32))) $c1(Gold:) $c2(%gold) $c1(100% drops:) $c2(%100per)
          $gettok($socK($sockname).mark,1,166) $c2(!droplist -m $replace($gettok($sock($sockname).mark,4,166),+,$chr(32))) $c1(for a long droplist)  
        }
      }
      else {
        if ($gettok($sock($sockname).mark,3,166) == -m) {
          var %gold = $htmlfree($bvar(&droplist,$calc($bfind(&droplist,1,Gold:</b>) +9),$calc($bfind(&droplist,$calc($bfind(&droplist,1,Gold:</b>) +9),</li>) - $calc($bfind(&droplist,1,Gold:</b>) +9))).text)
          var %f2p100per = $replace($htmlfree($bvar(&droplist,$calc($bfind(&droplist,1,<b>100%:</b>) +12),$calc($bfind(&droplist,$calc($bfind(&droplist,1,<b>100%:</b>) +12),</li>) - $calc($bfind(&droplist,1,<b>100%:</b>) +12))).text),$chr(10),$chr(32))
          var %p2p100per = $replace($bvar(&droplist,$calc($bfind(&droplist,$bfind(&droplist,$calc($bfind(&droplist,1,<b>100%:</b>) +12),</li>),<b>100%:</b>) +12),$calc($bfind(&droplist,$calc($bfind(&droplist,$bfind(&droplist,$calc($bfind(&droplist,1,<b>100%:</b>) +12),</li>),<b>100%:</b>) +12),</li>) - $calc($bfind(&droplist,$bfind(&droplist,$calc($bfind(&droplist,1,<b>100%:</b>) +12),</li>),<b>100%:</b>) +12))).text,$chr(10),$chr(32))
          var %weapon = $replace($bvar(&droplist,$calc($bfind(&droplist,1,<li><b>Weapon:</b>) +18),$calc($bfind(&droplist,$calc($bfind(&droplist,1,<li><b>Weapon:</b>) +18),</li>) - $calc($bfind(&droplist,1,<li><b>Weapon:</b>) +18))).text,$chr(10),$chr(32))
          var %p2pweapon = $replace($bvar(&droplist,$calc($bfind(&droplist,$bfind(&droplist,$calc($bfind(&droplist,1,<li><b>Weapon:</b>) +18),</li>),<li><b>Weapon:</b>) +18),$calc($bfind(&droplist,$calc($bfind(&droplist,$bfind(&droplist,$calc($bfind(&droplist,1,<li><b>Weapon:</b>) +18),</li>),<li><b>Weapon:</b>) +18),</li>) - $calc($bfind(&droplist,$bfind(&droplist,$calc($bfind(&droplist,1,<li><b>Weapon:</b>) +18),</li>),<li><b>Weapon:</b>) +18))).text,$chr(10),$chr(32))
          var %armour = $replace($bvar(&droplist,$calc($bfind(&droplist,1,<li><b>Armour:</b>) +18),$calc($bfind(&droplist,$calc($bfind(&droplist,1,<li><b>Armour:</b>) +18),</li>) - $calc($bfind(&droplist,1,<li><b>Armour:</b>) +18))).text,$chr(10),$chr(32))
          var %p2parmour = $replace($bvar(&droplist,$calc($bfind(&droplist,$bfind(&droplist,$calc($bfind(&droplist,1,<li><b>Armour:</b>) +18),</li>),<li><b>Armour:</b>) +18),$calc($bfind(&droplist,$calc($bfind(&droplist,$bfind(&droplist,$calc($bfind(&droplist,1,<li><b>Armour:</b>) +18),</li>),<li><b>Armour:</b>) +18),</li>) - $calc($bfind(&droplist,$bfind(&droplist,$calc($bfind(&droplist,1,<li><b>Armour:</b>) +18),</li>),<li><b>Armour:</b>) +18))).text,$chr(10),$chr(32))
          var %arrow = $replace($regsubex($bvar(&droplist,$calc($bfind(&droplist,1,<li><b>Runes/Arrows:</b>) +25),$calc($bfind(&droplist,$calc($bfind(&droplist,1,<li><b>Runes/Arrows:</b>) +25),</li>) - $calc($bfind(&droplist,1,<li><b>Runes/Arrows:</b>) +25))).text,/(\d+) $+ $chr(44) $+ (\d+)/g,\1-\2),$chr(10),$chr(32))
          var %p2parrow = $replace($regsubex($bvar(&droplist,$calc($bfind(&droplist,$bfind(&droplist,$calc($bfind(&droplist,1,<li><b>Runes/Arrows:</b>) +25),</li>),<li><b>Runes/Arrows:</b>) +25),$calc($bfind(&droplist,$calc($bfind(&droplist,$bfind(&droplist,$calc($bfind(&droplist,1,<li><b>Runes/Arrows:</b>) +25),</li>),<li><b>Runes/Arrows:</b>) +25),</li>) - $calc($bfind(&droplist,$bfind(&droplist,$calc($bfind(&droplist,1,<li><b>Runes/Arrows:</b>) +25),</li>),<li><b>Runes/Arrows:</b>) +25))).text,/(\d+) $+ $chr(44) $+ (\d+)/g,\1-\2),$chr(10),$chr(32))
          var %misc = $replace($regsubex($bvar(&droplist,$calc($bfind(&droplist,1,<li><b>Misc:</b>) +16),$calc($bfind(&droplist,$calc($bfind(&droplist,1,<li><b>Misc:</b>) +16),</li>) - $calc($bfind(&droplist,1,<li><b>Misc:</b>) +16))).text,/(\d+) $+ $chr(44) $+ (\d+)/g,\1-\2),$chr(10),$chr(32))
          var %p2pmisc = $replace($regsubex($bvar(&droplist,$calc($bfind(&droplist,$bfind(&droplist,$calc($bfind(&droplist,1,<li><b>Misc:</b>) +16),</li>),<li><b>Misc:</b>) +16),$calc($bfind(&droplist,$calc($bfind(&droplist,$bfind(&droplist,$calc($bfind(&droplist,1,<li><b>Misc:</b>) +16),</li>),<li><b>Misc:</b>) +16),</li>) - $calc($bfind(&droplist,$bfind(&droplist,$calc($bfind(&droplist,1,<li><b>Misc:</b>) +16),</li>),<li><b>Misc:</b>) +16))).text,/(\d+) $+ $chr(44) $+ (\d+)/g,\1-\2),$chr(10),$chr(32))


          $gettok($socK($sockname).mark,1,166) $c1(Long droplist for) $c2($gettok($sock($sockname).mark,6,166)) $c1(Gold:) $c2(%gold) $c1(f2p 100% drops:) $c2(%f2p100per) $c1(p2p 100% drops:) $c2(%p2p100per)
          .notice $gettok($socK($sockname).mark,4,166) $c1(f2p Weapon drops:) $c2(%weapon) $c1(p2p Weapon drops:) $c2(%p2pweapon)
          .notice $gettok($socK($sockname).mark,4,166) $c1(f2p Armour drops:) $c2(%armour) $c1(p2p Armour drops:) $c2(%p2parmour)
          .notice $gettok($socK($sockname).mark,4,166) $c1(f2p Arrows/Runes drops:) $c2(%arrow) $c1(p2p Arrow/Runes drops:) $c2(%p2parrow)
          .notice $gettok($socK($sockname).mark,4,166) $c1(f2p Misc drops:) $c2(%misc) $c1(p2p Misc drops:) $c2(%p2pmisc)    

        }
        else {
          var %gold = $htmlfree($bvar(&droplist,$calc($bfind(&droplist,1,Gold:</b>) +9),$calc($bfind(&droplist,$calc($bfind(&droplist,1,Gold:</b>) +9),</li>) - $calc($bfind(&droplist,1,Gold:</b>) +9))).text)
          var %f2p100per = $replace($htmlfree($bvar(&droplist,$calc($bfind(&droplist,1,<b>100%:</b>) +12),$calc($bfind(&droplist,$calc($bfind(&droplist,1,<b>100%:</b>) +12),</li>) - $calc($bfind(&droplist,1,<b>100%:</b>) +12))).text),$chr(10),$chr(32))
          var %p2p100per = $replace($bvar(&droplist,$calc($bfind(&droplist,$bfind(&droplist,$calc($bfind(&droplist,1,<b>100%:</b>) +12),</li>),<b>100%:</b>) +12),$calc($bfind(&droplist,$calc($bfind(&droplist,$bfind(&droplist,$calc($bfind(&droplist,1,<b>100%:</b>) +12),</li>),<b>100%:</b>) +12),</li>) - $calc($bfind(&droplist,$bfind(&droplist,$calc($bfind(&droplist,1,<b>100%:</b>) +12),</li>),<b>100%:</b>) +12))).text,$chr(10),$chr(32))
          $gettok($socK($sockname).mark,1,166) $c1(Short droplist for) $c2($gettok($sock($sockname).mark,4,166)) $c1(Gold:) $c2(%gold) $c1(f2p 100% drops:) $c2(%f2p100per) $c1(p2p 100% drops:) $c2(%p2p100per)
          $gettok($socK($sockname).mark,1,166) $c2(!droplist -m $replace($gettok($sock($sockname).mark,4,166),+,$chr(32))) $c1(for a long droplist)  
        }
      }
      .remove $sockname
      sockclose $sockname
    }
  }
}
on *:sockopen:monster.*: {
  sockwrite -nt $sockname GET $+(/runescape/index.php?rs2monster=&orderby=0&keywords=,$gettok($sock($sockname).mark,2,166),&levels=All&race=0) HTTP/1.1
  sockwrite -nt $sockname Host: www.tip.it
  sockwrite -nt $sockname $crlf
}
on *:sockread:monster.*: {
  if ($sockerr) { $gettok($sock($sockname).mark,1,166) $c1(Tip.it has an error) | sockclose $sockname | halt }
  else {
    while ($sock($sockname).rq) {
      sockread &sockreader
      bwrite $sockname -1 -1 &sockreader
    }
    bread $sockname 0 $file($sockname).size &monster
    if ($bfind(&monster,1,</html>)) {
      if ($bvar(&monster,$bfind(&monster,$calc($bfind(&monster,1,"> $+ $replace($gettok($sock($sockname).mark,2,166),+,$chr(32)) $+ </a>) - 21),?rs2monster),$calc($bfind(&monster,1,"> $+ $replace($gettok($sock($sockname).mark,2,166),+,$chr(32)) $+ </a>) - $bfind(&monster,$calc($bfind(&monster,1,"> $+ $replace($gettok($sock($sockname).mark,2,166),+,$chr(32)) $+ </a>) - 21),?rs2monster))).text) {
        var %link = $bvar(&monster,$bfind(&monster,$calc($bfind(&monster,1,"> $+ $replace($gettok($sock($sockname).mark,2,166),+,$chr(32)) $+ </a>) - 21),?rs2monster),$calc($bfind(&monster,1,"> $+ $replace($gettok($sock($sockname).mark,2,166),+,$chr(32)) $+ </a>) - $bfind(&monster,$calc($bfind(&monster,1,"> $+ $replace($gettok($sock($sockname).mark,2,166),+,$chr(32)) $+ </a>) - 21),?rs2monster))).text
        var %name = $bvar(&monster,$bfind(&monster,1,$replace($gettok($sock($sockname).mark,2,166),+,$chr(32)) $+ </a>),$calc($bfind(&monster,$bfind(&monster,1,$replace($gettok($sock($sockname).mark,2,166),+,$chr(32)) $+ </a>),</a>) - $bfind(&monster,1,$replace($gettok($sock($sockname).mark,2,166),+,$chr(32)) $+ </a>))).text
        sockopen mon. [ $+ [ $gettok($sockname,2,46) ] ] www.tip.it 80
        sockmark $+(mon.,$gettok($sockname,2,46)) $+($sock($sockname).mark,%link,¦,%name,¦)
      }
      else {
        $gettok($socK($sockname).mark,1,166) $c1(No results found for) $c2($replace($gettok($sock($sockname).mark,2,166),+,$chr(32)))
      }
      .remove $sockname
      sockclose $sockname
    }
  }
}
on *:sockopen:mon.*: {
  sockwrite -nt $sockname GET $+(/runescape/index.php,$gettok($sock($sockname).mark,3,166)) HTTP/1.1
  sockwrite -nt $sockname Host: www.tip.it
  sockwrite -nt $sockname $crlf
}
on *:sockread:mon.*: {
  if ($sockerr) { $gettok($sock($sockname).mark,1,166) $c1(Tip.it has an error) | sockclose $sockname | halt }
  else {
    var %read
    sockread %read
    if (*<td width="20%" class="header" align="left"><b>Race:* iswm %read) {
      var %monster1 | sockread %monster1 
      sockmark $sockname $+($sock($sockname).mark,$htmlfree(%monster1),¦)
    }
    if (*<td width="20%" class="header" align="left"><b>Level:* iswm %read) {
      var %monsterlvl | sockread %monsterlvl
      sockmark $sockname $+($sock($sockname).mark,$htmlfree(%monsterlvl),¦)
    }
    if (*<td width="20%" class="header" align="left"><b>Hits:* iswm %read) {
      var %monsterhp | sockread %monsterhp
      sockmark $sockname $+($sock($sockname).mark,$htmlfree(%monsterhp),¦)
    }
    if (*<td width="20%"><b>Aggressive?* iswm %read) {
      sockmark $sockname $+($sock($sockname).mark,$remove($htmlfree(%read),Aggressive?,&nbsp;),¦)
    }
    if (*<td width="20%"><b>Retreats?* iswm %read) {
      sockmark $sockname $+($sock($sockname).mark,$remove($htmlfree(%read),Retreats?,&nbsp;),¦)
    }
    if (*<td width="20%"><b>Quest?* iswm %read) {
      sockmark $sockname $+($sock($sockname).mark,$remove($htmlfree(%read),Quest?,&nbsp;),¦)
    }
    if (*<td width="20%"><b>Members?* iswm %read) {
      sockmark $sockname $+($sock($sockname).mark,$remove($htmlfree(%read),Members?,&nbsp;),¦)
    }
    if (*<td width="20%"><b>Poisonous?* iswm %read) {
      sockmark $sockname $+($sock($sockname).mark,$remove($htmlfree(%read),Poisonous?,&nbsp;),¦)
    }
    if (*Habitat:* iswm %read) {
      var %monsterhabit | sockread %monsterhabit
      sockmark $sockname $+($sock($sockname).mark,$htmlfree(%monsterhabit),¦)
    }
    if $regex(%read,/<td align="left"><ul><li><b>Gold:</b>(.*)</li><li><b>100%:</b>(.*)</li>/) {
      $gettok($sock($sockname).mark,1,166) $c1(Information for) $c2($replace($gettok($sock($sockname).mark,4,166),+,$chr(32)))
      $gettok($sock($sockname).mark,1,166) $c1(Race:) $c2($gettok($sock($sockname).mark,5,166)) $c1(Level:) $c2($gettok($sock($sockname).mark,6,166)) $c1(Hits:) $c2($gettok($sock($sockname).mark,7,166)) $c1(100% Drops:) $c2($regml(2))
      $gettok($sock($sockname).mark,1,166) $c1(Aggressive?) $c2($gettok($sock($sockname).mark,8,166)) $c1(Retreats?) $c2($gettok($sock($sockname).mark,9,166)) $c1(Quest?) $c2($gettok($sock($sockname).mark,10,166)) $c1(Members?) $c2($gettok($sock($sockname).mark,11,166)) $c1(Poisonous?) $c2($gettok($sock($sockname).mark,12,166))
      $gettok($sock($sockname).mark,1,166) $c1(Habitat:) $c2($gettok($sock($sockname).mark,13,166))      
      sockclose $sockname
    }
  }
}
on *:sockopen:rank.*: {
  sockwrite -nt $sockname GET $+(/overall.ws?rank=,$gettok($sock($sockname).mark,3,166),&table=,$numskill($gettok($sock($sockname).mark,2,166)),&submit=Search) HTTP/1.0
  sockwrite -nt $sockname Host: hiscore.runescape.com
  sockwrite -nt $sockname $crlf
}
on *:sockread:rank.*: {
  if ($sockerr) halt
  else {
    while ($sock($sockname).rq) {
      sockread &sockreader
      bwrite $sockname -1 -1 &sockreader
    }
    bread $sockname 0 $file($sockname).size &rank
    if ($bfind(&rank,1,</html>)) {
      if ($bfind(&rank,1,<span style="color:#AA0022;">)) {
        var %rname = $calc($bfind(&rank,$calc($bfind(&rank,$bfind(&rank,$bfind(&rank,1,<span style="color:#AA0022;">),</span>),<span style="color:#AA0022;">) +29),</span></a>) +10)
        var %rrname = $bvar(&rank,$calc($bfind(&rank,$bfind(&rank,$bfind(&rank,1,<span style="color:#AA0022;">),</span>),<span style="color:#AA0022;">) +29),$calc($bfind(&rank,$calc($bfind(&rank,$bfind(&rank,$bfind(&rank,1,<span style="color:#AA0022;">),</span>),<span style="color:#AA0022;">) +29),</span></a>) - $calc($bfind(&rank,$bfind(&rank,$bfind(&rank,1,<span style="color:#AA0022;">),</span>),<span style="color:#AA0022;">) +29))).text
        var %rlvl = $bfind(&rank,$calc($bfind(&rank,%rname,<span style="color:#AA0022;">) +29),</span>)
        var %rrlvl = $bvar(&rank,$calc($bfind(&rank,%rname,<span style="color:#AA0022;">) +29),$calc($bfind(&rank,$calc($bfind(&rank,%rname,<span style="color:#AA0022;">) +29),</span>) - $calc($bfind(&rank,%rname,<span style="color:#AA0022;">) +29))).text
        var %rrexp = $bvar(&rank,$calc($bfind(&rank,%rlvl,<font color="#AA0022">) +22),$calc($bfind(&rank,$calc($bfind(&rank,%rlvl,<font color="#AA0022">) +22),</font>) - $calc($bfind(&rank,%rlvl,<font color="#AA0022">) +22))).text

        $gettok($sock($sockname).mark,1,166) $c1(The person ranked) $c2($gettok($sock($sockname).mark,3,166)) $c1(in) $c2($gettok($sock($sockname).mark,2,166)) $c1(is) $c2(%rrname) $c1(at level) $c2(%rrlvl) $c1(with) $c2(%rrexp) $c1(exp)
      }
      else {
        $gettok($sock($sockname).mark,1,166) $c1(No user was found at) $c2($gettok($sock($sockname).mark,3,166)) $c1(in) $c2($gettok($sock($sockname).mark,2,166))
      }
      .remove $sockname
      sockclose $sockname
    }
  }
}
on *:sockopen:price.*: {
  sockwrite -nt $sockname GET $+(/priceguide.php?search_terms=,%price.search. [ $+ [ %x ] ],&search_area=1&price_low=&price_high=&member=1) HTTP/1.1
  sockwrite -nt $sockname Host: www.zybez.net
  sockwrite -nt $sockname $crlf
}
on *:sockread:price.*: {
  var %x = $gettok($sockname,2,46)
  if ($sockerr) { %price.display. [ $+ [ %x ] ] $c1(There is an error with zybez) | sockclose $sockname | halt }
  else {
    var %sockreader
    sockread %sockreader
    if (*Your search did not return any results* iswm %sockreader) {
      %price.display. [ $+ [ %x ] ] $c2($replace(%price.search. [ $+ [ %x ] ],+,$chr(32))) $c1(did not return any results.)

      unset %price.*. [ $+ [ %x ] ]
      sockclose $sockname
    }
    elseif $regex(%sockreader,/<td style="text-align: left; width: 180px;">Viewing (.*) of (.*) Results</td>/) {
      set %price.ammount. [ $+ [ %x ] ] $regml(2)
    }    
    if (*<!--name-->* iswm %sockreader) {
      inc %pricename. [ $+ [ %x ] ]
      set %price.resultname. [ $+ [ %x  $+ . [ $+ [ %pricename. [ $+ [ %x ] ] ] ] ] ] $htmlfree(%sockreader)
    }
    if (*<!--price-->* iswm %sockreader) {
      inc %priceprice. [ $+ [ %x ] ]
      set %price.resultprice. [ $+ [ %x $+ . [ $+ [ %priceprice. [ $+ [ %x ] ] ] ] ] ] $htmlfree(%sockreader)
    }
    if (*<!-- Search Results: End -->* iswm %sockreader) {
      if (%pricename. [ $+ [ %x ] ] >= 6) {
        var %priceloop = 1
        while (%priceloop <= 5) {
          set %price.final. [ $+ [ %x ] ] $(%price.final. [ $+ [ %x ] ],2) $c1($chr(124)) $c2(%price.resultname. [ $+ [ %x $+ . [ $+ [ %priceloop ] ] ] ] - %price.resultprice. [ $+ [ %x $+ . [ $+ [ %priceloop ] ] ] ])
          inc %priceloop
        }
      }
      else {
        var %priceloop = 1
        while (%priceloop <= %pricename. [ $+ [ %x ] ]) {
          set %price.final. [ $+ [ %x ] ] $(%price.final. [ $+ [ %x ] ],2) $c1($chr(124)) $c2(%price.resultname. [ $+ [ %x $+ . [ $+ [ %priceloop ] ] ] ] - %price.resultprice. [ $+ [ %x $+ . [ $+ [ %priceloop ] ] ] ])
          inc %priceloop
        }
      }
      %price.display. [ $+ [ %x ] ]  $c2($+($calc(%priceloop - 1),$chr(47),%price.ammount. [ $+ [ %x ] ])) $c1(result for) $c2($replace(%price.search. [ $+ [ %x ] ],+,$chr(32))) $c1(is) $c2(%price.final. [ $+ [ %x ] ]) $c1($chr(124))

      unset %pricename. [ $+ [ %x ] ] | unset %priceprice. [ $+ [ %x ] ]
      unset %price.*. [ $+ [ %x ] ]
      sockclose $sockname
    }
  }
}
alias htmlfree { 
  noop $regex($1-,/&(.+?);/g) 
  var %c 1,%a $1- | while ($regml(%c)) { 
    var %a $remove(%a,$+(&,$regml(%c),;)) 
    inc %c 
  } 
  noop $regex(%a,/<(.+?)>/g) 
  var %c 1 | while ($regml(%c)) { 
    var %a $remove(%a,$+(<,$regml(%c),>)) 
    inc %c 
  } 
  $iif($isid,return,echo) %a 
}
alias getskill {
  if ($regex($1,/^total|over(all)?$/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|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,/^hunt(er|ing)?$/Si)) return Hunter
  elseif ($regex($1,/^con(struct)?(ion|ing)?$/Si)) return Construction
  elseif ($regex($1,/^co?mb(at)?$/Si)) return Combat
  else return Error
}
alias language {
  if ($regex($1,/^eng?(lish)?$/Si)) return en
  elseif ($regex($1,/^fre?(nch)?$/Si)) return fr
  elseif ($regex($1,/^ger?(man)?$/Si)) return de
  elseif ($regex($1,/^ita?(lian)?$/Si)) return it
  elseif ($regex($1,/^spa?(nish)?$/Si)) return es
  elseif ($regex($1,/^por?(tuguese)?$/Si)) return pt
  else return Error
}
alias fulllanguage {
  var %y = $replace($1-,en,English,fr,French,de,German,it,Italian,es,Spanish,pt,Portuguese)
  return %y
}
alias stylee {
  if ($regex($1,/^acc(ura?(cy|te)?)?$/Si)) return Accurate
  elseif ($regex($1,/^str|agg(rength|ressive)?$/Si)) return Aggressive
  elseif ($regex($1,/^def(en[cs]?(e|ive)?)?$/Si)) return Defensive
  elseif ($regex($1,/^con(troll?(ed)?)?$/Si)) return Controlled
  else return Error
}
alias bonus {
  if ($regex($1,/^SP?$/Si)) return Strength_Potion
  elseif ($regex($1,/^ZP?$/Si)) return Zamorak_Potion
  elseif ($regex($1,/^SS?$/Si)) return Super_Strength_Potion
  elseif ($regex($1,/^BS?$/Si)) return Burst_of_Strength
  elseif ($regex($1,/^HS?$/Si)) return Superhuman_Strength
  elseif ($regex($1,/^US?$/Si)) return Ultimate_Strength
}
alias formula {
  var %pot = $readini(Maxhit.ini,Maxhit,$gettok($1,1,32))
  var %pray = $readini(Maxhit.ini,Maxhit,$gettok($1,2,32))
  var %style = $readini(Maxhit.ini,Maxhit,$gettok($1,5,32))
  var %max = $floor($calc((( $gettok($1,3,32) * %pot ) + ( $gettok($1,3,32) * %pray ) + %style ) * (( $gettok($1,4,32) * 0.00175) + 0.1) + 1.08))
  return %max
}
alias givekey { 
  var %n = 11 6 17 12 12 14 5 12 16 10 11 6 14 14 4 11 9 12 11 10 8 10 10 16 8 4 6 10 12 16 8 10 4 16, $&
    %x = 4,%1,%2 
  while ($asc($mid($$1-,%x)) > $gettok(%n,$calc(%x -3),32)) { 
    inc %1 $calc($v1 *$v2)
    inc %2 $calc($v1 *$v2 *$asc($mid($1,$calc(%x -1)))) 
    inc %x
  } 
  return $+(%1,-,%2)
}
alias Single { 
  tokenize 32 $1-
  var %1p = $bytes($round($calc($2 /((($3 ^2))/ $iif($1 == Prayer,12.22,6.12))),0),bd)
  return %1p
} 
alias Hundred { 
  tokenize 32 $1-
  var %100p = $bytes($round($calc($2 /((($3 ^2)/ $iif($1 == Prayer,12.22,6.12))+((($3 ^2)/ $iif($1 == Prayer,12.22,6.12))*.10))),0),bd)
  return %100p
} 
alias cmbformula {
  tokenize 32 $1-
  var %base = $calc( $2 + $4 + $floor($calc( $6 /2)))
  var %melee = $calc( $1 + $3 )
  var %mage = $calc( $7 + $floor($calc( $7 /2)))
  var %range = $calc( $5 + $floor($calc( $5 /2)))

  if (%melee > %mage && %melee > %range) {
    var %result = $calc(( %base *100+ %melee *130)/400) (Melee Based)
  }
  elseif (%mage > %melee && %mage > %range) {
    var %result = $calc(( %base *100+ %mage *130)/400) (Mage Based)
  }
  elseif (%range > %mage && %range > %melee) {
    var %result = $calc(( %base *100+ %range * 130)/400) (Range Based)
  }
  return %result
}
alias cmblvl2up {
  tokenize 32 $1-
  var %base = $calc( $2 + $4 + $floor($calc( $6 /2)))
  var %melee = $calc( $1 + $3 )
  var %mage = $calc( $7 + $floor($calc( $7 /2)))
  var %range = $calc( $5 + $floor($calc( $5 /2)))

  if (%melee > %mage && %melee > %range) {
    var %result = $calc(( %base *100+ %melee *130)/400) (Melee Based)
    var %nxtlvlxp = $calc(($floor(%result) +1) - %result)
    var %nxtlvl = $c1(Att/Str:) $c2($ceil($calc(%nxtlvlxp /0.325535))) $c1(Hp/Def:) $c2($ceil($calc(%nxtlvlxp /0.25))) $c1(Pray:) $c2($ceil($calc(%nxtlvlxp /0.124)))
  }
  elseif (%mage > %melee && %mage > %range) {
    var %result = $calc(( %base *100+ %mage *130)/400) (Mage Based)
    var %nxtlvlxp = $calc(($floor(%result) +1) - %result)
    var %nxtlvl = $c1(Mage:) $c2($ceil($calc(%nxtlvlxp /0.487))) $c1(Hp/Def:) $c2($ceil($calc(%nxtlvlxp /0.25))) $c1(Pray:) $c2($ceil($calc(%nxtlvlxp /0.124)))
  }
  elseif (%range > %mage && %range > %melee) {
    var %result = $calc(( %base *100+ %range * 130)/400) (Range Based)
    var %nxtlvlxp = $calc(($floor(%result) +1) - %result)
    var %nxtlvl = $c1(Range:) $c2($ceil($calc(%nxtlvlxp /0.487))) $c1(Hp/Def:) $c2($ceil($calc(%nxtlvlxp /0.25))) $c1(Pray:) $c2($ceil($calc(%nxtlvlxp /0.124)))
  }
  return %nxtlvl
}
alias numskill {
  if ($1 == 0) return Overall
  elseif ($1 == 1) return Attack
  elseif ($1 == 2) return Defence
  elseif ($1 == 3) return Strength
  elseif ($1 == 4) return Hitpoints
  elseif ($1 == 5) return Ranged
  elseif ($1 == 6) return Prayer
  elseif ($1 == 7) return Magic
  elseif ($1 == 8) return Cooking
  elseif ($1 == 9) return Woodcutting
  elseif ($1 == 10) return Fletching
  elseif ($1 == 11) return Fishing
  elseif ($1 == 12) return Firemaking
  elseif ($1 == 13) return Crafting
  elseif ($1 == 14) return Smithing
  elseif ($1 == 15) return Mining
  elseif ($1 == 16) return Herblore
  elseif ($1 == 17) return Agility
  elseif ($1 == 18) return Thieving
  elseif ($1 == 19) return Slayer
  elseif ($1 == 20) return Farming
  elseif ($1 == 21) return Runecraft
  elseif ($1 == 22) return Hunter
  elseif ($1 == 23) return Construction
  elseif ($1 == Overall) return 0
  elseif ($1 == Attack) return 1
  elseif ($1 == Defence) return 2
  elseif ($1 == Strength) return 3
  elseif ($1 == Hitpoints) return 4
  elseif ($1 == Ranged) return 5
  elseif ($1 == Prayer) return 6
  elseif ($1 == Magic) return 7
  elseif ($1 == Cooking) return 8
  elseif ($1 == Woodcutting) return 9
  elseif ($1 == Fletching) return 10
  elseif ($1 == Fishing) return 11
  elseif ($1 == Firemaking) return 12
  elseif ($1 == Crafting) return 13
  elseif ($1 == Smithing) return 14
  elseif ($1 == Mining) return 15
  elseif ($1 == Herblore) return 16
  elseif ($1 == Agility) return 17
  elseif ($1 == Thieving) return 18
  elseif ($1 == Slayer) return 19
  elseif ($1 == Farming) return 20
  elseif ($1 == Runecraft) return 21
  elseif ($1 == Hunter) return 22
  elseif ($1 == Construction) return 23
}
alias xp { 
  if ($isid) { 
    var %e, %x = 1, %y = $1 
    while (%x < %y) { 
      inc %e $floor($calc(%x + 300 * 2 ^ (%x / 7))) 
      inc %x 
    } 
    return $floor($calc(%e / 4)) 
  } 
}
alias xp2Next { 
  tokenize 32 $1-
  var %xp = $remove($2,$chr(44)), %nextxp = $xp($calc($1 + 1)) 
  return $calc(%nextxp - %xp)
} 
alias item2next {
  tokenize 32 $1-
  var %y = 1
  while (%y <= $ini(item.ini,$1,0)) {
    var %name = $ini(item.ini,$1,%y)
    var %monxp = $readini(item.ini,$1,%name)
    var %item %item $c1($replace(%name,-,$chr(32))) $c2($bytes($ceil($calc($2 / %monxp)),bd))
    inc %y
  }
  return %item
}
alias pestskill {
  if ($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
  else return Error
}
alias playtype {
  if ($regex($1-,/^(F2P|free2play)$/Si)) return 1
  elseif ($regex($1-,/^(P2P|pay2play)$/Si)) return 2
  elseif ($regex($1-,/^(Both)$/Si)) return 3
  elseif ($regex($1-,/^(1)$/Si)) return F2P
  elseif ($regex($1-,/^(2)$/Si)) return P2P
  elseif ($regex($1-,/^(3)$/Si)) return F2P and P2P
  elseif ($regex($1-,/^(\+)$/Si)) return Any Membership Based
  else return +
}
alias timebase {
  if ($regex($1-,/^(USA|American?)$/Si)) return 1
  elseif ($regex($1-,/^Euro(pe)?$/Si)) return 2
  elseif ($regex($1-,/^Asian??$/Si)) return 3
  elseif ($regex($1-,/^(1)$/Si)) return America
  elseif ($regex($1-,/^(2)$/Si)) return Europe
  elseif ($regex($1-,/^(3)$/Si)) return Asia
  elseif ($regex($1-,/^(\+)$/Si)) return Any Timezone
  else return +
}
alias cape {
  if ($regex($1-,/^(black)$/Si)) return 1
  elseif ($regex($1-,/^(blue)$/Si)) return 2
  elseif ($regex($1-,/^(green)$/Si)) return 3
  elseif ($regex($1-,/^(orange)$/Si)) return 4
  elseif ($regex($1-,/^(purple)$/Si)) return 5
  elseif ($regex($1-,/^(red)$/Si)) return 6
  elseif ($regex($1-,/^(yellow)$/Si)) return 7
  elseif ($regex($1-,/^(1)$/Si)) return Black
  elseif ($regex($1-,/^(2)$/Si)) return Blue
  elseif ($regex($1-,/^(3)$/Si)) return Green
  elseif ($regex($1-,/^(4)$/Si)) return Orange
  elseif ($regex($1-,/^(5)$/Si)) return Purple
  elseif ($regex($1-,/^(6)$/Si)) return Red
  elseif ($regex($1-,/^(7)$/Si)) return Yellow
  elseif ($regex($1-,/^(\+)$/Si)) return Any Cape
  else return +
}
alias checkchan {
  if ($1 != #IceScript && $1 != #IceStaff) {
    if ($nick($1,0) < 5) {
      timercheck. [ $+ [ $1 ] ] off
      part $1 Sorry not enough people in your channel, must have 5+
    }
    else {
      .timercheck. [ $+ [ $1 ] ] 1 60 checkchan $1
    }
  }
}
alias channels {
  var %chan 1
  while (%chan <= $chan(0)) {
    var %oo = %oo $chan(%chan)
    inc %chan
  }
  msg $chan %oo
}