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 $+ . }
  }
}