;################################################;
;Name: Badwordhighlight.mrc
;Author: Jordan
;Date: 19/10/2010
;Description: Highlights a Badword in the Badword-
; list. Channels and Badwords can be
; set manually.
;
;Notice: To change the color of the Highlight, you
; have to uncheck the color which was set
; before.
;
; version a: added version check + auto unload if not 6.17 + - Desolator 26/10/10 \ 10:36 GMT
;
;
;################################################;
;####DIALOG
dialog bwordhighlight {
title "Badword-Highlight"
size -1 -1 175 175
option dbu
list 1, 15 25 70 65, size
edit "", 2, 15 90 70 10
box "List Manager", 4, 10 10 155 105
button "Add", 9, 22 102 20 10, flat
button "Del", 10, 57 102 20 10, flat
box "Controls", 3, 10 115 155 55
radio "Enable", 5, 20 130 45 10
radio "Disable", 6, 20 150 50 10
check "Red", 7, 70 130 25 10
check "Blue", 8, 70 150 25 10
check "Green", 11, 95 130 25 10
check "Yellow", 12, 95 150 25 10
check "Orange", 13, 125 130 30 10
text "Highlightcolor", 14, 70 121 40 8
text "Badwords", 15, 20 17 25 8
list 16, 90 25 70 65, size
edit "", 17, 90 90 70 10
button "Add", 18, 95 102 20 10, flat
button "Del", 19, 135 102 20 10, flat
text "Channels", 20, 90 17 25 8
}
on *:DIALOG:bwordhighlight:*:*: {
if ($devent == init) {
var %a = 1, %b = 1
while (%a <= $hget(Badwordlist,0).item) {
did -a $dname 1 $hget(Badwordlist,%a).item
inc %a
}
while (%b <= $hget(Badwordchan,0).item) {
did -a $dname 16 $hget(Badwordchan,%b).item
inc %b
}
$iif($bwordhl.status,did -c $dname 5,did -c $dname 6)
$iif($readini($qt($mircdirbwordhl.ini),BadwordhlSettings,Color) == 04,did -c $dname 7,$iif($readini($qt($mircdirbwordhl.ini),BadwordhlSettings,Color) == 12,did -c $dname 8))
$iif($readini($qt($mircdirbwordhl.ini),BadwordhlSettings,Color) == 09,did -c $dname 11,$iif($readini($qt($mircdirbwordhl.ini),BadwordhlSettings,Color) == 08,did -c $dname 12))
$iif($readini($qt($mircdirbwordhl.ini),BadwordhlSettings,Color) == 07,did -c $dname 13)
}
elseif ($devent == close) {
if ($did(5).state) {
writeini $qt($mircdirbwordhl.ini) BadwordhlSettings Status On
}
else {
writeini $qt($mircdirbwordhl.ini) BadwordhlSettings Status Off
}
}
elseif ($devent == sclick) {
if ($did == 7) {
writeini $qt($mircdirbwordhl.ini) BadwordhlSettings Color 04
}
elseif ($did == 8) {
writeini $qt($mircdirbwordhl.ini) BadwordhlSettings Color 12
}
elseif ($did == 11) {
writeini $qt($mircdirbwordhl.ini) BadwordhlSettings Color 09
}
elseif ($did == 12) {
writeini $qt($mircdirbwordhl.ini) BadwordhlSettings Color 08
}
elseif ($did == 13) {
writeini $qt($mircdirbwordhl.ini) BadwordhlSettings Color 07
}
elseif ($did == 9 && $did(2)) {
bwordhl.add $did(2)
var %d = 1
did -r $dname 1
while (%d <= $hget(Badwordlist,0).item) {
did -a $dname 1 $hget(Badwordlist,%d).item
inc %d
}
}
elseif ($did == 10 && $did(1).sel) {
bwordhl.del $did(1).seltext
var %e = 1
did -r $dname 1
while (%e <= $hget(Badwordlist,0).item) {
did -a $dname 1 $hget(Badwordlist,%e).item
inc %e
}
}
elseif ($did == 18 && $did(17)) {
bwordhlchan.add $did(17)
var %f = 1
did -r $dname 16
while (%f <= $hget(Badwordchan,0).item) {
did -a $dname 16 $hget(Badwordchan,%f).item
inc %f
}
}
elseif ($did == 19 && $did(16).sel) {
bwordhlchan.del $did(16).seltext
var %g = 1
did -r $dname 16
while (%g <= $hget(Badworchan,0).item) {
did -a $dname 16 $hget(Badwordchan,%g).item
inc %g
}
}
}
}
;####ALIASES
alias bwordhl.start {
if (!$dialog(bwordhighlight)) {
dialog -ma bwordhighlight bwordhighlight
}
else {
echo -a 4***Dialog Badword Highlight is already open.
}
}
alias bwordhl.add {
hadd -m Badwordlist $1
}
alias bwordhlchan.add {
hadd -m Badwordchan $1
}
alias bwordhlchan.del {
hdel Badwordchan $1
}
alias bwordhl.del {
hdel Badwordlist $1
}
alias bwordhl.status {
if ($readini($qt($mircdirbwordhl.ini),BadwordhlSettings,Status) == On) {
return $true
}
else {
return $false
}
}
;####EVENTS
on ^*:TEXT:*:#: {
if ($me isop $chan || ($me ishop $chan)) {
if ($bwordhl.status) {
var %c = 1
while (%c <= $hget(Badwordchan,0).item) {
if ($hget(Badwordchan,%c).item == $chan) {
var %x = 1, %cnick = $iif($nick isop $chan,$cnick(1).color,$iif($nick ishop $chan,$cnick(2).color,$iif($nick isvoice $chan,$cnick(3).color,$cnick(4).color)))
while (%x <= $hget(Badwordlist,0).item) {
var %badword = $hget(Badwordlist,%x).item
if (%badword isin $strip($1-)) {
haltdef
echo -t $chan $+(<,,%cnick,$nick(#,$nick).pnick,,>) $replace($strip($1-),$v1,$+(,$readini($qt($mircdirbwordhl.ini),BadwordhlSettings,Color),$v1,))
break
}
elseif (%badword iswm $strip($1-)) {
haltdef
echo -t $chan $+(<,,%cnick,$nick(#,$nick).pnick,,>) $replace($strip($1-),$v1,$+(,$readini($qt($mircdirbwordhl.ini),BadwordhlSettings,Color),$v1,))
break
}
inc %x
}
}
inc %c
}
}
}
}
on ^*:ACTION:*:#: {
if ($me isop $chan || ($me ishop $chan)) {
if ($bwordhl.status) {
var %c = 1
while (%c <= $hget(Badwordchan,0).item) {
if ($hget(Badwordchan,%c).item == $chan) {
var %x = 1, %cnick = $iif($nick isop $chan,$cnick(1).color,$iif($nick ishop $chan,$cnick(2).color,$iif($nick isvoice $chan,$cnick(3).color,$cnick(4).color)))
while (%x <= $hget(Badwordlist,0).item) {
var %badword = $hget(Badwordlist,%x).item
if (%badword isin $strip($1-)) {
haltdef
echo -t $chan $+(<,,%cnick,$nick(#,$nick).pnick,,>) $replace($strip($1-),$v1,$+(,$readini($qt($mircdirbwordhl.ini),BadwordhlSettings,Color),$v1,))
break
}
elseif (%badword iswm $strip($1-)) {
haltdef
echo -t $chan $+(<,,%cnick,$nick(#,$nick).pnick,,>) $replace($strip($1-),$v1,$+(,$readini($qt($mircdirbwordhl.ini),BadwordhlSettings,Color),$v1,))
break
}
inc %x
}
}
inc %c
}
}
}
}
on *:START: {
if ($version > 6.16) {
hmake Badwordlist 5
hmake Badwordchan 5
if ($exists($qt($mircdirbadwordlist.hsh))) {
hload Badwordlist $qt($mircdirbadwordlist.hsh)
}
elseif ($exists($qt($mircdirbadwordchan.hsh))) {
hload Badwordchan $qt($mircdirbadwordchan.hsh)
}
}
else { echo -s 4,1 $+ $timestamp [BW Highlight] >> Sorry, this addon requires mirc version 6.17 or higher, download from www.mirc.com then move the new mirc.exe into $mircdir then open the new mirc and reload. | unload -rs $script }
}
on *:EXIT: {
hsave Badwordlist $qt($mircdirbadwordlist.hsh)
hsave Badwordchan $qt($mircdirbadwordchan.hsh)
}
;####POPUP
menu channel,status,menubar {
Badword-HL-Manager
.Settings: bwordhl.start
.Status:
..$iif($bwordhl.status,$style(1)) On: writeini $qt($mircdirbwordhl.ini) BadwordhlSettings Status On
..$iif(!$bwordhl.status,$style(1)) Off: writeini $qt($mircdirbwordhl.ini) BadwordhlSettings Status Off
.Add $active to List: bwordhlchan.add $active
.Add new Badword to List: bwordhl.add $?="Which Word do you want to add?"
}