MIRC Version Please Help me, thanks

I don’t think a mIRC update would break anything. I’m using the latest version and everything works fine. I’m not sure when things started not working for you and what exactly isn’t working, but there have been changes at Twitch that may have broken things clientside if you don’t update your scripts.

For once, to get a viewerlist you have to send the twitch.tv/membership capability, for example like this:

on *:connect:{
  if ($server == tmi.twitch.tv) {
    raw CAP REQ :twitch.tv/membership
  }
}

What is also useful to get more information (depending on what you need), are the commands and tags capabilities:

on *:connect:{
  if ($server == tmi.twitch.tv) {
    raw CAP REQ :twitch.tv/tags
    raw CAP REQ :twitch.tv/commands
    raw CAP REQ :twitch.tv/membership
  }
}

The tags capability attaches additional information to messages, like whether a user is a moderator or subscriber, which you can access like this:

; Checks if the user is a subscriber in the channel
alias isSub {
  if ($msgtags(subscriber).key == 1) {
    return $true
  }
  return $false
}

; Example usage
on *:text:*:#:{
  echo -a $nick Sub: $isSub
}

The commands capability makes Twitch Chat send custom commands that contain additional information, like detecting when someone is banned from chat:

raw CLEARCHAT:*:{
  ; $1 - channel
  ; $2 - user who got timed out/banned

  if ($2 == $null) {
    ; No user given, so chat was cleared
    echo -a Chat in channel $1 cleared
  }
  ; You need to have the tags capability requested to get tags
  else if ($msgtags(ban-duration).key == $null) {
    ; If ban-duration is missing it is a ban
    echo -a User $2 in $1 was banned $getReason
  }
  else {
    ; Otherwise it's a timeout
    echo -a User $2 in $1 was timed out for $msgtags(ban-duration).key seconds $getReason
  }
  haltdef
}

alias -l getReason {
  return Reason: $getTagValue(ban-reason)
}

; Gets the value of a tag, replacing some escaped characters
; Returns $null if tag isn't there
;
; Only some tags in Twitch Chat commonly contain escaped characters
; (mainly spaces in tags like ban-reason)
alias getTagValue {
  ; $1 The key of the tag
  return $replacex($msgtags($1).key,\s,$chr(32),\:,;)
}

You can read up on Twitch Chat in the documentation.