All pastes #487429 Raw Edit

Something

public text v1 · immutable
·published 2007-05-14 13:33 UTC
rendered paste body
on $*:text:/^[!@]quest(start|req|items|reward)/Si:#:{
  var %v = 1
  while ($sock(quest. [ $+ [ %v ] ] )) inc %v
  set %questdisp. [ $+ [ %v ] ] $iif($left($1,1) == !,/notice $nick,/msg $chan)
  set %questname. [ $+ [ %v ] ] $2-
  set %questwanted. [ $+ [ %v ] ] $right($1,-6)
  sockopen quest. [ $+ [ %v ] ] tip.it 80
}
on *:sockopen:quest.*:{
  sockwrite -nt $sockname Get /runescape/?rs2quest Http/1.1
  sockwrite -nt $sockname Host: www.tip.it
  sockwrite -nt $sockname $crlf
}
on *:sockread:quest.*:{
  var %v = $right($sockname,-6)
  if ($sockerr) {
    Error returned ($sockerr)! Please try again and inform me about this.
    sockclose $sockname
    halt
  }
  else {
    var %sockinfo
    sockread %sockinfo
    if (*<td><a href="index.php?rs2quest_id=*">* $+ [ %questname. [ $+ [ %v ] ] ] $+ * iswm %sockinfo) {
      set %questmatch. [ $+ [ %v ] ] $nohtml(%sockinfo)
      set %questid [ $+ [ %v ] ] $remove(%sockinfo,<td><a href="index.php?rs2quest_id=,</a></td>,">,%questname. [ $+ [ %v ] ],$chr(32))
      sockopen questinfo. [ $+ [ %v ] ] www.tip.it 80
      sockclose $sockname
    }
  }
}
on *:sockclose:quest.*:{
  var %v = $right($sockname,-6)
  if (!%questid [ $+ [ %v ] ]) %questdisp. [ $+ [ %v ] ] $chr(3) $+ 14 No Results Found For: $chr(3) $+ 4 %questname. [ $+ [ %v ] ]
}
on *:sockopen:questinfo.*:{
  var %v = $right($sockname,-10)
  sockwrite -nt $sockname GET /runescape/?rs2quest_id= $+ [ %questid [ $+ [ %v ] ] ] HTTP/1.1
  sockwrite -nt $sockname Host: www.tip.it
  sockwrite -nt $sockname $crlf
}

on *:sockread:questinfo.*:{
  var %v = $right($sockname,-10)
  if ($sockerr) {
    Error returned ($sockerr)! Please try again and inform me about this.
    sockclose $sockname
    halt
  }
  else {
    var %sockinfo
    sockread %sockinfo
    if (*Start location:* iswm %sockinfo) set %queststart. [ $+ [ %v ] ] $remove($nohtml($gettok(%sockinfo,3,58)),required)
    if (*Skills:* iswm %sockinfo) set %questskills. [ $+ [ %v ] ] %questskills. [ $+ [ %v ] ] $remove($nohtml($regsubex(%sockinfo,/.*(?=Skills:)/Si,)),skills:)
    if (*Items:* iswm %sockinfo)  set %questitems. [ $+ [ %v ] ] %questitems. [ $+ [ %v ] ] $remove($nohtml($regsubex(%sockinfo,/.*(?=Items:)/Si,)),Items:)
    if (*Quests:* iswm %sockinfo) set %questquest. [ $+ [ %v ] ] %questquest. [ $+ [ %v ] ] $remove($nohtml($regsubex(%sockinfo,/.*(?=Quests:)/Si,)),Quests:)
    if (*Quest points gained on completion:* iswm %sockinfo) {
      unset %questrnext. [ $+ [ %v ] ]
      set %questqp. [ $+ [ %v ] ] $remove($nohtml(%sockinfo),Quest points gained on completion:)
      if (%questwanted. [ $+ [ %v ] ] == start) %questdisp. [ $+ [ %v ] ] $chr(3) $+ 14 Showing Results For %questname. [ $+ [ %v ] ] $+ : $chr(3) $+ 4 %questmatch. [ $+ [ %v ] ] <> $chr(3) $+ 4 Start Location: $chr(3) $+ 14 $iif(%queststart. [ $+ [ %v ] ],%queststart. [ $+ [ %v ] ],None)
      if (%questwanted. [ $+ [ %v ] ] == req) %questdisp. [ $+ [ %v ] ] $chr(3) $+ 14 Showing Results For %questname. [ $+ [ %v ] ] $+ : $chr(3) $+ 4 %questmatch. [ $+ [ %v ] ] <> $chr(3) $+ 4 Skills Needed: $chr(3) $+ 14 $iif(%questskills. [ $+ [ %v ] ],%questskills. [ $+ [ %v ] ],None) $chr(3) $+ 4 Quests: $chr(3) $+ 14 $iif(%questquest. [ $+ [ %v ] ],%questquest. [ $+ [ %v ] ],None)
      if (%questwanted. [ $+ [ %v ] ] == items) %questdisp. [ $+ [ %v ] ] $chr(3) $+ 14 Showing Results For %questname. [ $+ [ %v ] ] $+ : $chr(3) $+ 4 %questmatch. [ $+ [ %v ] ] <> $chr(3) $+ 4 Items Needed: $chr(3) $+ 14 $iif(%questitems. [ $+ [ %v ] ],%questitems. [ $+ [ %v ] ],None)
      if (%questwanted. [ $+ [ %v ] ] == reward) {
        if (%questrewardctd. [ $+ [ %v ] ]) {
          %questdisp. [ $+ [ %v ] ] $chr(3) $+ 14 Showing Results For %questname. [ $+ [ %v ] ] $+ : $chr(3) $+ 4 %questmatch. [ $+ [ %v ] ] <> $chr(3) $+ 4 $+ Reward: $chr(3) $+ 14 %questreward. [ $+ [ %v ] ]
          %questdisp. [ $+ [ %v ] ] $chr(3) $+ 14 %questrewardctd. [ $+ [ %v ] ] $chr(3) $+ 4 $+ Quest Points Given: $chr(3) $+ 14 %questqp. [ $+ [ %v ] ]
        }
        if (!%questrewardctd. [ $+ [ %v ] ]) {
          %questdisp. [ $+ [ %v ] ] $chr(3) $+ 14 Showing Results For %questname. [ $+ [ %v ] ] $+ : $chr(3) $+ 4 %questmatch. [ $+ [ %v ] ] <> $chr(3) $+ 4 $+ Reward: $chr(3) $+ 14 %questreward. [ $+ [ %v ] ] %questrewardctd. [ $+ [ %v ] ] $chr(3) $+ 4 $+ Quest Points Given: $chr(3) $+ 14 %questqp. [ $+ [ %v ] ]
        }
      }
      unset %questdisp. [ $+ [ %v ] ] %questname. [ $+ [ %v ] ] %questwanted. [ $+ [ %v ] ] %questid [ $+ [ %v ] ] %queststart. [ $+ [ %v ] ] %questreward. [ $+ [ %v ] ] %questqp. [ $+ [ %v ] ] %questquest. [ $+ [ %v ] ] %questskills. [ $+ [ %v ] ] %questitems. [ $+ [ %v ] ] %questmatch. [ $+ [ %v ] ] %questrewardctd. [ $+ [ %v ] ]
      sockclose $sockname
    }
    if (%questrnext. [ $+ [ %v ] ] == 1) {
      if ($len(%questreward. [ $+ [ %v ] ]) <= 260) {
        set %questreward. [ $+ [ %v ] ] %questreward. [ $+ [ %v ] ] $+ $iif(%questreward. [ $+ [ %v ] ] != $null,$chr(44),$null) $nohtml(%sockinfo)
      }
      else {
        set %questrewardctd. [ $+ [ %v ] ] %questrewardctd. [ $+ [ %v ] ] $+ $iif(%questreward. [ $+ [ %v ] ] != $null,$chr(44),$null) $nohtml(%sockinfo)
      }
    }
    if (*Reward:* iswm %sockinfo) {
      set %questrnext. [ $+ [ %v ] ] 1
    }
  }
}
alias nohtml { var %x,%y = $regsub($1-,/(<[^>]+>)/g,$null,%x) | return %x } alias -l htm { var %x,%y = $regsub($1-,/(<[^>]+>)/g,$null,%x) | return %x }
alias notags { var %x,%y = $regsub($1-,/amp/,$null,%x) | return %x }