alias smilie { if ($1 isin $read(smilies.txt, nw, $1)) { return true } | elseif ($1 !isin $read(smilies.txt, nw, $1)) { return false } } alias sm_ignore { if ($1 isin $read(smilies_ignore.txt, nw, $1)) { return true } | elseif ($1 !isin $read(smilies_ignore.txt, nw, $1)) { return false } } alias randCol { var %msgg $null var %x 1 while (%x <= $len($1)) { var %smilie $mid($1, $+ %x $+ ,1) var %col $rand(3,15) var %msgg %msgg $+ $chr(3) $+ $iif(%col < 10 && %smilie isnum,0) $+ %col $+ %smilie inc %x } return %msgg $+ $chr(3) } on &*:INPUT:*: { if ($smilie($1) == true && $sm_ignore($active) == false) { var %lol 0 var %yarr $len($1) set %msg $1- while ($numtok($1-,32) >= %lol) { var %o $gettok(%msg $+ , $+ %lol $+ , $+ 32) var %tmp $randCol(%o) set %msg $puttok(%msg, $+ %tmp, $+ %lol, $+ 32) inc %lol if (($len(%o) == 2) && ($count(. $+ $asc($left(%o,1)) $+ .,.58.,.59.) || $count(. $+ %o $+ .,.^^.,.oo.,.MD.))) { ; ;Dont touch more now ^^ ; var %tmp $randCol(%o) var %msg $puttok(%msg, $+ %tmp, $+ %lol, $+ 32) } } /msg $active %msg halt } } menu status,channel,query,menubar,nicklist { Smilie Colours .Smilies:/run smilies.txt .Ignore List:/run smilies_ignore.txt .Options:$dialog(sm_options,sm_options,-2) } dialog sm_options { title "Smilie Colours Options" size -1 -1 115 130 option dbu tab "Smilies",3,1 1 115 130 tab "Ignore List",4 list 2,8 20 90 70,vsbar tab 3 list 5,8 20 90 70,vsbar tab 4 button "Delete",102,5 90 30 11 button "Add",103,37 90 30 11 button "Accept",100,48 110 30 11,ok button "Cancel",101,80 110 30 11,cancel } on 1:DIALOG:sm_options:INIT:*: { var %smilies $lines(smilies.txt) var %sm_num 1 while (%sm_num <= %smilies) { did -a sm_options 2 $read(smilies.txt,%sm_num) inc %sm_num } var %ignores $lines(smilies_ignore.txt) var %ig_num 1 while (%ig_num <= %ignores) { did -a sm_options 5 $read(smilies_ignore.txt,%ig_num) inc %ig_num } } on 1:DIALOG:sm_options:SCLICK:102: { var %selected = $did(sm_options,2).seltext /write -ds $+ $did(sm_options,2).seltext smilies.txt }