02/02/2000 - mIRC v5.7 Fixes/Additions: 1.Fixed $ord() bug. 2.Corrected parts of help file. 3.Changed identd server behaviour. 4.Fixed custom dialog icons bug in tab control. 5.Fixed Control-Q/N minimizing windows. 6./raw quit now won't trigger the "reconnect on disconnect" switch in the IRC options dialog. 7.Fixed bug in custom identifiers where the 255 character was being interpreted as a separator. 8.Fixed custom dialogs Tab control display bug. 9.Added network listbox to connect dialog. 10.Fixed "max remotely initiated dcc sends" allowing one more dcc than specified. 11.Fixed bug in !nick filename, when filename is an LFN containing spaces. 12.Fixed mIRC not remembering minimized state if closed while it was minimized to tray. 13.Fixed custom dialog tab control button sizes in "pixels" mode. 14.Added $didwm(name,id,wildtext,N) which returns the number of the line that matches wildtext, with the search starting at line N, N is optional. 15./identd now saves the settings to mirc.ini. 16.The % helper mode on channels is now recognized on all servers, not just on IRCnet servers. Note: this will inevitably cause problems with scripts, since % is the %variable prefix. 17.Editor dialog now warns you if files haven't changed when you exit the dialog without saving. Also added option to turn this behaviour on or off. 18.Can now /clipboard -a to append text to existing text in the clipboard. 19.The custom timestamp set in options dialog, messages section, is now used for time-stamping all messages/logs/etc. 20.Fixed cursor not being set properly when using Tab key to evaluate an item in an editbox. 21.Channels in channels folder are now stored in chanfldr.ini file. 22.The ircx prop MEMBERKEY event is now interpreted as mode +k and an on MODE event, and the prop TOPIC event is interpreted as on TOPIC. 23.The "not connected" message displayed for commands that need a connection to a server now contains script/line number info. 24.If connected to a server, you can now hold down shift-key when pressing OK in Options dialog to set selected server. 25.Added "sort files by nickname into own folders" feature in DCC Folders dialog. 26.The "date logfiles" logging option now closes all logfiles with dated filenames at 12am and re-opens them with the new date. 27.Invalid table error for custom dialogs now provides more info. 28.Fixed bug in /background command updating mirc.ini incorrectly. 29.Can now specify negative index in $gettok(), eg. $gettok(a.b.c.d.e.f,-3,46) returns d $gettok(a.b.c.d.e.f,-3-,46) returns d.e.f 30.Fixed bug in $did() not being able to read the "text" control in custom dialogs if it had the "center" style set. 31.Extended editbox handling in custom dialogs: $did().seltext returns selected text in an editbox $did().selstart returns select start character in editbox line $did().selend returns select end character in editbox line /did -c name id [n] [start [end]] This selects line N in editbox, and sets selection to specified range of characters. 32.Added option to Messages dialog to strip codes section only if there are more than N codes in a messages. 33.Extended $strip(text,burcmo), where m = strip codes according to settings in Messages dialog, and o = strip codes using the "only" setting in the messages dialog if it is turned on. 34.Can now hold down Control key while copying text in a window with the mouse if you want control codes included. 35.Fixed finger server bug, was leaving CR appended to nickname. 36.Added "on top" setting to editor dialog. 37.Fixed bug in DCC Send dialog not displaying file size info properly if "hide file extensions for known file types" was turned on in windows. 38.Added $sorttok(text,C,ncr) identifier, default is alphabetic sort, optional parameters n = numeric sort, c = channel nick prefix sort, r = reverse sort. 39.The "search all files" option in the find dialog in editor now works when you are replacing text. 40.Added $ini(file,topic/N,item/N), where item/N is optional, and can specify N = 0 for total, or item name to see if it exists, etc. It replaces $initopic() which is still supported but removed from documentation. 41.Added $ctrlenter identifier, returns $true if Control-Enter was pressed when entering a message/command. 42.Date/time format spec. now allows TT for uppercase AM/PM, and ZZZ for a timezone with GMT appended. 43.Fixed $hotline, now returns the full line where a link occurs, even if the line wraps. 44.Fixed $isdir() not working on NT network drives. 45.Fixed /did -f not working in custom dialog init event. 46.Added $didtok(name,id,C), creates tokenized list from list/combo/edit box, and /didtok name id C text, adds tokenized list to list/combo/ edit box. 47.If "tooltips" are turned off, tooltips won't appear over switchbar buttons any longer. 48.Quotes around filenames are now removed before the filename is used in $isfile/isdir/file/ini/findfile/finddir/getdir/lines/nofile/nopath shortfn/dccignore/dll. 49.Fixed bug in /sockwrite -n only appended an LF instead of CRLF. 50.Fixed /close -cgsf only closing the first window. 51.Fixed nickname highlight bug in dcc chat windows. 52.Right-click on alias/popup/remote/send toolbar buttons now pops up quick access menus. 53.Control+L in Editor now opens the Load file dialog, Control+S now saves the current file, and Control+H now checks the brackets. 54.Added support for while loops. Repeats a loop while the expression in brackets is true. Multiple while loops can be embedded. You can use /break to break out of the current loop. You can also use the /continue command to jump to the beginning of the loop. var %i = 1 while (%i <= 10) { echo 2 %i inc %i if (%i > 5) break } 55.Fixed bug with /filter, was displaying a hidden control in a custom dialog when outputting to it. 56.$numtok(text,C) now returns zero if text is empty. 57./if comparions now handle $null values properly. In the case of a string comparison $null is treated as an empty string. In the case of a number comparison, if either of the values is $null the comparison fails. 58.Added $send().secs and $get().secs, returns number of seconds that the connection has been open. 59.Added "max cps per user" option to Options/fserve dialog. Allows you to limit max cps used by a dcc send to a user in a Fileserver. This is also applied to /dcc sends initiated in a remote script. You can override this by using /dcc send -lN switch, limits transfer speed for a dcc send to N cps. If you specify zero, no limit is applied. The /dcc maxcps command can be used to changed the Max Cps value on the fly. 60.Custom /dialogs created on the desktop can now be minimized. Can use /dialog -ie to minimize or restore the dialog. 61.Added /localinfo -uh command, looks up and sets your local info settings. The -u switch performs a /userhost lookup, the -h switch does a normal lookup. 62.Fixed channel /mode +k bug. 63.Fixed bug with "show whois in active window" feature. 64.Added $did().edited returns $true/$false depending on whether text in an editbox was modified. Can reset the modify flag using the /did -j switch. 65.Added two colour listboxes to Options/display dialog, the message listbox for normal messages, the highlight listbox for messages that match your highlight settings. 66.Added $prop property identifier for custom identifiers which use properties, eg. $test(value).help, in this case, $prop will return the value "help". 67.Can now specify a range in the Ports section of an IRC server entry, eg. 6665-7000 68.Added titlebar right-click option in General dialog. 69.Added /if isalpha comparison, evaluates true if the specified parameter is all text. 70.Fixed drive a:\ access bug. 71.Installer now sets up support for .chat files in registry. 72.Custom dialogs now allow Id numbers from 1 to 3000. 73.Fixed on NOSOUND event bug. 74.Control+V/Shift+Insert now allow you to hold down the keys to paste repeatedly. 75.mIRC now allows you to select the script for a font in the font dialog, to support arabic, cyrillic, etc. characters. The script selection is stored along with the normal font info in mirc.ini. 76.Added support for Microsoft Agent in mIRC 32bit under win95 or greater. I downloaded all of the files on: http://msdn.microsoft.com/workshop/imedia/agent/agentdl.asp /gload /gunload /gshow [x y] /ghide /gmove [speed] /gsize /gtalk -kw > -k - think text -w - play wave file /gplay [timeout] /gpoint /gstop -c [talk play] -c - stops only the current anim/talk instead of all /gopts -bieq -b - balloons: -i - idle effects: -e - sound effects: /gqreq - turns queuing of messages on or off, default on. $agentver - returns Agent version, 0 if not installed $agentstat - returns 1 if Agent ready, or 0 if busy/speaking $agent(name).name, fname, visible, x, y, w, h, ow, oh, speed, pitch, idle, effects, active, langid, balloon name - the name you gave to this agent fname - the filename of the agent, ie. merlin.acs, or "default" if you didn't specify a filename visible - returns $true or $false x,y,w,h - left/top position, width/height. ow, oh - original width/height speed - speaking speed pitch - speaking pitch idle - if idle behaviour is on or off effects - if sound effects are on or off active - if this agent is active/topmost langid - language id of system balloon - current setting: on off size pace hide $agent(N).char char - returns filename of Nth available agent, if you specify 0 returns total number of installed agents. $agent(name,N).anim, line anim - returns the names of the animations available for playing for this agent. If you specify 0, returns the total number of animations. If you specify N, returns the name of the Nth animation. line - returns the list of lines currently queued to be spoken for this character. If you specify 0, returns total number of queued lines. If you specify N, returns the Nth line. You can also use tags in /gtalk in which may be recognized by the text-to-speech engine, these are a few: \spd=nnn\ - set speed of spoken text \pit=nnn\ - set pitch of spoken text \vol=nnn\ - set volume of spoken text \chr="string"\ - where string is normal, monotone, or whisper \ctx="string"\ - address, email, unknown \emp\ - emphasize next word \pau=nnn\ - pause speech nnn milliseconds \rst\ - reset settings to default $notags(text) - removes the above tags from text, but only if the tags are correctly written as above. Notes: 1. mIRC queues all requests and plays them one after the other to ensure that even if you use multiple agents at the same time, all messages will be heard, and all agents will act in the order that you requested. You can turn queuing on/off using /gqreq on the fly. 2. You can't load more than one of the same agent, ie. if you load Genie, you can't load a second Genie. You can however load Genie, Merlin, Peedy, and any other custom characters all at the same time. 3. Looping animations prevent an agent from doing anything else until you /gstop the agent. The [timeout] value in /gplay allows you to specify a maximum time-limit for an animation after which it is automatically stopped, and the agent will then perform the remaining queued requests. If you don't specify a timeout value, the default is 5 seconds. If no play or talk requests are pending, the looping animation continues beyond the timeout until there are. 77.The $filename identifier can now be used in the on PLAYEND event to refer to the filename that was just played. 78.Added .logfile property to $chan(), $chat(), $query(), and $window(), returns logfile name if a log is open for the window, otherwise returns $null. 79.Changed channel central dialog, uses a tabbed dialog, and adds support for the +e and +I IRCnet channel modes. Also added a display section for redirecting channels events. 80.If you have Speech Recognition (SR) software installed, mIRC can be made to listen to voice commands by using: /vcmd -lc -c - clears the command list -l - lists current commands sleep - ignores commands temporarily /vcadd /vcrem If the SR software matches a word you've spoken to a word in your commands list, mIRC triggers the VCMD event: on 1:VCMD::<*/#/?/@>:/echo 3 Recognized: $1- The $vcmd(N) identifier returns the Nth item in the voice commands list. $vcmdver - returns version of SR software, $null if not installed $vcmdstat - returns 0 not available 1 currently off 2 ignoring commands 3 listening Notes: 1. Your SR software may have very large speech files/dictionaries, it could take 10 or more seconds for your SR software to load or unload, and may be slow while processing your speech, causing short pauses in mIRC. 2. Adding or removing commands can be done on the fly, however if your SR software is slow at updating the commands list, mIRC has to wait until it finishes. 81.Fixed custom dialogs DBU bug in dialog "size" item, was creating dialogs that were 10 or so pixels taller than they should be. 82.If a new window opens while you are in a dialog, eg. script editor, the new window no longer takes away the focus from the dialog. If you want to force a custom window to take focus, you can use the /window -a switch when creating the window. 83.The message highlight section in the Options/IRC dialog now matches against whole words, or words enclosed in non-alphabetic characters. You can use wildcards *? to make a word match non-whole words. 84./unset now evaluates variables inside [] brackets, this allows you to unset variables with dynamically created names: test { set %a [ $+ b ] 1 set %a [ $+ c ] 2 set %a [ $+ d ] 3 unset %a [ $+ b ] %a [ $+ c ] %a [ $+ d ] } 85./part can now close an open channel window while not connected. 87.Changed behaviour of /disconnect and /quit, can now cancel a connect in progress. 88.You can now remove a nick from your Tab Key list with Control-D. 89.Added $mklogfn(filename) identifier, returns the filename format that the logging feature uses, $mknickfn(nickname) fixes a nickname for use as a filename, and $mkfn(filename), removes invalid characters. 90.You can now prevent a command from being processed as an alias by prefixing it with a ! character, eg. /!command etc. 91.Added event: on 1:PONG:echo pong reply: $1-, note: you can't use this to intercept /pings to your own nickname, this is used internally by mIRC. 92.Can now use $editbox(=name) for dcc chat editboxes. 93.Fixed a bug in sclick event for comboboxes in custom dialogs. 94.Made a change to the way sockets are closed throught-out mIRC. 95.Fixed bug in /did command causing hidden controls to become visible. 96.The "photo" display method of background pictures can now display pictures properly regardless of their height/width ratio. 97.The problem with the + character being changed to & in custom dialogs is now fixed. 98.Added .stamp property to $chan(), $chat(), $query(), and $window(), returns timestamp setting. 99.Added $dbuw and $dbuh, return dbu per pixel width and height. 100.Changed parsing method for most identifiers so that your custom identifiers will now work even if they begin with the same letters as internal identifiers. Directory related identifiers have not been updated, eg. $mircdir, $getdir, $cd, etc. since many widely used scripts append text directly to them, ie.: //splay $file="Select wave:" $mircdirsounds\ Instead of using the (better) format: //splay $file="Select wave:" $mircdir $+ sounds\ 101.Removed support for the very old $parm and *N identifiers. 102.Fixed bug in /drawrect, sizing was slightly off. You can now also specify negative values for the width/height. 103.Extended "Date filenames" feature to allow you to date filenames by day, week, or month. If dated by week, log files begin on days 1, 7, 14, and 21, and if dated by month, they begin on day 1. 104.Added support for single/double/paragraph line spacing in windows, can set default in Options/Display section, and for each window via the system menu. 105.Fixed bug in socket-related routines which may have affected IRC server connection, DCC Send/Get, and Custom sockets. 106.Changing the desktop/mdi setting of a window no longer makes mIRC forget the previously saved window position. 107.Fixed bug where mIRC was leaving tmpN.$$$ files in mIRC directory in certain situations. 108.Can now stop a /list on Undernet servers by selecting the "stop listing" item in the Channels List window menu. 109.Hotlink feature should be a bit smarter when matching nicknames to a link now. 110.$os now recognizes 2000. 111.mIRC now re-adds its icon to the tray if the tray is reset/crashes. 112.Added "copy messages to query" option in IRC dialog; if you're talking to a user in the dedicated message window and then decide to open a query to them, this copies the conversation you've had so far from the dedicated message window to the query window. 113.Can now specify a negative index in token identifiers, eg. //echo $puttok(a b c d, e, -2, 32) = a b e d //echo $instok(a b c d, e, -2, 32) = a b c e d //echo $deltok(a b c d, -2, 32) = a b d 114.$len() now returns 0 if passed an empty value. 115.Added $base(N,inbase,outbase,zeropad,precision) to convert number N from inbase to outbase. The last two parameters are optional. 116.Added $bfind(&binvar, N, M), searches a &binvar for a matching value, starting from position N. M can be a character value, ie. 0 to 255, or text. The search is case-insensitive. $bfind(&test, 1, mirc) finds "mirc" starting from pos 1 $bfind(&test, 5, 32) finds char 32 (a space) from pos 5 $bfind(&test, 1, 87 65 86) finds WAV from pos 1 You can use $bfind().text to force a text search if the search text is a number. 117.Sockets now have the "keep alive" setting turned on which should help keep a connection alive over extended periods. 118.Ctcp messages are now time-stamped. 119.$date now returns the full four-digit year. $ctime now also assumes the year 2000 if you specify a year <= 38. 120.$menu now works in mouse events in menu {} definitions. 121.Added "hide ping? pong!" option to IRC dialog. 122.Windows can now have their own timestamp setting independent of the global timestamp setting in the IRC/Messages dialog. You can now use /timestamp on|off|default, where default uses the global setting. You can also set the timestamp format using /timestamp -f [format]. 123.Hotlinks now work on Tab-key nicknames that have messaged you in the message window. 124.Fixed bug in Display/Windows dialog when changing the MDI/Desktop setting for windows. 125.Added $dialog().active property, returns $true if dialog is the active window, $false otherwise. 126.Added $longfn(), returns LFN version of a short filename, works only in 32bit mIRC. 127.Added /bcopy [-zc] <&binvar> <&binvar> This copies M bytes from position S in the second &binvar to the first &binvar at position N. This can also be used to copy overlapping parts of a &binvar to itself. If M = -1, all of the bytes from position S onwards are copied. If you specify the -z switch, the bytes in the source &binvar that were copied are zero-filled after the copy. If you specify the -c switch, the first &binvar is chopped to length N + M. Also added /bunset <&binvar> ... <&binvar> command to unset the specified list of &binvars. 128.Fixed bug with /did -i adding CRLF when inserting into a single line editbox. 129.Fixed bug in /dccserver command. 130.Can now use $mid() without specifying the third parameter. 131.Added $appstate, returns minimized, maximized, normal, hidden, or tray, to indicate state of mIRC window. 132.Function keys in the message window work all the time now. 133.Made a change to the way $portfree() works. 134.If you try to use DCC Send/Chat/Fserve while they are locked in the lock dialog, you now see a lock message. - The full versions.txt has become too large to include in the distribution, so only the version information for the current version is being included from now on. You can however still download the full versions.txt file from the mIRC website at http://www.mirc.co.uk - 28/02/95 - mIRC v2.1a First public release.