Public feed #528967

Untitled

public text v1 · immutable
Raw Edit
·published 2007-06-01 19:09 UTC
rendered paste body
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
}