n0=;########################################################## n1=;## Multi Socket Price Script ## n2=;## Coded by : Tengauge12 ## n3=;## Uses multiple sockets so several users can use the ## n4=;## code at the same time. Also displays multiple ## n5=;## results from zybez.net price database. ## n6=;## Usage: ## n7=;## !Price - Private ## n8=;## @Price - Public ## n9=;########################################################## n10= n11=on $*:text:/^[!@]price(s|check)*/Si:#: { n12= if ( !$2 ) { notice $nick Sorry you must specify what to search for - !price } n13= else { n14= /var %number 1 n15= while ($sock(price.socket. $+ %number)) { /inc %number } n16= if (!* iswm $1) { /set %price.displaystyle. [ $+ [ %number ] ] private } n17= /set %price.item. [ $+ [ %number ] ] $2- n18= /set %price.nick. [ $+ [ %number ] ] $nick n19= /set %price.chan. [ $+ [ %number ] ] $chan n20= /sockopen $+(price.socket.,%number) zybez.net 80 n21= } ;Closes Else n22=} ;Ends the !pricecheck section n23= n24=on *:sockopen:price.socket.*:{ n25= sockwrite -nt $sockname GET /priceguide.php?search_terms= $+ $replace(%price.item. [ $+ [ $right($SockName,-13) ] ] ,$chr(32),$chr(43)) $+ &search_area=1&price_low=&price_high=&member=1 HTTP/1.1 n26= sockwrite -nt $sockname Host: zybez.net n27= sockwrite -nt $sockname $crlf $crlf n28=} n29= n30=on *:sockread:price.socket.*:{ n31= var %i $right($sockname,-13) n32= if ($sockerr) { /notice %price.nick. [ $+ [ %i ] ] Sorry but an error occured while searching for %price.item. [ $+ [ %i ] ] | halt } n33= else { n34= var %temptext n35= sockread %temptext n36= ;Once bot gets the Item + Price which is represented my %readnextline == 2, it runs this to display the results for the user then restarts the whole proccess. n37= n38= if (%readnextline == 2) { n39= /inc %price.displayed. [ $+ [ %i ] ] n40= /var %price.displayprice $htmlfree(%temptext) n41= /var %message %price.displayitem. [ $+ [ %i ] ] - %price.displayprice n42= /unset %readnextline n43= n44= ; Limits how many items are displayed before it stops reading. Prevents the bot from flooding. n45= if ( %price.displayed. [ $+ [ %i ] ] < 6 ) { n46= if ( %price.displaystyle. [ $+ [ %i ] ] == private ) { /notice %price.nick. [ $+ [ %i ] ] %message } n47= else { /msg %price.chan. [ $+ [ %i ] ] %message } n48= } ; Closes if statement - if ( %price.displayed. [ $+ [ %i ] ] < 6 ) n49= else { /notice %price.nick. [ $+ [ %i ] ] Sorry but your search for " $+ %price.item. [ $+ [ %i ] ] $+ " was not specific enough. Please narrow your searh down, ie: Rune --> Rune Platelegs | /sockclose $+(price.socket.,%i) | /unset %price.*. [ $+ [ %i ] ] } n50= } ; Closes if statement - if (%readnextline == 2) n51= n52= if (%readnextline == 1) { /set %price.displayitem. [ $+ [ %i ] ] $htmlfree(%temptext) | /set %readnextline 2 } n53= if ( * isin %temptext) { /set %readnextline 1 } n54= if (*Your search did not * iswm %temptext) { /notice %price.nick. [ $+ [ %i ] ] Sorry I did not find " $+ %price.item. [ $+ [ %i ] ] $+ " in the Zybez database. Please make sure you spelled everything correctly and the item you are searching for exists in Runescape. } n55= } ; Closes else n56=} ;Ends the sockread section n57= n58=on *:sockclose:price.socket.*:{ /unset %price.*. [ $+ [ $right($SockName,-13) ] ] } n59= n60=alias -l htmlfree { n61= ; Cleans all html from a file n62= var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, ) n63= return %x n64=} ;Ends the html cleaner alias