WorldofWarcraft.com User Lookup — File Browser
WorldofWarcraft.comUserLookupv1.0 / WorldofWarcraft.comUserLookupv1.0 / wow.mrc
wow.mrc — 2.42 KB — Download this file
on *:TEXT:*:#: {
var %ln = $gettok($read($scriptdirwowscript.cfg,wn,Trigger: *),2-,32)
var %wild = $replace(%ln,<realm>,&,<faction>,&,<name>,&)
if %wild iswm $1- {
tokenize 32 $gettok($1-,$findtok(%ln,<realm>,1,32),32) $gettok($1-,$findtok(%ln,<faction>,1,32),32) $gettok($1-,$findtok(%ln,<name>,1,32),32)
if !$istok(alliance horde,$2,32) { msg # Invalid faction, use Alliance or Horde! }
else { wow name $1-3 # }
}
}
alias wow {
if $1 == name {
set %wow.search /pvp/rankings.xml?r= $+ $2 $+ &faction= $+ $left($3,1) $+ &sf=title&sd=a&c= $+ $4
}
sockopen wow $+ $ticks www.worldofwarcraft.com 80
sockmark wow $+ $ticks $1-
}
on *:sockopen:wow*: {
tokenize 32 $sock($sockname).mark
if $sockerr { msg $5 Error: $sock($sockname).wsmsg }
else {
in GET %wow.search HTTP/1.1
in Host: www.worldofwarcraft.com
in $crlf $+ $crlf
}
}
alias -l out { return }
alias -l in { sockwrite -n $sockname $1- }
on *:sockread:wow*: {
sockread -f &wow
.bwrite $sockname $+ .tmp -1 &wow
}
on *:sockclose:wow*: {
tokenize 32 $sock($sockname).mark
var %ticks = $ticks, %by = $1, %realm = $2, %side = $3, %query = $4-
bread $sockname $+ .tmp 0 $file($sockname $+ .tmp).size &wow
.remove $sockname $+ .tmp
if %by == name {
var %query = $gettok(%query,1,32)
var %a = 20
var %pos = $bfind(&wow,1,<Characters>)
while %a {
var %pos = $bfind(&wow,%pos,<Character)
var %pos.end = $bfind(&wow,%pos,"/>) + 3
.echo -q $regex($bvar(&wow,%pos,$calc(%pos.end - %pos)).text,characterName="([^"]+)")
if %query == $regml(1) {
var %r = "([^"]+)"
.echo -q $regex($bvar(&wow,%pos,$calc(%pos.end - %pos)).text,position= $+ %r rank= $+ %r rankLabel= $+ %r characterName= $+ %r guildName= $+ %r level= $+ %r raceId= $+ %r genderId= $+ %r raceLabel= $+ %r classId= $+ %r classLabel= $+ %r lhk= $+ %r ldk= $+ %r rating= $+ %r)
msg $5 $replace($gettok($read($scriptdirwowscript.cfg,wn,Display: *),2-,32),<pos>,$ord($regml(1)),<rank>,$regml(2),<ranktxt>,$regml(3),<char>,$regml(4),<guild>,$iif($regml(5),$ifmatch,None),<lvl>,$regml(6),<level>,$regml(6),<race>,$regml(9),<class>,$regml(11),<hk>,$regml(12),<dk>,$regml(13),<honor>,$regml(14))
var %f = 1
break
}
var %pos = %pos.end
dec %a
}
if !%f { msg $5 User not found in the top 20,000 users of the %side on %realm $+ . }
}
}