The max. text lengh per line varies from network to network. Below, "250" is used (to play safe), you may try putting a higher number there.

Code:
on 20:text:.scripts:#:{
  var %cnt = 1, %scripts
  ; loop scripts
  while ($script(%cnt)) {
    ; add the currently processed script to the variable
    var %scripts = %scripts $+(,$base($rand(3,15),10,10,2),$nopath($v1))
    ; if the variable reached a certain length: output, clear variable
    if ($len(%scripts) > 250) {
      msg $chan SCRIPTS: %scripts
      var %scripts
    }
    inc %cnt
  }
  ; all scripts processed. if there is remaining data in the variable: output
  if (%scripts) { msg $chan SCRIPTS: %scripts }
}

"$base(N,10,10,2)" is used to ensure numbers are in 2-digit-format (e.g. "05" instead of "5") for the random colors.