All pastes #247367 Raw Edit

Stuff

public text v1 · immutable
#247367 ·published 2006-11-13 12:09 UTC
rendered paste body
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 <item> - Private                              ##
n8=;## @Price <item> - Public                               ##
n9=;##########################################################
n10=
n11=on $*:text:/^[!@]price(s|check)*/Si:#: {
n12=  if ( !$2 ) { notice $nick Sorry you must specify what to search for - !price <item> }
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 ( *<img src="/img/member.gif"* iswm %temptext || <td class="tablebottom"><!-- Blank --></td> 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,&nbsp;)
n63=  return %x
n64=} ;Ends the html cleaner alias