alias zs.reload { reload -rs " $+ $scriptdirbase.txt $+ " load -rs " $+ $scriptdircompare.txt $+ " load -rs " $+ $scriptdirdeathmatch.txt $+ " load -rs " $+ $scriptdiridle.txt $+ " load -rs " $+ $scriptdirsimple-scripts.txt $+ " load -rs " $+ $scriptdirstats.txt $+ " load -rs " $+ $scriptdirtrivia.txt $+ " load -rs " $+ $scriptdirmaxhit.txt $+ " load -rs " $+ $scriptdirworlds.txt $+ " msg $iif($1,$1,#zetaadmins) Code updated. } alias c1 { return 10 $+ $1- } alias c2 { return 12 $+ $1- } alias c3 { Return 2 $+ $1- } alias c4 { Return 11 $+ $1- } alias chankill { set %channum 1 set %channum1 0 unset %channumn while ($chan(%channum) != $null) { if (($chan(%channum) == #zetasecure) || ($chan(%channum) == #zetaadmins) || ($chan(%channum) == #zetascript) || ($readini(WhiteList.ini,$network,$chan(%channum)))) { inc %channum } elseif ($nick($chan(%channum),0) < 3) { part $chan(%channum) set %channumn %channumn $chan(%channum) inc %channum inc %channum1 } else { inc %channum } } msg $1 Chankill reported %channum1 channels below 3 users ( $+ %channumn $+ ). } alias zetacheck { set %nicknum 1 while ($nick($1,%nicknum) != $null) { echo -a checking $nick($1,%nicknum) if (($nick($1,%nicknum) != $me) && (*zetascript* iswm $nick($1,%nicknum)) && ($nick($1,%nicknum) ison #zetasecure)) { echo -a checking2 $nick($1,%nicknum) if (($1 != #zetasecure) && ($1 != #zetaadmins) && ($1 != #zetascript) && (!$readini(WhiteList.ini,$network,$1))) { echo -a checking3 $nick($1,%nicknum) part $1 Sorry it seems you already have a ZetaScript msg #ZetaSecure Parting $1 - Found another zetascript msg $$2 Zetacheck found another zeta. halt } } inc %nicknum } msg $$2 Zetacheck found no other zeta. } alias zetacheckall { set %channum 1 set %channum1 0 unset %channumn while ($chan(%channum) != $null) { set %nicknum 1 while ($nick($chan(%channum),%nicknum) != $null) { if (($nick($chan(%channum),%nicknum) != $me) && (*zetascript* iswm $nick($chan(%channum),%nicknum)) && ($nick($chan(%channum),%nicknum) ison #zetasecure)) { if (($chan(%channum) != #zetasecure) && ($chan(%channum) != #zetaadmins) && ($chan(%channum) != #zetascript) && (!$readini(WhiteList.ini,$network,$chan(%channum)))) { $iif(!$2,part $chan(%channum) Sorry it seems you already have a ZetaScript) $iif(!$2,msg #ZetaSecure Parting $chan(%channum) - Found another zetascript) inc %channum1 set %channumn %channumn $chan(%channum) break } } inc %nicknum } inc %channum } msg $1 Zetacheck reports %channum1 channels with more than one zeta ( $+ %channumn $+ ). } alias clearall { set %clearall 1 while ($chan(%clearall) != $null) { clear $chan(%clearall) inc %clearall } } alias Recover { set %recover 2 while ($read(ChannelDB.ini,%recover)) { if ((*#* iswm $gettok($read(ChannelDB.ini,%recover),1,61))) { join $v2 } inc %recover } } alias resave { remove ChannelDB.ini if ($chan(0) < 1) { return 0 } var %i = 1 while (%i <= $chan(0)) { writeini -n ChannelDB.ini $zs(name) $chan(%i) Resave Command inc %i } } alias clearvars { unset %* } alias showes { if ($1 == 0) { return $1 $2 $+ $3 } elseif ($1 == 1) { return $1 $2 } else { return $1 $2 $+ $3 } } alias chanlist { if ($chan(0) < 1) { return 0 } var %chanlist $chan(1) var %i = 2 while (%i <= $chan(0)) { var %chanlist %chanlist $+ , $+ $chan(%i) inc %i } return %chanlist } alias blist { writeini -n blacklist.ini users $$1 $iif($2- == $null,No Reason Specified,$2-) | Echo 4 $+ $$1 has been blacklisted } alias unblist { remini blacklist.ini users $$1 | Echo 4 $+ $$1 has been unblacklisted } alias htmlfree { var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, ), %x = $replace(%x,","), %x = $replace(%x,&,&) return %x } alias setmelee { if ($1 == Attack) || ($1 == Defence) || ($1 == Strength) { return true } } alias sethp { if ($1 == Hitpoints) { return true } } alias xp { var %x = 1, %level = $calc($1 - 1), %xp = 0 while (%x <= %level) { var %TempXp = $calc($floor($calc(%x + 300 * 2 ^ (%x / 7))) / 4) inc %xp %TempXp inc %x } return $int(%xp) } alias xp2Next { var %xp = $remove($2,$chr(44)), %nextxp = $xp($calc($1 + 1)) | return $calc(%nextxp - %xp) } alias pest { var %exp $iif($2 != Prayer,$calc(($1 ^2)/6),$calc(($1 ^2)/12)), %xp.nxtlvl $exp($3), %xp.diff $4, %point $calc(%xp.diff / %exp) if (%point >= 100) { var %point $calc(%xp.diff / ((%exp * 0.1) + %exp)) } if ($1 == 99) { return 0 } else { return $bytes($gettok(%point,1,46),b) } } alias setpc { if ($1 == 0) || ($regex($1,/^at(t|k|tack)$/Si)) return Attack elseif ($1 == 1) || ($regex($1,/^def(en[cs]e)?$$/Si)) return Defence elseif ($1 == 2) || ($regex($1,/^str(ength)?$/Si)) return Strength elseif ($1 == 3) || ($regex($1,/^hp|hit(s|points?)?$/Si)) return Hitpoints elseif ($1 == 4) || ($regex($1,/^range(r|d|ing)?$/Si)) return Ranged elseif ($1 == 5) || ($regex($1,/^Pray(er)?$$/Si)) return Prayer elseif ($1 == 6) || ($regex($1,/^mag(e|ic)$$/Si)) return Magic } alias xp2Next { var %xp = $remove($2,$chr(44)), %nextxp = $xp($calc($1 + 1)) | return $calc(%nextxp - %xp) } alias setskill { return $gettok($setskill0($1),1,32) } alias setskill2 { return $gettok($setskill0($1),2,32) } alias setskill0 { if ($1 == 0) || ($regex($1,/^(st|(skill)?total|overall)$/Si)) return Overall 0 elseif ($1 == 1) || ($regex($1,/^at(t|k|tack)$/Si)) return Attack 2 elseif ($1 == 2) || ($regex($1,/^def(en[cs]e)?$$/Si)) return Defence 2 elseif ($1 == 3) || ($regex($1,/^str(ength)?$/Si)) return Strength 3 elseif ($1 == 4) || ($regex($1,/^(hp|hit)(s|points?)?$/Si)) return Hitpoints 4 elseif ($1 == 5) || ($regex($1,/^r(ng|ange|anged|angeing|anger)?$/Si)) return Ranged 5 elseif ($1 == 6) || ($regex($1,/^Pray(er)?$$/Si)) return Prayer 6 elseif ($1 == 7) || ($regex($1,/^mag(e|ic)$$/Si)) return Magic 7 elseif ($1 == 8) || ($regex($1,/^cook(ing)?$/Si)) return Cooking 8 elseif ($1 == 9) || ($regex($1,/^wc|wood(cut(ting)?)?$/Si)) return Woodcutting 9 elseif ($1 == 10) || ($regex($1,/^fletch(ing)?$/Si)) return Fletching 10 elseif ($1 == 11) || ($regex($1,/^fish(ing)?$/Si)) return Fishing 11 elseif ($1 == 12) || ($regex($1,/^(fire|fm)(make?(ing)?|ing)?$/Si)) return Firemaking 12 elseif ($1 == 13) || ($regex($1,/^craft(ing)?$/Si)) return Crafting 13 elseif ($1 == 14) || ($regex($1,/^(smith|smelt)(ing)?$/Si)) return Smithing 14 elseif ($1 == 15) || ($regex($1,/^min(e|eing|ing)?$/Si)) return Mining 15 elseif ($1 == 16) || ($regex($1,/^herb(law|lore)?$/Si)) return Herblore 16 elseif ($1 == 17) || ($regex($1,/^agil(ity)?$/Si)) return Agility 17 elseif ($1 == 18) || ($regex($1,/^(th(ei|ie)[fv](e|ing)?)$/Si)) return Thieving 18 elseif ($1 == 19) || ($regex($1,/^slay(er|ing)?$/Si)) return Slayer 19 elseif ($1 == 20) || ($regex($1,/^farm(er|ing)?$/Si)) return Farming 20 elseif ($1 == 21) || ($regex($1,/^(rc|runecraft)(er|ing)?$/Si)) return Runecraft 21 elseif ($1 == 22) || ($regex($1,/^(con|construct)(ion|ing)?$/si)) return Construction 22 elseif ($1 == 23) || ($regex($1,/^(hunt)(er|ing)?$/si)) return Hunter 23 elseif ($1 == 24) || ($regex($1,/^c(mb|ombat)?$/si)) return Combat } alias striptags { var %x,%y = $regsub($1-,/(<[^>]+>)/g,$null,%x) | return %x } alias HPLevel { if ($1 > 95) return 9,9................... elseif ($1 > 90) return 9,9................... elseif ($1 > 85) return 9,9..................4,4. elseif ($1 > 80) return 9,9.................4,4.. elseif ($1 > 75) return 9,9................4,4... elseif ($1 > 70) return 9,9...............4,4.... elseif ($1 > 65) return 9,9..............4,4..... elseif ($1 > 60) return 9,9.............4,4...... elseif ($1 > 55) return 9,9............4,4....... elseif ($1 > 50) return 9,9...........4,4........ elseif ($1 > 45) return 9,9..........4,4......... elseif ($1 > 40) return 9,9.........4,4.......... elseif ($1 > 35) return 9,9........4,4........... elseif ($1 > 30) return 9,9.......4,4............ elseif ($1 > 25) return 9,9......4,4............. elseif ($1 > 20) return 9,9.....4,4.............. elseif ($1 > 15) return 9,9....4,4............... elseif ($1 > 10) return 9,9...4,4................ elseif ($1 > 5) return 9,9..4,4................. elseif ($1 > 0) return 9,9.4,4.................. elseif ($1 == 0) return 4,4................... } alias Idlestyle { if ($regex($1,/^g(en|eneral)$/Si)) return General elseif ($regex($1,/^v(erb|erbrose)$/Si)) return Verbrose } on $*:TEXT:/^[!.](Def|Set)(name|RSN)/Si:#: { if ($readini(Status.ini,$me,$chan) == DChan && $remove($1,$chr(44)) != $me) { halt } if (* $+ $chr(36) $+ * iswm $2-) { halt } if ($2) { writeini -n defrsn.ini RSNs $nick $replace($2-,$chr(32),-) | notice $nick $c1(We have saved) $c2($2-) $c1(as your DefRSN on) $c2($nick) } elseif (!$2) { notice $nick $c1(You must Specify a) $c2(RSN) $c1(to set) } } on $*:TEXT:$(/^(?>\Q $+ $me $+ \E,? ?)?([!@.](stats|rsstats))/Si):#: { if ($readini(Status.ini,$me,$chan) == DChan && $remove($1,$chr(44)) != $me) { halt } if (* $+ $chr(36) $+ * iswm $2-) { halt } inc %ID | set $+(%,stats.display.,%ID) $iif($left($iif($remove($1,$chr(44)) == $me,$iif($nick isop #ZetaAdmins,$2),$1),1) == @,$iif($remove($1,$chr(44)) != $me && $readini(Status2.ini,$network,$chan),.notice $nick,msg $chan),.notice $nick) if (!$iif($remove($1,$chr(44)) == $me,$3,$2)) { if ($readini(defrsn.ini,RSNs,$nick)) { set $+(%,stats.rsn.,%ID) $readini(defrsn.ini,RSNs,$nick) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) all | sockopen $+(stats.,%ID) hiscore.runescape.com 80 } elseif (!$readini(defrsn.ini,RSNs,$nick)) { set $+(%,stats.rsn.,%ID) $nick | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) all | sockopen $+(stats.,%ID) hiscore.runescape.com 80 } } elseif ($iif($remove($1,$chr(44)) == $me,$3,$2)) { if ($chr(37) isin $iif($remove($1,$chr(44)) == $me,$3-,$2-)) { if ($chr(38) isin $iif($remove($1,$chr(44)) == $me,$3-,$2-)) { set $+(%,stats.rsn.,%ID) $iif($readini(defrsn.ini,RSNs,$remove($iif($remove($1,$chr(44)) == $me,$replace($3-,$chr(32),-),$replace($2-,$chr(32),-)),$chr(38),$chr(37))),$v1,$iif($remove($iif($remove($1,$chr(44)) == $me,$replace($3-,$chr(32),-),$replace($2-,$chr(32),-)),$chr(38),$chr(37)),$v1,$nick)) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) percent | sockopen $+(stats.,%ID) hiscore.runescape.com 80 } elseif ($chr(38) !isin $iif($remove($1,$chr(44)) == $me,$3-,$2-)) { set $+(%,stats.rsn.,%ID) $iif($remove($iif($remove($1,$chr(44)) == $me,$replace($3-,$chr(32),-),$replace($2-,$chr(32),-)),$chr(37)),$v1,$iif($readini(defrsn.ini,RSNs,$nick),$v1,$nick)) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) percent | sockopen $+(stats.,%ID) hiscore.runescape.com 80 } } elseif ($chr(60) isin $iif($remove($1,$chr(44)) == $me,$3,$2) || $chr(62) isin $iif($remove($1,$chr(44)) == $me,$3,$2)) { set $+(%,stats.rsn.,%ID) $iif($chr(38) isin $iif($remove($1,$chr(44)) == $me,$4-,$3-),$iif($readini(defrsn.ini,RSNs,$remove($iif($remove($1,$chr(44)) == $me,$replace($4-,$chr(32),-),$replace($3-,$chr(32),-)),$chr(38),$chr(60),$chr(62))),$readini(defrsn.ini,RSNs,$remove($iif($remove($1,$chr(44)) == $me,$replace($4-,$chr(32),-),$replace($3-,$chr(32),-)),$chr(38),$chr(60),$chr(62))),$nick),$remove($iif($iif($remove($1,$chr(44)) == $me,$replace($4-,$chr(32),-),$replace($3-,$chr(32),-)),$iif($remove($1,$chr(44)) == $me,$replace($4-,$chr(32),-),$replace($3-,$chr(32),-)),$iif($readini(defrsn.ini,RSNs,$nick),$readini(defrsn.ini,RSNs,$nick),$nick)),$chr(60),$chr(62))) set $+(%,stats.level.,%ID) $remove($iif($remove($1,$chr(44)) == $me,$3,$2),$chr(60),$chr(62)) set $+(%,stats.gl.,%ID) $iif($chr(60) isin $iif($remove($1,$chr(44)) == $me,$3,$2),$chr(60),$chr(62)) set $+(%,stats.number.,%ID) 1 set $+(%,stats.number.2.,%ID) 1 set $+(%,stats.type.,%ID) glthan sockopen $+(stats.,%ID) hiscore.runescape.com 80 } elseif ($chr(38) isin $iif($remove($1,$chr(44)) == $me,$3-,$2-)) { if ($readini(defrsn.ini,RSNs,$replace($iif($remove($1,$chr(44)) == $me,$remove($3-,$chr(38)),$remove($2-,$chr(38))),$chr(32),-))) { set $+(%,stats.rsn.,%ID) $readini(defrsn.ini,RSNs,$replace($iif($remove($1,$chr(44)) == $me,$remove($3-,$chr(38)),$remove($2-,$chr(38))),$chr(32),-))) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) all | sockopen $+(stats.,%ID) hiscore.runescape.com 80 } elseif (!$readini(defrsn.ini,RSNs,$replace($iif($remove($1,$chr(44)) == $me,$remove($3-,$chr(38)),$remove($2-,$chr(38))),$chr(32),-))) { notice $nick $c2($remove($iif($remove($1,$chr(44)) == $me,$3-,$2-),$chr(38))) $c1(does not have a) $c2(RSN) $c1(saved in our DataBase) } } else { set $+(%,stats.rsn.,%ID) $replace($iif($remove($1,$chr(44)) == $me,$3-,$2-),$chr(32),-) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) all | sockopen $+(stats.,%ID) hiscore.runescape.com 80 } } } on $*:TEXT:$(/^(?>\Q $+ $me $+ \E,? ?)?([!@.](pc|pest))/Si):#: { if ($readini(Status.ini,$me,$chan) == DChan && $remove($1,$chr(44)) != $me) { halt } if (* $+ $chr(36) $+ * iswm $2-) { halt } inc %ID | set $+(%,stats.display.,%ID) $iif($left($iif($remove($1,$chr(44)) == $me,$iif($nick isop #ZetaAdmins,$2),$1),1) == @,$iif($remove($1,$chr(44)) != $me && $readini(Status2.ini,$network,$chan),.notice $nick,msg $chan),.notice $nick) if (!$iif($remove($1,$chr(44)) == $me,$3,$2)) { if ($readini(defrsn.ini,RSNs,$nick)) { set $+(%,stats.rsn.,%ID) $readini(defrsn.ini,RSNs,$nick) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) pcall | sockopen $+(stats.,%ID) hiscore.runescape.com 80 } elseif (!$readini(defrsn.ini,RSNs,$nick)) { set $+(%,stats.rsn.,%ID) $nick | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) pcall | sockopen $+(stats.,%ID) hiscore.runescape.com 80 } } elseif ($iif($remove($1,$chr(44)) == $me,$3,$2)) { if ($setpc($iif($remove($1,$chr(44)) == $me,$3,$2))) { if ($chr(35) isin $iif($remove($1,$chr(44)) == $me,$4,$3)) { if ($remove($iif($remove($1,$chr(44)) == $me,$4,$3),$chr(35)) !isnum 1-99) { $($+(%,stats.display.,%ID),2) $c1(I'm sorry) $c2($nick) $c1(but you must specify a level between) $c2(1 and 99) } else { if ($chr(38) isin $iif($remove($1,$chr(44)) == $me,$5-,$4-)) { set $+(%,stats.rsn.,%ID) $iif($readini(defrsn.ini,RSNs,$remove($iif($remove($1,$chr(44)) == $me,$replace($5-,$chr(32),-),$replace($4-,$chr(32),-)),$chr(38))),$v1,$iif($remove($iif($remove($1,$chr(44)) == $me,$replace($5-,$chr(32),-),$replace($4-,$chr(32),-)),$chr(38)),$v1,$nick)) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.skill.,%ID) $setpc($iif($remove($1,$chr(44)) == $me,$3,$2)) | set $+(%,stats.level.,%ID) $iif($remove($iif($remove($1,$chr(44)) == $me,$4,$3),$chr(35)),$v1,99) | set $+(%,stats.type.,%ID) pclevelskill | sockopen $+(stats.,%ID) hiscore.runescape.com 80 } elseif ($chr(38) !isin $iif($remove($1,$chr(44)) == $me,$5-,$4-)) { set $+(%,stats.rsn.,%ID) $iif($iif($remove($1,$chr(44)) == $me,$replace($5-,$chr(32),-),$replace($4-,$chr(32),-)),$v1,$iif($readini(defRSN.ini,RSNs,$nick),$v1,$nick)) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.skill.,%ID) $setpc($iif($remove($1,$chr(44)) == $me,$3,$2)) | set $+(%,stats.level.,%ID) $iif($remove($iif($remove($1,$chr(44)) == $me,$4,$3),$chr(35)),$v1,99) | set $+(%,stats.type.,%ID) pclevelskill | sockopen $+(stats.,%ID) hiscore.runescape.com 80 } } } elseif ($chr(38) isin $iif($remove($1,$chr(44)) == $me,$4-,$3-)) { if ($readini(defrsn.ini,RSNs,$replace($iif($remove($1,$chr(44)) == $me,$remove($4-,$chr(38)),$remove($3-,$chr(38))),$chr(32),-))) { set $+(%,stats.rsn.,%ID) $readini(defrsn.ini,RSNs,$replace($iif($remove($1,$chr(44)) == $me,$remove($4-,$chr(38)),$remove($3-,$chr(38))),$chr(32),-))) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.skill.,%ID) $setpc($iif($remove($1,$chr(44)) == $me,$3,$2)) | set $+(%,stats.type.,%ID) pcskill | sockopen $+(stats.,%ID) hiscore.runescape.com 80 } elseif (!$readini(defrsn.ini,RSNs,$replace($iif($remove($1,$chr(44)) == $me,$remove($4-,$chr(38)),$remove($3-,$chr(38))),$chr(32),-))) { notice $nick $c2($remove($iif($remove($1,$chr(44)) == $me,$4-,$3-),$chr(38))) $c1(does not have a) $c2(RSN) $c1(saved in our DataBase) } } else { set $+(%,stats.rsn.,%ID) $iif($replace($iif($remove($1,$chr(44)) == $me,$4-,$3-),$chr(32),-),$v1,$iif($readini(defRSN.ini,RSNs,$nick),$v1,$nick)) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.skill.,%ID) $setpc($iif($remove($1,$chr(44)) == $me,$3,$2)) | set $+(%,stats.type.,%ID) pcskill | sockopen $+(stats.,%ID) hiscore.runescape.com 80 } } else { set $+(%,stats.rsn.,%ID) $iif($remove($1,$chr(44)) == $me,$remove($3-,$chr(32),-),$remove($2-,$chr(32),-)) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) pcall | sockopen $+(stats.,%ID) hiscore.runescape.com 80 } } } on $*:TEXT:$(/^(?>\Q $+ $me $+ \E,? ?)?([!@.](cmb|combat))/Si):#: { if ($readini(Status.ini,$me,$chan) == DChan && $remove($1,$chr(44)) != $me) { halt } if (* $+ $chr(36) $+ * iswm $2-) { halt } inc %ID | set $+(%,stats.display.,%ID) $iif($left($iif($remove($1,$chr(44)) == $me,$iif($nick isop #ZetaAdmins,$2),$1),1) == @,$iif($remove($1,$chr(44)) != $me && $readini(Status2.ini,$network,$chan),.notice $nick,msg $chan),.notice $nick) if (!$iif($remove($1,$chr(44)) == $me,$3,$2)) { if ($readini(defrsn.ini,RSNs,$nick)) { set $+(%,stats.rsn.,%ID) $readini(defrsn.ini,RSNs,$nick) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) combat | sockopen $+(stats.,%ID) hiscore.runescape.com 80 } elseif (!$readini(defrsn.ini,RSNs,$nick)) { set $+(%,stats.rsn.,%ID) $nick | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) combat | sockopen $+(stats.,%ID) hiscore.runescape.com 80 } } elseif ($iif($remove($1,$chr(44)) == $me,$3,$2)) { if ($chr(38) isin $iif($remove($1,$chr(44)) == $me,$3-,$2-)) { if ($readini(defrsn.ini,RSNs,$replace($iif($remove($1,$chr(44)) == $me,$remove($3-,$chr(38)),$remove($2-,$chr(38))),$chr(32),-))) { set $+(%,stats.rsn.,%ID) $readini(defrsn.ini,RSNs,$replace($iif($remove($1,$chr(44)) == $me,$remove($3-,$chr(38)),$remove($2-,$chr(38))),$chr(32),-))) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) combat | sockopen $+(stats.,%ID) hiscore.runescape.com 80 } elseif (!$readini(defrsn.ini,RSNs,$replace($iif($remove($1,$chr(44)) == $me,$remove($3-,$chr(38)),$remove($2-,$chr(38))),$chr(32),-))) { notice $nick $c2($remove($iif($remove($1,$chr(44)) == $me,$3-,$2-),$chr(38))) $c1(does not have a) $c2(RSN) $c1(saved in our DataBase) } } else { set $+(%,stats.rsn.,%ID) $replace($iif($remove($1,$chr(44)) == $me,$3-,$2-),$chr(32),-) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) combat | sockopen $+(stats.,%ID) hiscore.runescape.com 80 } } } on $*:TEXT:/^[!@]reqs (on|off)/Si:#: { if ($readini(Status.ini,$me,$chan) == DChan) { halt } if ($nick isop $chan) { if ($2 == on) { if ($readini(ChannelReq.ini,$chan,status)) { $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(I'm Sorry) $c2($nick) $c1(but Req checker is already on!) } elseif (!$readini(ChannelReq.ini,$chan,status)) { writeini -n ChannelReq.ini $chan status on | $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(Channel Req enforcer is now online in) $c2($chan) } } elseif ($2 == off) { if ($readini(ChannelReq.ini,$chan,status)) { remini ChannelReq.ini $chan status | $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(Channel Req enforcer is now offline in) $c2($chan) } elseif (!$readini(ChannelReq.ini,$chan,status)) { $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(I'm Sorry) $c2($nick) $c1(but Req checker is already off!) } } } } on $*:TEXT:/^[!@]banreqs /Si:#: { if ($readini(Status.ini,$me,$chan) == DChan) { halt } if ($nick isop $chan) { if ($2 == kick) { if ($readini(ChannelReq.ini,$chan,kb)) { remini ChannelReq.ini $chan kb | $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(Ban reqs are now set to kick for) $c2($chan) } elseif (!$readini(ChannelReq.ini,$chan,kb)) { $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(I'm Sorry) $c2($nick) $c1(but ban reqs are already set to kick!) } } elseif ($2 isnum 200-1000) { writeini -n ChannelReq.ini $chan kb $2 | $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(Ban reqs have been set to $2 in) $c2($chan) } else { $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(I'm Sorry) $c2($nick) $c1(but there was an error processing your request) $c2(Syntax: !/@setbanreqs Time in Seconds $+ /off) } } } on $*:TEXT:/^[!@]reqstat (on|off)/Si:#: { if ($readini(Status.ini,$me,$chan) == DChan) { halt } if ($nick isop $chan) { if ($2 == on) { if ($readini(ChannelReq.ini,$chan,msgstat)) { $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(I'm Sorry) $c2($nick) $c1(but stats messager is already on!) } elseif (!$readini(ChannelReq.ini,$chan,msgstat)) { writeini -n ChannelReq.ini $chan msgstat on | $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(stats messager is now online in) $c2($chan) } } elseif ($2 == off) { if ($readini(ChannelReq.ini,$chan,msgstat)) { remini ChannelReq.ini $chan msgstat | $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(stats messager is now offline in) $c2($chan) } elseif (!$readini(ChannelReq.ini,$chan,msgstat)) { $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(I'm Sorry) $c2($nick) $c1(but stats messager is already off!) } } } } on $*:TEXT:/^[!@]resetreqs/Si:#: { if ($readini(Status.ini,$me,$chan) == DChan) { halt } if ($nick isop $chan) { remini ChannelReq.ini $chan | $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(All Reqs for) $c2($chan) $c1(have been reset and the req enforcer has been turned off) } } on $*:TEXT:/^[!@]setreq /Si:#: { if ($readini(Status.ini,$me,$chan) == DChan) { halt } if ($nick isop $chan) { if ($setskill($2)) && ($3 isnum) { writeini -n ChannelReq.ini $chan $setskill($2) $3 | set %x 0 while ($setskill(%x)) { set $+(%,stats.req.,$chan) $($+(%,stats.req.,$chan),2) $iif($readini(ChannelReq.ini,$chan,$setskill(%x)),$c1($setskill(%x)) $c2($readini(ChannelReq.ini,$chan,$setskill(%x))),$c1($setskill(%x)) $c2(0)) | inc %x } $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(We have saved) $c2($chan $+ 's) $c1(Requirements as:) | $iif($left($1,1) == @,msg $chan,.notice $nick) $($+(%,stats.req.,$chan),2) | unset $+(%,stats.req.,$chan) } elseif ($setskill($2)) && ($3 !isnum) { $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(I'm Sorry) $c2($nick) $c1(but a channel Requirement must be a number) } else { $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(I'm Sorry) $c2($nick) $c1(but a channel Requirement must specify a valid skill) } } } on *:JOIN:#: { if ($readini(Status.ini,$me,$chan) == DChan) || ($nick == $me) { halt } if (!$readini(ChannelReq.ini,$chan,status)) { halt } else { inc %ID | set $+(%,stats.chan.,%ID) $chan | set $+(%,stats.rsn.,%ID) $remove($nick,|,[,],) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) req | sockopen $+(stats.,%ID) hiscore.runescape.com 80 } } on $*:TEXT:$(/^(?>\Q $+ $me $+ \E,? ?)?([!@.](.*))/Si):#: { if ($setskill($remove($iif($remove($1,$chr(44)) == $me,$2,$1),@,!))) && ($setskill($remove($iif($remove($1,$chr(44)) == $me,$2,$1),@,!)) != Combat) { if ($readini(Status.ini,$me,$chan) == DChan && $remove($1,$chr(44)) != $me) { halt } if (* $+ $chr(36) $+ * iswm $2-) { halt } inc %ID | set $+(%,stats.display.,%ID) $iif($left($iif($remove($1,$chr(44)) == $me,$iif($nick isop #ZetaAdmins,$2),$1),1) == @,$iif($remove($1,$chr(44)) != $me && $readini(Status2.ini,$network,$chan),.notice $nick,msg $chan),.notice $nick) | set $+(%,stats.display.2.,%ID) .notice $nick if (!$iif($remove($1,$chr(44)) == $me,$3,$2)) { if ($readini(defrsn.ini,RSNs,$nick)) { set $+(%,stats.rsn.,%ID) $readini(defrsn.ini,RSNs,$nick) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) skill | set $+(%,stats.skill.,%ID) $setskill($remove($iif($remove($1,$chr(44)) == $me,$2,$1),!,@)) | sockopen $+(stats.,%ID) hiscore.runescape.com 80 } elseif (!$readini(defrsn.ini,RSNs,$nick)) { set $+(%,stats.rsn.,%ID) $nick | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) skill | set $+(%,stats.skill.,%ID) $setskill($remove($iif($remove($1,$chr(44)) == $me,$2,$1),!,@)) | sockopen $+(stats.,%ID) hiscore.runescape.com 80 } } elseif ($iif($remove($1,$chr(44)) == $me,$3,$2)) { if ($chr(35) isin $iif($remove($1,$chr(44)) == $me,$3,$2)) { set $+(%,stats.rsn.,%ID) $iif($chr(38) isin $iif($remove($1,$chr(44)) == $me,$4-,$3-),$iif($readini(defrsn.ini,RSNs,$remove($iif($remove($1,$chr(44)) == $me,$replace($4-,$chr(32),-),$replace($3-,$chr(32),-)),$chr(38),$chr(35))),$readini(defrsn.ini,RSNs,$remove($iif($remove($1,$chr(44)) == $me,$replace($4-,$chr(32),-),$replace($3-,$chr(32),-)),$chr(38),$chr(35))),$nick),$remove($iif($iif($remove($1,$chr(44)) == $me,$replace($4-,$chr(32),-),$replace($3-,$chr(32),-)),$iif($remove($1,$chr(44)) == $me,$replace($4-,$chr(32),-),$replace($3-,$chr(32),-)),$iif($readini(defrsn.ini,RSNs,$nick),$readini(defrsn.ini,RSNs,$nick),$nick)),$chr(35))) set $+(%,stats.level.,%ID) $remove($iif($remove($1,$chr(44)) == $me,$3,$2),$chr(35)) set $+(%,stats.number.,%ID) 1 set $+(%,stats.number.2.,%ID) 1 set $+(%,stats.skill.,%ID) $setskill($remove($iif($remove($1,$chr(44)) == $me,$2,$1),!,@)) set $+(%,stats.type.,%ID) levelskill sockopen $+(stats.,%ID) hiscore.runescape.com 80 } elseif ($chr(38) isin $iif($remove($1,$chr(44)) == $me,$3-,$2-)) { if ($readini(defrsn.ini,RSNs,$replace($iif($remove($1,$chr(44)) == $me,$remove($3-,$chr(38)),$remove($2-,$chr(38))),$chr(32),-))) { set $+(%,stats.rsn.,%ID) $readini(defrsn.ini,RSNs,$replace($iif($remove($1,$chr(44)) == $me,$remove($3-,$chr(38)),$remove($2-,$chr(38))),$chr(32),-))) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) skill | set $+(%,stats.skill.,%ID) $setskill($remove($iif($remove($1,$chr(44)) == $me,$2,$1),!,@)) | sockopen $+(stats.,%ID) hiscore.runescape.com 80 } elseif (!$readini(defrsn.ini,RSNs,$replace($iif($remove($1,$chr(44)) == $me,$remove($3-,$chr(38)),$remove($2-,$chr(38))),$chr(32),-))) { notice $nick $c2($remove($iif($remove($1,$chr(44)) == $me,$3-,$2-),$chr(38))) $c1(does not have a) $c2(RSN) $c1(saved in our DataBase) } } else { set $+(%,stats.rsn.,%ID) $replace($iif($remove($1,$chr(44)) == $me,$3-,$2-),$chr(32),-) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) skill | set $+(%,stats.skill.,%ID) $setskill($remove($iif($remove($1,$chr(44)) == $me,$2,$1),!,@)) | sockopen $+(stats.,%ID) hiscore.runescape.com 80 } } } } on *:SOCKOPEN:stats.*: { var %ID = $gettok($sockname,2,46) sockwrite -nt $sockname GET /hiscorepersonal.ws?user1= $+ $($+(%,stats.rsn.,%ID),2) HTTP/1.1 sockwrite -nt $sockname Host: hiscore.runescape.com sockwrite -nt $sockname $crlf $crlf } on *:SOCKREAD:stats.*: { var %ID = $gettok($sockname,2,46) if ($sockerr) { $($+(%,stats.display.,%ID),2) Error: $sockerr Please contact Ktravaglini | cleanup %ID } else { var %templine | sockread %templine if ($setskill(%templine)) { set $+(%,stats.skill.2.,%ID) %templine } elseif (does not feature in the hiscores. You have to be in the top 1 million (for any skill) and have a minimum skill level of 30. isin %templine) { if ($($+(%,stats.type.,%ID),2) == req) { set %x 1 if (0 < $iif($readini(ChannelReq.ini,$($+(%,stats.chan.,%ID),2),Combat),$v1,0)) { inc $+(%,stats.violate.,%ID) 1 } while (%x < 25) { if (0 < $iif($readini(ChannelReq.ini,$($+(%,stats.chan.,%ID),2),$setskill(%x)),$v1,0) ) { inc $+(%,stats.violate.,%ID) 1 | inc %x } else { inc %x } } msg $($+(%,stats.chan.,%ID),2) $c1($remove(%templine,)) $c1($chr(40)) $+ $c2($iif($($+(%,stats.violate.,%ID),2),$v1,0)) $c1(Req Violations $+ $chr(41)) | $iif($($+(%,stats.violate.,%ID),2) >= 1,kick $($+(%,stats.chan.,%ID),2) $($+(%,stats.rsn.,%ID),2) You do not meet $($+(%,stats.violate.,%ID),2) of this $($+(%,stats.chan.,%ID),2) $+ 's requirements,noop) | cleanup %ID | sockclose $sockname } else { $($+(%,stats.display.,%ID),2) $c1($remove(%templine,)) | cleanup %ID | sockclose $sockname | halt } } elseif ($regex(%templine,(.*))) && (RankLevelXP !isin $regml(1)) { if ($($+(%,stats.number.,%ID),2) == 3) { set $+(%,stats.,$($+(%,stats.skill.2.,%ID),2),.exp.,%ID) $regml(1) | inc $+(%,stats.number.,%ID) 1 } if ($($+(%,stats.number.,%ID),2) == 2) { set $+(%,stats.,$($+(%,stats.skill.2.,%ID),2),.level.,%ID) $regml(1) | inc $+(%,stats.number.,%ID) 1 } if ($($+(%,stats.number.,%ID),2) == 1) { set $+(%,stats.,$($+(%,stats.skill.2.,%ID),2),.rank.,%ID) $regml(1) | inc $+(%,stats.number.,%ID) 1 } if ($($+(%,stats.number.,%ID),2) == 4) { set $+(%,stats.number.,%ID) 1 } } elseif ($regex(%templine,)) { if ($($+(%,stats.type.,%ID),2) == all) { while ($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2))) { set $+(%,stats.statline.,%ID) $($+(%,stats.statline.,%ID),2) $c1($gettok($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2)),2,46)) $c2($($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2)),2)) | inc $+(%,stats.number.2.,%ID) 1 } if (!$var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2))) { $($+(%,stats.display.,%ID),2) $c1(Stats for) $c2($($+(%,stats.rsn.,%ID),2)) $+ $c1(:) | $($+(%,stats.display.,%ID),2) $($+(%,stats.statline.,%ID),2) | cleanup %ID | sockclose $sockname } } if ($($+(%,stats.type.,%ID),2) == glthan) { while ($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2))) { if ($($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2)),2) $($+(%,stats.gl.,%ID),2) $($+(%,stats.level.,%ID),2)) { set $+(%,stats.statline.,%ID) $($+(%,stats.statline.,%ID),2) $c1($gettok($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2)),2,46)) $c2($($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2)),2)) | inc $+(%,stats.number.2.,%ID) 1 } else { inc $+(%,stats.number.2.,%ID) 1 } } if (!$var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2))) { if (!$($+(%,stats.level.,%ID),2)) { $($+(%,stats.display.,%ID),2) $c1(I'm sorry but you must speicfy a) $c2(level) $c1(to lookup) | cleanup %ID | sockclose $sockname } elseif ($($+(%,stats.level.,%ID),2) !isnum) { $($+(%,stats.display.,%ID),2) $c1(I'm sorry but) $c2(Runescape levels) $c1(have to be numbers) | cleanup %ID | sockclose $sockname } else { $($+(%,stats.display.,%ID),2) $c1(Stats for) $c2($($+(%,stats.rsn.,%ID),2)) $+ $c1(:) | $($+(%,stats.display.,%ID),2) $iif($($+(%,stats.statline.,%ID),2),$($+(%,stats.statline.,%ID),2),$c1(None of) $c2($($+(%,stats.rsn.,%ID),2)) $+ $c1('s skills are $iif($($+(%,stats.gl.,%ID),2) == >,greater than,less than)) $c2($iif($($+(%,stats.level.,%ID),2),$($+(%,stats.level.,%ID),2),nothing))) | cleanup %ID | sockclose $sockname } } } if ($($+(%,stats.type.,%ID),2) == Percent) { while ($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2))) { if ($remove($bytes($iif($gettok($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2)),2,46) != overall,$calc(($remove($($var($+(%,stats.*.exp.,%ID),$($+(%,stats.number.2.,%ID),2)),2),$chr(44)) / $xp(99)) * 100),$calc(($remove($($var($+(%,stats.*.exp.,%ID),$($+(%,stats.number.2.,%ID),2)),2),$chr(44)) / ($xp(99) * 23) * 100))),b),$chr(44)) < 101) { set $+(%,stats.statline.,%ID) $($+(%,stats.statline.,%ID),2) $c1($gettok($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2)),2,46)) $c2($bytes($iif($gettok($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2)),2,46) != overall,$calc(($remove($($var($+(%,stats.*.exp.,%ID),$($+(%,stats.number.2.,%ID),2)),2),$chr(44)) / $xp(99)) * 100),$calc(($remove($($var($+(%,stats.*.exp.,%ID),$($+(%,stats.number.2.,%ID),2)),2),$chr(44)) / ($xp(99) * 23) * 100))),b) $+ %) | inc $+(%,stats.number.2.,%ID) 1 } elseif ($remove($bytes($iif($gettok($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2)),2,46) != overall,$calc(($remove($($var($+(%,stats.*.exp.,%ID),$($+(%,stats.number.2.,%ID),2)),2),$chr(44)) / $xp(99)) * 100),$calc(($remove($($var($+(%,stats.*.exp.,%ID),$($+(%,stats.number.2.,%ID),2)),2),$chr(44)) / ($xp(99) * 23) * 100))),b),$chr(44)) > 100) { set $+(%,stats.statline.,%ID) $($+(%,stats.statline.,%ID),2) $c1($gettok($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2)),2,46)) $c2($bytes($iif($gettok($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2)),2,46) != overall,$calc(($remove($($var($+(%,stats.*.exp.,%ID),$($+(%,stats.number.2.,%ID),2)),2),$chr(44)) / 200000000) * 100),$calc(($remove($($var($+(%,stats.*.exp.,%ID),$($+(%,stats.number.2.,%ID),2)),2),$chr(44)) / 4600000000) * 100))) $+ %) | inc $+(%,stats.number.2.,%ID) 1 } } if (!$var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2))) { $($+(%,stats.display.,%ID),2) $c1(Stats for) $c2($($+(%,stats.rsn.,%ID),2)) $+ $c1(:) | $($+(%,stats.display.,%ID),2) $($+(%,stats.statline.,%ID),2) | cleanup %ID | sockclose $sockname } } if ($($+(%,stats.type.,%ID),2) == pcall) { set %x 0 while (%x <= 6) { if ($setpc(%x) == Prayer) { set %xpperpointpray $calc(($($+(%,stats.,$setpc(%x),.level.,%ID),2) * $($+(%,stats.,$setpc(%x),.level.,%ID),2)) / 12) | set %pointsneededpray $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / %xpperpointpray) | $iif(%pointsneededpray >= 100,set %pointsneededpray $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / ((%xpperpointpray * .10) + %xpperpointpray)),noop) | set %praylvl $iif($($+(%,stats.,$setpc(%x),.level.,%ID),2),$v1,0) } elseif ($setpc(%x) == Attack) { set %xpperpointatt $calc(($($+(%,stats.,$setpc(%x),.level.,%ID),2) * $($+(%,stats.,$setpc(%x),.level.,%ID),2)) / 6) | set %pointsneededatt $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / %xpperpointatt) | $iif(%pointsneededatt >= 100,set %pointsneededatt $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / ((%xpperpointatt * .10) + %xpperpointatt)),noop) | set %attlvl $iif($($+(%,stats.,$setpc(%x),.level.,%ID),2),$v1,0) } elseif ($setpc(%x) == Defence) { set %xpperpointdef $calc(($($+(%,stats.,$setpc(%x),.level.,%ID),2) * $($+(%,stats.,$setpc(%x),.level.,%ID),2)) / 6) | set %pointsneededdef $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / %xpperpointdef) | $iif(%pointsneededdef >= 100,set %pointsneededdef $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / ((%xpperpointdef * .10) + %xpperpointdef)),noop) | set %deflvl $iif($($+(%,stats.,$setpc(%x),.level.,%ID),2),$v1,0) } elseif ($setpc(%x) == Strength) { set %xpperpointstr $calc(($($+(%,stats.,$setpc(%x),.level.,%ID),2) * $($+(%,stats.,$setpc(%x),.level.,%ID),2)) / 6) | set %pointsneededstr $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / %xpperpointstr) | $iif(%pointsneededstr >= 100,set %pointsneededstr $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / ((%xpperpointstr * .10) + %xpperpointstr)),noop) | set %strlvl $iif($($+(%,stats.,$setpc(%x),.level.,%ID),2),$v1,0) } elseif ($setpc(%x) == Hitpoints) { set %xpperpointhp $calc(($($+(%,stats.,$setpc(%x),.level.,%ID),2) * $($+(%,stats.,$setpc(%x),.level.,%ID),2)) / 6) | set %pointsneededhp $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / %xpperpointhp) | $iif(%pointsneededhp >= 100,set %pointsneededhp $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / ((%xpperpointhp * .10) + %xpperpointhp)),noop) | set %hplvl $iif($($+(%,stats.,$setpc(%x),.level.,%ID),2),$v1,0) } elseif ($setpc(%x) == Ranged) { set %xpperpointrange $calc(($($+(%,stats.,$setpc(%x),.level.,%ID),2) * $($+(%,stats.,$setpc(%x),.level.,%ID),2)) / 6) | set %pointsneededrange $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / %xpperpointrange) | $iif(%pointsneededrange >= 100,set %pointsneededrange $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / ((%xpperpointrange * .10) + %xpperpointrange)),noop) | set %rangelvl $iif($($+(%,stats.,$setpc(%x),.level.,%ID),2),$v1,0) } elseif ($setpc(%x) == Magic) { set %xpperpointmage $calc(($($+(%,stats.,$setpc(%x),.level.,%ID),2) * $($+(%,stats.,$setpc(%x),.level.,%ID),2)) / 6) | set %pointsneededmage $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / %xpperpointmage) | $iif(%pointsneededmage >= 100,set %pointsneededmage $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / ((%xpperpointmage * .10) + %xpperpointmage)),noop) | set %magelvl $iif($($+(%,stats.,$setpc(%x),.level.,%ID),2),$v1,0) } inc %x } $($+(%,stats.display.,%ID),2) $c1(Pest Control Points for) $c2($($+(%,stats.rsn.,%ID),2)) $+ $c1(:) set $+(%,stats.line.1.,%ID) $c1(Attack:) $c1($chr(123)) $+ $c2(%attlvl) $+ $c1($chr(125)) $c2($bytes(%pointsneededatt,b)) $c1($chr(91)) $+ $c2($bytes(%xpperpointatt,b)) $+ $c1(xp/point $+ $chr(93)) $c1(Defence:) $c1($chr(123)) $+ $c2(%deflvl) $+ $c1($chr(125)) $c2($bytes(%pointsneededdef,b)) $c1($chr(91)) $+ $c2($bytes(%xpperpointdef,b)) $+ $c1(xp/point $+ $chr(93)) $c1(Strength:) $c1($chr(123)) $+ $c2(%strlvl) $+ $c1($chr(125)) $c2($bytes(%pointsneededstr,b)) $c1($chr(91)) $+ $c2($bytes(%xpperpointstr,b)) $+ $c1(xp/point $+ $chr(93)) set $+(%,stats.line.2.,%ID) $c1(Hitpoints:) $c1($chr(123)) $+ $c2(%hplvl) $+ $c1($chr(125)) $c2($bytes(%pointsneededhp,b)) $c1($chr(91)) $+ $c2($bytes(%xpperpointhp,b)) $+ $c1(xp/point $+ $chr(93)) $c1(Magic:) $c1($chr(123)) $+ $c2(%magelvl) $+ $c1($chr(125)) $c2($bytes(%pointsneededmage,b)) $c1($chr(91)) $+ $c2($bytes(%xpperpointmage,b)) $+ $c1(xp/point $+ $chr(93)) $c1(Ranged:) $c1($chr(123)) $+ $c2(%rangelvl) $+ $c1($chr(125)) $c2($bytes(%pointsneededrange,b)) $c1($chr(91)) $+ $c2($bytes(%xpperpointrange,b)) $+ $c1(xp/point $+ $chr(93)) $c1(Prayer:) $c1($chr(123)) $+ $c2(%praylvl) $+ $c1($chr(125)) $c2($bytes(%pointsneededpray,b)) $c1($chr(91)) $+ $c2($bytes(%xpperpointpray,b)) $+ $c1(xp/point $+ $chr(93)) $($+(%,stats.display.,%ID),2) $($+(%,stats.line.1.,%ID),2) $($+(%,stats.line.2.,%ID),2) | cleanup %ID | sockclose $sockname } if ($($+(%,stats.type.,%ID),2) == skill) { tokenize 32 $($+(%,stats.,$($+(%,stats.skill.,%ID),2),.rank.,%ID),2) $($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2) $($+(%,stats.,$($+(%,stats.skill.,%ID),2),.exp.,%ID),2) $xp2next($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2),$remove($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2) + 1)) if ($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2)) { $($+(%,stats.display.,%ID),2) $c2($($+(%,stats.skill.,%ID),2)) $c1(stats for) $c2($($+(%,stats.rsn.,%ID),2)) $+ $c1(:) if ($($+(%,stats.skill.,%ID),2) != Overall) { if ($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2) < 99) { set $+(%,stats.number.,%ID) 1 if ($setmelee($($+(%,stats.skill.,%ID),2))) { $($+(%,stats.display.,%ID),2) $c1(Rank:) $c2($1) $c1(Level:) $c2($2) $c1(Exp): $c2($3) $+($c1($chr(40)),$c2($bytes($calc(($remove($3,$chr(44)) / $xp(99)) * 100),3d) $+ %) $c1(of) $c2(99),$c1($chr(41))) $c1(Exp to level) $c2($calc($2 + 1)) $+ $c1(:) $c2($bytes($4,b)) $+($c1($chr(40)),$c2($bytes($calc((($5 - $xp($2)) - $4) / ($5 - $xp($2)) * 100),d3) $+ %) $c1(to level) $c2($calc($2 + 1)),$c1($chr(41))) $c1(Damage To Deal For Level) $c2($calc($2 + 1)) $+ $c1(:) $c2($bytes($calc($4 / 4),b)) } elseif ($sethp($($+(%,stats.skill.,%ID),2))) { $($+(%,stats.display.,%ID),2) $c1(Rank:) $c2($1) $c1(Level:) $c2($2) $c1(Exp): $c2($3) $+($c1($chr(40)),$c2($bytes($calc(($remove($3,$chr(44)) / $xp(99)) * 100),3d) $+ %) $c1(of) $c2(99),$c1($chr(41))) $c1(Exp to level) $c2($calc($2 + 1)) $+ $c1(:) $c2($bytes($4,b)) $+($c1($chr(40)),$c2($bytes($calc((($5 - $xp($2)) - $4) / ($5 - $xp($2)) * 100),d3) $+ %) $c1(to level) $c2($calc($2 + 1)),$c1($chr(41))) $c1(Damage To Deal For Level) $c2($calc($2 + 1)) $+ $c1(:) $c2($bytes($calc($4 / (4 / 3)),b)) } else { $($+(%,stats.display.,%ID),2) $c1(Rank:) $c2($1) $c1(Level:) $c2($2) $c1(Exp): $c2($3) $+($c1($chr(40)),$c2($bytes($calc(($remove($3,$chr(44)) / $xp(99)) * 100),3d) $+ %) $c1(of) $c2(99),$c1($chr(41))) $c1(Exp to level) $c2($calc($2 + 1)) $+ $c1(:) $c2($bytes($4,b)) $+($c1($chr(40)),$c2($bytes($calc((($5 - $xp($2)) - $4) / ($5 - $xp($2)) * 100),d3) $+ %) $c1(to level) $c2($calc($2 + 1)),$c1($chr(41))) } while ($($+(%,stats.number.,%ID),2) <= 9) { set $+(%,stats.2next.,%ID) $($+(%,stats.2next.,%ID),2) $c1($replace($gettok($readini(exp.ini,$($+(%,stats.skill.,%ID),2),$($+(%,stats.number.,%ID),2)),2-,32),-,$chr(32)) $+ :) $c2($bytes($calc($4 / $gettok($readini(exp.ini,$($+(%,stats.skill.,%ID),2),$($+(%,stats.number.,%ID),2)),1,32)),b)) | inc $+(%,stats.number.,%ID) } $($+(%,stats.display.2.,%ID),2) $c1() $($+(%,stats.2next.,%ID),2) | cleanup %ID | sockclose $sockname } elseif ($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2) >= 99) { $($+(%,stats.display.,%ID),2) $c1(Rank:) $c2($1) $c1(Level:) $c2($2) $c1(Exp): $c2($3) | cleanup %ID | sockclose $sockname } } elseif ($($+(%,stats.skill.,%ID),2) == Overall) { $($+(%,stats.display.,%ID),2) $c1(Rank:) $c2($1) $c1(Level:) $c2($2) $c1(Exp): $c2($3) | cleanup %ID | sockclose $sockname } } elseif (!$($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2)) { $($+(%,stats.display.,%ID),2) $c2($($+(%,stats.rsn.,%ID),2)) $c1(does not feature in the hiscores for $($+(%,stats.skill.,%ID),2) $+ . You have to be in the top 1 million (for any skill) and have a minimum skill level of 30.) | cleanup %ID | sockclose $sockname } } if ($($+(%,stats.type.,%ID),2) == levelskill) { tokenize 32 $($+(%,stats.,$($+(%,stats.skill.,%ID),2),.rank.,%ID),2) $($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2) $($+(%,stats.,$($+(%,stats.skill.,%ID),2),.exp.,%ID),2) $bytes($calc($xp($($+(%,stats.level.,%ID),2)) - $remove($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.exp.,%ID),2),$chr(44))),b) $xp($($+(%,stats.level.,%ID),2)) if ($($+(%,stats.level.,%ID),2) > 99) { $($+(%,stats.display.,%ID),2) $c1(Runescape levels can only be between) $c2(1) $c1(and) $c2(99) | cleanup %ID | sockclose $sockname | halt } elseif ($($+(%,stats.level.,%ID),2) < $2) { $($+(%,stats.display.,%ID),2) $c1(You cant specify a level lower than your own) $c2(Runescape) $c1(level in) $c2($($+(%,stats.skill.,%ID),2)) | cleanup %ID | sockclose $sockname | halt } elseif ($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2)) { $($+(%,stats.display.,%ID),2) $c2($($+(%,stats.skill.,%ID),2)) $c1(stats for) $c2($($+(%,stats.rsn.,%ID),2)) $+ $c1(:) if ($($+(%,stats.skill.,%ID),2) != Overall) { if ($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2) < 99) { set $+(%,stats.number.,%ID) 1 if ($setmelee($($+(%,stats.skill.,%ID),2))) { $($+(%,stats.display.,%ID),2) $c1(Rank:) $c2($1) $c1(Level:) $c2($2) $c1(Exp): $c2($3) $+($c1($chr(40)),$c2($bytes($calc(($remove($3,$chr(44)) / $xp(99)) * 100),3d) $+ %) $c1(of) $c2(99),$c1($chr(41))) $c1(Exp To level) $c2($($+(%,stats.level.,%ID),2)) $+ $c1(:) $c2($4) $+($c1($chr(40)),$c2($bytes($calc((($5 - $xp($2)) - $remove($4,$chr(44))) / ($5 - $xp($2)) * 100),d3) $+ %) $c1(to level) $c2($($+(%,stats.level.,%ID),2)),$c1($chr(41))) $c1(Damage To Deal For Level) $c2($calc($2 + 1)) $+ $c1(:) $c2($bytes($calc($remove($4,$chr(44)) / 4),b)) } elseif ($sethp($($+(%,stats.skill.,%ID),2))) { $($+(%,stats.display.,%ID),2) $c1(Rank:) $c2($1) $c1(Level:) $c2($2) $c1(Exp): $c2($3) $+($c1($chr(40)),$c2($bytes($calc(($remove($3,$chr(44)) / $xp(99)) * 100),3d) $+ %) $c1(of) $c2(99),$c1($chr(41))) $c1(Exp To level) $c2($($+(%,stats.level.,%ID),2)) $+ $c1(:) $c2($4) $+($c1($chr(40)),$c2($bytes($calc((($5 - $xp($2)) - $remove($4,$chr(44))) / ($5 - $xp($2)) * 100),d3) $+ %) $c1(to level) $c2($($+(%,stats.level.,%ID),2)),$c1($chr(41))) $c1(Damage To Deal For Level) $c2($calc($2 + 1)) $+ $c1(:) $c2($bytes($calc($remove($4,$chr(44)) / (4 / 3)),b)) } else { $($+(%,stats.display.,%ID),2) $c1(Rank:) $c2($1) $c1(Level:) $c2($2) $c1(Exp): $c2($3) $+($c1($chr(40)),$c2($bytes($calc(($remove($3,$chr(44)) / $xp(99)) * 100),3d) $+ %) $c1(of) $c2(99),$c1($chr(41))) $c1(Exp To level) $c2($($+(%,stats.level.,%ID),2)) $+ $c1(:) $c2($4) $+($c1($chr(40)),$c2($bytes($calc((($5 - $xp($2)) - $remove($4,$chr(44))) / ($5 - $xp($2)) * 100),d3) $+ %) $c1(to level) $c2($($+(%,stats.level.,%ID),2)),$c1($chr(41))) } while ($($+(%,stats.number.,%ID),2) <= 9) { set $+(%,stats.2next.,%ID) $($+(%,stats.2next.,%ID),2) $c1($replace($gettok($readini(exp.ini,$($+(%,stats.skill.,%ID),2),$($+(%,stats.number.,%ID),2)),2-,32),-,$chr(32)) $+ :) $c2($bytes($calc($remove($4,$chr(44)) / $gettok($readini(exp.ini,$($+(%,stats.skill.,%ID),2),$($+(%,stats.number.,%ID),2)),1,32)),b)) | inc $+(%,stats.number.,%ID) } $($+(%,stats.display.2.,%ID),2) $c1() $($+(%,stats.2next.,%ID),2) | cleanup %ID | sockclose $sockname } elseif ($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2) >= 99) { $($+(%,stats.display.,%ID),2) $c1(Rank:) $c2($1) $c1(Level:) $c2($2) $c1(Exp): $c2($3) | cleanup %ID | sockclose $sockname } } elseif ($($+(%,stats.skill.,%ID),2) == Overall) { $($+(%,stats.display.,%ID),2) $c1(Rank:) $c2($1) $c1(Level:) $c2($2) $c1(Exp): $c2($3) | cleanup %ID | sockclose $sockname } } elseif (!$($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2)) { $($+(%,stats.display.,%ID),2) $c2($($+(%,stats.rsn.,%ID),2)) $c1(does not feature in the hiscores for $($+(%,stats.skill.,%ID),2) $+ . You have to be in the top 1 million (for any skill) and have a minimum skill level of 30.) | cleanup %ID | sockclose $sockname } } if ($($+(%,stats.type.,%ID),2) == pcskill) { tokenize 32 $($+(%,stats.,$($+(%,stats.skill.,%ID),2),.rank.,%ID),2) $($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2) $($+(%,stats.,$($+(%,stats.skill.,%ID),2),.exp.,%ID),2) $xp2next($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2),$remove($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2) + 1)) if ($2 < 99) { $iif($($+(%,stats.type.,%ID),2) == Prayer,set %xpperpoint $calc(($2 * $2) / 12),set %xpperpoint $calc(($2 * $2) / 6)) | $iif($calc($remove($4,$chr(44)) / %xpperpoint) < 100, set %pointsneeded $v1,set %pointsneeded $calc($remove($4,$chr(44)) / ((%xpperpoint * .10) + %xpperpoint))) | $($+(%,stats.display.,%ID),2) $c1(RSN:) $c2($($+(%,stats.rsn.,%ID),2)) $c1(Skill:) $c2($($+(%,stats.skill.,%ID),2)) $c1(Level:) $c2($bytes($2,b)) $c1(PC Points Needed for level) $c2($bytes($calc($2 + 1),b)) $+ $c1(:) $c2($bytes(%pointsneeded,b)) $c1(Exp/point:) $c2($bytes(%xpperpoint,b)) | cleanup %ID | sockclose $sockname } elseif ($2 > 98) { $($+(%,stats.display.,%ID),2) $c1(I'm Sorry but) $c2(%rsn) $c1(has level 99 in) $c2(%skill) $c1(and can no longer level up) | cleanup %ID | sockclose $sockname } } elseif ($($+(%,stats.type.,%ID),2) == pclevelskill) { tokenize 32 $($+(%,stats.,$($+(%,stats.skill.,%ID),2),.rank.,%ID),2) $($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2) $($+(%,stats.,$($+(%,stats.skill.,%ID),2),.exp.,%ID),2) $xp2next($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2),$remove($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2) + 1)) if ($2 < 99) { if ($($+(%,stats.level.,%ID),2) > $2) { $iif($($+(%,stats.skill.,%ID),2) == Prayer,set %xpperpoint $calc(((($($+(%,stats.level.,%ID),2) + $2) / 2) * (($($+(%,stats.level.,%ID),2) + $2) / 2)) / 12),set %xpperpoint $calc(((($($+(%,stats.level.,%ID),2) + $2) / 2) * (($($+(%,stats.level.,%ID),2) + $2) / 2)) / 6)) | $iif($calc(($xp($($+(%,stats.level.,%ID),2)) - $remove($3,$chr(44))) / %xpperpoint) < 100,set %pointsneeded $calc(($xp($($+(%,stats.level.,%ID),2)) - $remove($3,$chr(44))) / %xpperpoint),set %pointsneeded $calc(($xp($($+(%,stats.level.,%ID),2)) - $remove($3,$chr(44))) / ((%xpperpoint * .10) + %xpperpoint)))) $($+(%,stats.display.,%ID),2) $c1(RSN:) $c2($($+(%,stats.rsn.,%ID),2)) $c1(Skill:) $c2($($+(%,stats.skill.,%ID),2)) $c1(Level:) $c2($2) $c1(PC Points Needed for level) $c2($($+(%,stats.level.,%ID),2)) $+ $c1(:) $c2($bytes(%pointsneeded,b)) $c1(Exp/point:) $c2($bytes(%xpperpoint,b)) | cleanup %ID | sockclose $sockname } elseif ($($+(%,stats.level.,%ID),2) >= $2) { %display $c1(I'm sorry but) $c2($($+(%,stats.level.,%ID),2)) $c1(is greater than) $c2($($+(%,stats.rsn.,%ID),2) $+ 's) $c1(level in) $c2($($+(%,stats.skill.,%ID),2)) | cleanup %ID | sockclose $sockname } } elseif ($2 > 98) { $($+(%,stats.display.,%ID),2) $c1(I'm Sorry but) $c2($($+(%,stats.rsn.,%ID),2)) $c1(has level 99 in) $c2($($+(%,stats.skill.,%ID),2)) $c1(and can no longer level up) | cleanup %ID | sockclose $sockname } } if ($($+(%,stats.type.,%ID),2) == combat) { var %a.mult = .32707, %s.mult = .324, %d.mult = .25, %h.mult = .25, %p.mult = .124, %r.mult = .487, %m.mult = .487 set %a $iif($($+(%,stats.Attack.level.,%ID),2),$v1,-) | set %s $iif($($+(%,stats.Strength.level.,%ID),2),$v1,-) | set %d $iif($($+(%,stats.Defence.level.,%ID),2),$v1,-) | set %h $iif($($+(%,stats.hitpoints.level.,%ID),2),$v1,-) | set %r $iif($($+(%,stats.ranged.level.,%ID),2),$v1,-) | set %m $iif($($+(%,stats.magic.level.,%ID),2),$v1,-) | set %p $iif($($+(%,stats.prayer.level.,%ID),2),$v1,-) if (%a !isnum) && (%s !isnum) && (%d !isnum) && (%h !isnum) && (%h !isnum) && (%r !isnum) && (%p !isnum) { $($+(%,stats.display.,%ID),2) $c2($($+(%,stats.rsn.,%ID),2)) $c1(does not appear in any combat skills) | halt } set %meleecombat $calc(%a * %a.mult + %s * %s.mult + %d * %d.mult + %h * %h.mult + %p * %p.mult) | set %RangedCombat $calc(%r * %r.mult + %p * %p.mult + %d * %d.mult + %h * %h.mult) | set %MagicCombat $calc(%m * %m.mult + %p * %p.mult + %d * %d.mult + %h * %h.mult) if (%MagicCombat == %RangedCombat) && (%MagicCombat == %RangedCombat) { var %cmbstyle = Balanced, %combat = %MeleeCombat } elseif (%MagicCombat > %RangedCombat) && (%MagicCombat > %MeleeCombat) { var %cmbstyle = Magic, %Combat = %MagicCombat } elseif (%RangedCombat > %MeleeCombat) { var %cmbstyle = Ranged, %Combat = %RangedCombat } else { var %cmbstyle = Melee, %combat = %MeleeCombat } set %cmb.temp $abs($calc($int($calc(%combat +1)) - %combat)) | set %a.2lvl $ceil($calc(%cmb.temp / %a.mult)) | set %s.2lvl $ceil($calc(%cmb.temp / %s.mult)) | set %d.2lvl $ceil($calc(%cmb.temp / %d.mult)) | set %m.2lvl $ceil($calc(%cmb.temp / %m.mult)) | set %r.2lvl $ceil($calc(%cmb.temp / %r.mult)) | set %p.2lvl $ceil($calc(%cmb.temp / %p.mult)) if (%cmbstyle == magic) { var %dynamic.2lvl = $c1(Magic:) $c2(%m.2lvl) } elseif (%cmbstyle == Ranged) { var %dynamic.2lvl = $c1(Ranged:) $c2(%r.2lvl) } else { var %dynamic.2lvl = $c1(Att:) $c2(%a.2lvl) $c1(Str:) $c2(%s.2lvl) } set %combat $round(%combat,2) $($+(%,stats.display.,%ID),2) $c2($($+(%,stats.rsn.,%ID),2)) $c1(is level) $c2($bytes(%combat,5d)) $c1([) $+ $c2($bytes($calc((%combat / 126) * 100),b) $+ %) $+ $c1(]) $c1($chr(40)) $+ $c2(%cmbstyle style) $+ $c1($chr(41)) | $($+(%,stats.display.,%ID),2) $c1(Attack:) $c2(%a) $c1(Defence:) $c2(%d) $c1(Strength:) $c2(%s) $c1(Hits:) $c2(%h) $c1(Mage:) $c2(%m) $c1(Range:) $c2(%r) $c1(Pray:) $c2(%p) if (%combat < 126) { $($+(%,stats.display.,%ID),2) $c1(Levels for) $c2($calc($int(%combat) + 1)) $+ $c1(:) %dynamic.2lvl $c1(Def/Hp:) $c2(%d.2lvl) $c1(Prayer:) $c2(%p.2lvl) | cleanup %ID | cleancmb %ID | sockclose $sockname } elseif (%combat >= 127) { cleancmb %ID | sockclose $sockname } } if ($($+(%,stats.type.,%ID),2) == req) { var %a.mult = .32707, %s.mult = .324, %d.mult = .25, %h.mult = .25, %p.mult = .124, %r.mult = .487, %m.mult = .487 set %a $iif($($+(%,stats.Attack.level.,%ID),2),$v1,-) | set %s $iif($($+(%,stats.Strength.level.,%ID),2),$v1,-) | set %d $iif($($+(%,stats.Defence.level.,%ID),2),$v1,-) | set %h $iif($($+(%,stats.hitpoints.level.,%ID),2),$v1,-) | set %r $iif($($+(%,stats.ranged.level.,%ID),2),$v1,-) | set %m $iif($($+(%,stats.magic.level.,%ID),2),$v1,-) | set %p $iif($($+(%,stats.prayer.level.,%ID),2),$v1,-) set %meleecombat $calc(%a * %a.mult + %s * %s.mult + %d * %d.mult + %h * %h.mult + %p * %p.mult) | set %RangedCombat $calc(%r * %r.mult + %p * %p.mult + %d * %d.mult + %h * %h.mult) | set %MagicCombat $calc(%m * %m.mult + %p * %p.mult + %d * %d.mult + %h * %h.mult) if (%MagicCombat == %RangedCombat) && (%MagicCombat == %RangedCombat) { var %cmbstyle = Balanced, %combat = %MeleeCombat } elseif (%MagicCombat > %RangedCombat) && (%MagicCombat > %MeleeCombat) { var %cmbstyle = Magic, %Combat = %MagicCombat } elseif (%RangedCombat > %MeleeCombat) { var %cmbstyle = Ranged, %Combat = %RangedCombat } else { var %cmbstyle = Melee, %combat = %MeleeCombat } set %combat $bytes(%combat,3d) | set %x 0 if ($iif(%combat,$v1,0) < $iif($readini(ChannelReq.ini,$($+(%,stats.chan.,%ID),2),Combat),$v1,0)) { inc $+(%,stats.violate.,%ID) 1 } while (%x < 25) { if ($iif($($+(%,stats.,$setskill(%x),.level.,%ID),2),$v1,0) < $iif($readini(ChannelReq.ini,$($+(%,stats.chan.,%ID),2),$setskill(%x)),$v1,0) ) { inc $+(%,stats.violate.,%ID) 1 | inc %x } else { inc %x } } while ($($+(%,stats.number.2.,%ID),2) < 8) { if ($($+(%,stats.,$setskill($($+(%,stats.number.2.,%ID),2)),.level.,%ID),2)) { set $+(%,stats.statline.,%ID) $($+(%,stats.statline.,%ID),2) $c1($setskill($($+(%,stats.number.2.,%ID),2)) $+ :) $c2($($+(%,stats.,$setskill($($+(%,stats.number.2.,%ID),2)),.level.,%ID),2)) | inc $+(%,stats.number.2.,%ID) 1 } else { inc $+(%,stats.number.2.,%ID) 1 } } msg $($+(%,stats.chan.,%ID),2) $c2($($+(%,stats.rsn.,%ID),2)) $c1(has) $c2($iif($($+(%,stats.violate.,%ID),2),$v1,0)) $c1(Req Violations) | $iif($readini(ChannelReq.ini,$($+(%,stats.chan.,%ID),2),msgstat),msg $($+(%,stats.chan.,%ID),2) $c1(Combat) $c2(%combat) $c1([) $+ $c2($bytes($calc((%combat / 126) * 100),b) $+ %) $+ $c1(]) $c1($chr(40)) $+ $c2(%cmbstyle style) $+ $c1($chr(41)) $($+(%,stats.statline.,%ID),2),noop) | $iif($($+(%,stats.violate.,%ID),2) >= 1,$iif($readini(ChannelReq.ini,$($+(%,stats.chan.,%ID),2),kb),ban -ku $+ $v1 $($+(%,stats.chan.,%ID),2) $($+(%,stats.rsn.,%ID),2) You do not meet $($+(%,stats.violate.,%ID),2) of this $($+(%,stats.chan.,%ID),2) $+ 's requirements,kick $($+(%,stats.chan.,%ID),2) $($+(%,stats.rsn.,%ID),2) You do not meet $($+(%,stats.violate.,%ID),2) of this $($+(%,stats.chan.,%ID),2) $+ 's requirements),noop) | sockclose $sockname } } } } alias cleanup { unset $+(%,stats.*.,$1-) } alias cleancmb { unset %a | unset %s | unset %d | unset %h | unset %r | unset %m | unset %p | unset %meleecombat | unset %RangedCombat | unset %MagicCombat | unset %cmb.temp | unset %a.2lvl | unset %s.2lvl | unset %d.2lvl | unset %m.2lvl | unset %r.2lvl | unset %p.2lvl }