~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
on *:TEXT:!calc*:*: notice $nick 3[14 $me Calc3] 14Answer:07 $bytes($calc($replace($2-,k,*1000,m,*1000000,K,*1000,M,*1000000)),bd) $+
on *:TEXT:@calc*:*: msg $chan 3[14 $me Calc3] 14Answer:07 $bytes($calc($replace($2-,k,*1000,m,*1000000,K,*1000,M,*1000000)),bd) $+
on *:TEXT:*!dice*:#:{{ msg $chan 3[14 $me 6 Sided Dice3] 4 $me throws the dice at $nick and the dice shows a - $read(6die.txt)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ON $*:TEXT:/^[!@]clan/Si:#:{ unset %clanc.* | inc %c
set $+(%,clan.return.,%c) $iif($left($1,1) == @,msg $chan,notice $nick)
set $+(%,clan.member.,%c) $replace($2-,$chr(32),_)
sockopen $+(clan.,%c) www.runehead.com 80
}
ON *:SOCKOPEN:clan.*:{
sockwrite -nt $sockname GET $+(/clans/search.php?search=,$($+(%,clan.member.,%c),2),&searchtype=excact) HTTP/1.1
sockwrite -nt $sockname Host: www.runehead.com $+ $+($crlf,$crlf)
}
ON *:SOCKREAD:clan.*:{
if ($sockerr) { $($+(%,clan.return.,%c),2) [CLAN] Socket Error Has Occured Please Try Again In 30 Seconds }
else {
sockread %clan
if (*
No results were found for* iswm %clan) {
$($+(%,clan.return.,%c),2) [CLAN] Sorry, no results were found for: $replace($($+(%,clan.member.,%c),2),_,$chr(32))
sockclose $sockname
}
if (* returned * result*:* iswm %clan) { set $+(%,clan.results.,%c) $remove($htmlfree(%clan), $($+(%,clan.member.,%c),2), exact, the, search, returned, results:, result:, $chr(32))
}
if (*'ml.php?clan=*'>* iswm %clan) { if ($($+(%,clan.results.,%c),2) >= 2) { set $+(%,clan.list2.,%c) $($+(%,clan.list.,%c),2)
set $+(%,clan.list.,%c) $($+(%,clan.list2.,%c),2) « » $htmlfree(%clan)
inc $+(%,clan.c.,%c)
if ($($+(%,clan.c.,%c),2) == $($+(%,clan.results.,%c),2)) $($+(%,clan.return.,%c),2) [CLAN] » $replace($($+(%,clan.member.,%c),2),_,$chr(32)) is in the clans: $($+(%,clan.list.,%c),2) «
}
if ($($+(%,clan.results.,%c),2) == 1) { $($+(%,clan.return.,%c),2) [CLAN] $replace($($+(%,clan.member.,%c),2),_,$chr(32)) is in the clan:» $htmlfree(%clan) « }
}
}
}
ON *:SOCKCLOSE:clan.*:{
unset %clan.*
unset %clanc.*
}
alias -l htmlfree { var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, ) | return %x }
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ON *:TEXT:!SetGreet*:#:{
if ($ isin $1-) {
notice $Nick i am now ignoring you.
ignore $nick
halt
}
if ($2 == $null) {
notice $nick 12!SetGreet4 <12Greet Here4>
halt
}
if ($read(greet.txt, s, $address($nick,2)) == $null) {
write Greet.Txt $Address($nick,2) $2-
notice $nick 12Greet Saved for4 $address($nick,2)
halt
}
else {
write -ds $+ $address($nick,2) Greet.txt
write Greet.Txt $Address($nick,2) $2-
notice $nick 12Greet Saved for4 $address($nick,2)
}
}
ON *:JOIN:#:{
if ($chan == #b0ts || $nick == $me) { halt }
if ($read(greet.txt, s, $address($nick,2)) == $null) {
notice $nick 12You have no set greet!4 !SetGreet12
halt
}
else {
msg $chan 1[ $+ $nick $+ 1]: $read(greet.txt, s, $address($nick,2))
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
on $*:TEXT:/^[!@]((def|set)?(name|rsn)|p(est|c)|stats?|overall?|totaa?l|co?mb|att|def|str|h(p|it)|rang|pray|mag[ie]|cook|w(c|ood)|flet|fish|f(m|iremak)|craft|smith|min|herb|agi|th(ie|ei)|slay|farm|r(c|une)|hunt|c(s|on))/Si:#:{
if ($regex($1,/^[!@](def|set)?(name|rsn)/Si)) {
if (!$2) notice $nick $+($c1,[,$c2,You didn't specify a name! Please type,$c1 $1 name])
else {
writeini defname.ini Defname $address($nick,3) $hr($2-)
notice $nick $+($c1,[,$c2,The nick $c1,$2- $c2,is now set for your host,$c1,])
}
}
else {
inc %sc | sockopen $+(stats.,%sc) o-ss.net 80
if ($regex($1,/^[!@]p(est|c)/Si)) sockmark $+(stats.,%sc) $iif($regex($1,/^@/Si),msg $chan,notice $nick) $iif($regex($left($3,1),/^[#-]/Si),$iif($4,$hr($4-),$iif($readini(defname.ini,defname,$address($nick,3)),$v1,$nick)),$iif($3,$hr($3-),$iif($readini(defname.ini,defname,$address($nick,3)),$v1,$nick))) $+(p.,$StatsID($2)) $iif($regex($left($3,1),/^[#-]/Si),$remove($3,$chr(35),-))
else sockmark $+(stats.,%sc) $iif($regex($1,/^@/Si),msg $chan,notice $nick) $iif($regex($left($2,1),/^[#-]/Si),$iif($3,$hr($3-),$iif($readini(defname.ini,defname,$address($nick,3)),$v1,$nick)),$iif($2,$hr($2-),$iif($readini(defname.ini,defname,$address($nick,3)),$v1,$nick))) $StatsID($1) $iif($regex($left($2,1),/^[#-]/Si),$remove($2,$chr(35),-))
}
}
on *:SOCKOPEN:stats.*:{
sockwrite -nt $sockname GET /parsers/stats.php?user= $+ $gettok($sock($sockname).mark,3,32) HTTP/1.1
sockwrite -nt $sockname Host: o-ss.net
sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:stats.*:{
var %rs | sockread %rs
if ((*does not feature* iswm %rs) && ($sockname)) {
$gettok($sock($sockname).mark,1-2,32) $+($c1,[,$sr($gettok($sock($sockname).mark,3,32)) $c2,does not feature in the highscores for $c1,any skill])
sockclose $sockname
}
elseif ((*overall* iswm %rs) && ($gettok($sock($sockname).mark,4,32) == overall) && ($sockname)) {
var %z = %rs, %c = 1
while (%c <= 23) { sockread %rs | tokenize 32 %rs | if ($3 != ranked) var %z = %z $+($gettok(%rs,1,32),: $c1,$gettok(%rs,3,32),$c2) | if (%c isnum 1-7) var %k = %k $iif($3 == ranked,$iif($1 == hitpoints,10,1),$3) | inc %c } | tokenize 32 %z
$gettok($sock($sockname).mark,1-2,32) $+($c1,[,$c2,Overall for $sr($gettok($sock($sockname).mark,3,32)),$c1,] [,$c2,Combat:,$c1 $cmb(%k $sockname) |,$c2 Total: $c1,$3 |,$c2 Rank: $c1,$2 |,$c2 Exp: $c1,$4,])
$gettok($sock($sockname).mark,1-2,32) $+($c1,[,$c2,$left($gettok(%z,5-,32),-3),$c1,])
sockclose $sockname
}
elseif ((!$regex($gettok($sock($sockname).mark,4,32),/(overall|combat)/Si)) && ($+(*,$gettok($sock($sockname).mark,4,32),*) iswm %rs) && ($sockname)) {
if ($gettok(%rs,2,32) == not) $gettok($sock($sockname).mark,1-2,32) $+($c1,[,$sr($gettok($sock($sockname).mark,3,32)) $c2,does not feature in the highscores for $c1,$gettok($sock($sockname).mark,4,32),])
else $gettok($sock($sockname).mark,1-2,32) $+($c1,[,$c2,$gettok($sock($sockname).mark,4,32) for $c1,$sr($gettok($sock($sockname).mark,3,32)),] [,$c2,Level: $c1,$gettok(%rs,3,32) |,$c2 Rank: $c1,$gettok(%rs,2,32) |,$c2 Exp: $c1,$gettok(%rs,4,32),$iif($gettok(%rs,3,32) != 99,$+($chr(32),|,$c2 Exp till level $c1,$iif($gettok($sock($sockname).mark,5,32),$v1,$calc($gettok(%rs,3,32) + 1)),$c2,:,$c1 $bytes($calc($exp($iif($gettok($sock($sockname).mark,5,32),$v1,$calc($gettok(%rs,3,32) + 1))) - $remove($gettok(%rs,4,32),$chr(44))),bd))),])
sockclose $sockname
}
elseif ((*attack* iswm %rs) && ($gettok($sock($sockname).mark,4,32) == combat) && ($sockname)) {
var %c = $iif($gettok(%rs,3,32) != ranked,$v1,1), %z = 1
while (%z <= 6) { sockread %rs | var %c = %c $iif($gettok(%rs,3,32) != ranked,$v1,$iif($gettok(%rs,1,32) == hitpoints,10,1)) | inc %z } | tokenize 32 %c
$gettok($sock($sockname).mark,1-2,32) $+($c1,[,$c2,Combat for $c1,$sr($gettok($sock($sockname).mark,3,32)),] [,$c2,Combat: $c1,$cmb(%c $sockname),] [,$c2,Att:,$c1 $1 |,$c2 Str:,$c1 $3 |,$c2 Def:,$c1 $2 |,$c2 Hp:,$c1 $4 |,$c2 Ranged:,$c1 $5 |,$c2 Pray:,$c1 $6 |,$c2 Magic:,$c1 $7,])
$gettok($sock($sockname).mark,1-2,32) $+($c1,[,$c2,Stats till combat $c1,$iif($gettok($sock($sockname).mark,5,32),$v1,$calc($gettok($cmb(%c $sockname),1,46) + 1)),] [,$c2,$iif($gettok($cmb(%c $sockname),2,32) == melee,$+(Att/Str: $c1,$cc1($cmb(%c $sockname) $iif($gettok($sock($sockname).mark,5,32),$calc($v1 - 1),$cmb(%c $sockname))))),$iif($gettok($cmb(%c $sockname),2,32) == ranged,$+(Ranged: $c1,$cc3($cmb(%c $sockname) $iif($gettok($sock($sockname).mark,5,32),$calc($v1 - 1),$cmb(%c $sockname))))),$&
$iif($gettok($cmb(%c $sockname),2,32) == magic,$+(Magic: $c1,$cc3($cmb(%c $sockname) $iif($gettok($sock($sockname).mark,5,32),$calc($v1 - 1),$cmb(%c $sockname))))),$chr(32),|,$c2 Hp/Def: $c1,$cc2($cmb(%c $sockname) $iif($gettok($sock($sockname).mark,5,32),$calc($v1 - 1),$cmb(%c $sockname))) |,$c2 Pray: $c1,$cc4($cmb(%c $sockname) $iif($gettok($sock($sockname).mark,5,32),$calc($v1 - 1),$cmb(%c $sockname))),])
sockclose $sockname
}
elseif ((*overall* iswm %rs) && ($gettok($sock($sockname).mark,4,32) == combatp) && ($sockname)) {
var %o = $iif($gettok(%rs,4,32),$remove($v1,$chr(44)),0), %z = 1
while (%z <= 7) { sockread %rs | var %c = $calc(%c + $iif($gettok(%rs,4,32),$remove($v1,$chr(44)),0)) | inc %z }
$gettok($sock($sockname).mark,1-2,32) $+($c1,[,$c2,Combat percentage of $c1,$sr($gettok($sock($sockname).mark,3,32)),] [,$c2,Total Exp:,$c1 $bytes(%o,bd) |,$c2 Combat Exp:,$c1 $bytes(%c,bd) |,$c2 Combat Percentage:,$c1 $round($calc((%c / %o) * 100),2),$chr(37),])
sockclose $sockname
}
elseif ((p.* iswm $gettok($sock($sockname).mark,4,32)) && ($+(*,$remove($gettok($sock($sockname).mark,4,32),p.),*) iswm %rs) && ($sockname)) {
if ($gettok(%rs,2,32) == not) $gettok($sock($sockname).mark,1-2,32) $+($c1,[,$sr($gettok($sock($sockname).mark,3,32)) $c2,does not feature in the highscores for $c1,$remove($gettok($sock($sockname).mark,4,32),p.),])
elseif ($gettok(%rs,3,32) == 99) $gettok($sock($sockname).mark,1-2,32) $+($c1,[,$c2,$remove($gettok($sock($sockname).mark,4,32),p.) for $c1,$sr($gettok($sock($sockname).mark,3,32)) $c2,is already 99,$c1,])
else {
var %m = $calc($gettok($calc(($exp($iif($gettok($sock($sockname).mark,5,32),$v1,$calc($gettok(%rs,3,32) + 1))) - $remove($gettok(%rs,4,32),$chr(44))) / ($gettok($calc(($gettok(%rs,3,32) * $gettok(%rs,3,32)) / $iif($remove($gettok($sock($sockname).mark,4,32),p.) == prayer,12,6)),1,46) + 1)),1,46) + 1)
$gettok($sock($sockname).mark,1-2,32) $+($c1,[,$c2,$remove($gettok($sock($sockname).mark,4,32),p.) for $c1,$sr($gettok($sock($sockname).mark,3,32)),] [,$c2,Level: $c1,$gettok(%rs,3,32) |,$c2 Rank: $c1,$gettok(%rs,2,32) |,$c2 Exp: $c1,$gettok(%rs,4,32),])
$gettok($sock($sockname).mark,1-2,32) $+($c1,[,$c2,Exp till level $c1,$iif($gettok($sock($sockname).mark,5,32),$v1,$calc($gettok(%rs,3,32) + 1)),$c2,:,$c1 $bytes($calc($exp($iif($gettok($sock($sockname).mark,5,32),$v1,$calc($gettok(%rs,3,32) + 1))) - $remove($gettok(%rs,4,32),$chr(44))),bd),] [,$c2,PC Tickets (1):,$c1 $bytes(%m,bd) |,$c2 PC Tickets (100):,$c1 $bytes($gettok($calc(((%m / 10) * 9) + 1),1,46),bd),])
sockclose $sockname
}
}
}
alias -l c1 return $+($chr(3),14)
alias -l c2 return $+($chr(3),07)
alias -l hr { return $replace($1-,$chr(32),+,$chr(45),+,$chr(95),+) }
alias -l sr { return $replace($1-,+,$chr(32)) }
alias -l StatsID {
if ($regex($1,/^([!@])?(stats?|overall?|totaa?l)/Si)) return Overall
elseif ($regex($1,/^([!@])?co?mb%/Si)) return Combatp
elseif ($regex($1,/^([!@])?co?mb/Si)) return Combat
elseif ($regex($1,/^([!@])?att/Si)) return Attack
elseif ($regex($1,/^([!@])?def/Si)) return Defence
elseif ($regex($1,/^([!@])?str/Si)) return Strength
elseif ($regex($1,/^([!@])?h(p|it)/Si)) return Hitpoints
elseif ($regex($1,/^([!@])?rang/Si)) return Ranged
elseif ($regex($1,/^([!@])?pray/Si)) return Prayer
elseif ($regex($1,/^([!@])?mag[ei]/Si)) return Magic
elseif ($regex($1,/^([!@])?cook/Si)) return Cooking
elseif ($regex($1,/^([!@])?w(c|oodcut)/Si)) return Woodcutting
elseif ($regex($1,/^([!@])?flet/Si)) return Fletching
elseif ($regex($1,/^([!@])?fish/Si)) return Fishing
elseif ($regex($1,/^([!@])?f(m|iremak)/Si)) return Firemaking
elseif ($regex($1,/^([!@])?craft/Si)) return Crafting
elseif ($regex($1,/^([!@])?smith/Si)) return Smithing
elseif ($regex($1,/^([!@])?min/Si)) return Mining
elseif ($regex($1,/^([!@])?herb/Si)) return Herblore
elseif ($regex($1,/^([!@])?agi/Si)) return Agility
elseif ($regex($1,/^([!@])?th(ie|ei)/Si)) return Thieving
elseif ($regex($1,/^([!@])?slay/Si)) return Slayer
elseif ($regex($1,/^([!@])?farm/Si)) return Farming
elseif ($regex($1,/^([!@])?r(c|une)/Si)) return Runecraft
elseif ($regex($1,/^([!@])?hunt/Si)) return Hunter
elseif ($regex($1,/^([!@])?c(s|on)/Si)) return Construction
}
alias -l cmb {
tokenize 32 $1-
var %rsc1 [ $+ [ $8 ] ] $calc((($1 * 130) + ($3 * 130)) / 400)
var %rsc2 [ $+ [ $8 ] ] $calc($iif($and($5,1) == 0,$calc($5 * 195),$calc((($5 - 1) + ($5 * 2)) * 65)) / 400)
var %rsc3 [ $+ [ $8 ] ] $calc($iif($and($7,1) == 0,$calc($7 * 195),$calc((($7 - 1) + ($7 * 2)) * 65)) / 400)
if ((%rsc1 [ $+ [ $8 ] ] >= %rsc2 [ $+ [ $8 ] ]) && (%rsc1 [ $+ [ $8 ] ] >= %rsc3 [ $+ [ $8 ] ])) return $calc(%rsc1 [ $+ [ $8 ] ] + ((($2 * 100) + ($4 * 100) + ($iif($and($6,1) == 0,$6,$calc($6 - 1)) * 50)) / 400)) Melee Based
elseif ((%rsc2 [ $+ [ $8 ] ] >= %rsc3 [ $+ [ $8 ] ]) && (%rsc2 [ $+ [ $8 ] ] >= %rsc1 [ $+ [ $8 ] ])) return $calc(%rsc2 [ $+ [ $8 ] ] + ((($2 * 100) + ($4 * 100) + $iif($and($6,1) == 0,$6,$calc($6 - 1)) * 50) / 400)) Ranged Based
elseif ((%rsc3 [ $+ [ $8 ] ] >= %rsc1 [ $+ [ $8 ] ]) && (%rsc3 [ $+ [ $8 ] ] >= %rsc2 [ $+ [ $8 ] ])) return $calc(%rsc3 [ $+ [ $8 ] ] + ((($2 * 100) + ($4 * 100) + $iif($and($6,1) == 0,$6,$calc($6 - 1)) * 50) / 400)) Magic Based
}
alias -l exp { return $gettok(0 83 174 276 388 512 650 801 969 1154 1358 1584 1833 2107 2411 2746 3115 3523 3973 4470 5018 5624 6291 7028 7842 8740 9730 10824 12031 13363 14833 16456 18247 20224 22406 24815 27473 30408 33648 37224 41171 45529 50339 55649 61512 67983 75127 83014 91721 101333 111945 123660 136594 150872 166636 184040 203254 224466 247886 273742 302288 333804 368599 407015 449428 496254 547953 605032 668051 737627 814445 899257 992895 1096278 1210421 1336443 1475581 1629200 1798808 1986068 2192818 2421087 2673114 2951373 3258594 3597792 3972294 4385776 4842295 5346332 5902831 6517253 7195629 7944614 8771558 9684577 10692629 11805606 13034431,$1,32) }
alias -l cc1 { tokenize 32 $1 | return $gettok($calc(((($gettok($4,1,46) + 1) - $1) / 0.325) + 1),1,46) }
alias -l cc2 { tokenize 32 $1 | return $gettok($calc(((($gettok($4,1,46) + 1) - $1) / 0.25) + 1),1,46) }
alias -l cc3 { tokenize 32 $1 | return $gettok($calc(((($gettok($4,1,46) + 1) - $1) / 0.4875) + 1),1,46) }
alias -l cc4 { tokenize 32 $1 | return $gettok($calc(((($gettok($4,1,46) + 1) - $1) / 0.125) + 1),1,46) }
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
on $*:TEXT:/^[!@.]compare/Si:#:{
if (!$4 || !$skills($2)) { notice $nick Invalid format: $1 | halt }
var %id = $ticks
set %compare.nick1 [ $+ [ %id ] ] $3
set %compare.nick2 [ $+ [ %id ] ] $4
set %compare.skill [ $+ [ %id ] ] $skills($2)
set %compare.way [ $+ [ %id ] ] $iif($left($1,1) == @,msg $chan,notice $nick)
sockopen compare. [ $+ [ %id ] ] parsers.o-ss.net 80
}
on *:SOCKOPEN:compare.*: {
var %id = $gettok($sockname,2,46)
sockwrite -n $sockname GET $+(/compare.php?user1=,%compare.nick1 [ $+ [ %id ] ],&user2=,%compare.nick2 [ $+ [ %id ] ],&skill=,%compare.skill [ $+ [ %id ] ]) HTTP/1.1
sockwrite -n $sockname Host: parsers.o-ss.net
sockwrite -n $sockname $str($crlf,2)
}
on *:SOCKREAD:compare.*:{
var %id = $gettok($sockname,2,46)
var %rsn1 = %compare.nick1 [ $+ [ %id ] ], $&
%rsn2 = %compare.nick2 [ $+ [ %id ] ], $&
%skill = %compare.skill [ $+ [ %id ] ], $&
%style = %compare.way [ $+ [ %id ] ]
var %compare.sockread
sockread %compare.sockread
if (*is not in the* iswm %compare.sockread) {
tokenize 32 %compare.sockread
%style [COMPARE] Sorry $1 is not in the hiscores for %skill
sockclose $sockname
}
elseif (*are not in the* iswm %compare.sockread) {
tokenize 32 %compare.sockread
%style [COMPARE] Sorry $1 and $3 are not in the hiscores for %skill
sockclose $sockname
}
else {
tokenize 32 %compare.sockread
if ($3 == 1) {
%style[COMPARE] %rsn1 ( $+ $1 $+ ) is $4 %skill levels higher than %rsn2 ( $+ $2 $+ ) with $bytes($5,db) more experience.
sockclose $sockname
}
elseif ($3 == 0) {
%style [COMPARE] %rsn2 ( $+ $1 $+ ) is $4 %skill levels higher than %rsn1 ( $+ $2 $+ ) with $bytes($5,db) more experience.
sockclose $sockname
}
}
}
on *:SOCKCLOSE:compare.*:{ unset %compare.* }
alias skills {
if ($regex($1,/^(st|(skill)?total|overall)$/Si)) return Overall
elseif ($regex($1,/^at(t|k|tack)$/Si)) return Attack
elseif ($regex($1,/^def(en[cs]e)?$$/Si)) return Defence
elseif ($regex($1,/^str(ength)?$/Si)) return Strength
elseif ($regex($1,/^hp|hit(s|points?)?$/Si)) return Hitpoints
elseif ($regex($1,/^range(r|d|ing)?$/Si)) return Ranged
elseif ($regex($1,/^Pray(er)?$$/Si)) return Prayer
elseif ($regex($1,/^mag(e|ic)$$/Si)) return Magic
elseif ($regex($1,/^cook(ing)?$/Si)) return Cooking
elseif ($regex($1,/^wc|wood(cut(ting)?)?$/Si)) return Woodcutting
elseif ($regex($1,/^fletch(ing)?$/Si)) return Fletching
elseif ($regex($1,/^fish(ing)?$/Si)) return Fishing
elseif ($regex($1,/^(fire|fm)(make?(ing)?|ing)?$/Si)) return Firemaking
elseif ($regex($1,/^craft(ing)?$/Si)) return Crafting
elseif ($regex($1,/^(smith|smelt)(ing)?$/Si)) return Smithing
elseif ($regex($1,/^min(e|eing|ing)?$/Si)) return Mining
elseif ($regex($1,/^herb(law|lore)?$/Si)) return Herblore
elseif ($regex($1,/^agil(ity)?$/Si)) return Agility
elseif ($regex($1,/^(th(ei|ie)[fv](e|ing)?)$/Si)) return Thieving
elseif ($regex($1,/^slay(er|ing)?$/Si)) return Slayer
elseif ($regex($1,/^farm(er|ing)?$/Si)) return Farming
elseif ($regex($1,/^(rc|runecraft)(er|ing)?$/Si)) return Runecraft
elseif ($regex($1,/^(con)(struct)(ion|ing)?$/si)) return Construction
elseif ($regex($1,/^(hunt)(er|in|ing)?$/si)) return Hunter
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
on $*:TEXT:/^[!@.](rs)?(world|server) */Si:#: {
if ($2 !isnum) { .notice $nick Specify a numeric world! | halt }
else {
var %x = 1
while ($sock(world. $+ %x)) inc %x
.set $+(%,target.,%x) $iif($left($1,1) == @ && $nick !isreg #,.msg $chan,.notice $nick)
.set $+(%,world.,%x) $2
sockopen $+(world.,%x) parsers.o-ss.net 80
}
}
on *:SOCKOPEN:world.*: {
var %x = $right($sockname,1)
if ($sockerr > 0) {
$eval($+(%,target.,%x),2) Socket Error: $sockerr
cleanup $sockname
halt
}
sockwrite -nt $sockname GET /oneline/worlds.php?w= $+ $eval($+(%,world.,%x),2) HTTP/1.1
sockwrite -nt $sockname Host: parsers.o-ss.net
sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:world.*: {
var %x = $right($sockname,1)
if ($sockerr > 0) {
$eval($+(%,target.,%x),2) Socket Error: $sockerr
cleanup $sockname
halt
}
var %read | sockread %read
if (world isin %read) {
$eval($+(%,target.,%x),2) World $eval($+(%,world.,%x),2) not found.
cleanup $sockname
halt
}
if (END isin %read) {
tokenize 32 %read
$eval($+(%,target.,%x),2) World: $1 $chr(124) Members only: $iif($2 == M,Yes,No) $chr(124) Players: $3 $chr(124) Location: $remove($4-,END)
cleanup $sockname
}
}
alias cleanup {
unset %target. $+ $right($1,1)
unset %world. $+ $right($1,1)
sockclose $1
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
on $*:TEXT:/^[!@.](rs)?players/Si:#: {
var %x = 1
while ($sock(rsp. $+ %x)) inc %x
.set $+(%,target.,%x) $iif($left($1,1) == @ && $nick !isreg #,.msg $chan,.notice $nick)
sockopen $+(rsp.,%x) parsers.o-ss.net 80
}
on *:SOCKOPEN:rsp.*: {
var %x = $right($sockname,1)
if ($sockerr > 0) {
$eval($+(%,target.,%x),2) Socket Error: $sockerr
pcleanup $sockname
halt
}
sockwrite -nt $sockname GET /players.php HTTP/1.1
sockwrite -nt $sockname Host: parsers.o-ss.net
sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:rsp.*: {
var %x = $right($sockname,1)
if ($sockerr > 0) {
$eval($+(%,target.,%x),2) Socket Error: $sockerr
pcleanup $sockname
halt
}
var %read | sockread %read
if (END isin %read) {
$eval($+(%,target.,%x),2) Current RuneScape Players online: $bytes($gettok(%read,1,32),b)
pcleanup $sockname
}
}
alias pcleanup {
unset %target. $+ $right($1,1)
sockclose $1
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
on $*:TEXT:/^[!@.]price */Si:#: {
if (!$2) {
.notice $nick Specify an item!
halt
}
else {
var %x = 1
while ($sock(price. $+ %x)) inc %x
.set $+(%,target.,%x) $iif($left($1,1) == @ && $nick !isreg #,.msg $chan,.notice $nick)
.set $+(%,item.,%x) $replace($2-,$chr(32),+)
sockopen $+(price.,%x) parsers.o-ss.net 80
}
}
on *:SOCKOPEN:price.*: {
var %x = $right($sockname,1)
if ($sockerr > 0) {
$eval($+(%,target.,%x),2) Socket Error: $sockerr
cleanup $sockname
halt
}
sockwrite -nt $sockname GET /oneline/price.php?showmemb=1&item= $+ $eval($+(%,item.,%x),2) HTTP/1.1
sockwrite -nt $sockname Host: parsers.o-ss.net
sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:price.*: {
var %x = $right($sockname,1)
if ($sockerr > 0) {
$eval($+(%,target.,%x),2) Socket Error: $sockerr
cleanup $sockname
halt
}
var %read | sockread %read
if (END isin %read) {
$eval($+(%,target.,%x),2) $left($replace(%read,M-,{M} -),-6)
cleanup $sockname
}
if (spelling isin %read) {
$eval($+(%,target.,%x),2) %read
cleanup $sockname
}
}
alias cleanup {
unset %target. $+ $right($1,1)
unset %item. $+ $right($1,1)
sockclose $1
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
On $*:text:/^[!@]Google/Si:#: {
if ($2 == $null) { $iif($left($1,1) == @,msg $chan,notice $nick) You must specify a sentence or word to search for. Syntax: [!@]Google . }
else {
inc %hi
set %hisearch [ $+ [ %hi ] ] $replace($2-,$chr(32),+)
sockopen $+(google.,%hi) www.google.com 80
sockmark $+(google.,%hi) $+($iif($left($1,1) == @,msg $chan,notice $nick)) }
}
on *:sockopen:google.*: {
remove google
sockwrite -nt $sockname GET /search?hl=en&q= $+ %hisearch [ $+ [ $gettok($sockname,2,46) ] ] HTTP/1.0
sockwrite -nt $sockname Host: www.google.com
sockwrite -nt $sockname $crlf
}
on *:sockread:google.*: {
while ($sock($sockname).rq) {
sockread &google
bwrite google -1 -1 &google
}
bread google 0 $file(google).size &google
if ($bfind(&google,1,did not match)) {
$sock($sockname).mark [Nothing was found for %hisearch [ $+ [ $gettok($sockname,2,46) ] ] $+ ]
halt
unset %hisearch [ $+ [ $gettok($sockname,2,46) ] ]
sockclose $sockname
}
if ($bfind(&google,1,