on $*:TEXT:/^[!@](cash|price|pricecheck|gold)/Si:#:{ if (!$2) { notice $nick *** [Price Guide]: You must supply a item - !price halt } else { inc %q set %price.item. [ $+ [ %q ] ] $replace($2-,$chr(32),$chr(37) $+ 20) set %price.style. [ $+ [ %q ] ] $iif($left($1,1) == @,msg $chan,notice $nick) 12*** [Price Guide]: set %price.real. [ $+ [ %q ] ] $+($chr(3),04,$2-) sockopen price. $+ %q zybez.net 80 } } on *:SOCKOPEN:price.*:{ sockwrite -nt $sockname GET /priceguide.php?search_terms= $+ %price.item. [ $+ [ %q ] ] $+ &search_area=1&price_low=&price_high=&member=1 HTTP/1.1 sockwrite -nt $sockname Host: www.zybez.net sockwrite -nt $sockname $crlf $crlf } on *:SOCKREAD:price.*:{ var %style = %price.style. [ $+ [ %q ] ], %item = %price.item. [ $+ [ %q ] ], %real = %price.real. [ $+ [ %q ] ] if ($sockerr) { %style An error occured while connecting sockclose $sockname } else { var %read sockread %read if (Your search did not return any results. Please make sure your spelling is correct and that you are typing full words. iswm %read) { %style 15No results were found for $+(04",%real,") sockclose $sockname } elseif (* iswm %read) { tokenize 32 $nohtml(%read) set %price.name. [ $+ [ %q ] ] $+($chr(3),10,$1-) } elseif (* iswm %read) { tokenize 32 $nohtml(%read) set %price.price. [ $+ [ %q ] ] $1- } elseif (* iswm %read) { tokenize 32 $nohtml(%read) set %price.cat. [ $+ [ %q ] ] $+($chr(3),10,$1-) } if (%price.name. [ $+ [ %q ] ] && %price.price. [ $+ [ %q ] ] && %price.cat. [ $+ [ %q ] ]) { inc %price.times. [ $+ [ %q ] ] if (%price.times. [ $+ [ %q ] ] > 5) { %style 3Max results of 10 $+ 5 allowed. Try making your search for " $+ %real $+ " more specific. i.e. Partyhat --> Blue Partyhat sockclose $sockname } else { %style %price.name. [ $+ [ %q ] ] $+ : %price.price. [ $+ [ %q ] ] [zybez.net] unset %price.name.* [ $+ [ %q ] ] unset %price.price.* [ $+ [ %q ] ] unset %price.cat.* [ $+ [ %q ] ] } } if ( iswm %read) { sockclose $sockname } } } on *:SOCKCLOSE:price.*:{ unset %price.* unset %q halt } alias nohtml { var %x,%i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x) %x = $replace(%x, ,$null) return %x } alias c1 { return $+(12,$1-) } alias c2 { return $+(04,$1-) } on *:text:*:#: { tokenize 32 $strip($1-) if ($left($1,1) !isin @!.) halt if ($right($1,-1) == stats) var %style = astats elseif ($regex($1,/co?mb(at)?/Si)) var %style = combat elseif ($setskill($remove($1,@,!,.))) var %style = istat, %skill = $setskill($remove($1,@,!,.)) elseif ($right($1,-1) == setname) && ($2) { writeini DefRSN.ini RSNs $mask($fulladdress,3) $replace($2-,$chr(32),-) .notice $nick You're default RSN for the host $mask($fulladdress,3) has been set to $2- halt } else halt inc %ID if ($len($2-) > 12) { $($+(%,stats.display.,%ID),2) $c1(The nick) $c2($2-) $c1(is too long) cleanup %ID halt } elseif ($2) set $+(%,stats.rsn.,%ID) $replace($2-,$chr(32),-) elseif ($readini(DefRSN.ini,RSNs,$mask($fulladdress,3))) set $+(%,stats.rsn.,%ID) $ifmatch elseif ($readini(DefRSN.ini,RSNs,$nick)) set $+(%,stats.rsn.,%ID) $ifmatch else set $+(%,stats.rsn.,%ID) $nick set $+(%,stats.style.,%ID) %style set $+(%,stats.skill.,%ID) %skill set $+(%,stats.display.,%ID) $iif($left($1,1) == @,msg $chan,notice $nick) sockopen $+(stats.,%ID) hiscore.runescape.com 80 } on *:sockopen:stats.*: { var %id = $gettok($sockname,2,46) sockwrite -n $sockname GET /lang/en/aff/runescape/hiscorepersonal.ws?user1= $+ $($+(%,stats.rsn.,%ID),2) HTTP/1.1 sockwrite -n $sockname Host: hiscore.runescape.com $+ $crlf $+ $crlf } on *:sockread:stats.*: { sockread &Incoming bwrite $sockname -1 -1 &Incoming if ($bfind(&Incoming, 1, ).text) makehash $sockname elseif ($bfind(&Incoming, 1, does not feature in the hiscores.).text) { $($+(%,stats.display.,%ID),2) $c1(The nick) $c2($($+(%,stats.rsn.,%ID),2)) $c1(Does not appear in the hiscores) cleanup $gettok($sockname,2,46) } } alias -l makehash { var %file = $1 bread %file 1 $file(%file).size &stats var %currentstat, %x = 1 while (%x) { var %x = $bfind(&stats,$calc(%x + 1),