You should only use one sockread. That section will loop until the entire page is read. Use IF statements to get all the information you need.

Code:
on *:text:!player*:#: {
  if ($sock(player)) .sockclose player
  set %chan $chan
  set %nick $nick
  sockopen player herald.uthgard-server.net 80
}
on *:SOCKOPEN:player: {
  sockwrite -nt $sockname GET /herald.php?view=stats&p1=player&p2=Player&p3=DESC&p5=Player&p6=Rotbart HTTP/1.1
  sockwrite -nt $sockname Host: herald.uthgard-server.net
  sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:player: {
  var %sockreader
  sockread %sockreader
  if (*<a class="charname"* iswm %sockreader) {
    set %name $nohtml($remove(%sockreader,Player))
  }
  elseif (*<a class="guild"* iswm %sockreader) {
    set %guild $nohtml($remove(%sockreader,Guild))
  }
  elseif (*<a class="class2"* iswm %sockreader) {
    set %class $nohtml($remove(%sockreader,Class))
  }
  elseif (*<a class="race2"* iswm %sockreader) {
    set %race $nohtml($remove(%sockreader,Race))
  }
  if (</table>* iswm %sockreader) {
    msg %chan %name < $+ %guild $+ > %class %race
    unset %chan
    unset %nick
    unset %name %guild %class %race
    sockclose player
  }
}


There's just a quick example. It shows a couple extra pieces of information. Just repeat that format for anything else that you need. The main reason you ran into trouble is having the extra sockread's in there. Doing that will cause lines to be skipped.


Invision Support
#Invision on irc.irchighway.net