on $*:TEXT:$(/^(?>\Q $+ $me $+ \E,? ?)?([!.@])/Si):#:{ tokenize 32 $iif($me isin $1,$deltok($1-,1,32),$1-) if ($right($1,-1) == rank) { if ($3) { if ($skill($2)) { hadd -m $+(rank.,$nick) skill $skill($2) } else { $iif(@ isin $1,msg $chan,notice $nick) $c1([!@]Rank SKILL 1-1000000) | halt } if ($3 isnum 1-1000000) { hadd -m $+(rank.,$nick) rank $3 } else { $iif(@ isin $1,msg $chan,notice $nick) $c1([!@]Rank SKILL 1-1000000) | halt } } else { $iif(@ isin $1,msg $chan,notice $nick) $c1([!@]Rank SKILL 1-1000000) | halt } hadd -m $+(rank.,$nick) disp $iif($globs($chan),notice $nick,$iif(@ isin $left($1,1),msg $chan,notice $nick)) sockopen $+(rank.,$nick) hiscore.runescape.com 80 } elseif ($regex($1,/^[!@](combatonjoin|cmbonjoin|checkcmb|checkreq|joinreq)/Si)) { if ($nick isop $chan) { if ($2 == on) { writeini cmbj.ini $network $chan on | notice $nick $c1(Combat check) $c2(on join is) 9ON } if ($2 == off) { writeini cmbj.ini $network $chan off | notice $nick $c1(Combat check) $c2(on join is) 4OFF } } } elseif ($rstyle($right($1,-1))) { unset %full hadd -m $+(rsh.,$nick) disp $iif($globs($chan),notice $nick,$iif(@ isin $left($1,1),msg $chan,notice $nick)) hadd -m $+(rsh.,$nick) style $rstyle($right($1,-1)) $iif($hget($+(rsh.,$nick),goal),hdel $+(rsh.,$nick) goal) | $iif($hget($+(rsh.,$nick),pgoal),hdel $+(rsh.,$nick) pgoal) if ($hget($+(rsh.,$nick),style) == single) { hdel $+(rsh.,$nick) mons | hadd -m $+(rsh.,$nick) skill $skill($right($1,-1)) | if ($chr(35) isin $2) || (- isin $2) { hadd -m $+(rsh.,$nick) goal $right($2,2)) } | if (@ isin $3) { hadd -m $+(rsh.,$nick) mons $replace($3-,$chr(32),-,@,$null) } | elseif (@ isin $4) { hadd -m $+(rsh.,$nick) mons $replace($4-,$chr(32),-,@,$null) } | elseif (@ isin $2) { hadd -m $+(rsh.,$nick) mons $replace($4-,$chr(32),-,@,$null) } } if ($hget($+(rsh.,$nick),style) == pest) { hadd -m $+(rsh.,$nick) pskill $skill($2) | hadd -m $+(rsh.,$nick) pgoal $iif($chr(35) isin $3,$right($3,2)) } if ($hget($+(rsh.,$nick),style) == stats) { if (-e isin $2) { hadd -m $+(rsh.,$nick) type Exp } | elseif (-r isin $2) { hadd -m $+(rsh.,$nick) type Rank } | else { hadd -m $+(rsh.,$nick) type Level } } if ($chr(35) isin $2) || (- isin $2) || ($skill($2)) || (@ isin $2) { tokenize 32 $deltok($1-,2,32) } if ($chr(35) isin $2) || (@ isin $2) { tokenize 32 $deltok($1-,2-,32) } if (@ isin $3) { tokenize 32 $deltok($1-,3-,32) } if (@ isin $4) { tokenize 32 $deltok($1-,4-,32) } /username $iif($2,$2-) if (!$hget($+(rsh.,$nick),user)) { $iif($globs($chan),notice $nick,$iif(@ isin $left($1,1),msg $chan,notice $nick)) No Username Given | halt } sockopen $+(rsh.,$nick) hiscore.runescape.com 80 } elseif ($right($1,-1) == compare) || ($right($1,-1) == comp) { unset %full if ($4) { hadd -m $+(compare.,$nick) skill $skill($2) hadd -m $+(compare.,$nick) user1 $3 hadd -m $+(compare.,$nick) user2 $4 } elseif (!$4) { $iif(@ isin $1,msg $chan,notice $nick) $c1(Its !compare SKILL USER-1 USER-2) halt } hadd -m $+(compare.,$nick) disp $iif($globs($chan),notice $nick,$iif(@ isin $left($1,1),msg $chan,notice $nick)) sockopen $+(compare.,$nick) hiscore.runescape.com 80 } elseif ($regex($1,/[!@](defname|setname|setrsn|defrsn)/Si)) { if ($chr(36) isin $1-) { notice $nick You Cannot Use $ In Runescape... | halt } elseif ($len($2) <= 12) { writeini rsn.ini rsn $address($nick,2) $replace($2-,$chr(32),$chr(43)) notice $nick $+($c1([),$c2($2-),$c1(])) $c1(Added and saved under host) $+($c1([),$c2($address($nick,2)),$c1(])) } } } on *:sockopen:rsh.*: { if ($sockerr) { halt } sockwrite -nt $sockname GET /hiscorepersonal.ws?user1= $+ $hget($sockname,user) HTTP/1.1 sockwrite -nt $sockname Host: hiscore.runescape.com $crlf $+ $crlf } on *:sockread:rsh.*: { if ($sockerr) { halt } | else { var %rshread | sockread %rshread if (*does not feature in* iswm %rshread) { $hget($sockname,disp) $c1(User Cannot Be Found) | hadd -m $sockname nf nf | halt } if (** iswm %rshread) { var %read2 | sockread %read2 set %full $+(%full,$chr(32),$htmlfree(%read2)) var %read | sockread %read if (%read == ) set %full $remove(%full,$htmlfree(%read2)) } if (** iswm %rshread) { set %full $+(%full,$chr(32),$htmlfree(%rshread)) } if (** iswm %rshread) { if ($hget($sockname,style) == stats) { if ($hget($sockname,nf) == nf) { hdel $sockname nf | unset %full | halt } if (attack isin %full) { set %cmb.attack $gettok(%full,$calc($findtok(%full,attack,32) + 2),32) } if (strength isin %full) { set %cmb.strength $gettok(%full,$calc($findtok(%full,strength,32) + 2),32) } if (defence isin %full) { set %cmb.defence $gettok(%full,$calc($findtok(%full,defence,32) + 2),32) } if (prayer isin %full) { set %cmb.prayer $gettok(%full,$calc($findtok(%full,prayer,32) + 2),32) } if (ranged isin %full) { set %cmb.ranged $gettok(%full,$calc($findtok(%full,ranged,32) + 2),32) } if (magic isin %full) { set %cmb.magic $gettok(%full,$calc($findtok(%full,magic,32) + 2),32) } if (hitpoints isin %full) { set %cmb.hitpoints $gettok(%full,$calc($findtok(%full,hitpoints,32) + 2),32) } var %z if ($hget($sockname,type) == Level) { set %z 3 } elseif ($hget($sockname,type) == Exp) { set %z 4 } elseif ($hget($sockname,type) == Rank) { set %z 2 } var %y var %v var %fuller = $remove(%full,skillranklevelxp) var %x = 1 if ($numtok(%fuller,32) >= 44) { while (%x <= $numtok(%full,32)) { if (!$statskill($gettok(%fuller,%x,32))) { set %y $+(%y,$chr(32),$c1($gettok(%fuller,%x,32)),:,$chr(32),$c2($gettok(%full,$calc(%x + %z),32))) } elseif ($cmbskill($gettok(%fuller,%x,32))) { set %v $+(%v,$chr(32),$c1($gettok(%fuller,%x,32)),:,$chr(32),$c2($gettok(%full,$calc(%x + %z),32))) } inc %x 4 } $hget($sockname,disp) $c1(Name:) $c2($upper($replace($hget($sockname,user),$chr(43),$chr(32)))) $c1(Overall:) $iif(overall isin %full,$c2($gettok(%full,$calc($findtok(%full,overall,32) + 2),32)),$c2(N\A)) $c1(Rank:) $iif(overall isin %full,$c2($gettok(%full,$calc($findtok(%full,overall,32) + 1),32)),$c2(N\A)) $c1(Combat:) $c2($iif($cmblevel(%cmb.attack,%cmb.strength,%cmb.defence,%cmb.hitpoints,%cmb.prayer,%cmb.ranged,%cmb.magic),$v1,N/A)) $c1(Stats:) $iif(%v,$hget($sockname,disp) %v) $hget($sockname,disp) $left(%y,-5) } else { while (%x <= $numtok(%full,32)) { set %y $+(%y,$chr(32),$c1($gettok(%fuller,%x,32)),:,$chr(32),$c2($gettok(%full,$calc(%x + %z),32))) inc %x 4 } $hget($sockname,disp) $c1(Name:) $c2($upper($replace($hget($sockname,user),$chr(43),$chr(32)))) $c1(Overall:) $iif(overall isin %full,$c2($gettok(%full,$calc($findtok(%full,overall,32) + 2),32)),$c2(N\A)) $c1(Rank:) $iif(overall isin %full,$c2($gettok(%full,$calc($findtok(%full,overall,32) + 1),32)),$c2(N\A)) $c1(Combat:) $c2($iif($cmblevel(%cmb.attack,%cmb.strength,%cmb.defence,%cmb.hitpoints,%cmb.prayer,%cmb.ranged,%cmb.magic),$v1,N/A)) $c1(Stats:) $hget($sockname,disp) $left(%y,-5) } unset %full unset %cmb.* } elseif ($hget($sockname,style) == combat) { if ($hget($sockname,nf) == nf) { hdel $sockname nf | unset %full | halt } if (attack isin %full) { set %cmb.attack $gettok(%full,$calc($findtok(%full,attack,32) + 2),32) } if (strength isin %full) { set %cmb.strength $gettok(%full,$calc($findtok(%full,strength,32) + 2),32) } if (defence isin %full) { set %cmb.defence $gettok(%full,$calc($findtok(%full,defence,32) + 2),32) } if (prayer isin %full) { set %cmb.prayer $gettok(%full,$calc($findtok(%full,prayer,32) + 2),32) } if (ranged isin %full) { set %cmb.ranged $gettok(%full,$calc($findtok(%full,ranged,32) + 2),32) } if (magic isin %full) { set %cmb.magic $gettok(%full,$calc($findtok(%full,magic,32) + 2),32) } if (hitpoints isin %full) { set %cmb.hitpoints $gettok(%full,$calc($findtok(%full,hitpoints,32) + 2),32) } $hget($sockname,disp) $c1(Name:) $c2($upper($replace($hget($sockname,user),$chr(43),$chr(32)))) $c1(Combat:) $c2($cmblevel(%cmb.attack,%cmb.strength,%cmb.defence,%cmb.hitpoints,%cmb.prayer,%cmb.ranged,%cmb.magic)) $hget($sockname,disp) $iif(%cmb.attack,$c1(Attack:) $c2(%cmb.attack)) $iif(%cmb.strength,$c1(Stength:) $c2(%cmb.strength)) $iif(%cmb.defence,$c1(Defence:) $c2(%cmb.defence)) $iif(%cmb.hitpoints,$c1(Hitpoints:) $c2(%cmb.hitpoints)) $iif(%cmb.ranged,$c1(Ranged:) $c2(%cmb.ranged)) $iif(%cmb.prayer,$c1(Prayer:) $c2(%cmb.prayer)) $iif(%cmb.magic,$c1(Magic:) $c2(%cmb.magic)) var %combat = $remove($cmblevel(%cmb.attack,%cmb.strength,%cmb.defence,%cmb.hitpoints,%cmb.prayer,%cmb.ranged,%cmb.magic),melee,mage,range,based,[,]) var %supercombat = $cmblevel(%cmb.attack,%cmb.strength,%cmb.defence,%cmb.hitpoints,%cmb.prayer,%cmb.ranged,%cmb.magic) var %temp = $abs($calc($int($calc(%combat +1)) - %combat)), $& %a.lvl = $ceil($calc(%temp / .32707)), %s.lvl = $ceil($calc(%temp / .324)), $& %d.lvl = $ceil($calc(%temp / .25)), $& %m.lvl = $ceil($calc(%temp / .487)), $& %r.lvl = $ceil($calc(%temp / .487)), $& %p.lvl = $ceil($calc(%temp / .124)) if (mage isin %supercombat) { var %lvl.base = $c1(Magic:) $c2($+([,%m.lvl,])) $c1(Defence:) $c2($+([,%d.lvl,])) $c1(Hp:) $c2($+([,%d.lvl,])) $c1(Prayer:) $c2($+([,%p.lvl,])) } elseif (range isin %supercombat) { var %lvl.base = $c1(Ranged:) $c2($+([,%r.lvl,])) $c1(Defence:) $c2($+([,%d.lvl,])) $c1(Hp:) $c2($+([,%d.lvl,])) $c1(Prayer:) $c2($+([,%p.lvl,])) } elseif (melee isin %supercombat) { var %lvl.base = $c1(Attack:) $c2($+([,%a.lvl,])) $c1(Strength:) $c2($+([,%s.lvl,])) $c1(Defence:) $c2($+([,%d.lvl,])) $c1(Hp:) $c2($+([,%d.lvl,])) $c1(Prayer:) $c2($+([,%p.lvl,])) } $hget($sockname,disp) %lvl.base unset %cmb.* } elseif ($hget($sockname,style) == single) { if ($hget($sockname,nf) == nf) { hdel $sockname nf | unset %full | halt } if ($hget($sockname,skill) isin %full) { set %sing.lvls $gettok(%full,$findtok(%full,$hget($sockname,skill),32) - $calc($findtok(%full,$hget($sockname,skill),32) + 3),32) $hget($sockname,disp) $c1(Name:) $c2($upper($replace($hget($sockname,user),$chr(43),$chr(32)))) $c1(Skill:) $c2($hget($sockname,skill)) $iif($hget($sockname,skill) != overall,$c1(% of lvl 99:) $c2($round($calc(($remove($gettok(%sing.lvls,4,32),$chr(44)) / 13034431) * 100),2)) $+ $chr(37),) $hget($sockname,disp) $c1(Level:) $c2($gettok(%sing.lvls,3,32)) $c1(Rank:) $c2($gettok(%sing.lvls,2,32)) $c1(Experience:) $c2($gettok(%sing.lvls,4,32)) $iif($hget($sockname,skill) != overall,$c1(Experience to $iif($hget($sockname,goal),$+($c1([),$c2($hget($sockname,goal)),$c1(])),next level:)) $c2($acalc($iif($hget($sockname,goal),$xp($v1),$xp2next($gettok(%sing.lvls,3,32))) - $gettok(%sing.lvls,4,32)))) $iif($cmbskill($hget($sockname,skill)),$c1(Pest Control Tickets To Level:) $c2($bytes($floor($calc($calc($iif($hget($sockname,goal),$xp($hget($sockname,goal)),$xp2next($gettok($remove(%sing.lvls,$chr(44)),3,32))) - $gettok($remove(%sing.lvls,$chr(44)),4,32)) / $pc($gettok($remove(%sing.lvls,$chr(44)),3,32)))),b)) $+ $+($c1($chr(40)),$c2($pc($gettok($remove(%sing.lvls,$chr(44)),3,32))),$c1($chr(41)))) if ($hget($sockname,skill) = overall) { halt } var %x = $xstart($hget($sockname,skill)) while (%x <= $calc($xstart($hget($sockname,skill)) + 9)) { set %item $+(%item,$chr(32),$iif($gettok($readini(info.ini,$hget($sockname,skill),n $+ %x),1,61) isin $hget($sockname,mons),$c1(~!~) $c2($gettok($readini(info.ini,$hget($sockname,skill),n $+ %x),1,61)) $c1(~!~),$c1($gettok($readini(info.ini,$hget($sockname,skill),n $+ %x),1,61))),$chr(58),$chr(32),$c2($remove($bcalc($bcalc($iif($hget($sockname,goal),$xp($v1),$xp2next($gettok(%sing.lvls,3,32))) - $gettok(%sing.lvls,4,32)) / $gettok($readini(info.ini,$hget($sockname,skill),n $+ %x),2,61)),$chr(32)))) inc %x } $hget($sockname,disp) $+($c1([),$c2(For Target),$c1(])) %item unset %item } else { $hget($sockname,disp) $c1(User not found for that skill!) | hdel $sockname nf | unset %full } } elseif ($hget($sockname,style) == pest) { if ($hget($sockname,nf) == nf) { hdel $sockname nf | unset %full | halt } if ($hget($sockname,pskill) isin %full) { set %pest.lvls $gettok(%full,$findtok(%full,$hget($sockname,pskill),32) - $calc($findtok(%full,$hget($sockname,pskill),32) + 3),32) $hget($sockname,disp) $c1(Name:) $c2($upper($hget($sockname,user))) $c1(Skill:) $c2($hget($sockname,pskill)) $c1(Level:) $c2($gettok(%pest.lvls,3,32)) $c1(Pestcontrol Tickets To $iif($hget($sockname,pgoal),$c2($hget($sockname,pgoal) $+ $c1(:)),Next Level:)) $c2($bytes($floor($calc($calc($iif($hget($sockname,pgoal),$xp($hget($sockname,pgoal)),$xp2next($gettok($remove(%pest.lvls,$chr(44)),3,32))) - $gettok($remove(%pest.lvls,$chr(44)),4,32)) / $pc($gettok($remove(%pest.lvls,$chr(44)),3,32)))),b)) $+ $+($c1($chr(40)),$c2($pc($gettok($remove(%pest.lvls,$chr(44)),3,32))),$c1($chr(41))) } else { $hget($sockname,disp) $c1(User not found for that skill!) | hdel $sockname nf | unset %full } } elseif ($hget($sockname,style) == duel) { if ($hget($sockname,nf) == nf) { hdel $sockname nf | unset %full | halt } if (attack isin %full) { set %duel.attack $gettok(%full,$calc($findtok(%full,attack,32) + 2),32) } if (strength isin %full) { set %duel.strength $gettok(%full,$calc($findtok(%full,strength,32) + 2),32) } if (defence isin %full) { set %duel.defence $gettok(%full,$calc($findtok(%full,defence,32) + 2),32) } if (prayer isin %full) { set %duel.prayer $gettok(%full,$calc($findtok(%full,prayer,32) + 2),32) } if (ranged isin %full) { set %duel.ranged $gettok(%full,$calc($findtok(%full,ranged,32) + 2),32) } if (magic isin %full) { set %duel.magic $gettok(%full,$calc($findtok(%full,magic,32) + 2),32) } if (hitpoints isin %full) { set %duel.hitpoints $gettok(%full,$calc($findtok(%full,hitpoints,32) + 2),32) } $hget($sockname,disp) $c1(Name:) $c2($upper($hget($sockname,user))) $iif(%duel.attack,$c1(Attack:) $c2(%duel.attack)) $iif(%duel.strength,$c1(Stength:) $c2(%duel.strength)) $iif(%duel.defence,$c1(Defence:) $c2(%duel.defence)) $iif(%duel.hitpoints,$c1(Hitpoints:) $c2(%duel.hitpoints)) $iif(%duel.ranged,$c1(Ranged:) $c2(%duel.ranged)) $iif(%duel.prayer,$c1(Prayer:) $c2(%duel.prayer)) $iif(%duel.magic,$c1(Magic:) $c2(%duel.magic)) unset %duel.* } elseif ($hget($sockname,style) == cmb) { if ($hget($sockname,nf) == nf) { hdel $sockname nf | unset %full | halt } if (overall isin %full) { set %cmb.overall $gettok(%full,$calc($findtok(%full,overall,32) + 3),32) } | else { $hget($sockname,disp) $c1(Cannot Be Calculated NO OVERALL) | halt } if (attack isin %full) { set %cmb.attack $gettok(%full,$calc($findtok(%full,attack,32) + 2),32) } if (strength isin %full) { set %cmb.strength $gettok(%full,$calc($findtok(%full,strength,32) + 2),32) } if (defence isin %full) { set %cmb.defence $gettok(%full,$calc($findtok(%full,defence,32) + 2),32) } if (prayer isin %full) { set %cmb.prayer $gettok(%full,$calc($findtok(%full,prayer,32) + 2),32) } if (ranged isin %full) { set %cmb.ranged $gettok(%full,$calc($findtok(%full,ranged,32) + 2),32) } if (magic isin %full) { set %cmb.magic $gettok(%full,$calc($findtok(%full,magic,32) + 2),32) } if (hitpoints isin %full) { set %cmb.hitpoints $gettok(%full,$calc($findtok(%full,hitpoints,32) + 2),32) } if (attack isin %full) { set %xp.attack $gettok(%full,$calc($findtok(%full,attack,32) + 3),32) } if (strength isin %full) { set %xp.strength $gettok(%full,$calc($findtok(%full,strength,32) + 3),32) } if (defence isin %full) { set %xp.defence $gettok(%full,$calc($findtok(%full,defence,32) + 3),32) } if (prayer isin %full) { set %xp.prayer $gettok(%full,$calc($findtok(%full,prayer,32) + 3),32) } if (ranged isin %full) { set %xp.ranged $gettok(%full,$calc($findtok(%full,ranged,32) + 3),32) } if (magic isin %full) { set %xp.magic $gettok(%full,$calc($findtok(%full,magic,32) + 3),32) } if (hitpoints isin %full) { set %xp.hitpoints $gettok(%full,$calc($findtok(%full,hitpoints,32) + 3),32) } $hget($sockname,disp) $c1(Name:) $c2($upper($replace($hget($sockname,user),$chr(43),$chr(32)))) $c1(Combat Level:) $c2($cmblevel(%cmb.attack,%cmb.strength,%cmb.defence,%cmb.hitpoints,%cmb.prayer,%cmb.ranged,%cmb.magic)) $hget($sockname,disp) $iif(%cmb.attack,$c1(Attack:) $c2(%cmb.attack)) $iif(%cmb.strength,$c1(Stength:) $c2(%cmb.strength)) $iif(%cmb.defence,$c1(Defence:) $c2(%cmb.defence)) $iif(%cmb.hitpoints,$c1(Hitpoints:) $c2(%cmb.hitpoints)) $iif(%cmb.ranged,$c1(Ranged:) $c2(%cmb.ranged)) $iif(%cmb.prayer,$c1(Prayer:) $c2(%cmb.prayer)) $iif(%cmb.magic,$c1(Magic:) $c2(%cmb.magic)) $hget($sockname,disp) $c1(Percentage:) $c2($floor($calc(($remove(%xp.attack + %xp.strength + %xp.defence + %xp.hitpoints + %xp.ranged + %xp.magic + %xp.prayer,$chr(44))) / $remove(%cmb.overall,$chr(44)) * 100))) $+ % $c1(Out Of:) $c2(%cmb.overall) unset %cmb.* | unset %xp.* } elseif ($hget($sockname,style) == closest) { if ($hget($sockname,nf) == nf) { hdel $sockname nf | unset %full | halt } var %yx = 2 var %xy while (%yx <= $len(%full)) { set %xy $+(%xy,$chr(32),$gettok(%full,%yx,32),$chr(32),$xp2next($gettok(%full,$calc(%yx + 2),32),$gettok(%full,$calc(%yx + 3),32))) inc %yx 4 } var %u = 1 var %t var %i = $islowest($remove(%xy,$+($chr(32),0),$gettok(%xy,$findtok(%xy,overall,32),32),$gettok(%xy,$calc($findtok(%xy,overall,32) + 1),32),a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z)) $hget($sockname,disp) $c1(Name:) $c2($upper($hget($sockname,user))) $c1(Closest Is:) $c2($gettok(%xy,$calc($findtok(%xy,%i,32) - 1),32)) $c1(With:) $c2($bytes(%i,b)) $c1(Xp To Level:) $c2($calc($gettok(%full,$calc($findtok(%full,$gettok(%xy,$calc($findtok(%xy,%i,32) - 1),32),32) + 2),32) + 1)) unset %full } elseif ($hget($sockname,style) == furthest) { if ($hget($sockname,nf) == nf) { hdel $sockname nf | unset %full | halt } var %yx = 2 var %xy while (%yx <= $len(%full)) { set %xy $+(%xy,$chr(32),$gettok(%full,%yx,32),$chr(32),$xp2next($gettok(%full,$calc(%yx + 2),32),$gettok(%full,$calc(%yx + 3),32))) inc %yx 4 } var %u = 1 var %t var %i = $isfurthest($remove(%xy,$+($chr(32),0),$gettok(%xy,$findtok(%xy,overall,32),32),$gettok(%xy,$calc($findtok(%xy,overall,32) + 1),32),a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z)) $hget($sockname,disp) $c1(Name:) $c2($upper($hget($sockname,user))) $c1(Furthest Is:) $c2($gettok(%xy,$calc($findtok(%xy,%i,32) - 1),32)) $c1(With:) $c2($bytes(%i,b)) $c1(Xp To Level:) $c2($calc($gettok(%full,$calc($findtok(%full,$gettok(%xy,$calc($findtok(%xy,%i,32) - 1),32),32) + 2),32) + 1)) unset %full } elseif ($hget($sockname,style) == p2p) { if ($hget($sockname,nf) == nf) { hdel $sockname nf | unset %full | halt } if (herblore isin %full) { set %p2p.herblore $gettok(%full,$calc($findtok(%full,herblore,32) + 2),32) } if (construction isin %full) { set %p2p.construction $gettok(%full,$calc($findtok(%full,construction,32) + 2),32) } if (fletching isin %full) { set %p2p.fletching $gettok(%full,$calc($findtok(%full,fletching,32) + 2),32) } if (agility isin %full) { set %p2p.agility $gettok(%full,$calc($findtok(%full,agility,32) + 2),32) } if (thieving isin %full) { set %p2p.thieving $gettok(%full,$calc($findtok(%full,thieving,32) + 2),32) } if (slayer isin %full) { set %p2p.slayer $gettok(%full,$calc($findtok(%full,slayer,32) + 2),32) } if (farming isin %full) { set %p2p.farming $gettok(%full,$calc($findtok(%full,farming,32) + 2),32) } if (hunter isin %full) { set %p2p.hunter $gettok(%full,$calc($findtok(%full,hunter,32) + 2),32) } if (overall isin %full) { set %p2p.overall $gettok(%full,$calc($findtok(%full,overall,32) + 2),32) } $hget($sockname,disp) $c1(Name:) $c2($upper($hget($sockname,user))) $c1(Pay To Play Stats:) $hget($sockname,disp) $iif(%p2p.overall,$c1(Overall:) $c2(%p2p.overall)) $iif(%p2p.fletching,$c1(Fletching:) $c2(%p2p.fletching)) $iif(%p2p.Herblore,$c1(Herblore:) $c2(%p2p.herblore)) $iif(%p2p.agility,$c1(Agility:) $c2(%p2p.agility)) $iif(%p2p.Thieving,$c1(Thieving:) $c2(%p2p.thieving)) $iif(%p2p.Slayer,$c1(Slayer:) $c2(%p2p.slayer)) $iif(%p2p.Farming,$c1(Farming:) $c2(%p2p.farming)) $iif(%p2p.Hunter,$c1(Hunter:) $c2(%p2p.hunter)) $iif(%p2p.construction,$c1(Construction:) $c2(%p2p.construction)) unset %p2p.* } elseif ($hget($sockname,style) == f2p) { if ($hget($sockname,nf) == nf) { hdel $sockname nf | unset %full | halt } if (cooking isin %full) { set %f2p.cooking $gettok(%full,$calc($findtok(%full,cooking,32) + 2),32) } if (woodcutting isin %full) { set %f2p.woodcutting $gettok(%full,$calc($findtok(%full,woodcutting,32) + 2),32) } if (fishing isin %full) { set %f2p.fishing $gettok(%full,$calc($findtok(%full,fishing,32) + 2),32) } if (firemaking isin %full) { set %f2p.firemaking $gettok(%full,$calc($findtok(%full,firemaking,32) + 2),32) } if (crafting isin %full) { set %f2p.crafting $gettok(%full,$calc($findtok(%full,crafting,32) + 2),32) } if (smithing isin %full) { set %f2p.smithing $gettok(%full,$calc($findtok(%full,smithing,32) + 2),32) } if (mining isin %full) { set %f2p.mining $gettok(%full,$calc($findtok(%full,mining,32) + 2),32) } if (runecraft isin %full) { set %f2p.runecraft $gettok(%full,$calc($findtok(%full,runecraft,32) + 2),32) } if (overall isin %full) { set %f2p.overall $gettok(%full,$calc($findtok(%full,overall,32) + 2),32) } if (attack isin %full) { set %f2p.attack $gettok(%full,$calc($findtok(%full,attack,32) + 2),32) } if (strength isin %full) { set %f2p.strength $gettok(%full,$calc($findtok(%full,strength,32) + 2),32) } if (defence isin %full) { set %f2p.defence $gettok(%full,$calc($findtok(%full,defence,32) + 2),32) } if (prayer isin %full) { set %f2p.prayer $gettok(%full,$calc($findtok(%full,prayer,32) + 2),32) } if (ranged isin %full) { set %f2p.ranged $gettok(%full,$calc($findtok(%full,ranged,32) + 2),32) } if (magic isin %full) { set %f2p.magic $gettok(%full,$calc($findtok(%full,magic,32) + 2),32) } if (hitpoints isin %full) { set %f2p.hitpoints $gettok(%full,$calc($findtok(%full,hitpoints,32) + 2),32) } $hget($sockname,disp) $c1(Name:) $c2($upper($hget($sockname,user))) $c1(Free To Play Stats:) $hget($sockname,disp) $iif(%f2p.overall,$c1(Overall:) $c2(%f2p.overall)) $iif(%f2p.attack,$c1(Attack:) $c2(%f2p.attack)) $iif(%f2p.strength,$c1(Strength:) $c2(%f2p.strength)) $iif(%f2p.defence,$c1(Defence:) $c2(%f2p.defence)) $iif(%f2p.hitpoints,$c1(Hitpoints:) $c2(%f2p.hitpoints)) $iif(%f2p.Ranged,$c1(Ranged:) $c2(%f2p.ranged)) $iif(%f2p.prayer,$c1(Prayer:) $c2(%f2p.prayer)) $iif(%f2p.Magic,$c1(Magic:) $c2(%f2p.magic)) $iif(%f2p.cooking,$c1(Cooking:) $c2(%f2p.cooking)) $iif(%f2p.woodcutting,$c1(Woodcutting:) $c2(%f2p.woodcutting)) $iif(%f2p.Fishing,$c1(Fishing:) $c2(%f2p.fishing)) $iif(%f2p.firemaking,$c1(Firemaking:) $c2(%f2p.firemaking)) $iif(%f2p.crafting,$c1(Crafting:) $c2(%f2p.crafting)) $iif(%f2p.Smithing,$c1(Smithing:) $c2(%f2p.smithing)) $iif(%f2p.mining,$c1(Mining:) $c2(%f2p.mining)) $iif(%f2p.Runecraft,$c1(Runecraft:) $c2(%f2p.Runecraft)) unset %f2p.* } elseif ($hget($sockname,style) == join) { if ($hget($sockname,nf) == nf) { hdel $sockname nf | unset %full | halt } if (overall isin %full) { set %cmb.overall $gettok(%full,$calc($findtok(%full,overall,32) + 3),32) } | else { $hget($sockname,disp) $c1(Cannot Be Calculated NO OVERALL) | halt } if (attack isin %full) { set %cmb.attack $gettok(%full,$calc($findtok(%full,attack,32) + 2),32) } if (strength isin %full) { set %cmb.strength $gettok(%full,$calc($findtok(%full,strength,32) + 2),32) } if (defence isin %full) { set %cmb.defence $gettok(%full,$calc($findtok(%full,defence,32) + 2),32) } if (prayer isin %full) { set %cmb.prayer $gettok(%full,$calc($findtok(%full,prayer,32) + 2),32) } if (ranged isin %full) { set %cmb.ranged $gettok(%full,$calc($findtok(%full,ranged,32) + 2),32) } if (magic isin %full) { set %cmb.magic $gettok(%full,$calc($findtok(%full,magic,32) + 2),32) } if (hitpoints isin %full) { set %cmb.hitpoints $gettok(%full,$calc($findtok(%full,hitpoints,32) + 2),32) } if (attack isin %full) { set %xp.attack $gettok(%full,$calc($findtok(%full,attack,32) + 3),32) } if (strength isin %full) { set %xp.strength $gettok(%full,$calc($findtok(%full,strength,32) + 3),32) } if (defence isin %full) { set %xp.defence $gettok(%full,$calc($findtok(%full,defence,32) + 3),32) } if (prayer isin %full) { set %xp.prayer $gettok(%full,$calc($findtok(%full,prayer,32) + 3),32) } if (ranged isin %full) { set %xp.ranged $gettok(%full,$calc($findtok(%full,ranged,32) + 3),32) } if (magic isin %full) { set %xp.magic $gettok(%full,$calc($findtok(%full,magic,32) + 3),32) } if (hitpoints isin %full) { set %xp.hitpoints $gettok(%full,$calc($findtok(%full,hitpoints,32) + 3),32) } $hget($sockname,disp) $c1(Name:) $c2($upper($replace($hget($sockname,user),$chr(43),$chr(32)))) $c1(Combat Level:) $c2($cmblevel(%cmb.attack,%cmb.strength,%cmb.defence,%cmb.hitpoints,%cmb.prayer,%cmb.ranged,%cmb.magic)) $c1(Attack + Strength:) $c2($calc(%cmb.attack + %cmb.strength)) $iif(%cmb.attack,$c1(Attack:) $c2(%cmb.attack)) $iif(%cmb.strength,$c1(Stength:) $c2(%cmb.strength)) $iif(%cmb.defence,$c1(Defence:) $c2(%cmb.defence)) $iif(%cmb.hitpoints,$c1(Hitpoints:) $c2(%cmb.hitpoints)) $iif(%cmb.ranged,$c1(Ranged:) $c2(%cmb.ranged)) $iif(%cmb.prayer,$c1(Prayer:) $c2(%cmb.prayer)) $iif(%cmb.magic,$c1(Magic:) $c2(%cmb.magic)) unset %cmb.* } } } } alias pc { var %x $calc($1 ^ 2) var %y $floor($calc(%x / 6)) return %y } alias CmbLevel { set %defence $calc($3 * 100) set %hitpoints $calc($4 * 100) set %prayer $5 if ($and(%prayer,1) == 1) { set %prayer $calc((%prayer -1) * 50) } Else if ($and(%prayer,1) == 0) { set %prayer $calc(%prayer * 50) } set %basecombat $calc((%defence + %hitpoints + %prayer) / 400) set %attack $calc($1 * 130) set %strength $calc($2 * 130) set %ranged $6 set %mage $7 if ($and(%ranged,1) == 1) { set %ranged $calc((%ranged - 1 + %ranged * 2) * 65) } Else if ($and(%ranged,1) == 0) { set %ranged $calc(%ranged * 195) } if ($and(%mage,1) == 1) { set %mage $calc((%mage - 1 + %mage * 2) * 65) } Else if ($and(%mage,1) == 0) { set %mage $calc(%mage * 195) } set %meleecb $calc((%attack + %strength) / 400) set %rangedcb $calc(%ranged / 400) set %magecb $calc(%mage / 400) if ((%meleecb > %rangedcb) && (%meleecb > %magecb)) { return $calc(%meleecb + %basecombat) [Melee Based] } if ((%rangedcb > %meleecb) && (%rangedcb > %magecb)) { Return $calc(%rangedcb + %basecombat) [Range Based] } if ((%magecb > %rangedcb) && (%magecb > %meleecb)) { Return $calc(%magecb + %basecombat) [Mage Based] } unset %defence unset %hitpoints unset %prayer unset %basecombat unset %attack unset %strength unset %ranged unset %mage unset %meleecb unset %rangedcb unset %magecb } alias Skill { If ($regex($1,/^(st|(skill)?total|overall)$/Si)) return Overall Elseif ($regex($1,/^at(t|k|tack)$/Si)) return Attack Elseif ($regex($1,/^st(r|re|rength)$/Si)) return Strength Elseif ($regex($1,/^de(f|fence)$/Si)) return Defence Elseif ($regex($1,/^h(its|p|itpoints)$/Si)) return Hitpoints Elseif ($regex($1,/^pra(y|yer)$/Si)) return Prayer Elseif ($regex($1,/^mag(e|ic)$/Si)) return Magic Elseif ($regex($1,/^rang(e|ed)$/Si)) return Ranged Elseif ($regex($1,/^agi(l|lity)$/Si)) return Agility Elseif ($regex($1,/^h(erb|erblore)$/Si)) return Herblore Elseif ($regex($1,/^thie(f|ve|ving)$/Si)) return Thieving Elseif ($regex($1,/^r(c|unecraft|unecrafting)$/Si)) return Runecraft Elseif ($regex($1,/^craf(t|ting)$/Si)) return Crafting Elseif ($regex($1,/^smit(h|hing)$/Si)) return Smithing Elseif ($regex($1,/^min(e|ing)$/Si)) return Mining Elseif ($regex($1,/^fis(h|hing)$/Si)) return Fishing Elseif ($regex($1,/^coo(k|king)$/Si)) return Cooking Elseif ($regex($1,/^f(m|ire|iremaking)$/Si)) return Firemaking Elseif ($regex($1,/^w(c|oodcut|oodcutting)$/Si)) return Woodcutting Elseif ($regex($1,/^sla(y|yer)$/Si)) return Slayer Elseif ($regex($1,/^far(m|ming)$/Si)) return Farming Elseif ($regex($1,/^fletc(h|hing)$/Si)) return Fletching Elseif ($regex($1,/^hun(ter|t|ting)$/Si)) return Hunter Elseif ($regex($1,/^(cons|construct|construction|poh)$/Si)) return Construction } alias xp2Next { var %xp = $remove($2,$chr(44)), %nextxp = $xp($calc($1 + 1)) | return $calc(%nextxp - %xp) } alias xp { var %x = 1, %level = $calc($1 - 1), %xp = 0 | while (%x <= %level) { var %TempXp = $calc((%x + 300 * 2^(%x / 7)) /4) | inc %xp %TempXp | inc %x } | return $int(%xp) } alias cmbskill { if ($regex($1,/^at(t|k|tack)$/Si)) return Attack Elseif ($regex($1,/^st(r|re|rength)$/Si)) return Strength Elseif ($regex($1,/^de(f|fence)$/Si)) return Defence Elseif ($regex($1,/^h(its|p|itpoints)$/Si)) return Hitpoints Elseif ($regex($1,/^pra(y|yer)$/Si)) return Prayer Elseif ($regex($1,/^mag(e|ic)$/Si)) return Magic Elseif ($regex($1,/^rang(e|ed)$/Si)) return Range } alias rstyle { if ($1 == pest) { return pest } elseif ($1 == pc) { return pest } elseif ($1 == cmb) { return combat } elseif ($1 == combat) { return combat } elseif ($1 == stats) { return stats } elseif ($1 == rsstats) { return stats } elseif ($1 == duel) { return duel } elseif ($skill($1)) { return single } elseif ($1 == combat%) { return cmb } elseif ($1 == cmb%) { return cmb } elseif ($1 == closest) { return $v2 } elseif ($1 == next) { return closest } elseif ($1 == furthest) { return furthest } elseif ($1 == p2p) { return p2p } elseif ($1 == f2p) { return f2p } elseif ($1 == join) { return join } } alias bcalc { tokenize 32 $remove($1-,$chr(44),$chr(32)) var %matches $regex($1-,/L(\d\d?)/gi), %i = 1, %calculate = $1- while (%i <= %matches) { var %calculate = $replace(%calculate,L $+ $regml(%i),$LevelsAndXp($regml(%i))) inc %i } if (k isin %calculate) { var %x = 1, %total = $pos(%calculate,k,0) while (%x <= %total) { var %kpos = $pos(%calculate,k,%x), %kstartpos = $calc(%kpos - 1), %klen = 1 while ($mid(%calculate,%kstartpos,1) isin 1234567890.) && (%kstartpos > 0) { dec %kstartpos | inc %klen } var %calculate = $iif(%kstartpos >= 0,$left(%calculate,%kstartpos)) $+ $chr(40) $+ $mid(%calculate,$calc($iif(%kstartpos == 0,0,%kstartpos +1)),%klen) $+ $chr(41) $+ $right(%calculate,- $+ %kpos) inc %x } } if (m isin %calculate) { var %x = 1, %total = $pos(%calculate,m,0) while (%x <= %total) { var %mpos = $pos(%calculate,m,%x), %mstartpos = $calc(%mpos - 1), %mlen = 1 while ($mid(%calculate,%mstartpos,1) isin 1234567890.) && (%mstartpos > 0) { dec %mstartpos | inc %mlen } var %calculate = $iif(%mstartpos >= 0,$left(%calculate,%mstartpos)) $+ $chr(40) $+ $mid(%calculate,$calc($iif(%mstartpos == 0,0,%mstartpos +1)),%mlen) $+ $chr(41) $+ $right(%calculate,- $+ %mpos) inc %x } } var %calculate $replace($remove(%calculate,$chr(44),$chr(61)),x,*,k,*1000,m,*1000000) var %answer = $bytes($floor($calc(%calculate)),db)) return %answer } alias xstart { if ($1 == attack) { return 1 } elseif ($1 == strength) { return 25 } elseif ($1 == defence) { return 13 } elseif ($1 == hitpoints) { return 37 } elseif ($1 == ranged) { return 49 } elseif ($1 == magic) { return 97 } elseif ($1 == prayer) { return 61 } elseif ($1 == cooking) { return 73 } elseif ($1 == fishing) { return 119 } elseif ($1 == firemaking) { return 109 } elseif ($1 == woodcutting) { return 85 } elseif ($1 == construction) { return 271 } elseif ($1 == slayer) { return 220 } elseif ($1 == thieving) { return 207 } elseif ($1 == agility) { return 193 } elseif ($1 == herblore) { return 180 } elseif ($1 == crafting) { return 143 } elseif ($1 == runecraft) { return 232 } elseif ($1 == farming) { return 247 } elseif ($1 == hunter) { return 259 } elseif ($1 == mining) { return 168 } elseif ($1 == smithing) { return 155 } elseif ($1 == fletching) { return 131 } } alias ranknum { if ($1 == attack) { return 1 } elseif ($1 == overall) { return 0 } elseif ($1 == strength) { return 3 } elseif ($1 == defence) { return 2 } elseif ($1 == hitpoints) { return 4 } elseif ($1 == ranged) { return 5 } elseif ($1 == magic) { return 7 } elseif ($1 == prayer) { return 6 } elseif ($1 == cooking) { return 8 } elseif ($1 == fishing) { return 11 } elseif ($1 == firemaking) { return 12 } elseif ($1 == woodcutting) { return 9 } elseif ($1 == construction) { return 23 } elseif ($1 == slayer) { return 19 } elseif ($1 == thieving) { return 18 } elseif ($1 == agility) { return 17 } elseif ($1 == herblore) { return 16 } elseif ($1 == crafting) { return 13 } elseif ($1 == runecraft) { return 21 } elseif ($1 == farming) { return 20 } elseif ($1 == hunter) { return 22 } elseif ($1 == mining) { return 15 } elseif ($1 == smithing) { return 14 } elseif ($1 == fletching) { return 10 } } alias islowest { var %y $sorttok($remove($1-,$chr(44)),32,nr) return $gettok(%y,$numtok(%y,32),32) } alias isfurthest { var %y $sorttok($remove($1-,$chr(44)),32,nr) return $gettok(%y,1,32) } alias statskill { if ($regex($1,/^ov(erall)$/Si)) return Overall Elseif ($regex($1,/^at(t|k|tack)$/Si)) return Attack Elseif ($regex($1,/^st(r|re|rength)$/Si)) return Strength Elseif ($regex($1,/^de(f|fence)$/Si)) return Defence Elseif ($regex($1,/^h(its|p|itpoints)$/Si)) return Hitpoints Elseif ($regex($1,/^pra(y|yer)$/Si)) return Prayer Elseif ($regex($1,/^mag(e|ic)$/Si)) return Magic Elseif ($regex($1,/^rang(e|ed)$/Si)) return Ranged } alias htmlfree { var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, ,&) | return %x } on *:sockopen:compare.*: { if ($sockerr) { halt } sockwrite -nt $sockname GET /compare.ws?user1= $+ $hget($sockname,user1) $+ &user2= $+ $hget($sockname,user2) HTTP/1.1 sockwrite -nt $sockname Host: hiscore.runescape.com $crlf $+ $crlf } on *:sockread:compare.*: { if ($sockerr) { halt } | else { var %compread | sockread %compread if (*does not feature in* iswm %compread) { if ($hget($sockname,nodisp) == no) { halt } | $hget($sockname,disp) $c1(One Or More Users Cannot Be Found) | hadd -m $sockname nodisp no } if (** iswm %compread) { var %read2 | sockread %read2 .set %full $+(%full,$chr(32),$htmlfree(%read2)) var %xread | sockread %xread | var %yread | sockread %yread if (*not ranked* iswm %yread) { .set %full $remove(%full,$htmlfree(%read2)) } } if (** iswm $remove(%compread,)) { .set %full $+(%full,$chr(32),$htmlfree(%compread)) } if (** iswm %compread) { if ($hget($sockname,nodisp) == no) { hdel $sockname nodisp | halt } if ($hget($sockname,skill) isin %full) { $hget($sockname,disp) $c1(Name:) $c2($hget($sockname,user1)) $c1(Is Level:) $c2($gettok(%full,$calc($findtok(%full,$hget($sockname,skill),32) + 1),32)) $c1(With:) $c2($gettok(%full,$calc($findtok(%full,$hget($sockname,skill),32) + 2),32)) $c1(Xp) $chr(124) $c1(Name:) $c2($hget($sockname,user2)) $c1(Is Level:) $c2($gettok(%full,$calc($findtok(%full,$hget($sockname,skill),32) + 4),32)) $c1(With:) $c2($gettok(%full,$calc($findtok(%full,$hget($sockname,skill),32) + 5),32)) $c1(Xp) $hget($sockname,disp) $c2($iif($remove($gettok(%full,$calc($findtok(%full,$hget($sockname,skill),32) + 2),32),$chr(44)) < $remove($gettok(%full,$calc($findtok(%full,$hget($sockname,skill),32) + 5),32),$chr(44)),$hget($sockname,user2),$hget($sockname,user1))) $c1(Wins $+ $chr(44) By) $remove($c2($acalc($remove($gettok(%full,$calc($findtok(%full,$hget($sockname,skill),32) + 2),32),$chr(44)) - $remove($gettok(%full,$acalc($findtok(%full,$hget($sockname,skill),32) + 5),32),$chr(44)))),$chr(45)) $c1(Xp $+ $chr(44) And By) $remove($c2($acalc($gettok(%full,$calc($findtok(%full,$hget($sockname,skill),32) + 4),32) - $gettok(%full,$calc($findtok(%full,$hget($sockname,skill),32) + 1),32))),$chr(45)) $c1(Levels) unset %full unset %fullx } } } } on *:sockopen:rank.*: { if ($sockerr) { halt } sockwrite -nt $sockname GET /overall.ws?table= $+ $ranknum($hget($sockname,skill)) $+ &rank= $+ $hget($sockname,rank) HTTP/1.1 sockwrite -nt $sockname Host: hiscore.runescape.com $crlf $+ $crlf } on *:sockread:rank.*: { if ($sockerr) { halt } | else { var %rankread | sockread %rankread if (** iswm %rankread) { set %rankend $+(%rankend,$chr(32),$replace($htmlfree(%rankread),$chr(32),$chr(45))) } if (** iswm %rankread) { set %rankxp $htmlfree(%rankread) } if (** iswm %rankread) { $hget($sockname,disp) $c1(Rank:) $c2($hget($sockname,rank)) $c1(In The Skill Of:) $c2($hget($sockname,skill)) $c1(Is:) $c2($replace($gettok(%rankend,2,32),$chr(45),$chr(32))) $c1(At Level:) $c2($gettok(%rankend,3,32)) $c1(With:) $c2(%rankxp) $c1(Xp) unset %rankend unset %rankxp } } } alias Acalc { tokenize 32 $remove($1-,$chr(44),$chr(32)) var %matches $regex($1-,/L(\d\d?)/gi), %i = 1, %calculate = $1- while (%i <= %matches) { var %calculate = $replace(%calculate,L $+ $regml(%i),$LevelsAndXp($regml(%i))) inc %i } if (k isin %calculate) { var %x = 1, %total = $pos(%calculate,k,0) while (%x <= %total) { var %kpos = $pos(%calculate,k,%x), %kstartpos = $calc(%kpos - 1), %klen = 1 while ($mid(%calculate,%kstartpos,1) isin 1234567890.) && (%kstartpos > 0) { dec %kstartpos | inc %klen } var %calculate = $iif(%kstartpos >= 0,$left(%calculate,%kstartpos)) $+ $chr(40) $+ $mid(%calculate,$calc($iif(%kstartpos == 0,0,%kstartpos +1)),%klen) $+ $chr(41) $+ $right(%calculate,- $+ %kpos) inc %x } } if (m isin %calculate) { var %x = 1, %total = $pos(%calculate,m,0) while (%x <= %total) { var %mpos = $pos(%calculate,m,%x), %mstartpos = $calc(%mpos - 1), %mlen = 1 while ($mid(%calculate,%mstartpos,1) isin 1234567890.) && (%mstartpos > 0) { dec %mstartpos | inc %mlen } var %calculate = $iif(%mstartpos >= 0,$left(%calculate,%mstartpos)) $+ $chr(40) $+ $mid(%calculate,$calc($iif(%mstartpos == 0,0,%mstartpos +1)),%mlen) $+ $chr(41) $+ $right(%calculate,- $+ %mpos) inc %x } } var %calculate $replace($remove(%calculate,$chr(44),$chr(61)),x,*,k,*1000,m,*1000000) var %answer = $bytes($calc(%calculate),db) return %answer } on *:JOIN:#: { if ($cmbj($chan)) { unset %full hadd -m $+(rsh.,$nick) user $iif($readini(rsn.ini,rsn,$address($nick,2)),$v1,$nick) hadd -m $+(rsh.,$nick) disp msg $chan hadd -m $+(rsh.,$nick) style join sockopen $+(rsh.,$nick) hiscore.runescape.com 80 } } alias cmbj { if ($readini(cmbj.ini,$network,$1) == on) { return true } | else return $false } alias username { if ($chr(38) isin $1) { hadd -m $+(rsh.,$nick) user $readini(rsn.ini,rsn,$address($right($1,-1),2)) } elseif (!$1) { hadd -m $+(rsh.,$nick) user $iif($readini(rsn.ini,rsn,$address($nick,2)),$v1,$replace($nick,$chr(45),$chr(43))) } elseif ($1) { hadd -m $+(rsh.,$nick) user $replace($1-,$chr(32),$chr(43)) } }