All pastes #77206 Raw Edit

Socket help

public text v1 · immutable
·published 2006-07-02 19:38 UTC
rendered paste body
on *:TEXT:*:*:{ 

  if ($1 == !void)
  elseif ($1 == @void)
  elseif ($1 == `void
  elseif ($1 == !setrsn) && ($2) { 

  /set %combat $replace($$2-,$chr(32),+) 
  /set %chan $chan 
  /set %nick $nick 
  if ($sock($void)) { 
    /sockclose void 
  } 
  /sockopen $void hiscore.runescape.com 80 
} 
on *:Sockopen:void:{ 
  sockopen -nt $sockname GET /lang/en/aff/runescape/hiscorepersonal.ws?user1= $+ $($+(%,stats.rsn.,%ID),2) HTTP/1.1 
  sockopen -nt $sockname Host: hiscore.runescape.com $+ $crlf $+ $crlf 
  sockopen -nt $sockname 
}
on *:SOCKREAD:void:{ 
  if ($sockerr) { 
    /msg $chan Socket error: $sockerr $+ , while looking up %combat
    /unset %combat
    /unset $chan 
  } 
  else { 
    var %read 
    while (1) { 
      sockread -f %read 
      if (!$sockbr) { 
        msg %chan The username $2- isnt in the highscores
        /unset %combat
        /unset $chan 
        sockclose $sockname    
      } 
      if (* $+ $gettok($replace(%combat,+,$chr(32)),1,32) $+ * iswm %read) { 
        msg %chan %read 
        /unset %combat
        /unset $chan 
        sockclose $sockname 
      } 
    } 
  } 
}
alias void {
  var %att = $calc(%level * %level / 6)
  var %def = $calc(%level * %level / 6)
  var %str = $calc(%level * %level / 6)
  var %range = $calc(%level * %level / 6) 
  var %mage = $calc(%level * %level / 6) 
  var %prayer = $calc($level * $level / 12)  
  return Attack: $att Strength: %str Defence: %def Range: %range Magic: %mage Prayer: %prayer
}