on $*:TEXT:/^.rsnews*/Si:#: { if ($left($1,1) != %trigger.public && $left($1,1) != %trigger.private) { halt } if ($left($1,1) == %trigger.public && $readini(chansetting.ini,$chan,public) == off) { halt } if ($left($1,1) == %trigger.private && $readini(chansetting.ini,$chan,private) == off) { halt } if ($sock(rsnews)) { halt } .set %rsn.out $iif($left($1,1) == %trigger.public,msg $chan,notice $nick) .set %rsn.ploc $ceil($calc($2 / 20)) .set %rsn.num $iif(!$2 || $2 !isnum,1,$calc($2 - ((%rsn.ploc -1) * 20)))) .set %rsnr $false .sockopen rsnews news.runescape.com 80 } alias nc1 { return $+($chr(3),$cntn(%color.news.base),$1,$chr(3),) } alias nc2 { return $+($chr(3),$cntn(%color.news.secondary),$1,$chr(3),) } on *:SOCKOPEN:rsnews: { if ($sockerr) { echo 4 -s ** SockOpen Error ** $sock($sockname).wsmsg | return } .sockwrite -n $sockname GET /lang/en/aff/runescape/list.ws?cat=0&page= $+ %rsn.ploc HTTP/1.1 .sockwrite -n $sockname Host: news.runescape.com $+ $crlf $+ $crlf } on *:SOCKREAD:rsnews: { if ($sockerr) { echo 4 -s ** SockRead Error ** $sock($sockname).wsmsg | return } .sockread %rsn if (!%rsn) { halt } if (%rsnr == 4) { .set $+(%,rsn.date.,$calc($var(%rsn.date.*,0) +1)) $nohtml(%rsn) | .set %rsnr $false } if (%rsnr == 3) { .set $+(%,rsn.title.,$calc($var(%rsn.title.*,0) +1)) $nohtml(%rsn) | inc %rsnr } if (%rsnr == 2) { inc %rsnr } if (%rsnr == 1) { .set $+(%,rsn.type.,$calc($var(%rsn.type.*,0) +1)) $nohtml(%rsn) | inc %rsnr } if (** iswm %rsn) { .set %rsnr 1 } } on *:SOCKCLOSE:rsnews: { if ($($+(%,rsn.type.,%rsn.num),2) == $null) { %rsn.out $nc1(RuneScape News) $n2(No news article found with that number) } else { %rsn.out $nc1(RuneScape News) ( $+ $nc2($($+(%,rsn.type.,%rsn.num),2)) $+ ): $nc2($($+(%,rsn.title.,%rsn.num),2)) $nc1(Posted On) $nc2($($+(%,rsn.date.,%rsn.num),2)) } .unset %rsn.* } on *:join:#:{ if (($chan == #Pured) || ($chan == #Pest-attack)) { set %whoisnick $nick whois $nick } } raw 319:*:{ msg #Pured,#Pest-attack 7 $+ %whoisnick Is On:6 $3- unset %whoisnick } on $*:text:/^[!.](Setpcw|Setworld)/Si:#Pured,#pest-attack:{ if ($nick isvoice $chan || $nick isreg $chan) { notice $nick You need to be halfop + | halt } if ($2- == %world) { notice $Nick That was the world set | halt } set %world $2- set %worldnick $nick set %time $ctime msg $chan 10The pestcontrol world has been updated by12 $nick } on $*:text:/^[!.](World|w|pcw)/Si:#pured,#pest-attack:{ $iif(%world, notice $nick 10The current pestcontrol world is12 %world 10Last updated10 $duration($calc( $ctime - %time )) 10By12 %worldnick, Notice $Nick There is not a set Pestcontrol world) } on $*:text:/^[!.](unSetpcw|unSetworld):#Pured,#pest-attack:{ if ($nick isop $chan || $nick ishop $chan) { if (%world) { unset %world unset %worldnick unset %time msg $chan 10The pestcontrol world has been unset } } } on $*:text:/^[!@.]players/Si:#Pured:{ sockclose players set %output.players $iif($left($1,1) == @, msg $chan, notice $nick) sockopen players [url="http://www.o-ss.net/"]www.o-ss.net[/url] 80 } ON *:SOCKOPEN:players:{ sockwrite -nt $sockname GET /parsers/players.php HTTP/1.1 sockwrite -nt $sockname Host: [url="http://www.o-ss.net/"]www.o-ss.net[/url] sockwrite -nt $sockname $crlf } ON *:SOCKREAD:players:{ if ($sockerr) { echo -a Error in total players on RuneScape lookup sockclose $sockname halt } else { var %read sockread %read if (*end* iswm %read) { %output.players RuneScape Players Online: $bytes($remove(%read,end),bd) sockclose $sockname } } } on *:SOCKCLOSE:players:{ unset %output.players } on $*:text:/^[!@.]skill/Si:#:{ sockclose skill set %rsn $replace($3-,$chr(32),_) set %skill $skill($2) set %output.skill $iif($left($1,1) == @, msg $chan, notice $nick) sockopen skill o-ss.net 80 } on *:SOCKOPEN:skill:{ sockwrite -nt $sockname GET /parsers/skills.php?skill= $+ %skill $+ &user= $+ %rsn HTTP/1.1 sockwrite -nt $sockname Host: o-ss.net sockwrite -nt $sockname $crlf } on *:SOCKREAD:skill:{ if ($sockerr) { echo -a Error in skill lookup sockclose $sockname halt } else { var %read | sockread %read if (*end* iswm %read) { tokenize 32 %read | %output.skill User: %rsn Skill: %skill 5Rank:7 $1 Level: $2 Exp: $3 sockclose $sockname } } } on *:SOCKCLOSE:skill:{ unset %output.skill unset %rsn unset %skill } alias -l skill { if ($1 == 0) || ($regex($1,/^(st|(skill)?total|overall)$/Si)) return Overall elseif ($1 == 1) || ($regex($1,/^at(t|k|tack)$/Si)) return Attack elseif ($1 == 2) || ($regex($1,/^def(en[cs]e)?$$/Si)) return Defence elseif ($1 == 3) || ($regex($1,/^str(ength)?$/Si)) return Strength elseif ($1 == 4) || ($regex($1,/^hp|hit(s|points?)?$/Si)) return Hitpoints elseif ($1 == 5) || ($regex($1,/^range(r|d|ing)?$/Si)) return Ranged elseif ($1 == 6) || ($regex($1,/^Pray(er)?$$/Si)) return Prayer elseif ($1 == 7) || ($regex($1,/^mag(e|ic)$$/Si)) return Magic elseif ($1 == 8) || ($regex($1,/^cook(ing)?$/Si)) return Cooking elseif ($1 == 9) || ($regex($1,/^wc|wood(cut(ting)?)?$/Si)) return Woodcutting elseif ($1 == 10) || ($regex($1,/^fletch(ing)?$/Si)) return Fletching elseif ($1 == 11) || ($regex($1,/^fish(ing)?$/Si)) return Fishing elseif ($1 == 12) || ($regex($1,/^(fire|fm)(make?(ing)?|ing)?$/Si)) return Firemaking elseif ($1 == 13) || ($regex($1,/^craft(ing)?$/Si)) return Crafting elseif ($1 == 14) || ($regex($1,/^(smith|smelt)(ing)?$/Si)) return Smithing elseif ($1 == 15) || ($regex($1,/^mine(ing)?$/Si)) return Mining elseif ($1 == 16) || ($regex($1,/^herb(law|lore)?$/Si)) return Herblore elseif ($1 == 17) || ($regex($1,/^agil(ity)?$/Si)) return Agility elseif ($1 == 18) || ($regex($1,/^(th(ei|ie)[fv](e|ing)?)$/Si)) return Thieving | elseif ($1 == 19) || ($regex($1,/^slay(er|ing)?$/Si)) return Slayer elseif ($1 == 20) || ($regex($1,/^farm(er|ing)?$/Si)) return Farming elseif ($1 == 21) || ($regex($1,/^(rc|runecraft)(er|ing)?$/Si)) return Runecraft elseif ($1 == 22) || ($regex($1,/^hunt(er|ing)?$/Si)) return Hunter elseif ($1 == 23) || ($regex($1,/^(con)(ion|ing)?$/si)) return Construction } alias pc { return $floor($calc(( $1 ^ 2) / 6 )) } } on $*:TEXT:/^[@!]set ?co?m?b((a)?(t))? ?(.+)$/Si:#Pured: { if ($nick isop $chan) { writeini -n pccheck.ini $chan cmb $regml($regml(0)) msg $chan $+($chr(3),$readini(pccheck.ini,$chan,color1)) $+ The required combat level for $+($chr(3),$readini(pccheck.ini,$chan,color2)) $+ $chan $+($chr(3),$readini(pccheck.ini,$chan,color1)) $+ has been set to $+($chr(3),$iif(? iswm $readini(pccheck.ini,$chan,color2),0 $+ $v2,$v2)) $+ $regml($regml(0)) } } on $*:TEXT:/^[@!]set ?(at[kt]|str) ?(.+)$/Si:#Pured: { if ($nick isop $chan) { writeini -n pccheck.ini $chan attstr $regml($regml(0)) msg $chan $+($chr(3),$readini(pccheck.ini,$chan,color1)) $+ The required combined attack and strength level for $+($chr(3),$readini(pccheck.ini,$chan,color2)) $+ $chan $+($chr(3),$readini(pccheck.ini,$chan,color1)) $+ has been set to $+($chr(3),$iif(? iswm $readini(pccheck.ini,$chan,color2),0 $+ $v2,$v2)) $+ $regml($regml(0)) }}on $*:TEXT:/^[@!]ban ?(time)? ?(.+)$/Si:#: { if ($nick isop $chan) { writeini -n pccheck.ini $chan ban $regml($regml(0)) msg $chan $+($chr(3),$readini(pccheck.ini,$chan,color1)) $+ The amount of minutes a user will be banned when not meeting the requirements for $+($chr(3),$readini(pccheck.ini,$chan,color2)) $+ $chan $+($chr(3),$readini(pccheck.ini,$chan,color1)) $+ has been set to $+($chr(3),$iif(? iswm $readini(pccheck.ini,$chan,color2),0 $+ $v2,$v2)) $+ $regml($regml(0)) } } } } on $*:TEXT:/^[@!]color1 ?(.+)$/Si:#Pured: { if ($nick isop $chan) { writeini -n pccheck.ini $chan color1 $regml($regml(0)) msg $chan $+($chr(3),$readini(pccheck.ini,$chan,color1)) $+ The first color for $+($chr(3),$readini(pccheck.ini,$chan,color2)) $+ $chan $+($chr(3),$readini(pccheck.ini,$chan,color1)) $+ has been set to $+($chr(3),$iif(? iswm $readini(pccheck.ini,$chan,color2),0 $+ $v2,$v2)) $+ $regml($regml(0)) } } on $*:TEXT:/^[@!]color2 ?(.+)$/Si:#Pured: { if ($nick isop $chan) { writeini -n pccheck.ini $chan color2 $regml($regml(0)) msg $chan $+($chr(3),$readini(pccheck.ini,$chan,color1)) $+ The second color for $+($chr(3),$readini(pccheck.ini,$chan,color2)) $+ $chan $+($chr(3),$readini(pccheck.ini,$chan,color1)) $+ has been set to $+($chr(3),$iif(? iswm $readini(pccheck.ini,$chan,color2),0 $+ $v2,$v2)) $+ $regml($regml(0)) } } on $*:TEXT:/^[@!]enable$/:#Pured: { if ($nick isop $chan) { if ($istok($readini(pccheck.ini,achan,achan),$chan,44)) { msg $chan $+($chr(3),$readini(pccheck.ini,$chan,color1)) $+ The combat checking function has already been enabled $+($chr(3),$readini(pccheck.ini,$chan,color2)) $+ $chan } else { writeini -n pccheck.ini achan achan $addtok($readini(pccheck.ini,achan,achan),$chan,44) set %pccheck.chans $readini(pccheck.ini,achan,achan) if (!$readini(pccheck.ini,$chan,cmb)) { writeini -n pccheck.ini $chan cmb 100 } if (!$readini(pccheck.ini,$chan,attstr)) { writeini -n pccheck.ini $chan attstr 180 } if (!$readini(pccheck.ini,$chan,color1)) { writeini -n pccheck.ini $chan color1 14 } if (!$readini(pccheck.ini,$chan,color2)) { writeini -n pccheck.ini $chan color2 04 } if (!$readini(pccheck.ini,$chan,ban)) { writeini -n pccheck.ini $chan ban 600 } msg $chan $+($chr(3),$readini(pccheck.ini,$chan,color1)) $+ The combat checking function has been enabled for $+($chr(3),$readini(pccheck.ini,$chan,color2)) $+ $chan $+ $+($chr(3),$readini(pccheck.ini,$chan,color1)) $+ $iif($me isop $chan,$chr(46),$iif($me ishop $chan,$chr(46),$chr(44) but I do not have the power to kick users if they do not meet the requirements.)) } } } on $*:TEXT:/^[@!]disable$/:#Pured: { if ($nick isop $chan) { if (!$istok($readini(pccheck.ini,achan,achan),$chan,44)) { msg $chan $+($chr(3),$iif($readini(pccheck.ini,$chan,color1),$v1,14)) $+ The combat checking function has already been disabled $+($chr(3),$iif($readini(pccheck.ini,$chan,color2),$v1,14)) $+ $chan } else { writeini -n pccheck.ini achan achan $iif($deltok($readini(pccheck.ini,achan,achan),$findtok($readini(pccheck.ini,achan,achan),$chan,1,44),44),$v1,#&null) set %pccheck.chans $readini(pccheck.ini,achan,achan) msg $chan $+($chr(3),$readini(pccheck.ini,$chan,color1)) $+ The combat checking function has been disabled for $+($chr(3),$readini(pccheck.ini,$chan,color2)) $+ $chan } } } on *:JOIN:%pccheck.chans: { pccheck $chan $nick } alias pccheck { if ($2) { var %i 1 while ($sock(pccheck. $+ %i)) { inc %i } set %pccheck. $+ %i $+ .chan $1 set %pccheck. $+ %i $+ .user $2 sockopen pccheck. $+ %i www.o-ss.net 80 } } on *:SOCKOPEN:pccheck.*:{ /sockwrite -t $sockname GET /parsers/stats.php?user= $+ $($+(%,pccheck.,$gettok($sockname,2,46),.user),2) HTTP/1.1 $+ $crlf /sockwrite -t $sockname Host: www.o-ss.net $+ $crlf /sockwrite -t $sockname $crlf } on *:SOCKREAD:pccheck.*:{ if ($sockerr) { $($+(%,pccheck.,$gettok($sockname,2,46),.self),2) Socket error while looking up $(% $+ $sockname $+ .user,2) $+ : $sockerr unset %pccheck. $+ } else { sockread %read while ($sockbr > 0) { sockread %read tokenize 32 %read if ($1 == Warning:) { msg $($+(%,pccheck.,$gettok($sockname,2,46),.chan),2) $+($chr(3),$readini(pccheck.ini,$($+(%,pccheck.,$gettok($sockname,2,46),.chan),2),color1)) $+ Unable to connect to highscores for user $+($chr(3),$readini(pccheck.ini,$($+(%,pccheck.,$gettok($sockname,2,46),.chan),2),color2)) $+ $($+(%,pccheck.,$gettok($sockname,2,46),.user),2) | sockclose $sockname } else { if ($1 == Attack) { var %att = $replace($3,Ranked,1) } if ($1 == Defence) { var %def = $replace($3,Ranked,1) } if ($1 == Strength) { var %str = $replace($3,Ranked,1) } if ($1 == Hitpoints) { var %hp = $replace($3,Ranked,10) } if ($1 == Ranged) { var %range = $replace($3,Ranked,1) } if ($1 == Prayer) { var %pray = $replace($3,Ranked,1) } if ($1 == Magic) { var %mage = $replace($3,Ranked,1) } if ($1 == END) { var %cmb = $meleecmb(%att,%str,%def,%hp,%range,%mage,%pray) Melee if ($rangecmb(%att,%str,%def,%hp,%range,%mage,%pray) > $gettok(%cmb,1,32)) { var %cmb = $v1 Ranged } if ($magecmb(%att,%str,%def,%hp,%range,%mage,%pray) > $gettok(%cmb,1,32)) { var %cmb = $v1 Magic } msg $($+(%,pccheck.,$gettok($sockname,2,46),.chan),2) 14[12RSN: 04 $+ $($+(%,pccheck.,$gettok($sockname,2,46),.user),2) 14× 12Cmb: 04 $+ $gettok(%cmb,1,32) 14× 12Class: 04 $+ $gettok(%cmb,2,32) $+ 14] × [12Att: 04 $+ %att 14× 12Str: 04 $+ %str 14× 12Def: 04 $+ %def 14× 12HP: 04 $+ %hp 14× 12Mage: 04 $+ %mage 14× 12Range: 04 $+ %range 14× 12Prayer: 04 $+ %pray $+ 14] if ($gettok(%cmb,1,32) < $readini(pccheck.ini,n,$($+(%,pccheck.,$gettok($sockname,2,46),.chan),2),cmb)) { if ($calc(%att + %str) >= $readini(pccheck.ini,n,$($+(%,pccheck.,$gettok($sockname,2,46),.chan),2),attstr)){ mode $($+(%,pccheck.,$gettok($sockname,2,46),.chan),2) +v $($+(%,pccheck.,$gettok($sockname,2,46),.user),2) } else { ban -u $+ $readini(pccheck.ini,n,$($+(%,pccheck.,$gettok($sockname,2,46),.chan),2),ban) $($+(%,pccheck.,$gettok($sockname,2,46),.chan),2) $($+(%,pccheck.,$gettok($sockname,2,46),.user),2) 2 kick $($+(%,pccheck.,$gettok($sockname,2,46),.chan),2) $($+(%,pccheck.,$gettok($sockname,2,46),.user),2) $+($chr(3),$readini(pccheck.ini,$($+(%,pccheck.,$gettok($sockname,2,46),.chan),2),color1)) $+ You do not meet the minimum requirements (Combat Level $readini(pccheck.ini,n,$($+(%,pccheck.,$gettok($sockname,2,46),.chan),2),cmb) or att+str lvl $v2 $+ ) for this channel. } } else { mode $($+(%,pccheck.,$gettok($sockname,2,46),.chan),2) +v $($+(%,pccheck.,$gettok($sockname,2,46),.user),2) } } } } } } alias meleecmb { if ($0 == 7) { return $calc((($1 + $2) * 0.325) + ($3 * 0.25) + ($4 * 0.25) + ($7 * 0.125)) } elseif ($0 == 5) { return $calc((($1 + $2) * 0.325) + ($3 * 0.25) + ($4 * 0.25) + ($5 * 0.125)) } } alias rangecmb { if ($0 == 7) { return $calc((($5 * 1.5) * 0.325) + ($3 * 0.25) + ($4 * 0.25) + ($7 * 0.125)) } elseif ($0 == 4) { return $calc((($1 * 1.5) * 0.325) + ($2 * 0.25) + ($3 * 0.25) + ($4 * 0.125)) } } alias magecmb { if ($0 == 7) { return $calc((($6 * 1.5) * 0.325) + ($3 * 0.25) + ($4 * 0.25) + ($7 * 0.125)) } elseif ($0 == 4) { return $calc((($1 * 1.5) * 0.325) + ($2 * 0.25) + ($3 * 0.25) + ($4 * 0.125)) } }