rendered paste body; http://services.runescape.com/m=itemdb_rs/viewitem.ws?obj=10392
;############################################# ON START ###########################
on *:start: {
hmake gehash
hload gehash gehash.hsh
}
;############################################## ALIAS ##############################
alias gehash {
var %t echo -a
set %n $1
if (%n <= 16000) {
inc %gehash.id 1
sockopen $+(gehash.,%gehash.id) services.runescape.com 80
}
}
alias km {
var %a $calc($replace($1-,k,*1000,m,*1000000,b,*1000000000,t,*1000000000000,x,*))
return %a
}
;############################################# SOCKETS ############################
on *:sockopen:gehash.*:{
sockwrite -n $sockname GET //m=itemdb_rs/viewitem.ws?obj= [ $+ [ %n ] ] HTTP/1.1
sockwrite -n $sockname Host: services.runescape.com
sockwrite -n $sockname $crlf
}
on *:sockread:gehash.*:{
var %t echo -a
;; check for errors if error restart with same number
if ($sockerr) {
%t $sock($sockname).wsmsg
sockclose $sockname
}
var %s
sockread %s
;; check what is what and add to variable %m
if (*The item* iswm %s) {
set %m $+(%n,$chr(44),NULL)
%t %m
$addtohash(%m)
unset %m
}
if (*item_image* iswm %s) {
set %m $+(%n,$chr(44),$gettok(%s,6,34))
}
if (*Minimum price:* iswm %s) {
set %m $+(%m,$chr(44),min,$chr(61),$km($gettok($gettok(%s,3,62),1,32)))
}
if (*Market price:* iswm %s) {
set %m $+(%m,$chr(44),mid,$chr(61),$km($gettok($gettok(%s,3,62),1,32)))
}
if (*Maximum price:* iswm %s) {
set %m $+(%m,$chr(44),max,$chr(61),$km($gettok($gettok(%s,3,62),1,32)))
%t %m
$addtohash(%m)
unset %m
sockclose $sockname
}
}
on *:SOCKCLOSE:gehash.*:{
var %t echo -a
inc %n
if (%n <= 16000) {
inc %gehash.id 1
sockopen $+(gehash.,%gehash.id) services.runescape.com 80
}
}
;############################# HASH WRITER ###########################
alias addtohash {
hadd -m gehash $gettok($1-,1,44) $gettok($1-,2-,44)
hsave gehash gehash.hsh
}