on $*:TEXT:/^[!@](price|pricecheck)/Si:#:{ if (!$2) { notice $nick -12Price1- 12Use a item: 10!price itemhere halt } else { inc %q inc %time.price set %price.item. [ $+ [ %q ] ] $replace($2-,$chr(32),$chr(37) $+ 20) set %price.style. [ $+ [ %q ] ] $iif($left($1,1) == @,msg $chan,notice $nick) 12- $nick - set %price.real. [ $+ [ %q ] ] $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 12An error 10occured while 12connecting clean.up %q sockclose $sockname return halt } 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. isin %read) { %style 12No results were found for "10 $+ %real $+ 1" clean.up %q sockclose $sockname return halt } elseif (* iswm %read) { tokenize 32 $nohtml(%read) set %price.name. [ $+ [ %q ] ] $1- } elseif (* iswm %read) { tokenize 32 $nohtml(%read) set %price.price. [ $+ [ %q ] ] $1- } elseif (* iswm %read) { tokenize 32 $nohtml(%read) set %price.cat. [ $+ [ %q ] ] $1- } if (%price.name. [ $+ [ %q ] ] && %price.price. [ $+ [ %q ] ] && %price.cat. [ $+ [ %q ] ]) { inc %price.times. [ $+ [ %q ] ] if (%price.times. [ $+ [ %q ] ] > 5) { %style 12Max results of 10 512 allowed. 10Try making your search for "12 $+ %real $+ 10" more specific. clean.up %q sockclose $sockname return halt } elseif (%price.times. [ $+ [ %q ] ] < 5 || %price.times. [ $+ [ %q ] ] == 5) { %style %price.name. [ $+ [ %q ] ] $& 12Price -10 %price.price. [ $+ [ %q ] ] $& 12Category 10- %price.cat. [ $+ [ %q ] ] $& 12Served 10-# %time.price unset %price.name. [ $+ [ %q ] ] unset %price.price. [ $+ [ %q ] ] unset %price.cat. [ $+ [ %q ] ] } } if ( isin %read) { clean.up %q sockclose $sockname return halt } } } on *:SOCKCLOSE:price.*:{ unset %price.* halt } alias -l clean.up { unset %price.*. [ $+ [ $1 ] ] sockclose price. $+ $1 halt } alias -l nohtml { var %x,%i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x) %x = $replace(%x, ,$null) return %x } return %x } alias c1 { return $+(,$1-) } alias c2 { return $+(,$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) == setrsn) && ($2) { if ($2 == -h) { writeini DefRSN.ini RSNs $mask($fulladdress,3) $replace($3-,$chr(32),-) .notice $nick 12You're default 10 RSN for the host 12 $mask($fulladdress,3) 10 has been set to 12 $3- } else { writeini DefRSN.ini RSNs $nick $replace($2-,$chr(32),-) .notice $nick 12You're default 10 RSN for the host 12 $mask($fulladdress,3) 10 has been set to 12 $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) 12 $c1(The nick) 10 $c2($($+(%,stats.rsn.,%ID),2)) 12 $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),