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 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 $+(rs.,%ID) hiscore.runescape.com 80 } on *:SOCKOPEN:rs.*:{ 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:rs.*:{ 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 nickname:) $c2(%target) $c1(did not feature in runescape highscores for any skill!) | 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,/^(hunt)(er|ing)?$/si)) return Hunter elseif ($1 == 23) || ($regex($1,/^(con)(struc?tion)?$/si)) return Construction } ALIAS F7 { /dialog -miedo combat.main combat.main } menu * { Combat stats:/dialog -meido combat.main combat.main } dialog combat.main { title "Combat Stats Dialog" size -1 -1 182 79 option dbu button "Lookup", 1, 7 8 37 12 button "Channels", 2, 7 25 37 12 button "Close", 3, 7 41 37 12 box "Combat Stats", 4, 55 8 113 56 edit "", 5, 80 17 20 10 text "Attack", 6, 59 18 20 8 text "Strength", 7, 58 28 23 8 text "Defence", 8, 57 38 25 8 text "Hitpoints", 9, 56 48 25 8 text "Combat", 10, 105 53 25 8 text "Mage", 11, 109 18 25 8 text "Range", 12, 109 29 25 8 text "Prayer", 13, 107 38 25 8 edit "", 14, 80 27 20 10 edit "", 15, 80 37 20 10 edit "", 16, 127 17 20 10 edit "", 17, 80 47 20 10 edit "", 18, 133 52 20 10 edit "", 19, 127 38 20 10 edit "", 20, 127 28 20 10 } dialog combat.results { title "Combat Stats Dialog" size -1 -1 182 79 option dbu button "OK", 1, 7 8 37 12 box "Combat Stats", 4, 55 8 113 56 edit "", 5, 80 17 20 10 text "Attack", 6, 59 18 20 8 text "Strength", 7, 58 28 23 8 text "Defence", 8, 57 38 25 8 text "Hitpoints", 9, 56 48 25 8 text "Combat", 10, 105 53 25 8 text "Mage", 11, 109 18 25 8 text "Range", 12, 109 29 25 8 text "Prayer", 13, 107 38 25 8 edit "", 14, 80 27 20 10 edit "", 15, 80 37 20 10 edit "", 16, 127 17 20 10 edit "", 17, 80 47 20 10 edit "", 18, 133 52 20 10 edit "", 19, 127 38 20 10 edit "", 20, 127 28 20 10 } dialog combat.who { title "Enter RSN" size -1 -1 130 58 option dbu edit "", 1, 15 14 83 10 text "RSN:", 2, 16 6 25 8 button "OK", 3, 13 28 37 12 button "Cancel", 4, 59 28 37 12 } dialog channels { title "Enter RSN" size -1 -1 108 58 option dbu button "#[-God-]", 3, 13 10 37 12 button "#RsTalk", 4, 13 25 37 12 button "#FastPcw", 1, 13 40 37 12 button "Back", 2, 57 10 37 12 } dialog error.nonick { title "ERROR: no nick entered" size -1 -1 108 36 option dbu button "Retry", 1, 12 10 37 12 button "Cancel", 2, 57 10 37 12 } on *:dialog:combat.main:sclick:3: { /combat.die unset %user unset %attack.search unset %strength.search unset %defence.search unset %hp.search unset %mage.search unset %range.search unset %prayer.search unset %combat } on *:dialog:combat.main:sclick:2: { /dialog -x combat.main combat.main /dialog -m channels channels } on *:dialog:combat.main:sclick:1: { /dialog -x combat.main combat.main unset %user unset %attack.search unset %strength.search unset %defence.search unset %hp.search unset %mage.search unset %range.search unset %prayer.search unset %combat /dialog -m combat.who combat.who } on *:dialog:channels:sclick:3: { /join #[-God-] } on *:dialog:channels:sclick:4: { /join #RsTalk } on *:dialog:channels:sclick:1: { /join #FastPcw } on *:dialog:channels:sclick:2: { /dialog -x channels channels /dialog -m combat.main combat.main } on *:dialog:combat.who:sclick:4: { /dialog -x combat.who combat.who /dialog -m combat.main combat.main } on *:dialog:combat.who:sclick:3: { if ($did(1) == $null) { dialog -x combat.who combat.who dialog -m error.nonick error.nonick } else { set %user $replace($did(1),$chr(32),_) sockopen combat www.slushpuppy.silverinterlocution.org 80 /dialog -x combat.who combat.who /dialog -miedo combat.results combat.results } } on *:dialog:error.nonick:sclick:2: { /dialog -x error.nonick error.nonick /dialog -m combat.main combat.main } on *:dialog:error.nonick:sclick:1: { /dialog -x error.nonick error.nonick /dialog -m combat.who combat.who } on *:dialog:combat.results:sclick:1: { /dialog -x combat.results combat.results /dialog -m combat.main combat.main } alias combat.die { var %i 182 while (%i >= 0) { dialog -srb combat.main -1 -1 %i %i var %t 1 while (%t <= 79) inc %t dec %i } dialog -c combat.main } on *:SOCKOPEN:combat*:{ sockwrite -nt $sockname GET /pestcontrol.php?pestcontrol= $+ %user HTTP/1.1 sockwrite -nt $sockname Host: www.slushpuppy.silverinterlocution.org sockwrite -nt $sockname $crlf } on *:SOCKREAD:combat*:{ var %sockread sockread %sockread if ( isin %sockread) { did -a combat.results 5 $gettok($htmlfree(%sockread),4,32) did -a combat.results 14 $gettok($htmlfree(%sockread),8,32) did -a combat.results 15 $gettok($htmlfree(%sockread),6,32) did -a combat.results 17 $gettok($htmlfree(%sockread),10,32) did -a combat.results 16 $gettok($htmlfree(%sockread),16,32) did -a combat.results 20 $gettok($htmlfree(%sockread),12,32) did -a combat.results 19 $gettok($htmlfree(%sockread),14,32) } if (
isin %sockread) { var %combat = $htmlfree(%sockread) did -a combat.results 18 %combat } } on *:Sockclose:combat*:{ Sockclose $sockname } alias -l htmlfree { var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, ) return %x }