Abcdefmonkey commented on a Page, Rainbow Text  -  Feb 24, 2012

Here's an easier way... it's what I use that I made.. I threw in my reverse text and reverse rainbow text.. for no reason honestly..

Alias:

nextcolor { 
  if ($$1 == 04) return 07
  elseif ($$1 == 07) return 08
  elseif ($$1 == 08) return 09
  elseif ($$1 == 09) return 11
  elseif ($$1 == 11) return 12
  elseif ($$1 == 12) return 02
  elseif ($$1 == 02) return 06
  elseif ($$1 == 06) return 13
  elseif ($$1 == 13) return 04
}
rainbow {
  var %pos = 1, %color = 04, %result = $chr(3)
  while (%pos <= $len($1-)) {
    %result = %result $+ %color $+ $mid($1-,%pos,1) $+ $chr(3)
    inc %pos
    %color = $nextcolor(%color)
  }
  if ($isid) return %result
  else say %result
}

rev {
  var %len = $len($1-)
  var %return = $null
  while (%len > 0) {
    var %return = %return $+ $mid($1-,%len,1) $+ $chr(32)
    dec %len
  }
  return %return
}

Input:

menu channel,status,nicklist {
  Default Output
  .Rainbow
  ..On: set %rbow true | set %reverse false | set %rainverse false | echo 9 Rainbow text is now enabled
  ..Off: set %rbow false | echo 4 Rainbow text is now disabled
  .Reverse
  ..On: set %reverse true | set %rbow false | set %rainverse false | echo 9 Reverse text is now enabled
  ..Off: set %reverse false | echo 4 Reverse text is now disabled
  .Both
  ..On: set %rainverse true | set %rbow false | set %reverse false | echo 9 Both options are now enabled
  ..Off: set %rainverse false | echo 4 Both options are now disabled
}
on *:INPUT:#:{
  if ($left($1,1) != /) {
        msg $active $iif(%rbow == true,$rainbow($1-),$iif(%reverse == true,$rev($1-),$iif(%rainverse == true,$rainbow($rev($1-)),$1-)))
haltdef
  }
}

Just my input.. I had to strip it down heavily due to a custom theme.. but I tested this and it worked as far as what it's intended for.. :S I know this could be shortened and what not, but it's just something I made long ago and I just haven't felt the need to shorten it. Anyways, hope this helps someone.

 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.