03/03/2004 - mIRC v6.14 Changes: 1.Fixed /links -n not minimizing window. 2.Fixed tooltip gpf bug. 3.DCC send/get results are now always displayed in the status window. 4.Non-custom @windows are now displayed in their saved positions on multi-monitor setups. 5.Fixed /write -lN running out of temporary filenames error bug, also affected a few other file related commands. 6.Fixed dcc received files menu when dcc folders changed in options dialog. 7.Fixed move server to top on connect option not working in some situations. 8.Fixed script editor not saving current editbox contents when current/another file is loaded/unloaded. 9.Added match method option in log view dialog. 10.Increased zeropad max value in $base() to 100. 11.Fixed $matchkey in on open event. 12.Improvied $addtok() $deltok() handling of $null. 13.Fixed handling of ini files when system file attribute set. 14.Fixed $+() handling of $null. 15.Fixed fill switchbar display bug with vertical switchbar. 16.Fixed dcc send/get time out display bug. 17.Fixed gpf bug caused by /close in an on CHAT event. 18.Fixed send buffer overflow gpf when sending many commands to a server in a script all at once. 19.Fixed daylight savings time offset bug. 20.Moved port range to connect/advanced dialog, now applies to all connections. 21.Fixed editbox gpf bug when tab completion results in long text. 22.Tooltips now correctly use system tooltip font. 23.Fixed bug in /ignore and isignore when using/checking for applied switches. 24.Added /cnick -sN switch, sorts item into Nth position. 25.Fixed custom dialog icons display bug. 26.DCC ports range is no longer limited to 1024 and above. 27.Fixed nicknames being added to tab key list even if incoming message was ignored. 28.Fixed ctcp resume message not including original filename. 29.Fixed address book whois display bug. 30.Fixed /fopen not being able to open read-only files. 31.Fixed get active url feature in url editor dialog. 32.Fixed /qmsg and /qme display bug. 33.The $read() and $readini() identifiers no longer parse command separators by default. Added 'p' switch to enable this. 34.Fixed shift+control+v combination resulting in double-paste. 35.Fixed /ignore -w not removing network from an existing ignore item. 36.Fixed auto-get "if file exists" settings being applied even if auto-get wasn't enabled. 37.Fixed $send().resume returning incorrect value. 38.Fixed fileserver filename handling bug. 39.MDI window no longer displays horizontal/vertical scrollbars. 40.Switchbar now allows up to eight lines in height. 41.Fixed multi-threading gpf and memory loss issues. 42.Added reload logs feature to logs dialog, works with channel and chat windows. Loads up to the maximum window buffer value specified in the options/other dialog. 43.Updated libraries to zlib 1.2.1. 44.Added support for openssl. The libeay32.dll and ssleay32.dll openssl 0.9.7c dlls must be downloaded separately from mIRC and placed in the mIRC folder. mIRC will load the dlls automatically if it finds them. $sslready can be used to determine whether mIRC has loaded the dlls successfully. To initiate a secure connection to an SSL capable server, you can use the /server -e switch, or prefix the port number with a plus sign, eg. +7001. $ssl can be used to determine whether a connection is secure or not. SSL settings can be found in the Connect/Options dialog, and are visible only when openssl dlls are loaded. 46.Fixed $submenu() bug when returning $null for the begin menu item. 47.Fixed script parser bug when handling ; and rem comment prefixes in some situations. 48.Fixed $highlight(text) case-sensitivity bug, and added a .cs property. 49./echo can now target an open dcc chat window even if the dcc chat session has ended. 50.Fixed /filter gpf bug when /filter was being called a second time in the filter sort alias. 51.Fixed /unset not properly clearing a variable that was set with /inc -c. 52.Fixed bug with paste confirmation dialog, text was being pasted as a command even if the control key had been pressed. 53.Fixed server edit dialog allowing multiple entries with the same description. 54.Lines in listboxes are now the same height as those in the text display area in windows, allowing them to be aligned. 55.Fixed $com() dispatch pointers bug. You can now make mIRC create a new $com() object by specifying a dispatch* item as the last parameter in a $com() call, without a value. 56.Added lock option to disable /com features. 57.Fixed agent bug in ignore line if percentage of the line was non-text, if enabled it resulted in most lines not being spoken. 58.Added backup file on save option to editor. 59./.hop now hides display of hop message. 60.The /echo -sa swiches can now be used at the same time. 61.The /echo -bfh switches now affect custom @windows. 62.The recent servers list is now stored in [recent] in servers.ini and remembers servers that aren't in the servers list. 63.Fixed multi-server bug which may have caused a gpf/freeze in some situations. 64.The switchbar now displays scroll buttons when it is vertical and unable to fully show all windows. The mouse wheel can be used to scroll through the window list. 65.Fixed line marker bug, failed to behave correctly after a /clear. 66.Fixed Alt-Switchbar button bug when windows for a Status window were hidden, closing the status window was not re-displaying hidden @windows. 67.Fixed /msg chopping channel name at 60 characters. 68.Added /filter -z switch, remembers line color when copying from one @window to another. 69.Added $line().color property, returns line color. 70.Fixed fileserver dcc get bug. 71.Added dialog option to enable/disable the nick colors list. 72.Fixed $fline() regex case bug. 73.Fixed $cnick() bug resulting in non-match when modes were used. 74.Fixed on sockclose event triggering twice in some situations. 75.Added /server -jn switch where 'n' minimizes joined channels. 76.Fixed mark/copy right-click over editbox bug. 77.Fixed /scid -a gpf bug when used with /window -c. 78.Added Sort dialog to Window Menu, allows you to specify the sort order of Switchbar buttons and Windows. 79.Fixed tabkey channel completion with non-# channels. 80.Fixed /fseek regex gpf bug on long lines of text. 81.Fixed right-click titlebar roll/unroll bug. 82.Changed switchbar "sort buttons" behaviour. Buttons are now always sorted into groups. However if the sort option is turned off, they are sorted according to creation time within groups as opposed to alphabetical sorting. 83.Fixed various multi-byte display/mark/copy bugs and improved sjis-jis support. 84.Fixed $line() not working with channels list window. 85.Added "None" sort method to channels list popup menu, displays channels in the order sent by the server. 86.Script errors can now be caught by adding an :error goto point to your script. When an error occurs, the script will jump to :error and continue running. $error returns the error message. You can reset the error with /reseterror. If you don't reset the error, it will propagate backwards to any calling aliases until an :error is found and will halt the script. 87.Improved text scrolling in windows to avoid jumps after lines rewrap. 88.Fixed while loop /continue bug in nested while loops. 89.Query/Chat windows now remember their individual font settings, also added "use default" option to font dialog. 90.Fixed bug in random server port selection while connecting. 91.Added /loadbuf -nm switches, where -n logs the loaded text to the log file (if logging is enabled for that window). The -m switch indicates that the loaded text is already time-stamped. 92.The find dialog in the script editor now automatically uses the word at the cursor. 93.Added right-click popup menu for URL List toolbar button. 13/10/2003 - mIRC v6.12 Changes: 1.Fixed dcc related gpf bug. 2.Fixed /dline gpf bug. 3.Fixed /rename not being able to rename dirs. 4.Fixed log files network/folder name bug. 5.Fixed about dialog not closing issue. 6.Fixed /hdec bug. 7.Fixed /color not remembering palette changes. 8.Fixed /mkdir failing if dir already exists. 9.Fixed custom dialogs border display bug. 10.Fixed /fwrite display bug. 11.Fixed /debug recursive gpf bug. 10/10/2003 - mIRC v6.11 Changes: 1.Fixed channel folders join bug, wasn't setting focus on a channel window properly. 2.Fixed raw on/off not setting/unsetting red dot in remote toolbar button. 3.Fixed /fwrite text display bug. 4.Fixed $duration(N,3) bug with large values. 5.Fixed $base() bug when converting decimal places from one base to another by limiting the maximum precision allowed. 6.Fixed /hdec bug. 7.Fixed /mkdir bug. 8.Fixed $os, now returns 2003 instead of .NET. 9.Added language selection option to agents speech dialog. Must have the required agent language compenent installed. 10.Fixed /qmsg /qme display bug if not on a channel. 11.Undid change relating to firewall exclude list, in some cases mIRC has to depend on the socks5 server to resolve the address. 12.Fixed switchbar option via View menu not showing/hiding minimized window icons. 13.Fixed servers popup menu gpf bug. 14.Undid $submenu() change. 15.Fixed $comcall() $dllcall() gpfing with insufficient parameters. 16.Fixed favorites recent menu bug displaying channel keys. 17.Fixed Control+KN color bug when N was larger than 15. 18.Fixed favorites folder display of folder icons. 19.Favorites folder now allows multiple selection. 20.Fixed switchbar display bug when displaying the dcc send/get progress bar. 21.Fixed multi-byte mark/copy display bug. 22.Fixed gpf when attempting to load a corrupted png file. 23.Fixed bug with binary variables being unset too early in some situations. 24.Fixed identifier warning feature triggering on remote identifiers outside of remote events. 25.Fixed /color changes not being saved correctly. 26.Changed control/ignore dialog, now displays unignore seconds instead of minutes. 27.Fixed status window titlebar not showing "logging on" message when first connecting to a server. 28.Fixed /server not using the specified port. 29.mIRC no longer performs a soft disconnect. 30.Fixed right-click channel/query popup menus sometimes using incorrect nickname. 31.Fixed keys not working in popup menu items that don't use the & prefix. 32.Empty lines in popup menu scripts are no longer removed. 33.Fixed custom dialog tab control display bug. 34.Fixed Right-Alt key bug. Still works correctly as AltGr on keyboard layouts that use AltGr. 35.Added $sorttok(text,a) switch which sorts both text and numbers in a list. $sorttok(text,n) now behaves as it did in previous versions. 36.Changed /away handling, and fixed $awaytime. 37.Changed various API file-handling calls to c-runtime counterparts due to API calls resulting in some strange behaviours (most likely due to buffering) when used intensively. 38.Fixed duplicate separators bug in popup menus. 39.Fixed $highlight().color returning incorrect color index. If no color is selected, returns index for Normal text color. 40.Changed /fopen behaviour, now fails if file doesn't exist. The -n switch creates a new file, fails if it exists. And -o creates a new file, overwrites if it exists. 41.$fopen() now returns $null if you reference a name that does not exist. 42.Fixed $md5() bug with plain text containing % characters. 43.Nick color list now uses the ignore/protect/etc. lists even if ignore/protect/etc. in the control dialog are not enabled. 44.Address book whois section no longer strips control codes. 45.Control+M in the Script Editor now displays the More dialog. The Editbox in the More dialog now performs auto-completion. 46.Fixed "move server to top on connect" option not always moving the last connect server to top. 47.Improved dual monitor handling for @windows and custom dialogs. The script editor is still displayed in its last saved position. 48.Fixed $mask() gpf bug with long parameters. 49.Fixed /timerN without parameters listing all timers. 50.Added /echo -c color name switch, eg. /echo -c action text. The line color uses the selected theme in the colors dialog. 51.Fixed $* gpf bug. 52.Added auto-hide nick list option in channel nick list dialog. 53.During a dcc resume, the last 8192 bytes are chopped off only once the transfer actually begins. 54.Fixed /hload and /hsave with binary files when some items in table are empty. 55.Fixed windows not being auto-tiled when switchbar is moved. 56.$online now returns value based on settings in timer dialog. 57.Fixed dde gpf bug. 58.Fixed /filter numeric sorting bug. 59.Added /showmirc -m switch, minimizes according to tray options. 60.Fixed $fline() bug with wrapped lines. 61.Fixed numeric 472 not being displayed or processed by scripts. 62.Added support for server password in irc://password@server links. 63.Fixed menu handling bug that affected the favorites popup menu as well as various other menus under 95/NT. 64.Fixed /fseek -wr bug when the last line in a file did not end in a CRLF. 29/08/2003 - mIRC v6.1 Fixes/Additions: 1.Fixed editboxes in options/custom dialogs using double-border when themes are enabled. 2.Fixed default browser issue. 3.Fixed $serverip bug. 4.The $awaytime value is now available in scripts that handle numeric 305. 5.Fixed $isid when used as first parameter in $iif(). 6.Fixed $nick().idle time being incorrectly reset in certain situations, eg. /mode changes on a nickname. 7.Fixed listbox size in firewall dialog. 8.Fixed $sorttok() not handling negative numbers. 9.Fixed custom window visual style display bug. 10.Fixed $input() bug when multiple $input() dialogs were opened at the same time. 11.Fixed /set /inc /dec -cz bug which caused -cz to stop in some situations. 12.Fixed $script() and $alias() bug when handling LFNs. 13.Fixed /amsg and /ame trying to send to non-joined channels. 14.Double-clicking on web/ftp hotlink now displays a warning dialog before the site is opened. 15.Fixed /color bug. 16.Fixed Control + mark/copy not working in custom windows. 17.Fixed /background bug, wasn't applying settings in some situations. 18.$os now returns NET for .NET systems. 19.Fixed Editor dialog bug, was not reading text in the editbox correctly in some situations. 20.All Socks5 firewall error messages are now displayed correctly. 21.Added /play [-a] [alias] [channel/nick/stop] [delay] makes /play use specified alias instead of /msg or /notice. 22.Files opened for logging, sends/gets, etc. are no longer limited to a maximum total of 50 or so open files. 23./dcc commands, such as /dcc send, ignore, etc. are now also handled in the form /dccsend, /dccignore, etc. 24.Added 'r' switch regex match method to $read() and /write. 25.Added /clipboard -n switch, appends $crlf to text. 26.Added /dcc nick -sgcf , allows you to change the nickname associated with a dcc send/get/chat/fserve. 27.Added $file().shortfn/longfn properties. 28.Nicknames in channel part/quit messages now show mode prefix. 29.Added multsel value for custom dialog listbox controls. 30.Uninstaller will now work even if you have other copies of mIRC running. 31.Now using Visual C++ .NET 7.0 to compile mIRC. 32.Fixed memory bug relating to registry handling. 33.The /did -cf switches now scroll the cursor into view when used on an editbox. 34./window now handles negative font sizes correctly. 35./window -o now displays a desktop window in a non-active state. 36.Fixed /drawtext default colors and font/size bugs. 37.Fixed tab completion wildcard handling bug for identifiers and variables. 38.Added support for .jpeg extension. 39.Fixed /play -e display bug. 40.$duration() can now handle h:m:s format and if N = 3 it outputs in h:m:s format. 41.Fixed /hop bug when part message specified. 42.Extended $crc(text|&binvar|filename,[N]) where N = 0 for plain text, 1 for &binvar, 2 for filename (default). 43.Extended $disk(path|N) where N = 0 for total available drives, and N > 0 to access each drive. $disk().path returns drive path. 44.Pressing enter key in a dcc get dialog while focus is in editbox now accepts the dcc. 45.Added identifier warning option to editor dialog options menu, halts script if identifier doesn't exist. 46.Fixed /aop bug. 47.Fixed /whois related memory bug. 48.The "no such nick" message is now shown only in the query window if one is open. 49.Added /qmsg and /qme, send message/action to all open query windows. 50.If "hide desktop windows when minimized" is enabled, can now hold down shift key when minimizing to prevent hiding. 51.Channels list files are now saved to their own channels folder. 52.Fixed $bvar().long/word bug when used with a binary variable containing insufficient bytes. 53.Changed DCC section in Options dialog, moved Ignore to own section, and Folders section now uses a listview control. 54.Changed default visual styles. 55.Notify list dialog now uses listview, and added notify offline sound. 56.Added $ceil(N) and $floor(N), round to next highest or next lowest integer. 57.Fixed $asin(), $acos(), and $atan() bugs. 58.Fixed /playctrl gpf bug. 59.Fixed /ignore -wuN combination causing unignore to fail. 60.Fixed "use default" not working in background menu item for channel windows. 61.Added $msfile(dir,title,oktext) identifier, same as $sfile() but allows selection of multiple files. Returns N, number of selected files. $msfile(N) returns each file. If a user selects too many files, $msfile() returns -1. 62.Updated libraries to PNG 1.2.5, zlib 1.1.4, and PCRE v4.3. 63.Fixed $base() bug. 64.Fixed $group() bug. 65.Fixed editor dialog not re-aligning and spacing out text when a file is changed and saved. 66.Fixed $chan().limit and other related bugs. 67.Fixed list channels dialog gpf bug. 68.Added custom file-handling commands and identifiers, which allow you to open multiple files for reading and writing. /fopen [-n] If file open fails, script continues to run. See $ferr and $feof below. /fclose Closes specified files. /flist [name | wildcard] Lists open files /fseek -l -n -w -r Sets read/write pointer to specified position in file. /fwrite [-bn] -b indicates that a &binvar is being specified -n appends a cr/lf to the line $fopen(name | N) .fname .pos .eof .err .eof and .err must be checked after each file access command or identifier, since file access errors will not halt a script. $fread(name | N) Returns next cr/lf delimited line. $fread(name | N, M, &binvar) Returns number of bytes read into binary variable, where M is the number of bytes to read. $fgetc(name | N) Returns character value $feof and $ferr May be used to refer to the result of the last file access attempt in any script, where $feof = end of file was reached, and $ferr = error accessing file. 69.Added file type ignore warning, which pops up when a file type is ignored, and explains why, with a direct link to the options dialog, dcc ignore section. 70.Extended /drawpic, can now draw icons from ico/exe/dll files. 71.Fixed $findfile() not halting on control+break key in some cases. 72.Added $rawmsg, returns raw server line for server events. 73.Fixed background picture fill/stretch/etc. display bug in windows. 74.Extended $send()/$get() .status propery to also return "sent", "received", and "failed". The .done property is still supported. 75.All alias and remote files in the Editor can now be unloaded, and a default empty file will be created. 76.Changed buttons in all dialogs to standard size. Many dialogs were re-designed to accomodate this. 77.Browse folder button in dcc get dialog now shows a folder icon. 78.Play button in sounds dialog now shows a play icon. 79.Changed the way the add/delete buttons work in the Address book dialog, and made changes to the info section. 80.Simplified connect dialog, and added a separate servers dialog. 81.Added a new section to servers.ini, with the following format: [networks] n0=Quakenet n1=EFnet n2=Undernet n3=DALnet A newly installed mIRC, which is missing the "host" entry in the [mirc] section in mirc.ini, will select an initial random server from this list. 82.Added $file().attr, returns file attributes. 83.Fixed $regsub() gpf bug with long strings. 84.Can now use /* and */ to comment out multiple lines in an alias, popup, or script. Each be used alone on a single line. 85.Fixed script custom @menu gpf bug. 86.Fixed tabbed dialogs display bug. 87.Fixed line marker being saved to log/buffer as empty line. 88.The /dns command now indicates if a request is being queued. 89.Fixed /echo -iN display bug causing indented part of a wrapped line to display control codes. 90.In the DCC Resume and Accept ctcp messages, mIRC now uses the original transfer filename instead of "file.ext". 91.A single toolbar button is now used for the editor dialog. The red light is now on when any of ctcp/event/raw are enabled, and off when they are all disabled. A right-click on the toolbar button now displays a most recently used files list. 92.Fixed "on top" setting for main mIRC window not being set on startup. 93.Merge logfiles feature now closes all open logs before attempting a merge and then reopens the logs after the merge is finished. 94.Fixed memory bug in logfiles merge dialog. 95.Added $input() options: 'r' creates a retrycancel dialog, 'd' plays the system sound associated with each system icon, 'g' right aligns buttons. 96.Channels list now displays channel names which begin with a non- recognized prefix. 97.On a throttled connection attempt, mIRC will now wait 60 seconds. 98.Fixed mIRC not opening a new webbrowser for "latest news", "how to register" etc. links. 99.Fixed bug in "On Send" setting in catcher dialog. 100.Channel central topic editbox is now limited to TOPICLEN length specific in server numeric 005. 101.Fixed timed unban in /ban command not working with half-ops. 102.Search option in View Logs dialog now actually searches through files for matching text, as well as matching on the filename. 103.Added /ban -k switch, performs a ban/kick. You can specify a kick message as the last parameter. 104.Incoming part messages are no longer truncated to 65 characters. 105.Added Alt+D shortcut to open Aliases section in script editor, due to conflicting Alt+A in Favorites menu. The Favorites menu can however be turned off, in which case Alt+A will revert to opening Aliases. 106.Added "navigation clicks" to sounds dialog, makes a sound when you click on a url or hotlink such as a channel/user name. 107.Changed the way colors are referenced for events text in windows so that colors are now an index to the color type eg. "Normal text", as opposed to the 16 color palette. 108.The log view dialog now allows you to merge/delete files that are in use. It closes log files if necessary before using them, and then re-opens them afterwards. 109.Empty lines are now stripped out of popup menu definitions in editor dialog. 110.Many interface changes and improvements. 111.Added color scheme option to colors dialog to allow you to switch between different color schemes easily. 112.Fixed /server -n -i bug not setting nicknames in new server window. 113.Fixed irc:// links not using default port value. 114.Fixed main menu flickering when switching windows. 115.Fixed /amsg and /ame bug when a long message is specified. 116.Fixed $submenu() bug, was over-evaluating parameters. 117.Fixed /rename bug. 118.Notify list now displays network name and server address. 119.Fixed $bfind() bug. 120.Fixed $base() floating point handling bug. 121.When repeatedly calling /notify to add multiple nicknames to the notify list, mIRC now pauses for one second before updating the server to prevent flooding. 122.The $() identifier used in the matchtext section of a remote event definition can now use $1- to reference the incoming line. 123.The matchtext section of a remote event definition can now contain a regular expression. You must specify the $ event prefix to use this feature. on $*:TEXT:m/regular expression/switches:#:/echo message: $1- The 'm' and switches are optional. The // are required. If switches are used they must be standard PCRE switches, otherwise the match will fail. You can use switch 'S' to strip control codes from $1-. 124.On systems that support it, mIRC uses the new format for the browse for folder dialog, eg. $sdir() etc. 125.Added toolbar disconnect confirm option: requires two clicks to disconnect from a server, to prevent accidental disconnects. 126.Fixed $mp3() not returning correct .length for large mp3s. 127.The on CONNECTFAIL event now sets $1- to the error message. 128.Fixed $isdde() bug. 129.Added /color -s "scheme name" to allow changing of color schemes, and /color -l to reload color settings from mirc.ini. 130.Individual incoming lines (numeric 322 during a channel listing) can now be /halted in a script. 131.Fixed popup menu resources bug. Submenus which were merged due to duplicate names were not being freed afterwards. 132.Control+Enter with a /! prefixed command now triggers on INPUT. 133.Changing the flash settings in IRC options now applies them to all open windows (whose flash settings weren't manually enabled). 134.Fixed finger server bug. 135.Added $line().state property, returns selection state for a line in a @window listbox. 136.Control+Break no longer halts a script if it is pressed while mIRC is not the active application. 137.Fixed long script filenames not being displayed correctly in Editor dialog. 138.Added $didreg() identifier, same as $didwm() but uses regex. 139.Extended $fline(), where the T parameter can be 1 to use a listbox, 2 to use regex, or 3 for both. 140.Closing a debug @window now turns off debugging for that server. 141.Added "paste confirm" option to confirm dialog, displays warning you when you try to paste more than N lines of text to a window. 142.Added Key combination Alt+X to toggle maximized state of a window. 143.Binary variables no longer have an upper limit on the number of bytes that can be stored. 144.Added $compress(file|&bvar, blN) and $decompress(file|&bvar, blN) that compress/decompress files/binary variables. The result is raw compressed data. Where -b indicates a binary variable in the first parameter, and -lN sets a compression level of 1 to 6 (the default is 6). 145.Added /write -n switch, prevents /write from appending the line with a $crlf. 146.Using /hdec on a non-existent hash table item now sets it to a default value of -1. 147.Added /debug -i <...> [identifier] which calls the specified identifier before a debug line is logged. The return value of the identifier is used as the debug line. 148.The "enable" sounds option in the sounds dialog now affects most sounds, including highlight, notify, window/icon flashing, etc. Sound requests and Agents still need to be enabled/disabled individually. This does not affect the use of sound-related commands in scripts. 149.Pressing Control-C while marking text in a window now copies the text and cancels the mark process. 150.Added /server -pfoc switches, which prevent: perform, popup favorites folder, autojoin channels, and on connect event, on connecting to a server. 151.Time and date identifiers eg. $ctime() now return $null if an invalid time/date is specified. 152.Status window switchbar button now displays highlight state of associated windows hidden with Alt+F1. 153.Disconnecting via the file menu/toolbar/disconnect command now results in a soft disconnect, allowing any pending server info to be displayed. Incoming data will not trigger scripts, etc. during this time. 154.Added "show nicks on join" option to IRC options dialog. 155.Added "Alt+Z closes active window" option to keys dialog. 156.The $ticks identifier should now take account of the 49.7 day windows tick counter wrapping around to zero. 157.When connecting to a server, named addresses are now resolved before checking for a match in the firewall exclude list. 158.Fixed "session time" not being written to log files at midnight. 159.Fixed $modefirst and $modelast not working in on op/deop/etc. events. 160.Status window titlebar now displays connect info when you are not connected to a server. 161.$calc($null) now returns zero instead of $null. 162.Fixed $dns(0).ip not returning ip address for a failed ip address lookup. 163.Fixed $rand() number distribution bug. 164.Fixed mark/copy display bug. 165.Fixed /did not showing/hiding tabs and their contents properly. 166.Added $comcall(name, alias,...) and $dllcall(filename, alias,...) identifiers, same format as $com() and $dll(), except these return immediately and allow the script to continue running. When the COM/DLL returns, the specified alias is called. 16/08/2002 - mIRC v6.03 Fixes/Additions: 1.Fixed perform on connect sorting bug. 2.Fixed numeric 330 bug. 3.Fixed menubar and toolbar flickering when switching windows. 4.Fixed ! on INPUT processing bug. 5.Fixed $read/etc. freeze bug when used with invalid filenames. 6./window -o no longer activates a window. 7.Fixed switchbar multi-line display bug. 8.Fixed /window -h and Alt+F1 bug. 9.Fixed up/down keys not working in certain windows. 10.Fixed dcc ignore bug. 11.Fixed /timer bug, was triggering too early in some situations. 12.Fixed /window -h displaying minimized icon for a window when switchbar was turned off. 13.Shift+DoubleClick on a line in the Channels List window now joins the channel minimized. 14.Fixed bug in highlight feature. 15.Fixed remote toolbar button right-click menu bug. 16.Nick color list now allows you to add an item with no color selected. 17.Fixed background picture display bug when a window is resized. 18.Fixed listbox selection/cursor bug which affected listboxes in dialog windows. 19.Fixed /load command triggering multiple on load events. 20.mIRC now supports the IRCX events KNOCK, WHISPER, EVENT, PROP on any server that sends them, not just an IRCX server. 21.Added on LOGON event, triggers before and after mIRC sends the standard PASS, NICK, and USER messages to the server. on ^*:LOGON:*:echo Logging on to $network $server on *:LOGON:*:echo Logged on to $network $server If you /halt the event, mIRC will not send the standard logon messages, allowing to send your own messages. 22.mIRC will again try to rejoin a channel even if it was +i or +k, since there are situations on some networks where the rejoin will work. 23.Fixed /set -u0 bug not unsetting variables in some situations. 24.Fixed enter key bug in empty channel nicklist. 25.Changed $ticks back to old method due to bug in Windows high performance timer which returned incorrect values. 26.Now handles numeric 378 in whois replies. 27.Fixed fileserver window not being closed on a time-out. 28.Fixed window active titlebar display bug when certain Window tile/cascade options were enabled. 29.Fixed /did -k not triggering events again if halted once. 30.Fixed debug window not showing entire raw line if it contained a $cr or $lf. 31.Fixed on START bug caused by loading custom dialogs during the event. 32.Fixed memory bug in script parser. 33.Fixed /load /unload not treating short/long filenames as the same file. 34.Notify list titlebar now shows total number of notify users online across all server connections. 35.Added $window().sbtext and .sbcolor properties. 36.Can now mark/copy text backwards or forwards. 37.Fixed $base() bug not handling negative numbers correctly. 38.Added $ialchan().pnick property. 39.Added $serverip identifier, returns server ip address. 40.Added /editbox -f switch, sets editbox focus. 41.Added $nick().idle property, returns idle time in seconds for nick on a channel, ie. the time since the user last sent a message to the channel. 42.Fixed on CONNECTFAIL bug. 43.Fixed $mklogfn() bug. 44.Fixed proxy authentication bug. 45.Added idle time option to nick color list dialog. Also added $cnick().idle property. 46.Fixed $asctime() bug. 47.Fixed /ignore -u bug. 48.Added exception masks option to firewall dialog. 49.Fixed dcc server ignore bug. 50.Can now specify %variables in a dialog item definition, and the %variable will be set with the contents of that item when the dialog is closed, eg. edit "", 2, 10 10 100 20, autohs %test 51.Online timer now handles multi-server connections. 52.Changed $input(prompt,N,window,title,text), where N is: e - show input editbox p - show input password editbox o - ok button y - yesno buttons n - yesnocancel buttons v - return $ok, $yes, $no, $cancel for buttons iqwh - show the info, question, warning, and hand icons s - indicates that window name has been specified a - activate dialog 53.Fixed @window menu bug relating to $1 value when no item was selected in a listbox. 54.Added $md5(text|&binvar|filename,[N]) identifier, where N = 0 for plain text (default), 1 for &binvar, 2 for filename. 06/06/2002 - mIRC v6.02 Fixes/Additions: 1.Fixed tab key nick completion bug. 2.Fixed window tiling bug when a maximized window is closed while auto-tile/cascade is enabled. 3.Fixed /dcc trust bug. 4.Fixed on keydown/keyup events in custom @windows not handling some keys. 5.Fixed editboxes limiting amount of text that can be entered. 6.Fixed dcc sends/chats not being auto-minimized when switchbar was turned off. 7.$ticks now uses a different method to get the ticks value. 8.Extended /drawsave -qN to save .jpg files with quality N, where N is between 1 and 100. 9.Custom dialog initial size now takes account of wrapped menubar height. 10.Fixed memory handling bug in jpg loading routine. 11.Extended switchbar multi-line option in display dialog. 12.Added Options dialog to Window menu. 13.Inverted /drawpic -m switch, now uses slower better quality method only when -m is specified. 14.Fixed mIRC always adding itself to the tray after explorer crashes, even if tray option wasn't enabled. 15.Added /dialog -h switch, works same as -i in /timer and /window, makes dialog hop between connections. 16.The on CLOSE event is now again triggered for open windows when mIRC exits. 17.mIRC now uses the default system cursor for hotlinks. 18.mIRC now uses the command "LIST stop" to stop the channels list from the server, on all IRC networks. 19.Fixed /flash bug. 20.Fixed /ignore -r bug. 21.Fixed dcc get file exists dialog bug incorrectly truncating file before rename. 22.Fixed dcc server protocol bug when rejecting a connection. 23.The on INPUT event is no longer triggered for commands that use the ! command prefix. 24.Fixed $style() menu option not being set in some situations. 25.Fixed $inrect() bug. 26.Fixed /drawcopy bug, was copying one pixel too many. 27.Extended Channels Folder Add/Edit dialog to allow selection of multiple networks for each channel entry. 28.Fixed fserve window time-out beep/closing bug. 29.Fixed connection wizard dialog bug. 30.Fixed * Disconnected not being displayed in channel window in some situations. 31.Fixed tooltip display bug. 32.Fixed /notify /ignore /protect /aop /avoice not always applying nick color settings after changes. 33.Fixed bugs in dcc trust feature. 34.Added ignore option to dcc trust dialog. 35.Fixed /sound lpt1/com1/etc. bug under Win2k. 36.Editing an item in the highlight dialog no longer changes the position of the item. 37.Fixed $dccignore(N) bug when N = 0. 38.Fixed $submenu() not working in picture @windows. 39.Fixed ctcp finger reply not evaluating user name if it contained variables or identifiers. 40.Fixed /hdel -w bug, wasn't unsetting items which had been created with the -z switch. 41.Notify list window titlebar now shows total number of users in list. 42.Perform on connect section now allows you to specify a different set of commands for each network. Moved perform dialog to connect section. 43.Fixed $input() bugs. 44.If a $cid ceases to exist during execution of a script, eg. if /window -c is used to close a status window, mIRC now re-assigns the script to an existing $cid. 45.Fixed scrollbar display bug in windows in some situations. 46.Fixed /window and $mouse.dx/dy bugs when windows taskbar positioned at left/top of desktop. 47.Fixed mIRC not using system default for browser/email programs. 48.Fixed $active/$lactive bug. 49.Fixed bug which caused custom dialog to lose focus when window was closed with /window -c. 50.Fixed /set -u0 bug not unsetting variables in some situations. 51.The "unable to join channel" message is now displayed in the status window and in the channel window. 52.Strip codes option in logging dialog now also strips control codes from the timestamp. 53.Separators at the bottom of a custom menu definition are no longer stripped out from a menu. 54.Fixed $gettok() bug when handling negative N values. 55.Can now use /font to set font settings in mirc.ini for non-open windows. 56.mIRC no longer closes a channel window on reconnect to a server if you have keep channels open enabled. 57.mIRC no longer attempts to rejoin a channel on reconnect if the channel was +i, or if it was +k and mIRC didn't have the key. 58.Fixed /window -f bug when used on hidden @windows. 59.DCC Sends/Gets that fail during transfer now show cps/time info in status window message. 60.$var() now evalutes the first parameter if it isn't a %variable. 61.Dlls opened by $dll() or /dll are now closed before mIRC closes all other windows on exit. 62.Can now use %variables in custom dialog table definitions for control size/position values. 63.Fixed /dcc send not handling UNC format filenames correctly. 64.Fixed MIME $encode()/$decode() bug when processing &binvars that contained zero values. 65.Can now use $* as a parameter to an alias. 66.Fixed $bvar().word/nword/long/nlong properties, now return an unsigned value. 67.Fixed infinite recursion bug when using /timer -e switch. 68.DCC Get Resume dialog now shows current and incoming file size. 69.Added on dialog close event. 70.Custom dialogs no longer require an ok or cancel button. 71.Added $sin()/$cos()/etc. .deg property to treat number as degrees instead of radians. 72.$window().type for custom windows now returns: custom, picture, and listbox. 73.Mozilla is now used correctly when opening URLs. 74.Changed "Group by Network" behaviour. 75.You can now use $dns(0).nick/addr/ip to reference properties if an address couldn't be resolved. 76.Fixed memory handling bug when using /sockwrite * wildcard format. 77.Added /window -R switch, resets window position to previously saved position. 78./nick changes are now saved to mirc.ini immediately. 79.Fixed bug with second editbox not appearing when you are voiced on a channel. 80.Fixed nick in channel/query window titlebar not being updated on a nick change if "Show nick in channel/query titlebars" was enabled. 81.Using $hget(name, item, &binvar) where item is a non-existent item now returns 0 and does not create the &binvar. 82.Added /hload and /hsave -i switch, saves hash table in ini file format. Can specify optional [section] name after filename. 83.$regex() now handles empty strings correctly. 84.Rejoin channels on connect option now combines JOINs for multiple channels. 85.Fixed /socklist display bug for listening connections. 86.Extended $hfind(name/N, text, N, M) to handle wildcard/regex matches. Where M is: n - normal text comparison (default if M isn't specified) w - text is wildcard text W - hash table item/data is wildcard text r - text is regular expression R - hash table item/data is regular expression Note: $hmatch() and $hregex() are still supported for now but are no longer listed in the help file. 87.Fixed mouse button right-click popup menu bug when connected to multiple servers. 88.The second parameter in a /who request is no longer treated as a filter string if it does not contain a wildcard character. 89.Fixed bug relating to time and timezone handling, happened only in certain timezones. 90.The /aop /avoice /protect /ignore commands now allow you to specify a network name as the last parameter. 91.Updated Regular Expression library to PCRE v3.9. 92.Updated PNG library to PNG v1.2.1. 93.Added sort button to control dialog. 94.Can now specify wildcard name in /close command. 95.Fixed bug in Copy messages to Query window feature. 96.The -r and -l switches now work the same way in /aop /ignore /avoice and /protect. 97.Added on CONNECTFAIL event, same format as on CONNECT, triggers when a connection attempt (including retries) has failed. 98.Added /clearall -snqmtgu switches, where s = status, n = channel, q = query, m = message window, t = chat, g = finger, u = custom. If no switches are specified all windows are cleared. 99.Added /bread -t switch, reads data up to the next CR/LF. 100.Added "Flush files" option to DCC Options dialog. 101.Fixed /timer bug, may not have been triggering correctly in some situations. 102.Show whois in active window now handles /whois nick1,nick2,etc. 103.Added IRCX-specific fix for handling messages sent by a channel to a user, eg. #channel PRIVMSG nick :message. mIRC only supports this format when connected to an IRCX server. 104.Added Alt+LeftClick on Status Window switchbar button, shows/hides all switchbar buttons associated with the status window. New windows will always have their buttons displayed even if the hide option is on. Can also use Alt+F1 to show/hide buttons. 105.$mask() now handles ^ and = as userid prefixes. 106.Fixed List Channels dialog bug which caused it to lose settings in some situations. 107.The on DIALOG mouse event now triggers over controls in a dialog and $did is set to the control id value. 108.Added on DIALOG active event, works with $dialog().active. 10/02/2002 - mIRC v6.01 Fixes/Additions: 1.Fixed MDI border display bug when windows are opened while mIRC is minimized. 2.Added visual styles dialog to display dialog. 3.mIRC no longer changes all paths/filenames to lower case. 4.Fixed notify list being lost if you used command line parameters in a shortcut icon to change the default ini filename. 5.Fixed /cnick -an bug. 6.Fixed IRCX support for MS servers. 7.Fixed $target bug in channel events. 8.Fixed $dns(N) always returning a value, even if N was invalid. 9.Fixed on NOSOUND event not triggering. 10.Added Show away in active window option to IRC dialog. 11.Added /editbox -o switch, applies to the second editbox in a channel window. 12.Extended $editbox(window,N), where N = 1 applies to second editbox in a channel window. 13.Channel Central and Folder dialogs are now closed only when you disconnect the connection on which the dialogs were opened. 14.Fixed /ignore -u bug multi-server support. 15.Fixed display of small buttons in finger/chat/find dialogs under XP. 16.Added irc:// link options to Catcher dialog. 17.Fixed password editbox in Lock dialog not allowing enough characters to be entered under XP. 18.The channel central dialog will now always popup centered over the channel window where it was called. 19.Added $cmdbox, returns $true if script was called from the command editbox in a channel. 20.The /fullname and /username commands now correctly update their settings before a connection is made. 21.Fixed dcc send/get/chat/fileserver timeout message bug. 22.Fixed $eval() bug when handling N parameter. 23.Fixed $hget() bug when .item or .data was specified with an out of range N value. 24.Fixed query window titlebar not displaying user address even if user was in IAL. 25.Fixed notify nickname hotlinks not working. 26.$disk(a:) no longer causes a windows dialog to pop up if there is no disk in the drive. 27.Fixed titlebar right-click option not working on desktop windows. 28.Fixed /whois away reply resetting $awaytime value. 29.Made DDE delay editbox width larger in options dialog. 30.Fixed /play not being cancelled if unable to play to nick/channel. 31.Fixed channel central ban list appearing in status window in some situations. 32.Local info server lookup method now holds on to any host or ip address that it has, even if the DNS lookup for that address failed. This means that if numeric 001 or a /whois or /userhost returns your IP, mIRC will use it even if it can't resolve your host from it. 33.Fixed Agent support in Sounds dialog. 34.Identd should again work for any external applications, not just for mIRC connections. 35.Menu items created by $submenu() can now call local -l aliases. 36.Fixed $sfile() titlebar text bug. 37.Switching between maximized windows no longer causes flicker. 38.Chat/query windows now only prevent you from closing a window if an incoming message appeared in the window, not your own typed message. 39.mIRC is now a bit more lenient with CTCP message formats. 40.$address now returns address of the server that sent the server message. 41.Fixed while loop break/continue bug. 42.Added /drawsave -bN switch, specifies number of bits. 43.Added -m switch to /draw commands, changes the stretch mode quality when a picture is resized. 44./dcc get now over-rides the "sort by nicks into own folder" option in dcc folder items. 45.A /mode on join is no longer sent went joining a modeless +channel. 46.Added /dcc trust [-r] to add/remove items to dcc trust dialog, and $trust(N) to return items in trust list. 47.Fixed dcc send/get/chat timing out when system time changed. 48.Channel nicklists are now cleared after the on DISCONNECT event has been triggered on a disconnection. 49.Flash option for a highlight item now flashes continuously, whereas the sound is played only N times. 50.Can now use $opnick in on owner/deowner events again. 51.Fixed /server N gpf bug where N is a non-existent Nth server. 52.Fixed connection related gpf bug. 53.Fixed dcc send/get windows not showing "transfer incomplete" in some situations when a transfer fails. 54.Improved /ignore /protect etc. handling of network/non-network specific addresses. 55.Added /server [-i nick anick email name] [-j #channel pass] switches, must be used after the server parameters. 56.Added "User id from email address" to identd dialog. 57.Fixed on close ? event triggering when status window is closed. 58.Fixed $sound() bug. 59.Fixed /whowas and /whois away message handling bug. 03/02/2002 - mIRC v6.0 Fixes/Additions: 1.Fixed /filter numeric sorting bug. 2.Fixed $hget().data bug. 3.Fixed Nick color listbox display bug. 4.Fixed $mask() not handling masked address. 5.Channel nick list is now cleared when you disconnect from a server and you have "keep channels open" enabled. 6.Added /flush -l switch, removes only the specified levels from entries in the user list, instead of removing the entries. 7.Added $mnick back, returns your primary nickname. 8.The max cps fserve option now allows a dcc send to use up the full max cps if no other dccs are using the bandwidth. 9.Speeded up the way the servers list is handled in many routines, including identifiers such as $server(). 10.Fixed mIRC not processing ports correctly in server definition if password contains a - character. 11.Improved the way /dcc get works, now also allows you to redirect a file to any folder. 12.Fixed switchbar display bug with overlapping buttons. 13.Fixed topic text being highglighted in channel central when dialog is displayed. 14.mIRC now recognizes MS IRC Server 6.0 as IRCX. 15.Fixed /whois, etc. bug in query windows which was causing a command to use the wrong nickname. 16.Fixed /drawrect -d bug. 17.Fixed /filter not working with local aliases. 18.Fixed $! not being passed in $iif() call. 19.Added /notify -l switch to list notify entries. 20.Added dialog -l table definition switch, makes a dialog table local, now also looks for dialog table in the active remote file before searching through all others. 21.Added command line switch -nouninst which prevents mIRC from adding an uninstall item to the control panel add/remove dialog. 22.Fixed switchbar, in left/right position, not displaying partial button at bottom. 23.Fixed selecting MDI window menu item in tray menu not redisplaying mIRC window properly. 24.Open Folder button in DCC Get dialog is now enabled even if transfer fails. 25.Fixed #$N- bug. 26.Added /ial [on | off] back for users who need to disable the IAL. 27.Fixed "monitor file changes" option not working with LFNs. 28.File/Folder dialogs and sub-dialogs no longer show "mIRC" in titlebar. 29.Uninstaller now deletes files in the root mIRC folder only and not in sub-folders. 30.Added "Reset default size" option to nicklist dialog. 31.Wheel mouse now scrolls listbox without it needing focus. 32.Added set/use default options to system menu background popup. 33.Fixed window tiling overlap bug. 34.Added 'flat' and "multi' styles to custom dialog button control. 35.Can now create a second editbox on channel windows, via the channel window system menu and right-click menu in editbox. You can use Alt+Q to show/hide the editbox. Also added "Tab key changes editbox focus" to General dialog, makes it easier to switch to the second editbox. The tab key still works as nick/channel/etc. completion if cursor is next to a word. If enabled, you need to use Shift-Tab to cycle between the list of nicks that messaged you. 36.Blink feature now only blinks icons for query/chat windows, and on channels or the message window only if a highlight event was triggered. 37.Fixed /exit not closing mIRC if Editor dialog is open. 39.Updated color dialog, also added inactive editbox option. 40.A dcc resume now chops off the last 8192 bytes of a file in case the end of the file was corrupted during a previous transfer. 41.Added /tnick command, changes to a temporary nickname without affecting your main and alternate nickname settings. 42.$window(-3).dw/dh now return the display area of the MDI window. 43.Fixed Alt+N key bug which would cause it stop working in some situations. 44.Fixed /hadd gpf when insufficient parameters were used. 45.Can now use \ to escape a literal character in $regsub() in the substitution expression. 46.Added /links -nx switches, opens links window minimized or maximized. 47.Added 'nowrap' property to custom dialog text controls. 48.Can now specify "range N N" for custom dialog scroll control. 49.Fixed /dialog bug preventing you from creating more than one modal custom dialog. 50.Fixed a bug in my socket random port selection routine. 51.Fixed /load -rs \path\to\script.mrc not loading the script. 52.Fixed /echo -h bug. 53.Fixed /server gpf bug with long server names. 54.If the auto-close dcc send/get options are enabled and you manually click the cancel button in dcc send/get windows, they are no longer auto-closed. 55.Fixed $snicks error message, and it no longer halts a script if used on a non-channel window. 56./renwin now allows you to change the window name even if it's the same name but different case. 57.Away messages for a nick are now displayed in their associated query window if it is the currently active window. 58.mIRC will no longer rejoin an open channel window if you disconnect and then connect to a different network. 59.Added /pvoice command, works the same as /pop but for +v modes. 60.Fixed nick color list bug, was coloring nicknames incorrectly if your ignore/op/voice/etc. lists where not enabled. 61.Hotlink now works for all channel names in channel windows. 62.Fixed bug with /play -e option processing | separator in text. 63.Added internal support for +d channel mode for hybrid6 servers. 64.Fixed $cnick().method bug. 65.Added $awaymsg and $awaytime to return away status when used with $away identifier. 66.Added /window -B switch to prevent custom @window editbox from using a border. 67.Fixed $nick().color not working correctly when used with the 'aohvr' mode parameters. 68.$readn is now correctly reset on a failed $read. 69.Fixed $remove() not working if a $null substring was specified. 70.mIRC no longer includes the >N parameter in a /LIST if N is zero. This allows it to list registered channels with no users. 71./channel request now has a time-out again. 72.Fixed /flash -rN, now repeats flash only N times. 73.The nick color list now allows you to prioritize the list, so mIRC no longer determines the best match by itself, it will use the first match it finds in the list. 74.Added support for server redirection numeric 10. 75.Fixed Position Reset menu item not working correctly if window desktop/mdi position changed. 76.Fixed bug with +channel windows. 77.Added /remove -b switch, deletes file and places it in the recycle bin. 78.Improved $rand() behaviour. 79.Added /if islower/isupper comparison. 80.Added WMA/OGG support to sounds dialog, /splay and /sound commands, and added new identifiers. $sound(filename|type) Returns information about the specified file if a filename was specified, or the associated folder for a filename or file type, where type can be wave, midi, mp3, wma, ogg. When used with an mp3 files it supports the same properties as $mp3(). Note: this replaces $wavedir, $mididir, $mp3dir, and $mp3(). These are still supported for now but no longer documented. $insong Returns information about the mp3, wma, or ogg file that is being played, same properties as $inmp3. Note: this replaces $inmp3, which is still supported for now but no longer documented. 81./alias now replaces an existing alias without changing it's position in the script. 82.Added Trusted Users list to DCC Auto-get options dialog. 83.Changed behaviour of #channel name tab completion to include currently open channels. 84.Custom dialog size now takes account of menubar height. 85.Added $timestampfmt to return options dialog timestamp format. 86.Fixed Shift+Control+V pasting text twice. 87.Fixed /renwin not allowing custom menus to work with new window name. 88.All internal joins and names now use the /join and /names commands to allow scripts to over-ride the default behaviour. 89.Added $send()/$get() .resume property returns resume position. 90.Added "fast screen update" back to options/display dialog. 91.Fixed /links gpf bug with long server addresses. 92.Added minimize button to dcc chat accept dialog which also has default focus. 93.Log files now include a "Session ident" at the start of the log, with the name of the window being logged. 94.Fixed /channel behaviour when used on an open channel window from which you were kicked. 95.Fixed window positioning bug when Windows Taskbar wsa on the left side of the desktop. 96.Incoming dcc get files are now flushed to disk every 500k. 97.Fixed remote script popup menus not being merged properly. 98.Added case-sensitive option to Highlight dialog items. 99.Added Message Window double-click item to Mouse dialog. 100.Added $color().dd property, returns double digit format. 101.Fixed fserve cd/get bug. 102.Fixed $base() not handling fractions properly. 103.Fixed "Save As" bug in Script editor dialog when over-writing an existing file. 104.Firewall can now be enabled separately for server and dcc connections. 105.Added signalling commands and events which allow you to trigger signal events in scripts: /signal -n [parameters] By default the signal is triggered after all current scripts have finished executing. You can use -n to make the script trigger immediately. on *:signal:name:echo Received signal: $signal Parameters: $1- The name can contain wildcards. The script that called /signal is triggered first, and then all other scripts are triggered. 106.Fixed dcc send/get/chat beeping on completion when you had your Sounds disabled in the Options/Sounds dialog. 107.mIRC now strips out tab characters from filenames. 108.$input() now allows $null for all parameters except prompt. 109.Fixed dcc chat "ignore all" option bug. 110.Fixed bug where on DNS event triggered for DNS requests not made by the /dns command. 111.Added $dns(N) identifier, used in the on DNS event to list the address that was resolved and any associated IP addresses. Properties: nick, addr, ip. $dns(N) without a property returns the address being resolved. You can use N = 0 to return number of IP addresses found. Note: the old identifiers $iaddress, $naddress, and $raddress are still supported but are no longer listed in the help file. 112.Added $ignore().secs property, returns number of seconds until ignore is removed if /ignore -uN was used. 113.Can now use $null as third parameter in $dll() identifier. 114.Added /echo -g switch, prevents line from being logged to logfile, and /echo -r switch which applies the strip settings in the Options, Messages dialog. 115.Fixed script menus not working when first line of menu definition was empty. 116.Fixed mIRC not handling multiple numeric 005's correctly. 117.Custom dialog "limit N" option now works in combo editbox. 118.Added /hadd -z switch, decreases hash item once per second until it reaches zero and then unsets it. Also added commands: /hinc -smbczuN [data | &binvar] /hdec -smbczuN [data | &binvar] Switches are the same as /hadd, except for -c which increases or decreases the value once per second. Also added $hget().unset property, returns time remaining before item is unset. 118.Fixed dcc send/get windows sometimes not showing 100% completion after a transfer has completed. 119.Changed highlight dialog item "Flash N times" to apply to both the number of times mIRC flashes and plays the flash sound. 120.DCC chats now display the time the connection was initiated in the DCC Chat Session line. 121.Changed the way /set -u0 works slightly. 122.Fixed $eval() not handling values containing commas properly. 123.When running under XP, mIRC now uses the XP theme for dialogs, buttons, etc. 124.Can now change nicknames in options dialog while connected. 125.Added $stripped identifier, returns number of BURK codes that were stripped from an incoming message, if any. 126.Extended /socklist [-tul] [name], allows you to list open tcp, udp, or listening sockets, as well as sockets matching the specified wildcard name. 127.While loops now works properly even if {} enclosing brackets aren't used. 128.Fixed /queryrn, was allowing you to change the name of any window not just query windows. 129.The retry options in the connect/options dialog now have their own dialog. 130.The /clearall command no longer clears custom @windows, only status, channel, and query windows. 131.Fixed display of $+ string too long error message. 132.The /alias command can now handle LFNs in quotes. 133.Added $cmdline identifier, returns command line passed to mIRC when it is first run. 134.Auto-join on invite now uses channel's password from channels folder if it is listed in the folder. 135.The "Logging to" message now shows the full logfile name. 136.Fixed $chan().ial issue, I've added a separate $chan().inwho property. $chan.ial will still return $inwho for now but will not do so in future versions of mIRC. 137./filter now allows you to use -l to read from a channel nickname listbox. 138.Fixed $timer().reps returning negative value in some situations. 139.Fixed $read and $readini bug. 140./cnick * N now sets the Any mode/No mode switches if no mode is specified, and *!*@* now matches any nickname. 141.Fixed bug with full exception list not being displayed in channel central dialog. 142.Popup menus now allow menu headers without a sub-menu. 143.The control dialog lists, ie. ignore, voice, protect, op, are now stored in a control.ini file, separate from mirc.ini. 144.Fixed servers.ini processing bug, mIRC was unable to read server entries which didn't specify a port number. 145.Fixed $dll() not correctly handling partial paths in filenames. 146.Fixed $result not being reset to an empty value when /return $null is used. 147.Added logging dialog "make folder" option to network option. 148.Added retry delay option to Retry connect dialog. 149.It is no longer possible to enter editbox commands that begin with an $identifier or %variable. 150.Added $submenu($id($1)) identifier, can only be used in popup menu definitions. It calls $id($1) with $1 = 1, increasing $1 with each call, and adding whatever is return by $id() to the popup menu. The returned value must be a one line definition format for a popup menu. The iteration ends when $id() returns no value. test { if ($1 == begin) return - if ($1 == 1) return Moo:echo Moo if ($1 == 2) return Cow:echo Cow if ($1 == end) return - } The "begin" and "end" values are sent to check if the item should be enclosed in separators. 151.Added "Group by Network" option to Window menu. 152.Added "Save Links" option to Links window popup window. 153./server address now looks for a match for address in servers list and uses that info for the network, group, etc. 154.$islower()/$isupper() now ignore numbers. 155.Comments in popup menus are now handled correctly. 156.Fixed /showmirc -t and window restore via tray bug. 157.$read() should now correctly handle matchtext with quotes, also fixed a bug in $read() handling of -s switch. 158.Extended socket commands to allow binding to an ip address: /socklisten -d [ipaddress] etc. /sockopen -d [ipaddress] etc. /sockudp -d [ipaddress] etc. Also added $sock().bindip and .bindport properties, and /socklist now shows the bind address and ip. 159.Can now use /halt in the on KEYDOWN event to prevent mIRC from applying it's own TAB key completion. 160.Added "Queue own messages" option to flood dialog, applies only to your PRIVMSG and NOTICE messages. Also added "Show status updates", displays flood queue status 1) when there is a new item in the queue, 2) every 10 seconds, if the queue status changed, and 3) when the queue becomes empty. 161.Added [type] parameter to /protect command. 162.Added kludge to handle multiple meanings for numeric 477 on DALnet servers. 163.mIRC now processes only the first 700 bytes of an incoming server message, and ignores the remainder up to the next LF character. 164.Editor dialog now also displays horizontal cursor position. 165.Fixed find text dialog not saving trailing spaces in search words. 166.Fixed /drawtext width measurement bug. 167.Fixed bitmap file loading bug. 168.Improved $wrap(), no longer needs to re-calculate if you use the same parameters as the previous call. 169.Added support for DALnet services numerics 650 and 651. 170.Improved file/dir existence checking routines. 171.mIRC now prevents a chat/query window from being closed if it receives a message just as you click the close button. You need to click the close button twice within a few seconds of the last message to close the window. 172.Fixed $sfile() $sdir() not handling incomplete paths properly. 173.Fixed /splay -c bug. 174.Fixed /window not handling LFNs for icon filename. 175.Changed $sfile() behaviour, it will now only list files of the type you've specified, if it finds a match for that file type in the "file types" listbox in the file dialog. 176.Added Multi-Server support. mIRC now allows you to connect to multiple servers at the same time. This feature required major internal changes to mIRC code and forced improvement of code in many areas which has hopefully resulted in a more stable/robust mIRC. Added "New server window" checkbox to connect dialog. To open a new server window without connecting to a server, you can check the "New Server Window" checkbox and press the OK button. Added "New Server Window" menu item to options toolbar button servers popup menu. You can also open a new server window by holding down the Shift key when you select a server from the popup menu. Added multi-server dialog to connect/options dialog. New commands and identifiers: $cid - returns server connection id for current script $wid - returns window id for current script $status - returns server connection status. Also returns "closing" during the on disconnect event if the status window being closed is the cause of the disconnection. $activecid, and $lactivecid. $scid(N)[.command], where N is a $cid value $scon(N)[.command], where N is the Nth connection If N = 0, returns total number of open status windows. You can also specify a property which is a command name and it will be called using that server connection. /scid <-rsatM | N> [command], where N is a $cid value /scon <-rsatM | N> [command], where N is the Nth connection If you specify a command, the connection id is set only for that command. The -r switch resets the connection id to the original id for that script. The -a and -tM switches can only be used if you specify a command. -a - perform the command on all connection ids. -tM - where M is an or'd value of 1 = server connected, 2 = not connected, 4 = connecting, 8 = not connecting. The command is only performed if N matches the connect status of the connection id. Note: if you use a command that contains $identifiers, and you want the identifiers to be evaluated in the target connection, you must pass them as $!identifier to prevent them from being evaulated first in the current connection. Also added new properties to $window(): .type - returns window type name And to $query(), $window(), $chat(), $send(), $get(), $chan(), and $timer(): .cid - server connection id .wid - window id .hwnd - window handle Added /server -mn switches, where -m creates a new server window and connects, -n creates new server window without connecting. Misc. notes: Windows whose server connection has been closed are placed at the end of the switchbar list. This includes things like dcc send/get/chat, and custom windows. Everything in mIRC now has a unique id number, all windows, server connections, dcc sends/get/chats, etc. The tray icon displays the animation for the current active server connection, same goes for the Connect toolbar button, and File menu. Each server connection has it's own /play list, and the play dialog shows the play list for the current active connection. URLs list "Send To" menu, and Tray popup menu, show the network and nickname for each status window. 177.Added /timer -i switch, makes a timer auto-associate with the currently active server connection. The -i switch keeps the /timer alive across server windows, if a server window is closed, the /timer just picks a new one automatically. /timer now shows the associated network name for a timer. You can use $timer().anysc to check if it has the -i switch enabled. 178.on PLAYEND is now triggered at the end of each played file. 179.Extended /ignore, /protect, etc. handling. Changed display format in Control dialog listbox. /ignore, /protect, /aop, and /avoice now all by default include a network name, unless you use the -w switch. /ignore -l now displays the unignore time. /ignore -l, when you're not connected to a server, lists all ignores. When connected, it lists all ignores that apply to that connection. Added .network property to $ignore()/$protect/$aop()/$avoice(). Also note that isaop, isavoice, isignore, and isprotect all apply to the current connection. 180.Added /window switches: When a @window is created, it is automatically associated with the current connection. If that connection is closed, the @window is associated with the next available connection. You can change this behaviour with /window -ivz: -i - makes a @window dynamically associate with the currently active connection. You can use $window().anysc to check if this setting is active. -v - closes window when associated status window is closed The on close event is triggered for the window. If this switch isn't used and the status window is closed, the @window is moved to the end of the switchbar, and is associated with the first available status window. -z - places window button at end of switchbar 181.The . prefix now makes /debug quiet. Extended /debug to allow output to a custom @window or filename. /debug [-cnpt] [N] [on | off | @window | filename] /debug -c off closes associated @window /debug -n @moo opens @window minimized /debug -pt wrap or timestamp text /debug N @moo use color N for text $debug returns name of debug file or @window. /debug now works independently for each server connection, indents lines if not wrapped, and prefixes each line with the server address, and <- and ->. /debug @window now also works with listbox @windows. 182.Active switchbar button now uses bold text and shaded background. 183.Using new path-splitting routines which affect eg. $nopath(). 184.Auto-tile/cascade/arrange are no longer triggered when you close a desktop window. 185.Fixed switchbar/toolbar display glitch when mIRC window is sized to a very small height. 186.Fixed $findfile() bug when handling wildcards with numbers. 187.$chan is now filled for the on ctcpreply event if it was a channel ctcp message. 188.Ctcp messages that use an invalid format are now treated as plain text, and will trigger script events. 189.Added "Control+Tab uses switchbar order" to General dialog. 15/06/2001 - mIRC v5.91 Fixes/Additions: 1.Fixed $eval() bug. 2.Link control in custom dialogs triggers sclick event again. 3.Fixed $var() bug. 4.Fixed /channel display info bug. 5.Standardized on the word 'color' in identifiers and commands, and in the help file. 6.For Undernet servers CHANTYPES is now set to #&+ by default. 7.Fixed install program always creating desktop shortcut icon. 8.Fixed mIRC taskbar icon being redisplayed in some situations after you've minimized mIRC to the tray. 9.Fixed function keys not working in non-joined channel window if "keep open" switch is turned on. 10.Fixed tab completion not working with $? and $input properly. 11.Fixed /userhost not updating IAL. 12.Added ctcp and whois protection options, and queue op commands option, to Flood dialog. 13.Fixed window icon highlighting when switchbar is turned off. 14.Added support for numeric 005 NETWORK=name token (not supported by any servers at this time) which tells the IRC client the name of the IRC network it's connected to, eg. NETWORK=DALnet. 15.Fixed status window log filename not being updated when a new day begins and you have when the "log by day" option enabled. 16./font can now handle quotes around font name. 17.Fixed Script Editor dialog 64k limit bug. 18.Fixed Info section not working in address book if you typed in a nick and pressed the ctcp ping, etc. buttons. 19.Fixed the way /dialog and $dialog() windows are centered around other windows. 20.Fixed numeric 433 triggering script twice if nickname in use. 21.Fixed dir -b not displaying bytes in fileserver. 22.Added "Method" and "Notify list" options to Nick color list Add dialog. 23.mIRC now supports servers that send a /names list which contains a full nick!id@host format in the reply, enables mIRC to fill the IAL on joining a channel (no servers do this yet, so this hasn't been tested). 24.Fixed fserve max cps feature not being turned off if set to zero. 25.Fixed $rand() behaviour. 26.Can now /filter blank lines by specifying $crlf for matchtext. 27.Added "Use query for notify nicks" option to IRC dialog. 28.Fixed switchbar right-click popup menu bug. 29.Fixed $readini() not handling filename enclosed in quotes. 30.When you have the "keep channel open" option enabled, mIRC now clears the nicklist if a channel window is open but not joined. 31.The listbox in the Control dialog is no longer sorted. 32.Fixed $regsub() not returning original text if there were no substitutions, and not handling backreferenced values correctly when global modifier is used. 33./tokenize now correctly resets all $N to $null if no parameters are specified. 34.Can now use $style() in custom dialog menu definitions. 35.Added Up/down buttons to Control dialog to allow re-arranging of listbox entries. 36.Fixed Control+H scroll bug. 37.Improved the way $null is handled in scripts. 38.mIRC now reroutes text to the status window if it can't display text in the current window, eg. a picture @window. 39.Added $window().ontop property. 40.Fixed Line marker bug when text buffer reached maximum buffer size in Options/General dialog. 41.Fixed font size bugs, relating to positive/negative font sizes, in /font, $width(), $height, $wrap(), /drawtext, /window, etc. 42.Fixed $readini() bug when used without the -n switch. 43.Added "Blink icons" option to Display dialog, blinks switchbar icons for channel/query windows if there's a message/highlight event, or a flash event. 44.Fixed !$identifier not prefix bug. 45.Fixed editbox bug in 16bit mIRC under win3.x. 46.Added /drawrect [-d] x y w h [w h], draws rounded rectangle, must specify width and height of ellipse used to draw corners. 47.Notify no longer triggers on a nick change if nick has only changed case. 48.Added "monitor file changes" option to Editor dialog. 49.$count() can now handle multiple substrings. 50.Added $+(n1,...,nN) identifier, combines parameters. 51.Added /hadd -uN, unsets item after N seconds, and /hsave -u, by default /hsave excludes items that are in the unset list, -u forces it to include the unset items. 52.Dcc Chat/Get windows are now re-used if they are inactive and the same person tries to chat with you again, or tries to re-send the same file. 53.Added back notify options to show address and time. 54.Extended Hash commands to allow storage of binary variables: /hadd -smbc [data | &binvar] The -b switch indicates that you're adding a &binvar item to the hash table, the -c switch chops the &binvar up to the first null and treats it as plain text. $hget(name/N,item, [&binvar]) Assigns the result of a $hget() lookup to a &binvar. All other Hash commands handle binary variables as well, eg. /hload, /hsave, etc. 55.Fixed alias/script recursion gpf bug. 56.Added multibyte characters option to options/messages dialog. 57.Can now use /did -z name id [min max] to reset a scrollbar range in a custom dialog. 58.Added -i indent switch to /aline, /iline, and /loadbuf. 59.Fixed minimized icon and editbox bugs in 16bit mIRC. 60.Fixed /whois on query option not working in single message window. 61.Token identifiers can now be made case-sensitive by adding "cs" to the identifier name, eg. $addtokcs(). 62./filter -g switch now treats wildcard text as a regex expression. 63.Added /aline and /iline -n switch, doesn't add line if it already exists in window. 64.Added two new variable types to $com(), dispatch and unknown. These allow you to pass dispatch/unknown pointers as parameters in a $com() call, or to retrieve dispatch/unknown pointers from a $com() call, by reference. To pass a dispatch/unknown pointer as a parameter in $com(), specify the variable type as dispatch/unknown, and specify the name of an existing $com() connection as the value. To retrieve a dispatch/unknown pointer through a call to $com(), specify the variable type as dispatch/unknown with *, and assign it a variable name. When $com() returns, mIRC will create a new $com() item with that variable name and assign it the dispatch or unknown pointer. In the case of retrieving an unknown pointer, mIRC will extend it to a dispatch pointer if it can, allowing you to call it directly via $com(). You can use $com().dispatch or $com().unknown to see if a pointer exists for that $com() item. 65.mIRC now treats mode format +k * as a hidden key on all servers, for servers that hide the key from non-ops. 66.Fixed /dcc send -l max cps bug. 67.Added "mp3 playing" to confirm section in IRC options dialog. 68.Added on *:unload:/command event, triggers only in the script that is being unloaded. Also triggers if unloading via the Unload menu in the Editor dialog. You can use /unload -n to unload a script without triggering the on unload event. 69.Added history listbox to Control+F find dialog. 70.Added /timer -pr switches, pause and resume a timer. 71.mIRC now waits 30 seconds before a re-connect attempt if the server says that you were throttled for connecting too fast. mIRC looks for the word "throttled" in the ERROR Closing Link server message. 72.Fixed /ignore -uN not resetting nick color list colors when ignore removed after N seconds. 73.Fixed ignore button in dcc send/chat dialogs not working. 74.Fixed Flood protection ignore feature not working for dccs. 75.Pressing the enter key in the Channels folder now joins a channel when you have an item selected in the listbox. 76.Fixed $abook() gpf bug. 77.Undo no longer works in a disabled editbox in a custom dialog. 78.Fixed drop event not working properly in custom dialogs. 79.Binary variables can now be 8192 bytes in length. 80.Added /filter -a switch, allows you to specify a sort alias which is called to sort the filtered lines. 81.Added /cline -m switch, makes mIRC color a nick in channel messages with the /cline color. 26/04/2001 - mIRC v5.9 Fixes/Additions: 1.Fixed wheel mouse bug when meeces were set to scroll by page instead of by line. 2.Fixed line marker not being reset in some situations when mIRC isn't the active window. 3.Fixed line marker text indent bug in following line. 4.Log view dialog can now display large numbers of log files far more quickly. 5.The mIRC tray icon now displays the letter A for Active to indicate the active mIRC window, if you are running more than one mIRC at a time. 6.Fixed DCC Send/Get cps calculation display. 7.Fixed function key focus bug while in channel windows. 8.Added /echo -m switch, indicates that the line should be processed as a user message instead of an event. 9.Fixed line marker being lost if lines in a window exceeded max line buffer size. 10.Agent support no longer strips out high-ascii characters used in non-english languages. 11.Fixed tray icon refresh bug. 12.Fixed custom dialog display bug, controls weren't being re- displayed properly in some situations. 13.Added Hide channel key option to IRC dialog. 14.Fixed /play -e not working with custom windows. 15.$duration(seconds,N) now accepts its own output and changes it back into seconds, and if N == 2 returns format without seconds. 16.Fixed line marker bug, was being set inbetween lines in some situations. 17.Log view dialog now maintains cursor position in listbox after you delete or merge files. 18.Added on 1:APPACTIVE:echo $appactive event, triggers when the mIRC active application state changes. $appactive is $true if any mIRC window is active. Also added on 1:ACTIVE:@#?=!*:echo $active $lactive event, triggers when a window in mIRC is activated. $lactive returns the previously active window. If the previous window is no longer open, $lactive returns $null. 19.Added on 1:AGENT:echo $agentname finished speaking! event. 20.Added new DDE Topic, EVALUATE, makes mIRC evaluate identifiers or variables in a line of text. 21.Added 'auto-minimize on join' option to channels folder edit dialog. 22.Control section in Options dialog has been moved to the Address Book dialog, and has been improved. 23.Added /ignore -d switch, ignores DCCs such as Sends/Chat/etc., /ignore -t ctcp no longer ignores DCCs. 24.Added auto-voice list to Control dialog. Changed /auto command to /aop, isauto to isaop, $auto to $aop, the old formats are still supported for now. Added /avoice command, isavoice if comparison, and $avoice. Added identifiers $aop(address/N), $avoice(address/N), and $protect(address/N), all with .type property. 25.Channels which are auto-joined on an invite are now minimized on join. 26.Added Options section to IRC dialog with default flash settings for channel/query windows, and mIRC exit confirmation options. 27.Extended /flash to /flash [-wbrN] [window] which allows you to flash the desktop icon of any open mIRC window including custom windows. 28.Can now specify a titlebar icon for a custom dialog using icon filename, index 29.Scrollbars can now handle up to 64000 lines in a window. 30.Fixed $timer().secs bug. 31.Changed max cps method in fileserver, now represents total max cps for all dcc sends combined. This also limits dcc sends initiated with /dcc send -l. If you use /dcc send -l0 this prevents a script-initiated dcc send from being limited. 32./ignore /aop /avoice /protect now allow you to properly remove #channels one by one with -r. 33.Added agent dialog speech option to avoid repeating channel name in channel messages/actions. 34.Can now use SendMessage() to communicate with 32bit mIRC: SendMessage(mHwnd, WM_MCOMMAND, cMethod, 0L) mHwnd mIRC window, or Channel/Query/etc. window WM_MCOMMAND WM_USER + 200 cMethod 1 - As if typed in editbox 2 - As if typed in editbox, send as plain text 4 - Use flood protection if turned on Can be or'd with 1 or 2 Returns 0 if fails, 1 if successful SendMessage(mHwnd, WM_MEVALUATE, 0, 0L) mHwnd mIRC window, or Channel/Query/etc. window WM_MEVALUATE WM_USER + 201 Returns 0 if fails, 1 if successful The application that sends these messages should create a mapped file named "mIRC" with CreateFileMapping(). When mIRC receives the above messages, it will open this file and use the data it contains to perform the command or evaluation. In the case of an evaluation, mIRC will output the results to the mapped file. The mapped file must be at least 1024 bytes in length. 35.Added Position Default Save/Forget menu items to system menu for Channel and Query/Chat windows. 36.Auto-tile/cascade no longer trigger if a window is opened in a minimized state. 37.mIRC now supports the numeric 005 tokens: CHANTYPES=# and PREFIX=(ohv)@%+ and can handle a dynamic set of channel and nick prefixes. mIRC assumes that @ is supported on all networks, any mode left of @ is assumed to have at least equal power to @, and any mode right of @ has less power. mIRC has internal support for @%+ modes. $nick() can now handle all mode letters listed in PREFIX. Also added support for CHANMODES=A,B,C,D token (not currently supported by any servers), which lists all modes supported by a channel, where: A = modes that take a parameter, and add or remove nicks or addresses to a list, such as +bIe for the ban, invite, and exception lists. B = modes that change channel settings, but which take a parameter when they are set and unset, such as +k key, and -k key. C = modes that change channel settings, but which take a parameter only when they are set, such as +l N, and -l. D = modes that change channel settings, such as +imnpst and take no parameters. All unknown/unlisted modes are treated as type D. When not connected to a server, mIRC uses default values of CHANTYPES=#& PREFIX=(ohv)@%+ CHANMODES=bIe,k,l Also added identifiers $chantypes $prefix $chanmodes. Notes: 1. mIRC doesn't support @ or $ as a channel prefix, or $ as a nickname prefix, these are used internally by mIRC. 2. Ircd coders should be aware that prefixes can change the way an IRC client behaves. eg. If a server uses the same prefixes for channels and nicknames, this could cause certain features in mIRC to behave oddly, eg. scripts, hotlinks, tab completion, etc. which, depending on the prefix, provide a different behaviour or interface in non-context situations. 38.Added support for the numeric 005 token: MODES=N where N is the number of items allowed per /mode change. Added $modespl identifier. 39.Fixed server port not being randomly selected on each new connection. 40.Fixed treelist in options dialog not scrolling to selected item in some situations when options dialog is opened. 41.Fixed local info server lookup bug, was failing if the irc server returned an ip address in a /userhost reply. 42.Added $var(%var,N) returns Nth matching variable name. You can use a wildcard for the variable name. If N is zero, returns total number of matching variable names. This searches both local and global variables. $var().value returns the value of the variable, $var().local returns $true/$false. 43.Added $rgb() 3dlight value. 44.Added support for numeric 005 WALLCHOPS token, mIRC will use /NOTICE @ : if this token is set, instead of using multiple targets. 45.DCC Get no longer offers resume option if incoming filesize is smaller than existing file. 46.$window().state and .icon return values for -2 now. 47.Fixed handling of /msg +#channel messages. 48.Changed behaviour of Notify dialog, no longer changes Add button to Update. When you edit an item it is automatically updated. 49.Fixed bug in DNS routine, might have caused a gpf in some cases where the address didn't resolve. 50.Added 'Show All' menu item to notify window popup menu. 51.Added 'Grayed text' item to Colours dialog, used to gray nicks in notify list. 52.The protect list in control dialog can now protect a full nick!user@host address by using the IAL. The address can use wildcards. 53.Added 'Position' menu to System menu of all windows. 54.Can now set a @window icon with /window @ iconfile [N]. 55.Script editor editbox can now handle 64k of text in 32bit mIRC. 56.Added $uptime(mirc | server | system, N) returns uptime in milli-seconds for specified item. N is optional, if N = 1 it returns the same format as $duration(), if N = 2 returns same format but without seconds, and N = 3 returns seconds instead of milli-seconds. 57.Added $regex([name], text, re) to parse regular expressions. Returns N number of strings matched. The list of strings for a match are referenced through $regbr([name], N), N = 0 returns total number of strings. $regbr([name], N).pos returns a strings position in text. $regbr() remembers the results for up to 10 names. Each time you do a match with $regex(), and you specify a name, that name's previous results are overwritten with the new results. $regsub([name], text, re, subtext, %var) same as $regex() but performs a substitution, returns N number of substitutions performed, and assigns result to variable %var. If you don't specify a name, all identifiers use a default name which is overwritten with each call. Note: mIRC uses the PCRE library (www.pcre.org) 58.Fixed bug in $ctime() wasn't handling certain date formats. 59.Added support for ! not prefix in if statements for use with $identifiers and %variables, eg. if (!%moo) echo no cows 60.Added nick colors section to address book, allows you to assign colors to a nick/address which is used to color the nick in messages and in the channel nick list. The /cnick command allows you to add or remove items from the colour list: /cnick -raniovp [nick[!user@host]] [color] [modes] [levels] You can use /cnick -r nick/N to remove first item that matches nick in the nick color list or the Nth item in the nick color list. To add or refer to an item as Any nick you can use the * char as the nick, * char as the mode for any mode. Also added $cnick(N/nick, [M]), if N returns Nth item in list, with properties: color, modes, levels, anymode, nomode If you specify a nick, returns Nth position of item in list that matches nick. If nick doesn't match any items, returns zero. To get a nick's color, you can use $cnick(nick/N).color. If nick doesn't match any items in the list, returns 'Normal Text' color, or if M = 1, returns 'Listbox text" colour. You can specify %vars or $identifiers as the nick. Note: /cline over-rides color settings in the nick color list. You can use /cline -r to reset a nick to default color to make the nick color list apply to a nick. 61.Fixed bug in Tray popup menu handling. 62.Fixed DCC Send cps limit not working in DCC Server Fileserver. 63.Added /window -C switch, centers @window on creation. 64.Replaced old $dde $read and $readini identifiers with: $dde(topic, name, item, [N]) $read(filename, [ntsw], [matchtext], [N]) $readini(filename, [n], section, item) The old identifiers are still supported for now but no longer documented. 65.Added built-in ctcp flood protection for ctcp version, ping, finger, and time: 5 second ignore all users for that type of ctcp 10 second ignore that user for that type of ctcp 66.Added transparency support for desktop windows under win2k, options/display dialog. 67.Can now use $line() $fline() (with T = 1) and $sline() to read the channel nicklist. 68.Added /run -p switch, sets working path to path of the application being run. 69.Added support for http proxy 'basic' authorization which uses base64 userid/password encoding. 70.$os should now recognize XP. 71.Popup menus should now set $1 to nick for query/chat windows. 72.Fixed !nick sound requests getting through /ignore -p. 73.Fixed text wrapping bug in highlight feature when using custom identifiers as highlight items. 74.Tab key completion now works on items separated by commas. 75./hadd -s and /hdel -s now show item name. Also added /hadd -m switch, which creates the hash table if it doesn't exist. 76.IAL is now permanently switched on. 77.Moved "Highlight nicks in messages" option to new nick color list dialog. 78.Added "Keep channels open" option to IRC/Options dialog, keeps channel windows open after you're kicked. $chan().status now returns "kicked" in this situation. 79.Added $hregex(name/N, retext, N), searches table for the Nth item which matches regular expression. Returns item name. You can use .data property if you want to match on the data of an item. 80.Can now /halt numeric 433 on connect to prevent mIRC entering /nick in editbox if nick and altnick are in use. 81.Redesigned dcc send/get windows interface, added 'open' and 'open folder' buttons to dcc get dialog, and 'resend' button to dcc send dialog. Added $send() and $get .done property, returns $true if the transfer was succesful, $false otherwise. 82.Added scrollbar control support to custom dialogs: scroll "text", id, x y w h, style (top left bottom right horizontal range N) on 1:dialog:name:scroll:id:etc. The /did -c switch can be used to set the scroll position, you can use $did().sel to find current position. 83.Added /ialmark [text] command, marks IAL entry for nick with the specified text. You can use $ial().mark to retrieve the mark. Changed /clearial to /ialclear, the old command is still supported but no longer documented. Can now use /ialclear [nick] to clear the entry for a specific nickname. /ialclear without a nickname clears the whole IAL. 84.Fixed $iif() gpf bug. 85.Added /savebuf -o [dialog id] which saves text in a custom dialog control to a file. 86.Fixed /hload -b bug when loading items with empty data. 87.Added switchbar multi-line and width option to display dialog. 88.Fixed right-click popup menu bug during mark/copy text. 89.Fixed dialog -s dbu resizing bug. 90.Fixed /window -b not working correctly with tabstops in custom window listboxes. 91.Fixed hotlink right-click popup menu not working on nicknames in some situations. 92.Can now check/gray menu items in popup menus by using $style(N) as the first word in the menu definition, where N can be 1 for checked, 2 for grayed, or 3 for both. $iif($server == $null,$style(3)) Server: .Motd:/motd .Time:/time 93.Added $input(prompt,N,title,text) identifier, prompts the user for input. prompt is the prompt text message. N can be a combination of values added together: 1 - show input editbox 2 - show input password editbox 4 - ok button 8 - yesno buttons 16 - yesnocancel buttons 32 - return $ok, $yes, $no, $cancel for buttons. By default, buttons return $true or $null, same as $?, If there is an input editbox, the ok/yes buttons always return the contents of the editbox. 64, 128, 256, and 512 show the info, question, warning, and hand icons respectively. title is the titlebar text. text is the default text placed in the input editbox. N and text are optional parameters. Note: $input() replaces $?. $? is still supported but no longer documented. 94.Fixed fileserver file-sorting bug. 95.Added $eval(text,N) identifier, repeatedly evaluates text N times. If N isn't specified, the default is N = 1. If N is zero, text is not evaluated. 96.Added /drawreplace -nr @ [x y w h], replaces color1 with color2 in the specified picture window. 97.Added /splay -cwmp switch, clears splay queue without stopping currently playing sound. 98.Can now use /channel [#channel] to open channel central for a specific channel, if the channel window is currently open. 99.mIRC now allows you to call COM objects via scripts. You must have experience with COM objects in order to use this feature. /comopen name progid This opens a COM connection to object progid eg. Excel.Application, and assigns the connection a name. /comclose name This closes the specified COM connection. /comreg -u filename This registers/unregisters a COM DLL with windows. $comerr This should be checked after a call to any COM command or identifier. Returns 1 if there was an error, 0 otherwise. $com(name,member,method,type1,value1,...,typeN,valueN) This calls a member of an open COM connection with the specified method and parameters. name - connection name. member - member name. method - Combination of the following values added together: 1 = DISPATCH_METHOD 2 = DISPATCH_PROPERTYGET 4 = DISPATCH_PROPERTYPUT 8 = DISPATCH_PROPERTYPUTREF type - the variable type, can be: i1, i2, i4, ui1, ui2, ui4, int, uint, r4, r8, cy, date, decimal, bool, bstr, variant, error. VB equivalents are: boolean, byte, currency, date, double, integer, long, single, string, variant. To make a variable by reference, use * in the type name, eg. i1* To assign a name to a variable for later reference after a call, append it to the type, eg. i1* varname When using a variant you must also specify the variable type after it, eg. variant bool. value - the value assigned to the variable type. Returns: 1 = ok, 0 = fail. After you've opened a COM connection or made a call to $com() you can use the following forms of $com(): $com(name/N) Returns: name if connection is open, or name of Nth connection. N = 0 returns number of open connections. Properties: progid, result, error, errortext, argerr progid - object name. result - the value returned by the COM object member after the call. error - error value, if there was an error. errortext - error description associated with error. argerr - Nth argument that caused the error, if the error was due to an invalid variable type. $com(name/N,varname) Returns: value of the specified variable name 100.The on EXIT event now triggers after the on DISCONNECT event if you exit mIRC while connected. 101.Fixed windows not being positioned correctly when mIRC starts up minimized. 102.Fixed /did -i bug. 103.Fixed $$ prefix not working for custom identifiers. 104.Identifiers now evaluate their contents without needing [] brackets around each item in a parameter. 105.Can now detect mouse events in a custom dialog using on dialog event with an id of zero, and events mouse, sclick, uclick, dclick, drop, eg. on 1:dialog:*:mouse:0: echo 5 $dname $devent $did $mouse.x $mouse.y $mouse.win 106.Added $fullname and $emailaddr identifiers, to go with the /fullname and /emailaddr commands. The previous identifiers and commands for these are still supported. 107.Changed the way /run works, should now work the same way as the Run dialog via the windows Start menu. 108./window now handles quotes around the font name, and accepts @ or "" as an empty popup name. 109.Fixed link control in custom dialogs not being sized properly when using DBUs. 110.Tab nick completion now accepts *? wildcards. 111.The 'Beep on:' sounds in the Sounds dialog are now disabled if the "Enable Sounds" switch is unchecked. 112.Changed ishelp to ishop, and helper to halfop in help file. 113.Can now use /window -ngN switch when a @window is created in a minimized state. 114.Right-click popup menu in Message Window will now work even if no nick is active. 14/12/2000 - mIRC v5.82 Fixes/Additions: 1.Fixed dcc folder ignore bug. 2.Fixed bug in /mode reply display for channel creation time. 3.Fixed tab completion not working with channel names in channels folder dialog. 4.Added /dcc ignore [on|off|only|except] command. 5.Fixed channel nicklist being affected by line-spacing settings. 6.Fixed dcc chat/fserve desktop/mdi setting not being saved. 7.When using function keys in a channel, the $1- identifier now always contains any nicks selected in the listbox. 8.Improved handling of irc: URI and .chat files. 9.Fixed flood protection bug. 10.The 32bit mIRC will no longer work under win3.11/32s. 11.Fixed Sjis/Jis conversion not working in dcc chats. 12.Fixed invalid cps display in dcc send/get when resuming a file. 13.Fixed custom dialog bug when using a background bmp, checkboxes weren't being displayed properly. 14.Change limit cps method in fserve dialog, should now be more precise, and should send packets more smoothly. 15.Added Control+L key combination, scrolls to the last line you read when the status/channel/chat window was last open/active. Added Line Marker dialog to Display/Options dialog. You can also use a picture for the line, rgb 255,0,255 is the transparency colour, same as for switchbar/toolbar pictures. Custom windows can use line marker feature if they are created with /window -m switch. 16.Fixed channel central bug, was trying to set topic even if you didn't have ops. 17.Fixed gpf bug in $mode() when used outside of a remote event. 18.Added $ctimer identifier, returns name of timer that triggered the current script. 19.Fixed bug which prevented opening more than one $dialog() at a time. 20.$lf and $cr chars are now stripped from lines written to ini files. 21.Changed $bvar(&binvar,N-N2) to $bvar(&binvar,N,M), where M is number of bytes, simplifies use. Old format still supported. 22.Fixed $iif() bug. 23.Channel windows can now be closed during a disconnect even if rejoin on connect is turned on. 24.Added $play(N)/$play(Nick,N) identifer, with properties: type, fname, topic, pos, lines, delay, status. Returns info on /play queue. 25.Added "Event" colour to Options/Display dialog. This colour is now used for all non-message events. The "Message" colour is used for actual messages, and the "Highlight" colour is used for highlighted messages. 26.Added Names button to Channels Folder. 27.Fixed bug with empty text "" in menu items in custom dialog. 28.Added $disk(drive).unc returns UNC path for network drive. 29.$mp3() now caches the info for the last referenced mp3 file. 30.Can now use styles (top left right bottom) with custom dialog icon definitions to align picture. Default is center. 31.Added built-in mousewheel support for microsoft meeces. 32.Fixed topic setting in events display dialog not being used. 33.Fixed $round() bug, was rounding negative numbers incorrectly. 34./ban now expands ban address if you didn't specify a full nick!user@host address format. 35.Fixed channel folder group entries not auto-joining. 36.Can now /join group to join a group defined in the channels folder. 37.Fixed bug in $ulevel. 38.When using mode prefixes with tab key nick completion on a channel, only users with the specified mode are shown. 39.Added $findfile().shortfn property. 40.Fixed bug in $inrect(). 41.Fixed /set bug when first character of variable is a wildcard. 42.Custom dialog icon definitions now default to the path of the script if icon isn't found in mIRC root folder. 43.Fixed $dialog().hwnd bug. 44.Fixed $readini bug. 09/11/2000 - mIRC v5.81 Fixes/Additions: 1.Fixed $did().seltext not working in some cases. 2.Can now enter control chars in channel central topic editbox. 3./splay will now accept LFNs even if they're not enclosed in quotes, error messages are now also wrapped. 4.Moved "internal sound" to sounds dialog, the internal sound is now only played for event beeps. mIRC uses the default windows sound for errors etc. 5.Fixed custom dialog icons not being displayed inside box controls. 6.Fixed bug in highlight feature when using identifiers as highlight items. 7.$inmp3.fname now returns case of original filename. 8.Fixed $send()/get() .cps if transfer took < 1 second. 9.Fixed Alt+S not working in DCC Send dialog. 10.Added /play -fN switch, plays file from line N onwards. 11./run will now keep the quotes in any parameters that you specify. 12.Added $sdir(dir,title) and $sfile(dir,title,oktext), title and oktext are optional. The $sdir, $file, $hfile, and $dir identifiers are still supported but are no longer documented in the help file. 13.If you select a topic from the topic history in channel central, it will now be set as the new topic when you press OK. 14.Fixed url double-click bug under WinME (?) 15.Fixed hour-glass bug in Editor dialog when using Ctrl+S. 16.When using a popup menu in a channel, the $1- identifier will now always be set to the selected nicks in the nicklist. 17.Fixed "!nick sound" sound request not working for mp3s. 18.Fixed agent bug, wasn't allowing you to turn agent on/off on a per channel/query window basis. 19.Fixed custom dialog tab control display bug. 20.Fixed bug in on WAVEEND/MIDIEND/MP3END if /splay was used within the event to restart playing. 21./splay can now handle longer filenames. 22.Fixed /splay seek not triggering on MP3END. 23./did -eb now works on icons in custom dialogs. 24.$window().state now returns "hidden" if a window is minimized and its icon is not visible. 25.$mp3().length now works with VBR mp3s, $mp3().variable and $mp3().crc also fixed. 27.Channel central no longer stores duplicate topics. 28.Fixed ctrl+copy not working in @windows. 29.Fixed internal ban list not seeing bans set by servers. 30.Fixed $ibl().by for undernet which doesn't provide an address for the user setting the ban. 31.Added built-in uninstaller to 32bit mIRC under 95/98/etc., adds item to Add/Remove in control panel, uninstalls the last mIRC that was run, will tell you which mIRC is being removed. Also removes all registry changes. 32.Fixed bugs in multimonitor support. 33.You can press the ! button in the sounds dialog a second time to stop a sound playing. 34.Added "pc speaker" option to sounds dialog. 35.Editbox in channel/query windows no longer limits the amount of text you can paste into it. It will still beep if you enter lines longer than 450 characters though. 36.Fixed bug in /colour not updating background picture colours. 37.Fixed $mid() bug when handling a negative index. 38./colour -r now resets colour box N to default rgb value, and $colour(N) now returns rgb value for the Nth box. 39.Fixed flood protection feature in options/irc dialog. 40./splay seek no longer resumes an mp3 if it has been paused. 41.Added $hget().data property, works same as .item. 42.Added $hfind(name/N, text, N), searches table for the Nth item which matches text. Returns item name. $hmatch(name/N, wildtext, N) allows you to match wildcard text, also works if the item or data itself is wildcard text. Specify .data property if you want to match on the data of an item. Also returns item name. 43.Editor dialog now displays size of text in k's instead of bytes. 44./play now buffers a text file before playing it. /play messages are now also subject to flood protection (if enabled in options dialog). 45.Changed $round() rounding method. 46.Added /dcc ignore on/off command. 47.The . command prefix now overrides -s for hash commands. 48.Improved tab key nick completion method. Also can now complete nicks beginning with a prefix, eg. +nick 49./queryrn now allows _ in the new nickname. 50.Fixed $file() bug. 51.Fixed nicklist being double-spaced when you change the line- spacing for a channel. 52./echo -d now opens the message window if it's not already open. 53./background now works even if window isn't currently open, also allows you to set defaults. 54.Fixed Control+F find bug. 55.Fixed /vol command not working in 16bit. 56.Added "All" menu items to Position menu item in system menu. 57.Fixed Control+Shift+Insert not working when pasting /commands as plain text into a single-line editbox. 58.Fixed channels list window popup menu gpf bug. 59./ignore /auto /protect now display info in active window. 60.Can now call file dialog identifiers from a custom dialog event. 61./titlebar no longer changes case of @window name. 62.Editor dialog now indents lines following a $&. 63.Fixed /renwin allowing @window names > 90 characters. 64.Fixed auto-tile/cascade not working when selecting a window from the window menu. 65.Added /drawrot -hnbfc @ [colour] [x y w h], rotates area of bitmap by specified angle. -b indicates you've specified a background colour value. -f fits the newly rotated bitmap into the original width/height. -c centers the rotated image if -f isn't specified. 66.Removed support for "Start in" folder in shortcut icons, was causing too many problems. 67./firewall -c now clears userid/password. 68.Top level submenus in popup menus are now merged if they have the same name. 69.You no longer need to use [ ] inside $iif() to evaluate items. $iif() now only evaluates the 2nd and 3rd parameters after the if comparison itself has been evaluated. 70.mIRC now recognizes "IRCX" token in numeric 005 for ircds that support IRCX extensions. 71.Fixed $hotline not returning proper results with indented lines. 72.Improved log view dialog. 73.Fixed editor dialog tabs display bug when on desktop. 74.Added /play and /playctrl dialogs to control the /play queue. 75./window can now resize a minimized @window. 76.Changes to /hop, now clears the topic before a rejoin, also no longer parts a channel if you /hop to it while it's already open. Added /hop -c #channel switch, cycles any open channel, you can use -n to minimize the channel. 77.Fixed $readn bug. 78.$ini() no longer halts a script with an error if the ini file doesn't exist. 79./sockwrite and /sockudp no longer halt a script if they fail, they now set $sock().wserr to the error value, and also trigger the on sockwrite event with an error. 80.Fixed $sock().wsmg bug. 81.Fixed custom dialog "icon" property not accepting quoted LFNs. 82.The /draw -p and -r switches will now work together properly. 83.$readn is now set to zero if a $read -w search fails. 84./anick no longer changes your nick, unless altnick is the active nick. /nick will try to prevent nick and altnick from becoming identical nicks. 85.Integrated .chat file support into the exe. 86.The script parser no longer replaces ]] with ] if ]] has other text appended to it, eg. ]]sometext 87.Added SJIS/JIS option to IRC/Messages dialog for 32bit mIRC. When this option is turned on, the display and mark/copy of multi-byte characters should also work better. 88.Changed cps calculation method for dcc sends/gets. 89.Added /dcc get to redirect an incoming dcc send to dir (must be subdir of the main mIRC dir), and /dcc reject to reject the dcc send. These must be called from within the CTCP dcc send event or the on DCCSERVER send event. $filename returns name of file. 90.Added on EXIT event, ie. on 1:EXIT:/echo exiting mIRC 91.Extended ignore method in dcc options/folders dialog. 92.A notice will now add a user to your IAL if the user is on the same channel as you. 93.Fixed $nick().colour, was returning incorrect values. 94./hadd now allows you to add items without a data value. 95.Fixed on dialog event being triggered incorrectly for some controls when dialog is first created. 96.Fixed /unset bug when first character of variable is a wildcard, eg. /unset %* 97.Fixed while loop bug. 98.Added "match on" option to Highlight section edit dialog. 99.Added support for URL links in web pages, using the format for example, #mIRC Note: currently this format only seems to work with IE. 100.Can now set localinfo manually with /localinfo . 101.Fixed $portfree() bug. 102.Improved channels folder dialog. Can now specify password, network and auto-join for each channel. If you try to join a channel, either via the toolbar channels folder popup menu, or in the channels folder, and you're not connected, mIRC will auto-connect to the server. You can now enter more than one channel per entry, where the first word is the group title, in the form: grouptitle #chan1 #chan2 etc. 103.Added "show topic" item to popup menu when right-clicking on a #channel name. 104.Added support for http proxy connections in firewall dialog. 05/09/2000 - mIRC v5.8 Fixes/Additions: 1.Fixed agent bug, was speaking channel actions even if only private actions were enabled. 2.Fixed bug in /filter, /loadbuf for handling custom dialog controls. 3.Fixed $nick().colour not working if a nickname is specified instead of the Nth item. 4.mIRC now uses it's own internal beep.wav sound for event beeps, added as option to general dialog. 5.Fixed bug in dual monitor display support. 6.Fixed /did bug when changing text in the Tabs of a tabs dialog. 7.Can now use negative numbers in $mid, eg.$mid(text,-N,-N). 8.Fixed /firewall -mN bug. 9.Fixed /font not working with dcc chat =nicknames. 10.Fixed bug in $bytes(). 11.Fixed /play -b switch only sending at 1000ms. 12.Can now use a part message with the /hop command. 13.Can now preview wav/mid files in file dialogs by holding the ALT key and double-clicking a filename. 14.Fixed bug in the 8.3 format of log filenames. 15.Fixed bug with $disk() and ntfs drives. 16.Changed "!nick sound" feature to ignore any text specified after the sound filename. 17.The local port used by the server connection is now limited to the range specified in the DCC Options dialog. 18.Custom dialogs now display any size .ico files properly. 19.Fixed $did().state and .enabled not working with menu items. 20.Added /dcc send -c switch, closes send window on completion. 21.Fixed DCC Options Max Gets bug in DCC Server. 22.Added "show on desktop" item to Editor "options" menu. 23.The old default /hop alias is now ignored. 24.The channel nick list now retains nick colours across /names listings. 25.Only ban types 3 4 8 and 9 now have the encrypted = part of an address replaced with a wildcard. 26.Can now use /cline -r to reset nickname in channel listbox to default colour. 27.Fixed Control+F not scrolling to correct line in a window in some cases where lines are wrapped. 28.$binvar(&var,0) now returns 0 if &var doesn't exist. 29.Notify list now shows users address. 30.Added /btrunc command, truncates/extends a file to specified length. 31.Changing the contents of a link item in a custom dialog now works if the link isn't currently displayed. 32.$banlist().by now returns the full address of the person setting the ban. 33.Fixed bug with icons in custom dialogs, they were clickable even if they were not visible. 34.Fixed ESCape key not working with "hide when minimized" option. 35.$pic() now also supports JPG and PNG. 36.Extended /colour , can now also use /colour to change the rgb value of a colour. 37.Can now specify "noborder" in an "icon" definition in custom dialogs to prevent a border from being drawn around a picture. 38.BURK codes are now stripped out of logfile names. 39.Fixed bug in highlight feature, was matching against nicknames incorrectly in some cases. 40.Fixed bug in /filter -n switch. 41.Can now use /font -d switch to set font as default for window. 42.The flash message in the highlight feature can now contain %vars and $ids which will be evaluated. 43.Fixed highlight bug in "link" custom dialog control. 44.Colours in the channel nicklist are now reset to default if you rejoin the channel after a kick/disconnect. 45.Added $banlist().ctime, returns $ctime time format for ban date. 46.Added isban comparison, uses $banlist() to check if an address is banned, eg. if (*!*@*.net isban #channel) ... 47./window -h can now hide non-custom windows again. 48.Fixed while loops bug, weren't working properly in custom menus. 49.Added $scriptline, returns current script line number. 50.Fixed bug with Order dialog in Editor when ordering scripts. 51.Improved support for DLLs via /dll and $dll(). You can now keep a DLL loaded by including a LoadDll() routine in your DLL, which mIRC calls the first time you load the DLL: void __declspec(dllexport) __stdcall (*LoadDll)(LOADINFO*); typedef struct { DWORD mVersion; HWND mHwnd; BOOL mKeep; } LOADINFO; mVersion contains the mIRC version number in the low and high words. mHwnd contains the window handle to the main mIRC window. mKeep is set to TRUE by default, indicating that mIRC will keep the DLL loaded after the call. You can set mKeep to FALSE to make mIRC unload the DLL after the call (which is how previous mIRCs worked). You can unload a loaded DLL by using: /dll -u $dll(N/filename) returns the list of loaded DLLs. You can also define an UnloadDll() routine in your DLL which mIRC will call when unloading the DLL to allow it to clean up. mIRC will automatically unload a DLL if it is not used for ten minutes, or when mIRC exits, UnloadDll() will also be called in these situations: int __declspec(dllexport) __stdcall (*UnloadDll)(int mTimeout); The mTimeout value can be: 0 UnloadDll() is being called due to a DLL being unloaded when mIRC exits, or unloaded with /dll -u. 1 UnloadDll() is being called due to a DLL not being used for ten minutes. The UnloadDll() routine can return 0 to keep the DLL loaded, or 1 to allow it to be unloaded. 52.mIRC will now properly parse server messages that aren't prefixed with a server address, and will use the server address prefix in numeric 001 for such non-prefixed messages. 53.Fixed bug in flood protection feature. 54.Nick changes now update nick in query window titlebars. 55.Added $server().pass property for server password. 56.Added /echo -n switch, prevents /echo from hiliting switchbar icon. 57.Fixed handling of throttle error message on undernet servers. 58.Added Advanced dialog to connect/options dialog, allows turning on/off of random local ports, and specifying bind address. 59.Find dialog now allows you to search for BURK codes. 60.On keydown/keyup now capture all key events in custom windows. 61.Cancel away on keypress option now works for /me messages. 62.Fixed bug in $did().seltext, it now also returns $crlf between each line. 63.Added /filter -b key, strips BURK codes when matching text. 64.Added $onpoly(n1,n2,x,y,x,y,...), checks if two polygons are overlapped, returns $true/$false. n1 is the number of points for the first polygon, n2 is for the second polygon. 65.Added $bvar(&var,N).word,nword,long,nlong, returns values in host and network byte order. 66.Fixed bug in $isalias() not recognizing local -l aliases when called from the local script. 67./splay now supports .mp3 files, also added on MP3END event, $inmp3, and $mp3dir (folder can be specified in Sound requests dialog). Added $mp3(filename) identifier, with properties: album, title, artist, year, comment, genre, track, length, version, bitrate, variable, sample, mode, copyright, private, crc. The /splay command has also been extended to: /splay -wmpq [filename | stop | pause | resume | seek | skip] [pos] Where w = wave, m = midi, p = mp3, and q = queue for playing. If you specify [pos] value when playing an mp3, mIRC will play from that position, eg. /splay ipanema.mp3 1000 You can seek to a position in an mp3 while it's being played with eg. /splay seek 1000 You can skip the currently playing sound with /splay [-wmp] skip Extended $inwave, $inmidi, and $inmp3, with properties .fname, .pos, .length, eg. $inmp3.pos You can use the /vol -wmpvuN [volume] command to set the volume on your system for waves, midis, mp3s (same as waves), or -v which sets the master volume, range 0 to 65000. The -uN switch sets the mute, where N = 1 is on, N = 2 is off. You can use $vol(wave|midi|mp3|master) to get the current volume, and $vol().mute returns the mute setting. 68.Changed behaviour of on HOTLINK event, /halt in one script will no longer affect the event in a following script. 69.$os should now recognize ME. 70.Added test button to agent lexicon dialog. 71.Can now use N = 0 in $did(name,id,N) to access the edit control in a combobox, and N = 0 in /did to modify it. 72.Fixed /did -g not handling quote-enclosed filenames. 73.Fixed /play -b requiring delay value, now uses default if none specified. 74.The B and C parameters in $width(text,font,size,B,C) are now optional. 75.Added $wrap(text, font, size, width, [word,] N), returns Nth line wrapped to width. If optional word parameter is 1, text is wrapped at whole words (default). 76.Improved handling of \\network paths. mIRC can now also be run from a network path and will correctly use that path as root for ini files, folders, etc. 77.Channel central now enables Op settings for IRCops. 78.Identifiers called in popup menu titles can now use $1- to refer to the selected listbox item. 79.Added /play -n switch, sends a notice instead of a message. 80.Fixed /close bug, wasn't closing multiple sends/etc. properly. 81.Added /drawpic -l switch, tiles picture in specified area. 82.Added $keychar to on keyup/keydown events, returns the actual character being pressed as opposed to the key code. 83.Editor now defaults to last used folder when displaying the load file dialog. 84.The D parameter in $round(N,D) is now optional. 85.Added identifiers to encode/decode %vars or &binvars: $encode(%var | &binvar, mubt, N) $decode(%var | &binvar, mubt, N) The last two parameters are optional. The second parameter consists of switches, where m = mime, u = uucode (default), b = &binvar, and t = text (default). The final encoded line is made up of 60-character chunks. You can specify N if you want mIRC to return the Nth chunk. N = 0 returns the total number of chunks in the line. If encoding/decoding a &binvar, the identifiers return the actual number of characters written to the &binvar. Encoding uses 33% more storage space. 86./query now displays address in titlebar if user is in IAL. The Message window now also displays the address in the titlebar for the last received message. 87.Selecting a server in the connect dialog now makes it the default server even if you press the OK button in another section of the options dialog. 88.Fixed $mouse.x/y/dx/dy returning invalid values in some cases. 89.Can now close Editor dialog while script initialization warning dialog is displayed. 90.The $banlist() identifier has been changed to $ibl(). Also the $chan().banlist property is now $chan().ibl. The old formats are still supported. The IBL (internal banlist) is now updated every time it sees a ban. You can fill it completely with /mode #channel +b. 91.mIRC no longer sends a default quit message if you haven't specified one. 92./dcc send and /fserve now handle LFNs better. 93.Added /queryrn changes nick of an open query. 94.Added /var -s switch to show local variable being set. 95.Added /anick command, allows you to change your alternate nick, even while connected. Also added $mnick and $anick, return your main and alternate nicknames. 96.Added right-click popup menu for url hotlinks. 97.Added $window().hwnd and $dialog().hwnd property. 98.Added $window().icon, returns "on" or "off" depending on whether a window icon is visible. Note that $window().state no longer replies with "hidden". 99.Custom windows can now be logged, "logging" item in system menu. 100.$ulist(*,N) now returns all matches in user list including just nickname entries. 101.$fline() now allows you to search for BURK codes. 102.Fixed resizing channel nicklist bug when channel is placed on the desktop. 103.Added "include network" switch in logging dialog, includes name of network in log filename. 104.The popup menu in the Channels List window now allows you to join channels/etc. while retrieving the channels list. 105./log now allows you to log a file to any directory. 106.Fixed auto-tile causing a maximized window to de-maximize when resizing the main mIRC window. Auto-tile should also work better now when a minimized window is restored. 107.Fixed lexicon not being applied to all agent messages. 108."No such nick/channel" message is now shown in query windows. 109.Background pictures in custom dialogs now behave better when mixed with other controls. 110.Fixed bug with $ctrlenter when text was pasted into editbox, also added $inpaste. 111.Fixed infinite while loop bug. 112.Fixed click events on icons in custom dialog events, is now more precise. 113.Development notes: mIRC 32bit in future may not work under win32s win3.1. This will allow me to support new technologies in the 32bit. mIRC 16bit may continue to be developed, with bugfixes, where possible. 114.Fixed $findfile() bug, if full path wasn't being specified may not have worked. 115.Added /set -n switch, treats following values as plain text instead of a calculation. 116.Added $nick().pnick property, returns .@%+nick format. 117.Added $remote, returns ctcp/event/raw on/off status or'd together, ie. 1 | 2 | 4, eg. if ($remote & 1) ctcp is on. 118.Fixed resource leak in DCC Send/Get windows display. 119.New channel central dialog, made display of banlist info clearer, and now shows related auto-unban info. Also added Edit button, allows editing of an address. 120.Added /timer -h switch, creates a multimedia timer. Only works in 32bit mIRC. Also added $timer().mmt property. Since multimedia timers are a scarce resource, and cpu intensive, mIRC allocates one multimedia timer and uses it for all of your -h timers. In order to keep cpu usage down to a minimum, the delay of this timer is dynamically changed as /timers are created or destroyed so as to use the lowest common denominator delay. The moment you don't have any -h timers running, mIRC frees the multimedia timer. If mIRC is unable to allocate a multimedia timer, it uses the normal /timer -m millisecond timer. 121.Made changes to mouse leave event, should work better when used for drag events. 122.Channel nicklist and IAL routines now use hashtable lookups to speed processing. 123.mIRC now displays the "files changed" dialog if you try to exit mIRC while the editor dialog is open. 124.Fixed /window command not handling floating point values for x y w h paramters. 125.mIRC can now be run as a service under 95/98 by specifying -service on the shortcut command line. 126.Custom window menu/mouse events now process the script which created the /window before looking through other scripts. 127.Fixed bug in $dbuw and $dbuh not returning the correct values. 128.Added hash table support for scripting. A hash table can be created/destroyed/modified using: /hmake - create a new hash table size N /hfree - destroy an existing hash table /hadd - add an item /hdel - delete an item You can use -s with all commands to show output, and -w with /hfree and /hdel to make them treat the name or item as a wildcard to free all matching items. A hash table can store an unlimited number of items regardless of the N size you choose, however the bigger N is the faster it will work, depending on the number of items stored. /hload - load table from a file /hsave - save table to a file By default, these load/save plain text to a text file, with item and data on separate lines ($cr and $lf characters are stripped from text before saving). You can use -b to load/save binary files. You can also use -n to make them load/saves files as data only, with no items. /hsave also supports -o to overwite an existing file, and -a to append to an existing file. To reference the contents of a hash table, you can use: $hget(name/N) - returns name of a hash table if it exists, or returns the name of the Nth hash table. .size property returns the size of table $hget(name/N,item) - returns the data associated with an item You can also reference the table as an index from 0 to N using $hget(name/N,N).item which returns the Nth item name in the table. If N is zero, returns the total number of items in the table. This method is provided as a convenience, it is not an efficient way to use the hash table. Note: the hash table is case-insensitive. 129.Changed $ial(mask,N) to make N optional (defaults to 1), and mask can now be just a nickname. 130.Can now use $did().seltext on a listbox/combobox to return the text of the first selected item. 131.Fixed $isdir() bug. 132.Added "Save and Log As" item to system menu, allows saving buffer and starting a log in one selection. 133.Fixed hotlink bug on ircx servers with .nick owner prefix. 134.mIRC no longer splits logs at midnight for chats, it only does this for channel logs now. 135.All matching mouse events in custom window menus are triggered now, previously mIRC was only triggering the first matching event and ignoring all remaining scripts. 136.Fixed dcc chat bug, initiating a dcc chat from behind a firewall wasn't working properly. 137.Fixed notify list focus bug. 138.mIRC now uses the "start in" folder in a shortcut icon as the root folder. Can override with -r command line switch. 139.Added $notify().addr property, works on watch-enabled ircds. 140.Fixed dcc send/get/chat time-out gpf bug. 07/05/2000 - mIRC v5.71 Fixes/Additions: 1.Fixed text wrapping bug in /gtalk. 2.Fixed scrollbar not being displayed in address book nick listbox. 3.Fixed switchbar display bug. 4.The toolbar/switchbar now use colour 255,0,255 as the background transparent colour. 5.Changed the way $null is processed when used in identifiers. 6.Fixed bug with mark/copy routine display not working properly when an Agent is over a window. 7.Voice commands may or may not work in desktop windows, this seems to be a limitation of the SR software you are using. 8.Fixed icon display bug in custom dialogs. 9.Can now have unlimited controls per tab section in a custom dialog, also fixed bug with visible/hidden state not being preserved for controls. 10.Fixed Editor dialog display bug when "minimizing all" via task bar menu. 11.Fixed bug in handling of port ranges for IRC servers list. 12.When clicking the "Connect" button to connect to a server, you can now hold down the Control key to force mIRC to use the next server in the list. 13.Fixed /close bug. 14.Fixed quit message in channel window not showing user's address. 15.$dbuw and $dbuh now return a decimal valu