Hello I'm dark(Antwan) and this is my first rainbow script. Hope you enjoy!!!
on *:INPUT:#: {
if (%colortype == $null) && ($mid($1,1,1) != /) { /echo -a 2Please specify a color type by typing /ctype light or /ctype dark. You may also right click this window and select it in Rainbow Text->Options->Color Type. | /halt }
if (%colorbold == $null) && ($mid($1,1,1) != /) { /echo -a 2Please specify bold by typing /cbold on or /cbold off. You may also right click this window and select it in Rainbow Text->Options->Bold. | /halt }
if (%color == on) && ($mid($1,1,1) != /) {
/set %color.words $strip($1-)
/set %color.wcounter 0
if (%colorbold == on) { /set %color.final 0,1 }
if (%colorbold == off) { /set %color.final 0,1 }
if (%colortype == light) { /set %color.colors 4 7 8 9 11 13 | /set %color.colorsc 0 }
if (%colortype == dark) { /set %color.ccolor 4 }
while (%color.wcounter != $numtok(%color.words,32)) {
/inc %color.wcounter
/set %color.cletter 0
while (%color.cletter != $len($gettok(%color.words,%color.wcounter,32))) {
/inc %color.cletter
if (%colortype == light) {
/inc %color.colorsc
if (%color.colorsc == 7) { /set %color.colorsc 1 }
if ($mid($gettok(%color.words,%color.wcounter,32),%color.cletter,1) isnum) { /set %color.final %color.final $+ $+ $gettok(%color.colors,%color.colorsc,32) $mid($gettok(%color.words,%color.wcounter,32),%color.cletter,1) }
else { /set %color.final %color.final $+ $+ $gettok(%color.colors,%color.colorsc,32) $+ $mid($gettok(%color.words,%color.wcounter,32),%color.cletter,1) }
}
if (%colortype == dark) {
if ($mid($gettok(%color.words,%color.wcounter,32),%color.cletter,1) isnum) { /set %color.final %color.final $+ $+ %color.ccolor $mid($gettok(%color.words,%color.wcounter,32),%color.cletter,1) }
else { /set %color.final %color.final $+ $+ %color.ccolor $+ $mid($gettok(%color.words,%color.wcounter,32),%color.cletter,1) }
/inc %color.ccolor
if (%color.ccolor == 14) { /set %color.ccolor 4 }
}
if (%color.cletter == $len($gettok(%color.words,%color.wcounter,32))) { /break }
}
/set %color.final %color.final $+ $chr(32) $+ $chr(32)
if (%color.wcounter == $numtok(%color.words,32)) { /break }
}
/msg $active %color.final
/unset %color.*
/halt
}
}
alias /color {
if ($1 == on) { /set %color on }
if ($1 == off) { /set %color off }
}
alias /ctype {
if ($1 == light) { /set %colortype light }
if ($1 == dark) { /set %colortype dark }
}
alias /cbold {
if ($1 == on) { /set %colorbold on }
if ($1 == off) { /set %colorbold off }
}
menu channel {
Rainbow Text
.Options
..Bold
...$iif(%colorbold == on,$style(1)) $+ On: /set %colorbold on
...$iif(%colorbold == off,$style(1)) $+ Off: /set %colorbold off
..Color Type
...$iif(%colortype == light,$style(1)) $+ Light: /set %colortype light
...$iif(%colortype == dark,$style(1)) $+ Dark: /set %colortype dark
.$iif(%color == on,$style(1)) $+ On: /set %color on
.$iif(%color == off,$style(1)) $+ Off: /set %color off
}
um could be better. but i do like to options you incorped in to it.
heres an ez one..
on *:input:*:{
if (%rainbows == on) && (/* !iswm $1) {
var %x = $len($1-),%y = 1
while (%y <= %x) {
var %z = $iif($mid($1-,%y,1) = $chr(32),$chr(1), $+ $rand(0,15) $+ $mid($1-,%y,1))
var %zz = %zz $+ %z
inc %y
}
msg $chan $replace(%zz,$chr(1),$chr(32))
halt
}
}
menu channel {
.Rainbow Colors
..On:{ set %rainbows on | echo -a Colors Are Now On }
..Off:{ unset %rainbows | echo -a Colors Are Now Off }
}