Advertisement
illpastethat

Grand Exchange for Serverkilla

Jul 5th, 2012
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
mIRC 2.01 KB | None | 0 0
  1. on $*:TEXT:/^[!.@](g(rand)?e(xchange)?|(rs)?price) .+/Si:#serverkilla,#nick1: {
  2.   if ($sock(ge)) sockclose ge
  3.   set %ge.return $iif($left($1,1) == @,msg #,notice $nick)
  4.   sockopen ge rsapi.net 80
  5.   if (!$2) {
  6.     %ge.return Incorrect Syntax - Use $1 rune ore to search for rune ore
  7.     halt
  8.   }
  9.   set %ge.item $2-
  10. }
  11. on *:SOCKOPEN:ge:{
  12.   sockwrite -nt $sockname GET /ge/search/ $+ $replace(%ge.item,$chr(32),$(%20,0)) $+ .json HTTP/1.1
  13.   sockwrite -nt $sockname Host: rsapi.net
  14.   sockwrite -nt $sockname $crlf
  15. }
  16. on *:SOCKREAD:ge:{
  17.   if ($sockerr) {
  18.     sockclose $sockname
  19.     %ge.return 14** (4ERROR14) Sorry, there was an error searching for04 $+ $iif(%amount,$chr(32) $+ %ge.amount) 14"04 $+ %ge.item $+ 14"
  20.     unset %ge.*
  21.     halt
  22.   }
  23.   sockread &t
  24.   ;var %pos $iif($bfind(&t,1,%ge.item) != 0,$v1,$bfind(&t,1,[{"))
  25.   var %pos $bfind(&t,1,[{")
  26.   var %pos2 $bfind(&t,%pos,"})
  27.   ;so these two positions here mark the beginning and the end of the first item that is returned by the site
  28.   if (%pos != 0) {
  29.     var %sockreader $bvar(&t,$+(%pos,-,$calc(%pos2 + 1))).text
  30.     ;so when i get the variable from point a (pos) to point b (pos2) it will give me the entire first item "string" (unorganized)
  31.     var %ge.id $gettok(%sockreader,$calc($findtok(%sockreader,id,1,34) + 2),34)
  32.     var %ge.name $gettok(%sockreader,$calc($findtok(%sockreader,name,1,34) + 2),34)
  33.     var %ge.description $left($gettok(%sockreader,$calc($findtok(%sockreader,description,1,34) + 2),34),-1)
  34.     var %ge.price $gettok(%sockreader,$calc($findtok(%sockreader,price,1,34) + 2),34)
  35.     ;and these lines are just parsing out the information from the string
  36.     %ge.return 4§§§ 10ID:12 %ge.id 10Item's Name:12 %ge.name 10Description:04 %ge.description 10Current Market Price:04 %ge.price
  37.     ;you might want to add support for which item to get because a search for "sword" gives 19 results
  38.   }
  39.   elseif ($bfind(&t,1,"error":"No item)) {
  40.     %ge.return 4§§§ Error - 10No item(s) found for search $qt(%ge.item)
  41.   }
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement