If you PM me here I can try to come in there and test what is going wrong. From googling how Twitch does things, it seems that this should work.

There is 1 hole in your script, that might possibly be the problem. If the %color variable is ever set to a number greater than 18, your script will keep incrementing the number without ever changing the color. See if this fixes the problem, typing in any editbox:

/set %color 5

edit:

This is a rewrite of your script to make it spend less time creating the color, and to fix some logic failures. If you look at how your script works, the only time that color #8b2500 is used is at the very beginning when %color does not exist, when it's then set to 1. Also, your script never executes the command to set color to #00cc66 because color=18 is instead setting the color to 'green'.

Something you probably want to fix: Your list of #hexcolors includes #ff0000 (red) twice, which is fine if you want that to happen.

The list of colors has 18 items, you can choose to add more of them by simply adding more colors to the 3 rows of #hexcolors, then changing the '18' to however many colors are in your new list.

If you don't want to see the message showing that the timer is being set, you can put the dot in front to silence it.

old:
TimerColor
new:
.TimerColor

You can also do the same thing to not see the color command, by changing msg to .msg

Code
ON *:TEXT:*:#: {
  if ( $nick != $me ) return
  set %color $calc( %color % 18 + 1)
  TimerColor 1 0 msg $chan $gettok( $&
    #8b2500 #00ff00 #ff3300 #ff0014 #808080 #00ccff $&
    #ffffcc #ff0000 #ffff00 #002030 #ffffff #2EFF00 $&
    #C900FF #0000ff #ed2dae #ff0000 #66ccff #00cc66 $&
    )
}

Last edited by maroon; 28/02/23 05:24 PM.