alias -l c1 { return $+($chr(3),03,$1-) } alias -l c2 { return $+($chr(3),12,$1-) } on *:TEXT:*:#: { if ($left($strip($1),1) !isin @!.) || ($regex($strip($1),/(=|[^<]*>|<[^>]*>|<[^>]|[0-9]|$chr(95))/Si)) { halt } if ($right($1,-1) == defname) && ($2-) && ($len($2-) <= 12) { writeini DefRSN.ini RSNs $mask($fulladdress,3) $replace($2-,$chr(32),-) notice $nick $c1(your nickname for the adress) $c2($mask($fulladdress,3)) $c1(has been set to) $c2($2-) halt } inc %ID 1 if ($right($strip($1),-1) == stats) set $+(%,rs.style.,%ID) stats elseif ($regex($strip($1),/co?mb(at)?/Si)) set $+(%,rs.style.,%ID) combat elseif ($setskill($remove($strip($1),@,!,.))) set $+(%,rs.style.,%ID) single else halt if ($len($2-) > 12) { $iif($left($1,1) == @,msg $chan,notice $nick) $c1(The nickname) $c2($2-) $c1(is too long) | halt } if ($2) set $+(%,rs.rsn.,%ID) $replace($2-,$chr(32),$chr(95)) elseif ($readini(DefRSN.ini,RSNs,$mask($fulladdress,3))) set $+(%,rs.rsn.,%ID) $ifmatch elseif ($readini(DefRSN.ini,RSNs,$nick)) set $+(%,rs.rsn.,%ID) $ifmatch else set $+(%,rs.rsn.,%ID) $nick set $+(%,rs.skill.,%ID) $setskill($remove($strip($1),@,!,.)) set $+(%,rs.return.,%ID) $iif($left($1,1) == @,msg $chan,notice $nick) sockopen $+(rsh.,%ID) hiscore.runescape.com 80 } on *:SOCKOPEN:rsh.*:{ var %ID = $gettok($sockname,2,46) sockwrite -nt $sockname GET /lang/en/aff/runescape/hiscorepersonal.ws?user1= $+ $($+(%,rs.rsn.,%ID),2) HTTP/1.0 sockwrite -nt $sockname Host: hiscore.runescape.com $+ $str($crlf,2) } on *:SOCKREAD:rsh.*:{ if ($sockerr) { echo -a Error. | halt } var %ID = $gettok($sockname,2,46), $& %style = $($+(%,rs.style.,%ID),2), $& %target = $($+(%,rs.rsn.,%ID),2), $& %display = $($+(%,rs.return.,%ID),2), $& %skill = $($+(%,rs.skill.,%ID),2) sockread &source bwrite $sockname -1 -1 &source if ($bfind(&source,1,does not feature in the hiscores).text) { %display $c1(The username) $c2(%target) $c1(did not have the skills or single skill you specified featured in the RuneScape highscores. Please make sure that you spell the name of the user correctly. CohortBot will be unable to find what you are looking for if you do not.) | remove $sockname | sockclose $sockname | halt } bread $sockname 1 $file($sockname).size $+(&,$sockname) var %stat, %x = 1 while (%x) { var %x = $bfind($+(&,$sockname),$calc(%x + 1), %rcombat) && (%mcombat > %macombat) { return $calc(%mcombat + %base) Melee Based } elseif (%rcombat > %mcombat) && (%rcombat > %macombat) { return $calc(%rcombat + %base) Ranged Based } elseif (%macombat > %mcombat) && (%macombat > %rcombat) { return $calc(%macombat + %base) Magic Based } } alias -l htmlfree { var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x,&) | return %x } alias -l comma { Var %a, %b = $regsub($ticks,$$1,/\G([+-]?\d+?)(?=(?:\d{3})++(?=\.\d++$|$))/g,\1 $+ $chr(44),%a) | Return %a } alias -l xp2Next { var %xp = $remove($2,$chr(44)), %nextxp = $xp($calc($1 + 1)) | return $calc(%nextxp - %xp) } alias -l 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 -l setskill { if ($1 == 0) || ($regex($1,/^(st|(skill)?total|overall)$/Si)) return Overall elseif ($1 == 1) || ($regex($1,/^at(t|k|tack)$/Si)) return Attack elseif ($1 == 2) || ($regex($1,/^def(en[cs]e)?$$/Si)) return Defence elseif ($1 == 3) || ($regex($1,/^str(ength)?$/Si)) return Strength elseif ($1 == 4) || ($regex($1,/^hp|hit(s|points?)?$/Si)) return Hitpoints elseif ($1 == 5) || ($regex($1,/^range(r|d|ing)?$/Si)) return Ranged elseif ($1 == 6) || ($regex($1,/^Pray(er)?$$/Si)) return Prayer elseif ($1 == 7) || ($regex($1,/^mag(e|ic)$$/Si)) return Magic elseif ($1 == 8) || ($regex($1,/^cook(ing)?$/Si)) return Cooking elseif ($1 == 9) || ($regex($1,/^wc|wood(cut(ting)?)?$/Si)) return Woodcutting elseif ($1 == 10) || ($regex($1,/^fletch(ing)?$/Si)) return Fletching elseif ($1 == 11) || ($regex($1,/^fish(ing)?$/Si)) return Fishing elseif ($1 == 12) || ($regex($1,/^(fire|fm)(make?(ing)?|ing)?$/Si)) return Firemaking elseif ($1 == 13) || ($regex($1,/^craft(ing)?$/Si)) return Crafting elseif ($1 == 14) || ($regex($1,/^(smith|smelt)(ing)?$/Si)) return Smithing elseif ($1 == 15) || ($regex($1,/^mine(ing)?$/Si)) return Mining elseif ($1 == 16) || ($regex($1,/^herb(law|lore)?$/Si)) return Herblore elseif ($1 == 17) || ($regex($1,/^agil(ity)?$/Si)) return Agility elseif ($1 == 18) || ($regex($1,/^(th(ei|ie)[fv](e|ing)?)$/Si)) return Thieving elseif ($1 == 19) || ($regex($1,/^slay(er|ing)?$/Si)) return Slayer elseif ($1 == 20) || ($regex($1,/^farm(er|ing)?$/Si)) return Farming elseif ($1 == 21) || ($regex($1,/^(rc|runecraft)(er|ing)?$/Si)) return Runecraft elseif ($1 == 22) || ($regex($1,/^(construct)(ion|ing)?$/si)) return Construction elseif ($1 == 23) || ($regex($1,/^(hunt)(er|ing)?$/si)) return Hunter