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 (** $+ [ %questname. [ $+ [ %v ] ] ] $+ * iswm %sockinfo) { set %questmatch. [ $+ [ %v ] ] $nohtml(%sockinfo) set %questid [ $+ [ %v ] ] $remove(%sockinfo,,%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 }