Public feed
#528967
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
}