This dll has a special entry function called Mark You MUST call this function in the on join event of mIRC. You also only want to use Mark when its YOU who joins the channel. Following is an example.
on *:join:*:{
if ($nick == $me) {
call Mark here
setup the nicklist here
}
}
If you dont Mark the nicklist in the on join then the dll cannot fill the nicklist.
COMMANDS
The following commands create and setup the nicklist for use.
Usage
Mark # > aliasname option1 option2 .... optionN
aliasname - is the name of the alias to use for Custom Drawing. See below for examples and help. It MUST be the first option past the > in the Mark command. If you dont plan on using Custom Draw then use null.
Options are as follows
autoarrange - arrange icons in icon and smallicon mode when the nicklist is resized.
hottrack - nicknames are selected by hovering over a nick for a few seconds.
grid - each nickname is seperated in a grid
underlinehot - selected nick will be underlined.
underlinecold - unselected nicks will be underlined
borderselect - in icon view mode a small border is placed around the nick and icon when selected.
flatsb - scrollbars will be flat
nosortheader - the header will not act like a button
noheader - no header will be displayed. you can use ShowHeader later on
balloon - tooltips will be balloon style instead of old style. - "New"
The following example will mark the nicklist and use border select
Mark # > borderselect
SetColor
Usage
SetColor # op|halfop|normal|voice|bkg $rgb(0,0,0)
This function sets the color to use for each type of nick as well as a background color.
op - sets op color
halfop - sets halfop color
normal - sets normal users color
voice - sets voiced ppl's color
bkg - sets the nicklists background color
Example:
SetColor # op $rgb(255,0,0)
SetColor # bkg $rgb(0,0,0)
SetFont - "New"
Usage
SetFont # nicks|tooltip|header size weight > face name
This function sets the font for the tooltip header and nicks in the nicklist. You can specify a size and a weight value. A weight is from 0 to 900 400 is normal and 700 is considered bold.
nicks - sets nicknames fonts
tooltip - sets tooltips font
header - sets header text's font
Example:
SetFont # nicks 14 400 > courrier new
SetTipColor - "New"
Usage
SetTipColor # text|bkg $rgb(0,0,0)
This function sets the color to use for the text or background in a tooltip.
text - sets text color
bkg - sets background color
Example:
SetTipColor # text $rgb(255,0,0)
SetTipColor # bkg $rgb(0,0,0)
SetTipTitle - "New"
Usage
SetTipTtle # icon# > Title
This function sets the title and an icon in a tooltip. This can be used with or without balloon style tooltips. The icon is a number from 0 to 3 and the title text is a boldface title placed at the top of the tooltip.
Icon #'s are as follows
0 - No icon
1 - Info icon (!)
2 - Warning icon
3 - Error icon
filename.nli - path to a nli icon scheme file. You can download these or make them yourself. The format is op,halfop,voice,normal. You can use icl dll or exe as long as the icons are in that order.
Changes the view mode of the nicklist. In report mode and list mode the icons will appear in order (ops voices ..) however in icon and smallicon mode they may appear out of order. nicklist.dll uses report mode by default.
You can use either a dll exe ico and icl. If you use a library of icons then you can also use an index to specify wich icon to use.
Example:
SetIcon # op > 5,op_icon.icl
SetHeadertext
Usage
SetHeaderText # > Text
Sets text to the nick list header.
Example:
SetHeaderText # > Header
ShowHeader
Usage
ShowHeader # true|false
Shows or hides the header. use true to show it or false to hide it. If you used 'noheader' in 'Mark' this command will show it.
Example:
ShowHeader # true
CUSTOM DRAWING
Most of the controls in windows have an option know as Custom Draw (NM_CUSTOMDRAW). This allows the application to draw some or all of the control itself instead of windows. nickLUST gives this capability to the scripter. The name you use for aliasname in Mark will be called each time a nick in the nicklist needs to be drawn. The format is
$1 == the reason for calling the alias. see below for a list of reasons
$2 == the channel the nicklist to be drawn is on
$3 == a nickname that is being drawn
Following is a list of reasons the alias is called. This is the $1 parameter in the alias.
color - when the dll calls the alias with this reason you can return a custom color and nickLUST will use that color instead of the default one to draw the nick.
tooltip - when you hover over a nick the alias is called you can return the text to be used for a tooltip for that nick
rclick - when you right click on a nick this reason is passed to the alias if you return FALSE then the default mirc popup is not opened. return TRUE to use the default popup. You can use popups.dll if you so desire.
lsclick - passed when you select a nick. currently no return value is used.
ldclick - when you double click a nick this is passed. you can return TRUE to process it using the default mirc method or FALSE to halt processing.
If you dont have an alias then the default will be used. For example colors will be chosen based on the SetColor function from above.
Custom Drawing Examples
Coloring individual nicknames "On the fly"
The following example assumes the alias name "nickLUST" was used in the 'Mark' Command.
alias nickLUST {
if ($1 == color) {
if ($3 == $me) return $rgb(255,0,0)
return USE_DEFAULT
}
}
In the example above when nickLUST calls the alias with the color parameter we test the nick. If it is our nick we return the value of red. For all other nicks the default color chosen with SetColor will be used.
Adding custom tooltips for each nick.
alias nickLUST {
if ($1 == tooltip) {
if ($3 == $me) return This is you silly :)
if ($3 == My_Freind) return Some silly friend message here.
return Nickname: $3 $+ $crlf $+ Address: $address($3,4)
}
}
When tooltip is called if the nick is ours we return a dumb message since we dont need to know our own info. You can return silly messages for friends. The final return will display the nicks address and nick in the tooltip.
Using my own popups instead of mIRC's
Instead of using mirc's default popups some people like to use DragonZaps Popups.dll. Heres how you do it.
alias nickLUST {
if ($1 == rclick) {
;Code here that opens a popup with popups.dll
return FALSE
}
}
Since we return FALSE in the rclick event nickLUST wont call mirc's default popups. If we were to return TRUE or return nothing at all then the default popups will be opened.