; ******************************************************************************
; >>>>>>>> DC Nicklist Colors
; >>>>>> Written by MaSOuD - June 2008 (Last Modified: 26 October 2009)
; >>>> Email: Masoud.1984@Gmail.com
; >> IRC: DALnet #DCScript - #HelpDesk - #Scripting - #Scripted
; ******************************************************************************
; [Aliases]
alias DC.NLC { Color.init }
alias -l Color.init {
if (!$isdir($scriptdir $+ Colors)) { .mkdir $+($scriptdir,Colors) }
if ($dialog(DC.Nick.Colors)) { dialog -c DC.Nick.Colors }
window -c @DC.Color
var %c = 0
window -pfhn +d @DC.Color -1 -1 16 16
while (%c < 16) {
clear @DC.Color
drawrect -f @DC.Color %c 2 0 0 16 16
drawsave @DC.Color $+($scriptdir,Colors\,$iif($len(%c) > 1, %c, 0 $+ %c),.bmp)
inc %c
}
window -c @DC.Color
dialog $iif(!$dialog(DC.Nick.Colors),-m,-v) DC.Nick.Colors DC.Nick.Colors
}
alias DC.Nicklist.Method {
did -a DC.Nick.Colors 62 Both
did -a DC.Nick.Colors 62 Message
did -a DC.Nick.Colors 62 Listbox
did -c DC.Nick.Colors 62 %DC.Colors.Model
}
alias DC.Preview {
if ($dialog(DC.Nick.Colors)) {
window -c @NLC.Preview
window -bdpok0aC +nbf @NLC.Preview -1 -1 502 402
.titlebar @NLC.Preview - [DC Nicklist Colors Preview...]
drawrect -f @NLC.Preview 0 500 0 0 400 400
drawrect -f @NLC.Preview 15 100 400 0 400 400
drawline @NLC.Preview 14 3 0 0 500 0
drawline @NLC.Preview 14 3 0 0 0 500
drawline @NLC.Preview 14 3 498 0 498 498
drawline @NLC.Preview 14 3 0 398 500 398
drawline @NLC.Preview 14 4 400 0 400 398
var %dids = 37,39,41,43,45,47,49,51,53,55
var %y = $+($chr(126),Owner) $+($chr(38),Protect) $+($chr(64),Op) $+($chr(37),Hop) $+($chr(43),Voice) Notify Ignore Idle Regular Myself
var %did, %perfix, %text
var %x = 1
var %pos = 2
while (%x < 11) {
%did = $gettok(%dids,%x,44)
if ($did(DC.Nick.Colors,62).sel == 1) || ($did(DC.Nick.Colors,62).sel == 3) { set %text $+(,,$did(DC.Nick.Colors,%did),$gettok(%y,%x,32),) }
else { set %text $+(,,$color(nicklist),$gettok(%y,%x,32),) }
drawtext -pb @NLC.Preview 1 15 Arial 13 405 %pos %text
inc %x
%pos = $calc(%pos + 19)
}
%x = 1
var %pos = 174
while (%x < 11) {
%did = $gettok(%dids,%x,44)
if ($did(DC.Nick.Colors,62).sel == 1) || ($did(DC.Nick.Colors,62).sel == 2) { set %text $+(,,$color(normal),$timestamp,$chr(32),$chr(40),,$did(DC.Nick.Colors,%did),$gettok(%y,%x,32),,$color(normal),$chr(41),$chr(32),Some text here...,) }
else { set %text $+(,,$color(normal),$timestamp,$chr(32),$chr(40),,$color(normal),$gettok(%y,%x,32),,$color(normal),$chr(41),$chr(32),Some text here...,) }
drawtext -pb @NLC.Preview 1 0 Arial 13 4 %pos %text
inc %x
%pos = $calc(%pos + 19)
}
}
}
alias DC.Def.Colors {
if ($dialog(DC.Nick.Colors)) { did -b DC.Nick.Colors 58 }
set %DC.Colors.Model 1
.writeini $scriptdirDC-NLC.ini Settings Status 1 | .writeini $scriptdirDC-NLC.ini Settings Use Def | .writeini $scriptdirDC-NLC.ini Settings Model 1
var %x = 12
while (%x) { .cnick -r * | dec %x }
var %m = $+(-m,$calc(%DC.Colors.Model - 1))
.cnick -r $+($chr(36),me)
.cnick %m $chr(36) $+ me 5
.cnick %m * 6 ~
.cnick %m * 13 &
.cnick %m * 7 @
.cnick %m * 10 %
.cnick %m * 12 +
.cnick $+(%m,y) * 3
.cnick $+(%m,i) * 4
.cnick $+(%m,l90) * 2
.cnick %m * 1
DC.Write.Default.Settings
}
alias DC.Custom.Colors {
.cnick -r $+($chr(36),me)
var %x = 12
while (%x) { .cnick -r * | dec %x }
var %m = $+(-m,$calc(%DC.Colors.Model - 1))
.cnick %m $+($chr(36),me) %DC.NC.Me
.cnick %m * %DC.NC.Owner ~
.cnick %m * %DC.NC.Protect &
.cnick %m * %DC.NC.Op @
.cnick %m * %DC.NC.Hop %
.cnick %m * %DC.NC.Voice +
.cnick $+(%m,y) * %DC.NC.Notify
.cnick $+(%m,i) * %DC.NC.Ignore
.cnick $+(%m,l90) * %DC.NC.Idle
.cnick %m * %DC.NC.Regular
DC.Write.Custom.Settings
}
alias DC.Write.Custom.Settings {
.writeini $scriptdirDC-NLC.ini Custom Owner %DC.NC.Owner | .writeini $scriptdirDC-NLC.ini Custom Protect %DC.NC.Protect
.writeini $scriptdirDC-NLC.ini Custom Op %DC.NC.Op | .writeini $scriptdirDC-NLC.ini Custom Hop %DC.NC.Hop
.writeini $scriptdirDC-NLC.ini Custom Voice %DC.NC.Voice | .writeini $scriptdirDC-NLC.ini Custom Notify %DC.NC.Notify
.writeini $scriptdirDC-NLC.ini Custom Ignore %DC.NC.Ignore | .writeini $scriptdirDC-NLC.ini Custom Idle %DC.NC.Idle
.writeini $scriptdirDC-NLC.ini Custom Regular %DC.NC.Regular | .writeini $scriptdirDC-NLC.ini Custom Me %DC.NC.Me
unset %DC.NC.*
if ($dialog(DC.Nick.Colors)) { did -e DC.Nick.Colors 58 }
}
alias DC.Write.Default.Settings {
.writeini $scriptdirDC-NLC.ini Default Owner 6 | .writeini $scriptdirDC-NLC.ini Default Protect 13
.writeini $scriptdirDC-NLC.ini Default Op 7 | .writeini $scriptdirDC-NLC.ini Default Hop 10
.writeini $scriptdirDC-NLC.ini Default Voice 12 | .writeini $scriptdirDC-NLC.ini Default Notify 9
.writeini $scriptdirDC-NLC.ini Default Ignore 4 | .writeini $scriptdirDC-NLC.ini Default Idle 2
.writeini $scriptdirDC-NLC.ini Default Regular 1 | .writeini $scriptdirDC-NLC.ini Default Me 5
if ($dialog(DC.Nick.Colors)) { did -e DC.Nick.Colors 66 | did -e DC.Nick.Colors 58 | did -c DC.Nick.Colors 62 1 }
}
alias DC.NLC.About { .echo -aq $input(DC Nicklist Colors by MaSOuD. $+ $crlf $+ $crlf $+ E-mail: Masoud.1984@Gmail.com $+ $crlf $+ $crlf $+ IRC: DALnet #DCScript $+ $crlf $+ $crlf $+ Enjoy your stay! : $+ $chr(41),oi8vg,About DC NLC) }
alias -l DC.NLC.First.Run {
.echo $color(info) $timestamp *6*10* DC Nicklist Colors by MaSOuD is successfully loaded!
.echo $color(info) $timestamp *6*10* E-mail: Masoud.1984@Gmail.com
.echo $color(info) $timestamp *6*10* Web Site: Http://DCScript.Persiangig.com/
.echo $color(info) $timestamp *6*10* Attempting To Nicklist Colors Settings...
DC.Write.Default.Settings
.writeini $scriptdirDC-NLC.ini Custom Owner 6 | .writeini $scriptdirDC-NLC.ini Custom Protect 13
.writeini $scriptdirDC-NLC.ini Custom Op 7 | .writeini $scriptdirDC-NLC.ini Custom Hop 10
.writeini $scriptdirDC-NLC.ini Custom Voice 12 | .writeini $scriptdirDC-NLC.ini Custom Notify 9
.writeini $scriptdirDC-NLC.ini Custom Ignore 4 | .writeini $scriptdirDC-NLC.ini Custom Idle 2
.writeini $scriptdirDC-NLC.ini Custom Regular 1 | .writeini $scriptdirDC-NLC.ini Custom Me 5
.timer.DC.Well 1 1 /.echo $color(info) $timestamp *6*10* Default settings has been loaded.
.timer.DC.Hint 1 2 /.echo $color(info) $timestamp *6*10*4 HINT: Everything will be effected when you press APPLY button!
DC.NLC
}
alias DC.Ask.For.Unload {
var %DC.UL.Result = $input(Are you sure? You want to Unload this Addon?,wyvg,DC Nicklist Unloading)
if (%DC.UL.Result == $yes) {
if ($dialog(DC.Nick.Colors)) { dialog -x DC.Nick.Colors }
.unload -rs $+(",$scriptdir,DC-NLC.mrc,")
}
else { }
}
; [Dialog and its Events]
dialog DC.Nick.Colors {
title "DC Nicklist Colors"
size -1 -1 173 116
option dbu
icon $scriptdirDC.ico, 0
box "", 1, 2 18 61 84
icon 2, 4 25 8 8, $shortfn($scriptdir) $+ Colors\00.bmp, 0, noborder
text "= 0", 3, 14 26 10 8, center
icon 4, 4 34 8 8, $shortfn($scriptdir) $+ Colors\01.bmp, 0, noborder
text "= 1", 5, 14 35 10 8, center
icon 6, 4 43 8 8, $shortfn($scriptdir) $+ Colors\02.bmp, 0, noborder
text "= 2", 7, 14 44 10 8, center
icon 8, 4 52 8 8, $shortfn($scriptdir) $+ Colors\03.bmp, 0, noborder
text "= 3", 9, 14 53 10 8, center
icon 10, 4 61 8 8, $shortfn($scriptdir) $+ Colors\04.bmp, 0, noborder
text "= 4", 11, 14 62 10 8, center
icon 12, 4 70 8 8, $shortfn($scriptdir) $+ Colors\05.bmp, 0, noborder
text "= 5", 13, 14 71 10 8, center
icon 14, 4 79 8 8, $shortfn($scriptdir) $+ Colors\06.bmp, 0, noborder
text "= 6", 15, 14 80 10 8, center
icon 16, 4 88 8 8, $shortfn($scriptdir) $+ Colors\07.bmp, 0, noborder
text "= 7", 17, 14 89 10 8, center
icon 18, 35 25 8 8, $shortfn($scriptdir) $+ Colors\08.bmp, 0, noborder
text "= 8", 19, 45 26 12 8, center
icon 20, 35 34 8 8, $shortfn($scriptdir) $+ Colors\09.bmp, 0, noborder
text "= 9", 21, 45 35 12 8, center
icon 22, 35 43 8 8, $shortfn($scriptdir) $+ Colors\10.bmp, 0, noborder
text "= 10", 23, 45 44 12 8, center
icon 24, 35 52 8 8, $shortfn($scriptdir) $+ Colors\11.bmp, 0, noborder
text "= 11", 25, 45 53 12 8, center
icon 26, 35 61 8 8, $shortfn($scriptdir) $+ Colors\12.bmp, 0, noborder
text "= 12", 27, 45 62 12 8, center
icon 28, 35 70 8 8, $shortfn($scriptdir) $+ Colors\13.bmp, 0, noborder
text "= 13", 29, 45 71 12 8, center
icon 30, 35 79 8 8, $shortfn($scriptdir) $+ Colors\14.bmp, 0, noborder
text "= 14", 31, 45 80 12 8, center
icon 32, 35 88 8 8, $shortfn($scriptdir) $+ Colors\15.bmp, 0, noborder
text "= 15", 33, 45 89 12 8, center
box "", 34, 27 28 3 64, disable
box "", 35, 65 0 106 84
text "Owner:", 36, 68 23 23 10, right
edit "", 37, 93 22 20 10, limit 2 center
text "Protect:", 38, 68 35 23 10, right
edit "", 39, 93 34 20 10, limit 2 center
text "Op:", 40, 68 47 23 10, right
edit "", 41, 93 46 20 10, limit 2 center
text "Hop:", 42, 68 59 23 10, right
edit "", 43, 93 58 20 10, limit 2 center
text "Voice:", 44, 68 71 23 9, right
edit "", 45, 93 70 20 10, limit 2 center
text "Notify:", 46, 122 23 22 10, right
edit "", 47, 146 22 20 10, limit 2 center
text "Ignore:", 48, 122 35 22 10, right
edit "", 49, 146 34 20 10, limit 2 center
text "Idle:", 50, 122 47 22 10, right
edit "", 51, 146 46 20 10, limit 2 center
text "Regular:", 52, 122 59 22 10, right
edit "", 53, 146 58 20 10, limit 2 center
text "Myself:", 54, 122 71 22 9, right
edit "", 55, 146 70 20 10, limit 2 center
box "", 56, 118 24 3 51, disable
check "Use my &Custom", 63, 71 8 50 10
check "Enable the &NLC", 57, 7 8 53 10
box "", 60, 65 83 106 19
text "Highlight Method:", 61, 68 90 44 9, right
combo 62, 114 89 52 35, size drop
button "&Apply", 58, 99 104 35 10
button "Reset", 59, 3 104 35 10
button "Clos&e", 66, 135 104 35 10
button "Preview", 65, 39 104 35 10
menu "Menu", 70
item "About", 71, 70
item break, 72, 70
item "Unload", 73, 70
}
on 1:dialog:DC.Nick.Colors:*:*: {
if ($devent == init) {
if (!$isfile($scriptdirDC-NLC.ini)) { dialog -x $dname | DC.NLC.First.Run | return }
set %DC.Colors.Model $readini($scriptdirDC-NLC.ini, Settings, Model)
set %DC.Nicklist.Use $readini($scriptdirDC-NLC.ini, Settings, Use)
set %DC.Nicklist.Colors.Status $readini($scriptdirDC-NLC.ini, Settings, Status)
if (!%DC.Nicklist.Colors.Status) { set %DC.Nicklist.Colors.Status 1 | .writeini $scriptdirDC-NLC.ini Settings Status %DC.Nicklist.Colors.Status | .cnick ON }
if (!%DC.Nicklist.Use) { set %DC.Nicklist.Use Def | .writeini $scriptdirDC-NLC.ini Settings Use %DC.Nicklist.Use }
if (!%DC.Colors.Model) { DC.Write.Default.Settings | set %DC.Colors.Model 1 }
if (%DC.Nicklist.Use == Def) { did -b $dname 37,39,41,43,45,47,49,51,53,55,62 }
did $iif(%DC.Nicklist.Use == Def, -u, -c) $dname 63
did -ra $dname 37 $readini($scriptdirDC-NLC.ini, $iif(%DC.Nicklist.Use == Def, Default, Custom), Owner)
did -ra $dname 39 $readini($scriptdirDC-NLC.ini, $iif(%DC.Nicklist.Use == Def, Default, Custom), Protect)
did -ra $dname 41 $readini($scriptdirDC-NLC.ini, $iif(%DC.Nicklist.Use == Def, Default, Custom), Op)
did -ra $dname 43 $readini($scriptdirDC-NLC.ini, $iif(%DC.Nicklist.Use == Def, Default, Custom), Hop)
did -ra $dname 45 $readini($scriptdirDC-NLC.ini, $iif(%DC.Nicklist.Use == Def, Default, Custom), Voice)
did -ra $dname 47 $readini($scriptdirDC-NLC.ini, $iif(%DC.Nicklist.Use == Def, Default, Custom), Notify)
did -ra $dname 49 $readini($scriptdirDC-NLC.ini, $iif(%DC.Nicklist.Use == Def, Default, Custom), Ignore)
did -ra $dname 51 $readini($scriptdirDC-NLC.ini, $iif(%DC.Nicklist.Use == Def, Default, Custom), Idle)
did -ra $dname 53 $readini($scriptdirDC-NLC.ini, $iif(%DC.Nicklist.Use == Def, Default, Custom), Regular)
did -ra $dname 55 $readini($scriptdirDC-NLC.ini, $iif(%DC.Nicklist.Use == Def, Default, Custom), Me)
if (%DC.Nicklist.Colors.Status == 1) { did -c $dname 57 }
DC.Nicklist.Method
}
if ($devent == close) {
unset %DC.NC.*
unset %Tmp.DC.*
unset %DC.Colors.Model
unset %DC.Nicklist.Use
unset %DC.Nicklist.Colors.Status
unset %Tmp.Nicklist.Colors.Status
window -c @NLC.Preview
}
if ($devent == edit) {
if ($did(37)) && ($did(39)) && ($did(41)) && ($did(43)) && ($did(45)) && ($did(47)) && ($did(49)) && ($did(51)) && ($did(53)) && ($did(55)) { did -e $dname 58 }
else { did -b $dname 58 }
}
if ($devent == sclick) {
if ($did == 57) {
if (%DC.Nicklist.Colors.Status == 1) { set %Tmp.Nicklist.Colors.Status 0 | .cnick OFF }
else { set %Tmp.Nicklist.Colors.Status 1 | .cnick ON }
}
if ($did == 58) {
did -b $dname 58
set %Tmp.DC.Colors.Model 1
set %Tmp.DC.Colors.Model $did(62).sel
set %Tmp.DC.Nicklist.Use $iif($did(63).state == 1, Cus, Def)
set %Tmp.Nicklist.Colors.Status $did(57).state
if (%DC.Nicklist.Use == Def) goto M
var %x = 37,39,41,43,45,47,49,51,53,55
var %y = Owner,Protect,Op,Hop,Voice,Notify,Ignore,Idle,Regular,Me
var %m = 1
while (%m < $calc($numtok(%x,44) + 1)) {
var %did = $gettok(%x,%m,44)
if ($chr(2) isin $did(%did)) || ($chr(3) isin $did(%did)) || ($chr(15) isin $did(%did)) || ($chr(31) isin $did(%did)) { .echo -aq $input(Don NOT use Control codes into the editbars! $+ $crlf $+ Just use the number itself.,gi8o,Error!) | unset %DC.NC.* | did -r $dname %did | return }
if ($did(%did).text !isnum 0-15) { .echo -aq $input(You must enter a number between 0-15,gi8o,Error!) | unset %DC.NC.* | did -r $dname %did | return }
set $+(%,DC.NC.,$gettok(%y,%m,44)) $did(%did).text
inc %m
}
:M
if (!%Tmp.DC.Colors.Model) goto Jump
if (%DC.Colors.Model != %Tmp.DC.Colors.Model) {
set %DC.Colors.Model %Tmp.DC.Colors.Model
unset %Tmp.DC.Colors.Model
.writeini $scriptdirDC-NLC.ini Settings Model %DC.Colors.Model
}
:Jump
if (!%Tmp.DC.Nicklist.Use) goto Jump_
if (%DC.Nicklist.Use != %Tmp.DC.Nicklist.Use) {
set %DC.Nicklist.Use %Tmp.DC.Nicklist.Use
unset %Tmp.DC.Nicklist.Use
.writeini $scriptdirDC-NLC.ini Settings Use %DC.Nicklist.Use
}
:Jump_
if (!%Tmp.Nicklist.Colors.Status) goto End
if (%DC.Nicklist.Colors.Status != %Tmp.Nicklist.Colors.Status) {
set %DC.Nicklist.Colors.Status %Tmp.Nicklist.Colors.Status
.writeini $scriptdirDC-NLC.ini Settings Status %DC.Nicklist.Colors.Status
unset %Tmp.DC.Nicklist.Colors.Status
}
:End
if ($did(63).state == 1) && ($dialog(DC.Nick.Colors)) { DC.Custom.Colors }
elseif ($did(63).state == 0) && ($dialog(DC.Nick.Colors)) { DC.Def.Colors }
}
if ($did == 59) {
did -b $dname $did
did -ra $dname 37 $readini($scriptdirDC-NLC.ini, Default, Owner)
did -ra $dname 39 $readini($scriptdirDC-NLC.ini, Default, Protect)
did -ra $dname 41 $readini($scriptdirDC-NLC.ini, Default, Op)
did -ra $dname 43 $readini($scriptdirDC-NLC.ini, Default, Hop)
did -ra $dname 45 $readini($scriptdirDC-NLC.ini, Default, Voice)
did -ra $dname 47 $readini($scriptdirDC-NLC.ini, Default, Notify)
did -ra $dname 49 $readini($scriptdirDC-NLC.ini, Default, Ignore)
did -ra $dname 51 $readini($scriptdirDC-NLC.ini, Default, Idle)
did -ra $dname 53 $readini($scriptdirDC-NLC.ini, Default, Regular)
did -ra $dname 55 $readini($scriptdirDC-NLC.ini, Default, Me)
did -u $dname 63
did -b $dname 37,39,41,43,45,47,49,51,53,55,62
set %DC.Nicklist.Use Def
}
if ($did == 62) { set %Tmp.DC.Colors.Model $did(62).sel }
if ($did == 63) {
if ($did(63).state == 0) { set %Tmp.DC.Nicklist.Use Def | did -b $dname 37,39,41,43,45,47,49,51,53,55,62 }
else { set %Tmp.DC.Nicklist.Use Cus | did -e $dname 37,39,41,43,45,47,49,51,53,55,62 }
did -ra $dname 37 $readini($scriptdirDC-NLC.ini, Default, Owner)
did -ra $dname 39 $readini($scriptdirDC-NLC.ini, Default, Protect)
did -ra $dname 41 $readini($scriptdirDC-NLC.ini, Default, Op)
did -ra $dname 43 $readini($scriptdirDC-NLC.ini, Default, Hop)
did -ra $dname 45 $readini($scriptdirDC-NLC.ini, Default, Voice)
did -ra $dname 47 $readini($scriptdirDC-NLC.ini, Default, Notify)
did -ra $dname 49 $readini($scriptdirDC-NLC.ini, Default, Ignore)
did -ra $dname 51 $readini($scriptdirDC-NLC.ini, Default, Idle)
did -ra $dname 53 $readini($scriptdirDC-NLC.ini, Default, Regular)
did -ra $dname 55 $readini($scriptdirDC-NLC.ini, Default, Me)
}
if ($did == 65) { DC.Preview }
if ($did == 66) { dialog -c DC.Nick.Colors }
}
if ($devent == menu) {
if ($did == 71) { DC.NLC.About }
if ($did == 73) { dialog -x DC.Nick.Colors | DC.Ask.For.Unload }
}
}
; [Events]
on 1:Load:{ clear -a | DC.NLC.First.Run }
on 1:Unload: {
clear -a
.cnick OFF
.cnick -r $+($chr(36),me)
var %x = 12
while (%x) { .cnick -r * | dec %x }
unset %DC.*
unset %DC-*
.remove $scriptdirDC-NLC.ini
.echo $color(info) $timestamp *6*10* DC Nicklist Colors by MaSOuD is successfully unloaded!
.echo $color(info) $timestamp *6*10* Thank You for using this Addon, Take care :)
}
menu Menubar,Channel,Status,Nicklist,Query {
-
DC Nicklist Colors
.Dialog:DC.NLC
.About:DC.NLC.About
.-
.Unload:DC.Ask.For.Unload
-
}
; E.O.F.