rendered paste body{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fcharset0 Arial;}}
{\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\f0\fs20 ;AUTO-JOIN:\par
\par
on 1:NOTICE:*NickServ IDENTIFY*:?: \{ \par
if ($nick == Nickserv) \{ \par
/ns id 355355\par
\} \par
\}\par
on *:connect:#: \{ \par
if ( $nick == $me ) \{\par
/ns id 355355 \}\par
\}\par
\par
;------------------------------------------------------------------------------------------------------------------------------------\par
;Cmb, stats, pts till next pc level\par
\par
alias -l c1 \{ return $+($chr(3),10,$1-,$chr(3)) \}\par
alias -l c2 \{ return $+($chr(3),01,$1-,$chr(3)) \}\par
\par
on *:TEXT:*:#:\{\par
if ($left($1,1) isin @!.) \{\par
if ($regex($1,/^[@!.]setname/Si)) \{ writeini defname.ini defname $nick $2- | $iif($left($1,1) == !,notice $nick,msg $chan) $nick $+ : your default rsn is set | halt \}\par
if ($skill($right($1,-1))) \{\par
if ($skill($right($1,-1)) == overall) \{ halt \}\par
if ($regex($left($1,1),/^(@|!|.|)/Si)) \{ hadd -m $+(stats,.,$nick) disp $iif($left($1,1) == @,msg $chan,$iif($left($1,1) == $chan!,notice $nick == .,notice $nick)) \}\par
else halt\par
if ($regex($skill($right($1,-1)),/^(combat|stats|vk|pest|pc)/Si)) \{ \par
if ($skill($right($1,-1)) == combat) \{ hadd -m $+(stats,.,$nick) style cb \}\par
else hadd -m $+(stats,.,$nick) style st\par
if ($skill($right($1,-1)) isin vk pest pc) \{ hadd -m $+(stats,.,$nick) style pc \}\par
\}\par
else \{\par
hadd -m $+(stats,.,$nick) style ss\par
hadd -m $+(stats,.,$nick) skill $skill($right($1,-1))\par
\}\par
if ($2) \{\par
if ($len($replace($2-,$chr(32),+)) > 12) \{ $iif(@ == $left($1,1),msg $chan,$iif(! == $left($1,1),notice $nick,halt)) Sorry, That nickname is too long. | halt \}\par
hadd -m $+(stats,.,$nick) name $replace($2-,$chr(32),+,_,+,-,+)\par
\}\par
else \{\par
if ($readini(defrsn.ini,defname,$nick)) \{ hadd -m $+(stats,.,$nick) name $replace($readini(defrsn.ini,defname,$nick),_,+) \}\par
else \{\par
if ($len($replace($nick,_,+)) > 12) \{ $iif(@ == $left($1,1),msg $chan,$iif(! == $left($1,1),notice $nick,halt)) Sorry, That nickname is too long. | halt \}\par
hadd -m $+(stats,.,$nick) name $replace($nick,_,+)\par
\}\par
\}\par
sockopen $+(stats,.,$nick) www.o-ss.net 80\par
\}\par
else halt\par
\}\par
\}\par
\par
on *:SOCKOPEN:stats.*:\{\par
sockwrite -nt $sockname GET /parsers/stats.php?user= $+ $replace($hget($sockname,name),$chr(32),+) HTTP/1.1\par
sockwrite -nt $sockname Host: www.o-ss.net $+ $crlf $+ $crlf\par
\}\par
on *:SOCKREAD:stats.*:\{\par
sockread -f $+(%,$sockname,.,read)\par
tokenize 32 $($+(%,$sockname,.,read),2)\par
if (*does not feature in the hiscores* iswm $($+(%,$sockname,.,read),2)) \{\par
$hget($sockname,disp) $c1($hget($sockname,name)) $c2(isn't featured in the high scores.) \par
hfree $sockname\par
sockclose $sockname\par
halt\par
\}\par
if ($hget($sockname,style) == pc) \{\par
if ($istok($skill(13248624621354321574863),$1,58)) \{\par
if (*not ranked* !iswm $1-) \{\par
inc $+(%,$sockname,.,a) 1\par
hadd -m $sockname $($+(%,$sockname,.,a),2) $c2($1 $+ :) $c1($ndp($calc($calc($xp($calc($3 + 1)) - $remove($4,$chr(44))) / $floor($calc(($3 * $3) / $iif($1 == prayer,12,6)))))) $c2(( $+ $floor($calc(($3 * $3) / $iif($1 == prayer,12,6))) xp/point))\par
\}\par
else \{ inc $+(%,$sockname,.,h) 1 \} \par
\}\par
if ($1 == cooking) \{\par
if ($($+(%,$sockname,.,h),2) >= 7) \{\par
$hget($sockname,disp) $c1($hget($sockname,name)) $c2(doesn't appear in highscores for any combat skill.)\par
\}\par
else \{\par
set $+(%,$sockname,.,b) 0\par
while ($($+(%,$sockname,.,b),2) < $($+(%,$sockname,.,a),2)) \{\par
inc $+(%,$sockname,.,b) 1\par
set $+(%,$sockname,.,line) $($+(%,$sockname,.,line),2) $hget($sockname,$($+(%,$sockname,.,b),2))\par
\}\par
$hget($sockname,disp) $c2(Pest Control points for) $c1($replace($hget($sockname,name),+,$chr(32))) \par
$hget($sockname,disp) $($+(%,$sockname,.,line),2)\par
\}\par
hfree $sockname\par
unset $+(%,$sockname,.,%read) | unset $+(%,$sockname,.,*) | sockclose $sockname\par
\} \par
\} \par
if ($hget($sockname,style) == ss) \{\par
if ($1 == $hget($sockname,skill)) \{\par
if (*not ranked* iswm $($+(%,$sockname,.,read),2)) \{ $hget($sockname,disp) $c2($hget($sockname,name)) $c1(isn't featured in high scores for $c2($hget($sockname,skill)) $+ .) \}\par
else \{\par
hadd -m $sockname exp $xp2next($3,$remove($4,$chr(44)))\par
set $+(%,$sockname,.,a) 0\par
while ($($+(%,$sockname,.,a),2) < $ini(monsters.ini,$hget($sockname,skill),0)) \{\par
inc $+(%,$sockname,.,a) 1\par
set $+(%,$sockname,.,b) $c1($($+(%,$sockname,.,b),2)) $c2($replace($gettok($readini(monsters.ini,$hget($sockname,skill),$($+(%,$sockname,.,a),2)),1,32),_,$chr(32),-,$chr(32))) $c1($floor($calc($hget($sockname,exp) / $gettok($readini(monsters.ini,$hget($sockname,skill),$($+(%,$sockname,.,a),2)),2,32))))\par
\}\par
$hget($sockname,disp) $c2($hget($sockname,skill)) $c1(stats for:) $c2($replace($hget($sockname,name),+,$chr(32)))\par
$hget($sockname,disp) $c2(Rank:) $c1($2) $c2(Level:) $c1($3) $c2(Exp:) $c1($4) $c2(Exp for) $c1($+($calc($3 + 1),:) $bytes($hget($sockname,exp),b))\par
$hget($sockname,disp) $c2(<For level $calc($3 + 1) $+ >) $($+(%,$sockname,.,b),2)\par
\}\par
unset $+(%,$sockname,.,*)\par
hfree $sockname\par
sockclose $sockname\par
\}\par
\}\par
if ($hget($sockname,style) == st) \{\par
if (($skill($1)) && (*not ranked* !iswm $1-)) \{\par
if ($hget($sockname,line)) \{ var %line = $hget($sockname,line) $c2($+($1,:)) $c1($3) | hdel $sockname line | hadd -m $sockname line %line \}\par
else \{ hadd -m $sockname line $c2($+($1,:)) $c1($3) \}\par
\}\par
if ($1 == end) \{ \par
$hget($sockname,disp) $c2(Stats for:) $c1($replace($hget($sockname,name),+,$chr(32)))\par
$hget($sockname,disp) $hget($sockname,line)\par
hfree $sockname\par
sockclose $sockname\par
\}\par
\}\par
if ($hget($sockname,style) == cb) \{\par
if ($istok($skill(13248624621354321574863),$1,58)) \{\par
hadd -m $sockname $1 $iif(*not ranked* iswm $1-,NA,$3)\par
\}\par
if ($1 == cooking) \{\par
if ($count($hget($sockname,attack) $hget($sockname,strength) $hget($sockname,defence) $hget($sockname,hitpoints) $hget($sockname,prayer) $hget($sockname,ranged) $hget($sockname,magic),NA) >= 7) \{\par
$hget($sockname,disp) $hget($sockname,name) $c1(doesn't appear in highscores for any combat skill.)\par
\}\par
else \{\par
tokenize 32 $extcmbcalc($hget($sockname,attack),$hget($sockname,strength),$hget($sockname,defence),$hget($sockname,hitpoints),$hget($sockname,prayer),$hget($sockname,ranged),$hget($sockname,magic))\par
$hget($sockname,disp) $c2(Combat stats for) $c1($replace($hget($sockname,name),+,$chr(32))) $c2(Level:) $c1($floor($1) $2-)\par
hadd -m $sockname temp $iif(*.* iswm $1,$calc(1 - $+($chr(46),$gettok($1,2,46))),1)\par
if ($2- == (melee based)) \{ \par
$hget($sockname,disp) $c2(Levels For) $c1($calc($floor($1) + 1)) $+ $c2(:) $c2(Att:) $c1($ndp($calc($hget($sockname,temp) / 0.32707))) $& \par
$c2(Str:) $c1($ndp($calc($hget($sockname,temp) / 0.324))) $&\par
$c2(Def:) $c1($ndp($calc($hget($sockname,temp) / 0.249))) $&\par
$c2(Hits:) $c1($ndp($calc($hget($sockname,temp) / 0.25))) $&\par
$c2(Pray:) $c1($ndp($calc($hget($sockname,temp) / 0.124)))\par
\}\par
if ($2- == (Range based)) \{ \par
$hget($sockname,disp) $c2(Levels For) $c1($calc($floor($1) + 1)) $+ $c2(:) $c2(Range:) $c1($ndp($calc($hget($sockname,temp) / 0.487))) $& \par
$c2(Def:) $c1($ndp($calc($hget($sockname,temp) / 0.249))) $&\par
$c2(Hits:) $c1($ndp($calc($hget($sockname,temp) / 0.25))) $&\par
$c2(Pray:) $c1($ndp($calc($hget($sockname,temp) / 0.124)))\par
\}\par
if ($2- == (Magic based)) \{ \par
$hget($sockname,disp) $c2(Levels For) $c1($calc($floor($1) + 1)) $+ $c2(:) $c2(Magic:) $c1($ndp($calc($hget($sockname,temp) / 0.487))) $& \par
$c2(Def:) $c1($ndp($calc($hget($sockname,temp) / 0.249))) $&\par
$c2(Hits:) $c1($ndp($calc($hget($sockname,temp) / 0.25))) $&\par
$c2(Pray:) $c1($ndp($calc($hget($sockname,temp) / 0.124)))\par
\}\par
hfree $sockname\par
unset $+(%,$sockname,.,%read) | sockclose $sockname \par
\}\par
\}\par
\}\par
\}\par
;<!---Combat Calculator---!>\par
alias -l extcmbcalc \{\par
var %line = $replace($1 $2 $3 $4 $5 $6 $7,NA,1)\par
tokenize 32 %line\par
if (($calc($1 + $2) > $6) && ($calc($1 + $2) > $7)) \{ var %type = melee \}\par
if (($calc($1 + $2) < $6) || ($calc($1 + $2) < $7)) \{\par
if ($7 > $calc($1 + $2)) \{\par
if ($7 > $6) \{ var %type = magic \}\par
\}\par
if ($6 > $calc($1 + $2)) \{\par
if ($6 > $7) \{ var %type = range \}\par
\}\par
\} \par
if (%type == range) \{ return $calc((0.487 * $6) + (0.249 * $3) + (0.25 * $4) + (0.124 * $5)) (Range Based) \}\par
if (%type == magic) \{ return $calc((0.487 * $7) + (0.249 * $3) + (0.25 * $4) + (0.124 * $5)) (Magic Based) \}\par
if (%type == melee) \{ return $calc((0.32707 * $1) + (0.249 * $3) + (0.324 * $2) + (0.25 * $4) + (0.124 * $5)) (Melee Based) \}\par
\}\par
;<!---Skill Identifier---!>\par
alias skill \{\par
if ($regex($1,/c(mb|ombat)/Si)) Return Combat\par
if ($1 == overall) return Overall\par
if ($1 == pest) return Pest\par
if ($1 == vk) return VK\par
if ($1 == pc) return pc\par
if ($regex($1,/^Stats/Si)) Return Stats\par
if ($regex($1,/^att(ack)?$/Si)) Return Attack\par
if ($regex($1,/^str(ength)?$/Si)) Return Strength\par
if ($regex($1,/^Def(ence)?$/Si)) Return Defence\par
if ($regex($1,/^h(p|its|itpoints)?$/Si)) Return Hitpoints\par
if ($regex($1,/^pray(er)?$/Si)) Return Prayer\par
if ($regex($1,/^mag(e|ic)?$/Si)) Return Magic\par
if ($regex($1,/^range(d)?$/Si)) Return Ranged\par
if ($regex($1,/^Cook(ing)?$/Si)) Return Coooking\par
if ($regex($1,/^wc|Woodcut|woodcutting/Si)) Return Woodcutting\par
if ($regex($1,/^fletch(ing)?$/Si)) Return Fletching\par
if ($regex($1,/^fish(ing)?$/Si)) Return Fishing\par
if ($regex($1,/^fm|Firemake|firemaking/Si)) Return Firemaking\par
if ($regex($1,/^craft(ing)?$/Si)) Return Crafting\par
if ($regex($1,/^smith(ing)?$/Si)) Return Smithing\par
if ($regex($1,/^min(e|ing)?$/Si)) Return Mining\par
if ($regex($1,/^Herb(lore|y)?$/Si)) Return Herblore\par
if ($regex($1,/^Agility/Si)) Return Agility\par
if ($regex($1,/^th(ie|ei)v(e|ing)/Si)) Return Thieving\par
if ($regex($1,/^Slay(er|ing)?$/Si)) Return Slayer\par
if ($regex($1,/^farm(ing)?$/Si)) Return Farming\par
if ($regex($1,/^rc|runecraft|runecrafting/Si)) Return Runecraft\par
if ($regex($1,/^con(struction)?$/Si)) Return Construction\par
if ($1 == 13248624621354321574863) Return attack:strength:ranged:magic:hitpoints:prayer:defence\par
\}\par
;<!---xp 2 level procedures---!>\par
alias xp \{\par
var %x = 1, %level = $calc($1 - 1), %xp = 0\par
while (%x <= %level) \{\par
var %TempXp = $calc((%x + 300 * 2^(%x / 7)) /4)\par
inc %xp %TempXp\par
inc %x\par
\}\par
return $int(%xp)\par
\}\par
alias xp2Next \{\par
var %xp = $remove($2,$chr(44)), %nextxp = $xp($calc($1 + 1))\par
return $calc(%nextxp - %xp)\par
\}\par
;<!---No Dot Plz :)---!>\par
alias ndp \{\par
if (*.* iswm $1) \{ return $calc($gettok($1,1,46) + 1) \}\par
else \{ return $1 \}\par
\} \par
\par
;-------------------------------------------------------------------------\par
\par
;World script\par
\par
on *:TEXT:*!setpcw *:#zips:\{\par
if ($nick ishop $chan) || ($nick isop $chan) \{\par
set %worldtime $ctime\par
set %pc.world. $+ #zips $2\par
notice @%+#zips \'02\'039,1 The world has changed. Type \'030,1!world\'03\'039,1 to see it!\par
notice @%+#zips \'030,1 The New PCW is \'0313,1 $2 . [ $+ [ $chan ] ] Set $duration($calc($ctime - %worldtime),2) \'030ago\par
\}\par
\} \par
\par
on *:TEXT:!pcw:#zips:\{\par
if ($nick isvoice $chan) || ($nick ishop $chan) || ($nick isop $chan) \{\par
/notice $nick \'030,1 The Current PCW is\'037 %pc.world. [ $+ [ $chan ] ] Set $duration($calc($ctime - %worldtime),2) \'030ago\par
\}\par
\}\par
on *:TEXT:!world:#zips:\{\par
if ($nick isvoice $chan) || ($nick ishop $chan) || ($nick isop $chan) \{\par
/notice $nick \'030,1 The Current PCW is\'037 %pc.world. [ $+ [ $chan ] ] Set $duration($calc($ctime - %worldtime),2) \'030ago\par
\}\par
\}\par
\par
}