Random Color Generator

By pickle16 on Jul 13, 2009

Screenshots

when turned on it will automaticly replace every letter character you type into random colors. :o
and this is my first script that i posted on hawkee. :o
just type /switch and enjoy! :D

Updated!!! only took a year! :s
i was bored...so i decided to improve this thing.
i shorted the code and made it alot more efficient.

fixed the dialog..
made the code that adds color to any characters not just letters.
ok..i did some testing and appears the boxes appear on older mIRC versions, maybe due to non unicode? oh well.. :x
the custom colors also use the same engine, it just read the ini file for colors...
so no longer 150+ lines of replacing letters :/ instead only 30 lines does it all! :D

tested with mIRC 7.1
im getting complaints about having squares in between characters...but it works fine on my side.. :s

;###################################
;## Random color generator v2.50  ##
;## Can now accept any character  ##
;###################################
;## To use it Right click the     ##
;## channel or nickame or status  ##
;## and click RCG control panel   ##
;## and then either click Quick   ##
;## switch on in the menu or type ## 
;## /switch to turn on.........   ##
;##          Enjoy :)             ##
;###################################
on *:load:{ c.gene.start }
on *:start:{ 
  set %RCGswitch $readini(c.gene.ini,fuction,switch) 
  echo Color Generator by Pickle $RCGversion : currently: %RCGswitch 
  echo Using $readini(c.gene.ini,fuction,cr) Setting.
}
menu channel,status,nicklist {
  RCG :
  .RCG Cpanel: { dialog -m cgene cgene }
  .Quick Switch[currently %RCGswitch $+ ] : { RCGswitch }
  .-
  .Unload : { RCGunload } 
}
alias -l RCGversion { return V2.50 }
alias -l RCGunload {
  if ($?!="Are you sure you want to unload RCG $RCGversion $+!?") { 
    echo -a Searching for $script $+ .......
    if ($script !isin $mircdir) {  
      echo -a Unable to locate $script :(
    }  
    else { 
      echo -a Lets try to find it...
      unload -rs $scriptdir $+ $script
    }
    if ($script isin $mircdir) { unload -rs $script }

    echo -a Unloaded RCG $RCGversion 

    unset %RCGswitch 
    if ($?!="would you like to remove the INI file too?") {
      remove -b c.gene.ini
      echo -a c.gene.ini Has been placed in the Recycle bin.
    }
  }
}
alias -l RCGswitch { 
  if (%RCGswitch == on) { echo -a Color generator $RCGversion Now OFF | set %RCGswitch Off | writeini c.gene.ini fuction switch off | halt }
  else { echo -a Color generator $RCGversion Now ON | set %RCGswitch On | writeini c.gene.ini fuction switch on | halt }
  echo Using $readini(c.gene.ini,fuction,cr) Setting.
}
dialog cgene {
  title "Pickle's auto-text coloring"
  size -1 -1 250 350
  option pixels notheme
  tab "options", 521, 5 5 240 345
  tab "Color list", 522
  text "Check to turn",100, 10 35 80 12 , tab 521
  check "On",1, 90 35 35 12 , tab 521
  check "Off",2, 140 35 35 12 , tab 521
  text "Enter a color, for two colors use a  ,  to seprate them",102, 10 55 230 25 , tab 521
  text "a.",103, 10 90 100 25 , tab 521
  text "b.",104, 10 115 100 25 , tab 521
  text "c.",105, 10 140 100 25 , tab 521
  text "d.",106, 10 165 100 25 , tab 521
  text "e.",107, 10 190 100 25 , tab 521
  text "f.",108, 10 215 100 25 , tab 521
  text "g.",109, 10 240 100 25 , tab 521
  text "h.",110, 10 265 100 25 , tab 521
  text "i.",111, 10 290 100 25 , tab 521
  edit "",3, 20 90 50 25 , tab 521
  edit "",4, 20 115 50 25 , tab 521
  edit "",5, 20 140 50 25 , tab 521 
  edit "",6, 20 165 50 25 , tab 521
  edit "",7, 20 190 50 25  , tab 521
  edit "",8, 20 215 50 25 , tab 521
  edit "",9, 20 240 50 25 , tab 521
  edit "",10, 20 265 50 25 , tab 521
  edit "",11, 20 290 50 25 , tab 521
  text "j.",112, 80 90 100 15 , tab 521
  text "k.",113, 80 115 100 15, tab 521
  text "l.",114, 80 140 100 15 , tab 521
  text "m.",115, 80 165 100 15 ,  tab 521
  text "n.",116, 80 190 100 15 , tab 521
  text "o.",117, 80 215 100 15 , tab 521
  text "p.",118, 80 240 100 15 , tab 521
  text "q.",119, 80 265 100 15 , tab 521
  text "r.",120, 80 290 100 15 , tab 521
  edit "",12, 90 90 50 25 , tab 521
  edit "",13, 90 115 50 25 , tab 521
  edit "",14, 90 140 50 25 , tab 521
  edit "",15, 90 165 50 25 , tab 521
  edit "",16, 90 190 50 25 , tab 521
  edit "",17, 90 215 50 25 , tab 521
  edit "",18, 90 240 50 25 , tab 521
  edit "",19, 90 265 50 25 , tab 521
  edit "",20, 90 290 50 25 ,  tab 521
  text "s.",121, 150 90 100 15 , tab 521
  text "t.",122, 150 115 100 15, tab 521
  text "u.",123, 150 140 100 15 , tab 521
  text "v.",124, 150 165 100 15 ,  tab 521
  text "w.",125, 150 190 100 15 , tab 521
  text "x.",126, 150 215 100 15 , tab 521
  text "y.",127, 150 240 100 15 , tab 521
  text "z.",128, 150 265 100 15 , tab 521
  edit "",21, 160 90 50 25 , tab 521
  edit "",22, 160 115 50 25 , tab 521
  edit "",23, 160 140 50 25 , tab 521
  edit "",24, 160 165 50 25 , tab 521
  edit "",25, 160 190 50 25 , tab 521
  edit "",26, 160 215 50 25 , tab 521
  edit "",27, 160 240 50 25 , tab 521
  edit "",28, 160 265 50 25 , tab 521
  text "0 = White",129, 25 35 100 15 , tab 522
  text "1 = Black",130, 25 50 100 15 , tab 522
  text "2 = Dark Blue",131, 25 65 100 15 , tab 522
  text "3 = Dark Green",132, 25 80 100 15 , tab 522
  text "4 = Red",133, 25 95 100 15 , tab 522
  text "5 = Maroon",134, 25 110 100 15 , tab 522
  text "6 = Purple",135, 25 125 100 15 , tab 522
  text "7 = Orange",136, 25 140 100 15 , tab 522
  text "8 = Yellow",137, 25 155 100 15 , tab 522
  text "9 = Light Green",138, 25 170 100 15 , tab 522
  text "10 = Blue green",139, 25 185 100 15 , tab 522
  text "11 = Light Blue.",140, 25 200 100 15 , tab 522
  text "12 = Blue",141, 25 215 100 15 , tab 522
  text "13 = Pink",142, 25 230 100 15 , tab 522
  text "14 = Dark Gray",143, 25 245 100 15 , tab 522
  text "15 = Light Gray",144, 25 260 100 15 , tab 522
  check "Random",40, 150 295 60 12 , tab 521
  check "Custom",41, 150 315 60 12 , tab 521 
  button "Unload",42, 20 315 60 25 , tab 521 
  button "Close",43, 85 315 60 25 , tab 521 , ok
}
on *:dialog:cgene:sclick:*:{
  if ($did == 40) { did -u cgene 41 | writeini C.gene.ini Fuction cr rand 
    did -b cgene 3 | did -b cgene 4 | did -b cgene 5 | did -b cgene 6 | did -b cgene 7
    did -b cgene 8 | did -b cgene 9 | did -b cgene 10 | did -b cgene 11 | did -b cgene 12 
    did -b cgene 13 | did -b cgene 14 | did -b cgene 15 | did -b cgene 16 | did -b cgene 17
    did -b cgene 18 | did -b cgene 19 | did -b cgene 20 | did -b cgene 21 | did -b cgene 22
    did -b cgene 23 | did -b cgene 24 | did -b cgene 25 | did -b cgene 26 | did -b cgene 27 | did -b cgene 28
  }
  if ($did == 41) { did -u cgene 40 | writeini C.gene.ini Fuction cr custom | did -e cgene 3
    did -e cgene 4 | did -e cgene 5 | did -e cgene 6 | did -e cgene 7 | did -e cgene 8
    did -e cgene 9 | did -e cgene 10 | did -e cgene 11 | did -e cgene 12 | did -e cgene 13
    did -e cgene 14 | did -e cgene 15 | did -e cgene 16 | did -e cgene 17 | did -e cgene 18
    did -e cgene 19 | did -e cgene 20 | did -e cgene 21 | did -e cgene 22 | did -e cgene 23
    did -e cgene 24 | did -e cgene 25 | did -e cgene 26 | did -e cgene 27 | did -e cgene 28
  }
  if ($did == 1) { did -u cgene 2 | writeini C.gene.ini Fuction switch on | set %RCGswitch On }
  if ($did == 2) { did -u cgene 1 | writeini C.gene.ini Fuction switch off | set %RCGswitch Off }
  if ($did == 42) { RCGunload }
}
on *:dialog:cgene:edit:*:{
  if ($did == 3) { writeini C.gene.ini letters a $did(3) }
  else if ($did == 4) { writeini C.gene.ini letters b $did(4) }
  else if ($did == 5) { writeini C.gene.ini letters c $did(5) }
  else if ($did == 6) { writeini C.gene.ini letters d $did(6) }
  else if ($did == 7) { writeini C.gene.ini letters e $did(7) }
  else if ($did == 8) { writeini C.gene.ini letters f $did(8) }
  else if ($did == 9) { writeini C.gene.ini letters g $did(9) }
  else if ($did == 10) { writeini C.gene.ini letters h $did(10) }
  else if ($did == 11) { writeini C.gene.ini letters i $did(11) }
  else if ($did == 12) { writeini C.gene.ini letters j $did(12) }
  else if ($did == 13) { writeini C.gene.ini letters k $did(13) }
  else if ($did == 14) { writeini C.gene.ini letters l $did(14) }
  else if ($did == 15) { writeini C.gene.ini letters m $did(15) }
  else if ($did == 16) { writeini C.gene.ini letters n $did(16) }
  else if ($did == 17) { writeini C.gene.ini letters o $did(17) }
  else if ($did == 18) { writeini C.gene.ini letters p $did(18) }
  else if ($did == 19) { writeini C.gene.ini letters q $did(19) }
  else if ($did == 20) { writeini C.gene.ini letters r $did(20) }
  else if ($did == 21) { writeini C.gene.ini letters s $did(21) }
  else if ($did == 22) { writeini C.gene.ini letters t $did(22) }
  else if ($did == 23) { writeini C.gene.ini letters u $did(23) }
  else if ($did == 24) { writeini C.gene.ini letters v $did(24) }
  else if ($did == 25) { writeini C.gene.ini letters w $did(25) }
  else if ($did == 26) { writeini C.gene.ini letters x $did(26) }
  else if ($did == 27) { writeini C.gene.ini letters y $did(27) }
  else if ($did == 28) { writeini C.gene.ini letters z $did(28) }
}
on *:dialog:cgene:init:0:{
  if ($readini(C.gene.ini,Fuction,switch) == on) { did -c cgene 1 }
  else { did -c cgene 2 }
  if ($readini(C.gene.ini,Fuction,cr) == custom) { did -c cgene 41 }
  if ($readini(C.gene.ini,Fuction,cr) == rand) { did -c cgene 40
    did -b cgene 3 | did -b cgene 4 | did -b cgene 5 | did -b cgene 6 | did -b cgene 7
    did -b cgene 8 | did -b cgene 9 | did -b cgene 10 | did -b cgene 11 | did -b cgene 12 
    did -b cgene 13 | did -b cgene 14 | did -b cgene 15 | did -b cgene 16 | did -b cgene 17
    did -b cgene 18 | did -b cgene 19 | did -b cgene 20 | did -b cgene 21 | did -b cgene 22
    did -b cgene 23 | did -b cgene 24 | did -b cgene 25 | did -b cgene 26 | did -b cgene 27 | did -b cgene 28
  }
  did -ra cgene 3 $readini(C.gene.ini,letters,a) | did -ra cgene 4 $readini(C.gene.ini,letters,b) | did -ra cgene 5 $readini(C.gene.ini,letters,c) | did -ra cgene 6 $readini(C.gene.ini,letters,d)
  did -ra cgene 7 $readini(C.gene.ini,letters,e) | did -ra cgene 8 $readini(C.gene.ini,letters,f) | did -ra cgene 9 $readini(C.gene.ini,letters,g) | did -ra cgene 10 $readini(C.gene.ini,letters,h) 
  did -ra cgene 11 $readini(C.gene.ini,letters,i) | did -ra cgene 12 $readini(C.gene.ini,letters,j) | did -ra cgene 13 $readini(C.gene.ini,letters,k) | did -ra cgene 14 $readini(C.gene.ini,letters,l)
  did -ra cgene 15 $readini(C.gene.ini,letters,m) | did -ra cgene 16 $readini(C.gene.ini,letters,n) | did -ra cgene 17 $readini(C.gene.ini,letters,o) | did -ra cgene 18 $readini(C.gene.ini,letters,p)
  did -ra cgene 19 $readini(C.gene.ini,letters,q) | did -ra cgene 20 $readini(C.gene.ini,letters,r) | did -ra cgene 21 $readini(C.gene.ini,letters,s) | did -ra cgene 22 $readini(C.gene.ini,letters,t)
  did -ra cgene 23 $readini(C.gene.ini,letters,u) | did -ra cgene 24 $readini(C.gene.ini,letters,v) | did -ra cgene 25 $readini(C.gene.ini,letters,w) | did -ra cgene 26 $readini(C.gene.ini,letters,x)
  did -ra cgene 27 $readini(C.gene.ini,letters,y) | did -ra cgene 28 $readini(C.gene.ini,letters,z)
}
on *:input:*:{ 
  if ($readini(C.gene.ini,Fuction,switch) == on) {
    if ($left($1-,1) == /) { echo -a command: $1- | $1- | halt }
    var %oldword $strip($1-)

    var %len $len(%oldword)
    var %temp 1
    while (%temp <= %len) {
      set %oldchar %char
      var %char $mid(%oldword,%temp,1)
      ;this adds a  Dž cuase for some reason it doesn't add whitespace 
      ;so instead we add this and then replace it later.
      if (%char == $chr(32)) { var %char $chr(453) } 
      ;add random colors....
      if ($readini(C.gene.ini,Fuction,cr) == rand) {
        var %c1 $rand(1,15) | var %c2 $rand(1,15)
        while (%c1 == %c2) { var %c1 $rand(1,15) | var %c2 $rand(1,15) }
        var %C  $+ %c1 $+ , $+ %c2
      }
      else if ($readini(C.gene.ini,Fuction,cr) == custom) {
        if ($readini(c.gene.ini,letters,%char) == $null) { 
          var %c1 $rand(1,15) | var %c2 $rand(1,15)
          while (%c1 == %c2) { var %c1 $rand(1,15) | var %c2 $rand(1,15) }
        }
        else {
          var %C  $+ $readini(c.gene.ini,letters,%char)
        }
      }

      var %word %word $+ %C $+ $chr(9) $+ %char
      inc %temp 1
    }
    ;replace Dž here...
    var %word $replace(%word,$chr(453),$chr(32))

    msg $active %word
    halt 
  }
}

alias -l C.gene.start { writeini C.gene.ini Fuction switch off | writeini C.gene.ini Fuction cr rand | writeini C.gene.ini letters a 1,0 | writeini C.gene.ini letters b 1,0 | writeini C.gene.ini letters c 1,0
  writeini C.gene.ini letters d 1,0 | writeini C.gene.ini letters e 1,0 | writeini C.gene.ini letters f 1,0 | writeini C.gene.ini letters g 1,0 | writeini C.gene.ini letters h 1,0 | writeini C.gene.ini letters i 1,0
  writeini C.gene.ini letters j 1,0 | writeini C.gene.ini letters k 1,0 | writeini C.gene.ini letters l 1,0 | writeini C.gene.ini letters m 1,0 | writeini C.gene.ini letters n 1,0 | writeini C.gene.ini letters o 1,0
  writeini C.gene.ini letters p 1,0 | writeini C.gene.ini letters q 1,0 | writeini C.gene.ini letters r 1,0 | writeini C.gene.ini letters s 1,0 | writeini C.gene.ini letters t 1,0 | writeini C.gene.ini letters u 1,0
  writeini C.gene.ini letters v 1,0 | writeini C.gene.ini letters w 1,0 | writeini C.gene.ini letters x 1,0 | writeini C.gene.ini letters y 1,0 | writeini C.gene.ini letters z 1,0
  set %RCGswitch off
}

Comments

Sign in to comment.
pickle16   -  Apr 01, 2012

works fine on mirc 7.x and win7 (i heard people using older versions and win xp can see blocks noidea why)

 Respond  
Zallikex   -  Mar 24, 2012

$r is random,and i get a bunch of blocks...

 Respond  
pickle16   -  Oct 02, 2010

....
idk regex ;p
regex is so complicated.... :(
and also...no script is a script without a good ole while loop! :D
and what is $r?

 Respond  
napa182   -  Sep 27, 2010

wouldn't this do just about the same thing?

$regsubex($1-,/(.)/g,$+($chr(3),$base($r(0,7),10,10,2),$chr(44),$base($r(8,15),10,10,2),\1))

Image

 Respond  
^Haddock^   -  Sep 27, 2010

Pickle, don't you have a life? You have so much time on your hands, and I'm glad.

Keep on giving, for the best things in life are free.

 Respond  
SeverDever   -  Jul 26, 2010

That has GOT to be the best program I have used yet!!!

 Respond  
pickle16   -  Jul 15, 2009

:)

 Respond  
PATX   -  Jul 14, 2009

Who gave this a 1???? I gave it a 10 just bring it up. Good job, 5.

 Respond  
Weasel   -  Jul 14, 2009

i like it it works.

 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.