[ Old mIRC Versions ] July 24, 1998 - mIRC v5.41 Fixes/Additions: 1.Fixed win32s under win3.x display bug in 32bit mIRC. 2.Fixed bug with private messages text-wrap when using ^ events. 3.Can now use %variables or $identifiers in the Perform Highlight words. 4.Can now do /dcc send nickname <wildcardfilename>. 5.Fixed $sdir bug. 6.Fixed bug in auto-arrange/cascade/tile options. 7.Fixed SOCKS firewall support bugs. 8.Channel Central dialog now allows mode +h users on TS4 efnet to change the channel settings. 9./remove now tells you if you specified a non-existent file but doesn't halt processing. 10.Changed Channel central dialog behaviour, no longer resets channel modes unless they've been changed. 11.Fixed bug in $calc() with very long strings. 12.Fixed bug in inactive DCC Chat windows, editbox allows you to copy text from it but entered text is not processed in any way. 13.$chan().ial now returns $true if the IAL is full, $false if it isn't, or $inwho if you sent a /who #channel to the server to fill the IAL and the IAL isn't full yet. 14.Improved winsock error checking. 15.Fixed bug in /goto command where it was incorrectly reporting a "not found" error instead of a "duplicate name" error in some situations where you had duplicate goto names in a script. 16.Fixed bug in the remote events in %variables in remote event definition not being processed correctly if it evaluated to just #. 17.Fixed /renwin bug allowing you to rename a @window to any name without the @ prefix. 18.Fixed $read bug when reading a line with only a space in it. 19.Fixed disappearing DCC windows bug. 20.Fixed bug with URL/Email catcher being turned off when using the Send To menu in the URL window popup menu. 21.Fixed bug with Status window not remembering Desktop/MDI position. 22.Fixed editbox/listbox focusing bug. 23.Fixed BURC code stripping in IRC Switches not applying to channel topics. 24.Using the . prefix to hide /play command information now also hides the /msg command information when sending to a user/channel. 25.Fixed @window listbox background colour bug not being reset when using colour control codes in text. 26.Fixed editbox processing bug in custom @windows. 27.Fixed /ignore -x exclusion bug. 28.Fixed bug in on OPEN event, was preventing on TEXT/ACTION events from triggering if on OPEN was /halted. 29.Can now specify whether you want DCCs to go through the Socks Firewall or not. 30.Fixed /renwin bug, was halting scripts. 31.Fixed bug when processing $? in combination with $+ in some situations. 32.$findfile() and $finddir() in 32bit mIRC now maintain case of filenames. 33.Fixed bug with wave playing not working with certain sound drivers. Note that simple sound drivers eg. speaker driver, are very limited and don't support mIRC's queuing of sounds feature, etc. 34.Fixed /cline when colour not specified, sets to default colour. 35.Fixed ctcp event not processing wildcard ctcps, eg. ctcp 1:*ping*:echo $1- 36.Fixed DCC Send CTCP request not working with IRC clients that add an extra ID number to the CTCP message, mIRC v5.4 also uses this extra ID to identify DCC Send requests through a SOCKS firewall. If mIRC sees an ID but can't match it internally, it assumes it's not valid and processes the CTCP as a normal DCC Send request. 37.Improved handling of long filenames in commands: /dcc send, /unload, /mkdir, /loadbuf, /savebuf, /filter, and /window. 38.Fixed bug in /font command. 39.Extended various commands/identifiers/etc. that reference listboxes so that they can now process any number of selected lines. 40.Can now /clear -n with a picture window, where -n delays update of the display until you force an update (same as with other picture window commands). 41.Fixed bug in $iif(), remote identifiers in it where not being evaluated. 42.Added $inpoly(x,y,x1,y1,...,xN,yN) identifier which returns $true if x,y is inside the polygon made up of the specified points, otherwise $false. 43.Changed DCC Server 150 and 151 replies, they now return "unavailable" and "rejected" instead of a nickname. 44.Added .dx and .dy properties to $window(), return the x and y position of a window relative to the desktop. 45.Changed $notify() so that it works with your whole notify list. Added .ison property, returns $true if user is on IRC, otherwise $false. 46.Fixed bug with status window receiving focus in certain situations. 47.Fixed bug in /write command when /writing to files that aren't on the same hard-disk as the mIRC exe file. 48.Fixed freezing bug in $dde, $read, and $readini when used within other identifiers in some situations. 49.The on DNS event is now triggered if you try to /dns a nickname that's not on IRC and the server replies with the "no such nickname" numeric. 50.Fixed bug in listbox windows eg. url/notify/channelslist/etc. when first opening, the background was first set to the main window background colour not the listbox colour, making the window flash. 51.Fixed bug in ip address having a space appended to it when looking up via the server method. Shouldn't have affected processing though. 52.Extended $mask() and all other mask-related commands/identifiers, so that you can now specify a type of 10 to 19 which correspond to masks 0 to 9, but instead of using a * wildcard to replace portions of an address, it uses ? wildcards to replace the numbers in the address. 53.Fixed bug in /window -h switch not setting window focus correctly. 54.Fixed /list command so that it works correctly with older DALnet ircds that don't support serverside filtering. 55.The value of $halted can now be checked in any event to see if a previous event /halted the default text. You can also prefix events with the new & prefix to prevent the event from triggering if $halted is true, eg. on &1:text:*:?:/echo this won't trigger if $halted is true 56.When mIRC joins a channel and issues a /mode to look up the channel modes, the channel creation time numeric is hidden if sent by the server. 57."Unable to connect to IRC server" message now also shows the actual winsock error message. 58./enable and /disable now accept wildcards. 59./loadbuf and /savebuf can now work with dcc =chat windows. Also added switches to /loadbuf: -cN specifies default text colour -e evaluates lines -h hides a line if -e is specified and it doesn't evaluate 60.Fixed /window -c closing gpf bug when using multiple /window opening and closing commands in the same script. 61.Added $isdde(name) identifier, returns $true if ddename is in use. 62./background can now change background in dcc =chat windows. 63.Fixed bug in remote * event prefix. 64.Timestamp now shows double digits for the hour. 65.Time related identifiers/routines now return $null if a time value is specified that lies outside the values mIRC can handle. 66.Fixed /.copy showing a line separator incorrectly. 67.Fixed bug in Editor dialog, if you loaded a new script and then closed the dialog, the on load event in the script would only trigger if you were in the Remote tab of the dialog. 68.Added -l switch to /ignore [-lpcnitkx] command, specifying the -l switch now displays a list of the ignores which match the specified switches. 69.Fixed bug in Socks firewall handling of a DCC Send to an IP address ie. to a users DCC Server. 70.Fixed /echo -a =chat bug. 71.Fixed switchbar display bug. 72.Fixed /drawtext -p switch background filling bug. 73.If the Channels folder dialog is open while connecting to a server, the Join/Names buttons are enabled on connection. 74.Fixed gpf bug in /cline when trying to use it on an empty window. 75.Extended $os identifier in the 32bit mIRC, it now replies differently depending on whether you're on 3.1, 3.1 win32s, 95, 98, and NT. The 16bit is still limited to replying 3.1 or 95. 76.Added $ulist(address,level,N) identifier for referencing the Users list, (replaces $maddress() which is still supported for now). You can specify an address of * to match any address in the user list, or a wildcard address. If you don't specify a full address, it completes the address with wildcards. If you specify L, $ulist() will return matching addresses that contain the specified level. Note: L and N are optional, but if you specify only one number, mIRC assumes it is N, to maintain backward compatibility. 77.Changed $calc() evaluation method slightly, this may break existing scripts. 78.Fixed a few /finger and fingerserver related bugs. 79.Fixed /auto -r bug. Jun 23, 1998 - mIRC v5.4 Fixes/Additions: 1.Fixed identd/finger/dcc server bug. 2.Fixed connect retry bug when server name can't be resolved. 3.Fixed bug with windows being displayed/hidden when switchbar is turned on/off. 4.Fixed /join -n bug when specifying a password. 5./load now only asks you once if you want to run the on start and on load sections when your script loads multiple files. 6.Added identd switch to turn identd on/off before/after connection. 7.Added identifier $isalias(name) returns $true/$false. 8./dns now returns a reply for each /dns that is issued even if you specified multiple identical addresses. 9.In addition to specifying -1 in $window() to refer to the desktop screen size, you can now also specify -2 for the main mIRC window, and -3 for internal MDI window where other windows are displayed. 10.Fixed focusing bug when clicking in a window. 11.Added /reload command, reloads the specified script without triggering the on start/load events. 12.Added $finddir(root,wildcard,N) works the same as $findfile() except it returns directory names. 13.Added Options section to Address Book. 14.Fixed Help menu bug when more than 30 items where listed in the menu. 15.Added support for numeric 477, tells you if you can't join a channel if channel only allows registered nicks. 16.Added /renwin <@old> <@new> [topic] command, changes the name of a custom window. 17./sockopen now triggers "on sockopen" if a connection fails immediately, instead of just halting the script with a connection error message. 18.Fixed /editbox command when using lines with CR/LF characters. 19.Can now handle DALnet @+target notices. 20.Small change in DCC Send routine which may have been causing a freeze in certain situations. 21.Fixed bug in action messages, may have been preventing action messages from being displayed sometimes. 22.Can now open the Channels Folder and Channels List dialogs when not connected to a server to edit/view them offline. 23.$chan now works in the on input event. 24.Fixed bug in Alt-1,2,3,etc. that was causing a GPF in certain situations. 25.Fixed display gpf bug which occurred when a window was resized to a width smaller than an indented line. 26.Made a small change to the way DDE messages are sent, should now work with more applications. 27.Fixed bug in Filserver, wasn't displaying the list of dirs or files correctly in certain cases. 28.Added switch -S to /window command. The small -s now sorts the main window (whether text or listbox), the large -S now sorts a listbox on the side. 29.Fixed gpf bug when the custom menubar popup menu is empty and a new item is added to it. 30.The TAB nick completion now works in custom windows. 31.Fixed /join -i bug. 32.Your nicknames, local info, and current irc server are now all updated in mirc.ini whenever they change. 33./filter no longer creates a file if there were no matching items to output to the file. It also fills the $filtered identifier with the number of matches found, if any. 34.A users nick and address are now stored in the log file at the start of the logging session for a query window. 35.Now supports serverside filtering of channels list on DALnet servers. This is done automatically whenever you retrieve a channels list, same as with Undernet servers. DALnet servers also supports server-side wildcard filtering. 36.Fixed /editbox -n switch. 37.If you try to connect to a server which resolves to multiple IP addresses eg. a round robin server, mIRC will now try each IP address until it gets a connection. 38.Colour 99 is now treated as a transparent colour, ie. it will match a users current background colour. The main purpose of this is to allow you to use numbers after a ctrl-k without a problem, eg. /echo ctrl+k5,9954 This would display the number 54. 39.Added $readn identifier to return the line number that matched a search for $read -s<text>. Also added $read -w<wildtext> switch which finds a line that contains the matching text. If you specify the -s or -w switches, you can also specify the -lN switch to specify which line to start searching from in the file, eg.: //echo -l100 -w*mirc* versions.txt Note: this will start the search *after* line 100. This allows you to use it with $readn easily. 40.Added -e switch to /dde command, makes /dde send the request as an XTYP_EXECUTE dde message. This type of message does not require an item, so the format is: /dde -e service topic command 41.Fixed /rline bug. 42.Fixed bug relating to use of [ ] to evaluate items inside a bracketed identifier eg. //echo 1 $gettok( [ $readini -n mirc.ini mirc host ] ,1,58) 43.Fixed gpf bug when trying to resize a window that contains lines of text of which some are empty ie. contain no characters at all, was happening mainly when filling a custom window with lines from a text file eg. using /filter. 44.Added * as a new remote event prefix, matches the level of any user. This allows you to create events that will trigger for all users regardless of their access levels. on *:event:etc. ctcp *:event:etc. 45.Using new method to display icons in toolbar and switchbar, this should fix the disappearing toolbar problem some people have been experiencing. 46.Added .fname property to $group() identifier, to return filename, and the .name property to return the name of the group if you're looking up the Nth group. 47.Added /ban -r switch, this removes a ban of the specified type for nickname, eg. /ban -r nick 2 48.Url catcher now treats more characters as valid parts of a URL. 49.Fixed bug in $pos() identifier. 50.Added $ctime() identifier to compliment $ctime. You can specify the date and time in various formats in $ctime() to return the number of seconds elapsed since 00:00:00 GMT, January 1, 1970. //echo 1 $ctime(January 1 1970 00:00:00) //echo 1 $ctime(3rd August 1987 3:46pm) //echo 1 $ctime(21/4/72 1:30:37) //echo 1 $ctime(Wed 1998-3-27 21:16) 51.Modifed the way the inc/dec -uN switch works, added two new switches, -c and -z. -uN now only incs/decs the %var once and unsets it N seconds later. -c incs/decs %var once per second. -z decreases %var until it reaches zero and then unsets it. The -z switch also works with /set. 52.Fixed bug in /describe appearance in query windows. 53.Can now use $mouse outside of picture window events. Also added the following properties: .win returns the windows name .mx/my returns x,y position relative to mIRC main window .dx/dy returns x,y position relative to desktop 54.Added .fname property to $isalias() identifier, which returns the filename inwhich the alias exists, and .alias property which returns the alias definition itself. 55.Added $ifmatch identifier, returns the first parameter of a matching if statement. eg. if (text isin some text) etc. then $ifmatch will return "text". 56.Added /showmirc -nrstx command, where: -n = minimize -r = restore -s = show -t = tray -x = maximize 57.Added -u switch to /window which removes the -ontop setting for a desktop window. Can also reset it again with -o. 58.If you specify a delay of 0 seconds in /timer, the command is now executed immediately after a script finishes. 59.Added $cb(N) identifier to return CRLF delimited lines from the clipboard. The property .len returns the length of the line, or if N is zero, it returns the total length of text in the clipboard. 60.Extended $timer() to handle both N and a Timer name as a parameter. Also now returns $null correctly if it can't find a match. 61.Extended $nick/opnick/nopnick/vnick/nvnick() to handle both N and a nickname. If a nickname is specified it returns the nicknames Nth position in the nicklist. 62.Fixed Window/Icon Flashing bug, wasn't triggering in certain situations. 63.Fixed gpf bug in fileserver time-out event. 64.Fixed /window sizing bug when first opening a very small window. 65.Added .ial property to $chan(), returns $true if the IAL contains the addresses of all users on the specified channel, otherwise $false. 66.The TAB key nick completion now works as an identifier/variable evaluator when placed over items that begin with $ or % or # (evaluates to current channel name). 67.Notify now displays on/off messages in more situations. 68.Can now specify N = 0 in $findtok() to return number of matching tokens. 69.Added $matchtok(Tokens,String,N,C) identifier, checks if any of the Tokens contain the text String. eg. $matchtok(one two three, e, 0, 32) returns 2 $matchtok(one two three, e, 2, 32) returns three And $wildtok(Tokens,WildString,N,C) which does the same thing using wildcards: $wildtok(one two three, t*e, 0, 32) returns 1 $wildtok(one two three, t*e, 1, 32) returns three 70.Added Remove menu item to notify list popup menu. 71.Made a change to /log command to make it handle the file .ext extension better with LFNs. 72.Moved notify section from Options dialog to Address Book. Also added Notify? and Address? buttons to connect Address and Notify sections. 73.You can now retrieve your basic System colours with $rgb() by specifying: face, shadow, hilight, frame, and text, which return the RGB value. 74.Pressing TAB key in an editbox no longer clears the editbox if it contains text. The editbox needs to be empty in order for TAB to fill in the "/msg nickname" text. 75.DCC Chat window editbox is no longer disabled on a disconnection. 76.Can now click on a number in the Colour index dialog to insert the number into the editbox. 77.Fixed $dde gpf if data being received is too long, now returns $error in this case. 78.Extended $replace() to handle multiple replace parameters, eg. $replace(String,n1,n2,m1,m2,...,t1,t2) And $remove() to handle multiple remove parameters, eg. $remove(String,n1,n2,n3,...) 79.Replaced channel window switching keyboard command from Control-Space to Control-N due to conflict with other applications. 80.Fixed minimized icons appearing in certain sitautions when switching windows via switchbar. 81.Speeded up text display slightly. 82.Added $hash(S,B) where S is a string, and B is the number of bits to use when calculating the hash number. 83.Can now specify a non-existent file in $file/dir/hfile/sdir dialogs. 84.Added /whois in active window switch. Displays whois results in the channel, query/chat, and custom windows if it is turned on and a /whois is issued inside one of these windows. Also added Whois text colour selection to Colours dialog. 85.Added -g switch to /clear and /filter to refer to finger window. 86.Added Background Picture option to System menu for Status, Channel, and Query/Chat windows. Allows you to select a background picture for the window, note that this significantly decreases the display speed of text in a window. Also added picture option to the mIRC background window, right-click on it to pop up a menu with options. Can also select a background picture for the toolbar, toolbar buttons, and switchbar, right-click to pop up a menu. You can use the following command to change the background picture settings and display method for windows: /background [-amsgdluhcfnrtpx] [window] [filename] -a = active window (window name not required) -m = main mIRC window -s = status window -g = finger window -d = dedicated query window -cfnrtp = center, fill, normal, stretch, tile, photo -l = toolbar -u = toolbar buttons -h = switchbar Toolbar buttons can use RGB Colour 192,192,192 for transparency, the BMP must be of the same form as that in mIRC resources. -x = no background picture Window name should only be specified if none of the window switches are specified. The filename does not need to be specified if you are only changing the display method. 87.Added $iif(C,T,F) where C is a conditional clause, and T is the result if the conditional is True, and F is the result if it's false, eg: echo $iif(1 == 2, yes, no) returns "no" $iif returns F if the conditional returns zero, $false, or $null, for any other value $iif returns T. If you don't specify the F parameter, $iif returns a T value if the condition is true, and returns nothing if it's false. echo $iif(1 == 2, yes) returns nothing 88.mIRC can now display longer channel topics in channels. 89.Added -p switch to /editbox, appends a space to the end of the text. 90.Added -t switch to /echo, prefixes line with a timestamp if a user has global time stamping on or timestamping is on for that window. 91.Integrated the notify settings into the Address book dialog. 92.You can now open a query window with the /query command while offline. 93.Fixed $duration() to handle floating point numbers. 94.Titlebars in windows now aren't updated if the new text is identical. 95.Made line sorting in text @windows case-insensitive. 96.Added -o switch to /copy command, overwrites file if it exists. 97.Can now use ! (not prefix) with & bitwise operator. 98.Added uclick event to mouse detection events. menu @test { uclick:echo Released mouse button } 99.The switchbar button for a query window is now updated when there is a nick change. 100.Added -h switch to /clear command, clears the command history for a window. 101.Switchbar can now also be displayed on the left and right sides of the mIRC window, you can drag it with the mouse to reposition it. 102.Fixed $server().port including password at end of ports. 103.Fixed problems with sounds not being heard when your system is set up to use the internal speaker driver for sound playback, note however that this means that events such as on waveend/midiend do not work now since the speaker driver doesn't support them. 104.Added /saveini command, updates all mIRC related ini files with the current info. 105.Added /ignore -x (exclude) switch. Basically this allows you to ignore messages from all people except your friends. For example: a!b@c.org,exclude this excludes this address from being ignored *!*@* this ignores all other addresses 106.Fixed bug in on chat/fserve events not filling $1 correctly. 107.Fixed bug with certain /if operators treating a $null value as plain text eg. if (n isin $null) would evaluate to true. 108.Fixed bug with $calc() not processing identifiers with properties. 109.Fixed on close event not triggering for fileservers. 110.Added Command option to DCC Get Directories dialog, allows a command to be performed when a file is received. The command will be performed if no application has been selected and the filename can be referred to in the command as identifier $1-. 111.Fixed /write not adding an extra LF to the last line in a file if it needs one before appending a new line to the end of the file. 112.Added Rejoin channels on connect switch to Options dialog, if turned on channel windows which are open are auto-rejoined when you reconnect to an IRC server. 113.Fixed custom sockets bug where last packet of a file being received was not received fully in some cases. 114.Added .font and .fontsize properties to $window(). 115.Variables set to the value $null now evaluate to an empty string. 116.Control codes are now stripped from URLs/Emails caught by URL catcher. 117.Fixed bug in DNS resolving routine which may have caused certain problems in the situation where a DNS request failed immediately. Also fixed a bug where an invalid DNS reply may have caused a gpf. 118./dns -c now clears all queued DNS requests except the one currently in progress. 119.Added isincs for a case-sensitive version of isin comparison. 120.Added $fline(@,wildtext,N,T) searches a window for a line matching the wildcard text and returns the matching line number. If T is not zero, it acts on the side-listbox. 121.The on MODE event now triggers when you make a mode change. You can prevent it from triggering on your own mode change using the ! event prefix as usual. 122.Fixed /echo bug, can now specify switches with a dcc chat =nickname. 123.You can now prevent the default text for an event from being shown by using the ^ prefix in an event definition. This allows you to show your own custom event messages, eg. on ^1:JOIN:#:echo $chan Joins: $nick | halt This line is triggered by a JOIN event and shows your own custom join event message, /halt prevents the normal message from being shown. The ^ events don't replace your existing events, your normal events are independent and are still processed whether there is a ^ event in a script or not. Events that currently support ^ prefix: BAN, CHAT, DEHELP, DEOP, DEVOICE, HELP, INVITE, JOIN, KICK, MODE, NICK, NOTICE, OP, PART, TEXT, UNBAN, USERMODE, VOICE, QUIT, SERV, SERVERMODE, SNOTICE, TOPIC, WALLOPS. You can also halt the default text without halting a script by using the /haltdef command. The $halted identifier returns $true if /halt or /haltdef was used in a ^ prefixed event, and $false if it wasn't. 124.Added $shortfn(filename), returns short version of a long filename, only works in 32bit mIRC. In 16bit, returns same filename. 125.Can now /resetidle <seconds>. 126.Fixed bug in display of DCC transfer window. 127.Fixed bug in timezone calculation routine. 128.Fixed bug in /ignore. 129.Fixed gpf bug in on load/start events. 130.The /ignore and /auto commands now reformat the given nickname/address to a full address spec. if it isn't one already. 131.Fixed bug when switching dedicated query window to/from desktop/mdi mode. 132.Removed minimum window size restrictions. 133.Local info is now looked up using the Server method by default. 134.Fixed bug where first item in a listbox was selected when the listbox window was first opened. 135.Fixed $target for DCC chat/fserve windows. 136.Added Socks5 firewall support for connecting to an IRC server. mIRC passes the domain name to the Socks5 firewall instead of trying to resolve it to an IP itself. mIRC still supports Socks4 however this doesn't support authentication or domain name resolution or listening for a connection. mIRC also supports an EXPERIMENTAL method for DCC Send/Chat through a SOCKS5 firewall. This will NOT work with older versions of mIRC or other IRC clients. mIRC uses a PASSIVE protocol to establish DCC connections when a client is behind a SOCKS5 firewall. The method will work with SOCKS5 firewalls that both: a) Support listening/binding to a port of Zero for an incoming connection. b) Assign outgoing connections an IP address that's the same as the SOCKS firewall IP address. The DCC Send/Chat CTCP messages are extended by adding an extra number to the end of the message which uniquely identifies the negotiation, and a port of Zero is specified to indicate that this is a passive connection request. All other fields are identical to a standard DCC Send/Chat message. DCC Chat Passive Protocol: Client A, initiating the DCC Chat, sends the passive connection request below to Client B. The port is set to zero, and the id number is a unique integer identifying the connection: DCC CHAT nickname address port id If Client A is behind a firewall, the address is the ip address of its SOCKS firewall. Client B receives the message and sets up a listening socket, and sends the IP address and port back to Client A, specifying the id number that identifies Client A's request: DCC CHAT nickname address port id If Client B is behind a SOCKS5 firewall, it requests a listening socket from the SOCKS5 firewall and specifies Client A's IP address as the binding address. Client A then proceeds to connect to this address to chat. If Client A is behind a SOCKS firewall, it sends a connection request to it. DCC Send Passive Protocol: Client A, initiating the DCC Send, sends the passive connection request below to Client B. The port is set to zero, and the id number is a unique integer identifying the connection: DCC SEND filename address port filesize id If Client A is behind a firewall, the address is the ip address of its SOCKS firewall. Client B receives the message and sets up a listening socket, and sends the IP address and port back to Client A, specifying the id number that identifies Client A's request: DCC SEND filename address port filesize id If Client B is behind a SOCKS5 firewall, it requests a listening socket from the SOCKS5 firewall and specifies Client A's IP address as the binding address. Client A then proceeds to connect to this address to begin the transfer. If Client A is behind a SOCKS firewall, it sends a connection request to it. Nb. The DCC Resume and Accept protocols in mIRC are also extended by adding the id number to the end of the CTCP message, but otherwise work in exactly the same way. 137.Fixed on input bug with chat/fserve windows. Can specify = for matching chat events and ! prefix for fserve events, same as on open/close. 138.Fixed bugs in $calc() identifier. 139.Changed the way tooltips are displayed, there is now a small delay before a tooltip appears. 140.Fixed bug in /if handling of multiple parameters, eg.: if (a b c == a b c) echo yes | else echo no This will only work if your /if is specified using () brackets around parameters, or {} around the commands following the /if, so that the conditional clause is fully specified. 141.Added support for certain Efnet TS4 features. mIRC will now process TS4s new mode +h for helper users on a channel, for nicknames prefixed with a %. Also added new script events and identifiers: on 1:HELP/DEHELP:#:echo I just helped/dehelped $hnick $hnick() and $nhnick(), same as $opnick()/etc. Also added a new /if comparison "ishelp". Extended $comchan() properties to: .op, .voice, .help 142.Can now select the background more easily in the Colours dialog. 143.Can now specify a named address when initiating a DCC Send/Chat/Fserve in the /dcc command or in the DCC Send/Chat dialogs. 144.Changed kick/part events routines so that the nickname that is parting or being kicked is only removed from the channels nickname list and the IAL *after* scripts are processed, allowing you to access these users settings. You can use the /updatenl command to force the nicknames list and IAL to update immediately during an on kick/part/quit script event. 145.Can now force a /sockread to read incoming characters into a %variable even if the incoming line does not contain a CRLF. /sockread -f %var 146.Extended $? input identifier, the dialog will expand vertically to accomodate longer questions, and if you use $?* then text will appear as ***** to prevent anyone seeing what you're typing. If you use $?! then a Yes/No dialog will appear without an editbox, it will return $true or $false depending on whether the user clicks on Yes or No respectively. You can make text appear on different lines by using $crlf identifier to separate lines, eg. //echo $?="For example: $crlf $+ This is on the 2nd line." 147.I changed the version checking method slightly to recognize NT 5.0. 148.Fixed bug with $().property processing getting confused by %variables with . in their name. 149.Added $crlf identifer, returns CRLF characters. 150.Added $sreq and $creq identifiers, return current /sreq and /creq settings for DCC Get/Chat respectively (return ask, auto, or ignore). 151.Fixed /drawtext command and $width() identifier so they now work with the same measurements correctly. If no clipping area is specified in /drawtext, the command should only affect the area around the text, whereas before it was affecting most of the window. 152.Added $height(text,font,size) returns height of text in pixels for the specified font and fontsize. 153.Aded /timer -e switch which executes the specified timer name immediately if it exists. 154.Fixed /copy changing filenames to lower case. This only works in the 32bit mIRC, the 16bit is still limited. The original case of the filenames is now retained. 155.When saving the buffer of a query window, the users nickname and address are placed at the top of the buffer, if they are available. 156.Fixed bug in Editor dialog where aliases were getting overwritten by the variables section in certain situations. 157.You can now save a channel window position as maximized/minimized. 158.Added $os identifier, returns operating system version 95 or 3.x. 159.Fixed /sline bug changing the colour of a listbox item when all you wanted to do was select/deselect the line without changing it's colour. 160./splay no longer halts a script if the sound can't be found or played. 161.Fixed =$nick evaluating to just $nick when used outside of a remote event. It worked correctly in remote events though. 162.Fixed -sg switches in loadbuf/savebuf commands. 163.Fixed bug where server password was not being set correctly when retrying a connection if it failed/you were disconnected before. 164.Fixed bug with $script/$scriptdir not evaluating properly in some cases. 165.Fixed Channel central channel key handling, correctly unsets/sets a channel key now if you are changing an existing channel key. 166.Added a fix for undernet ircd behaviour regarding channel keys. Here is how the new undernet ircd works now: If you join a channel with a key, the server will NOT send you the channel key to display in the channel window titlebar. If an Op changes the channel key while you are on the channel, the server will send you the channel key and mIRC will display it in the titlebar even if you *aren't* an Op. You can only retrieve the channel key after you have become an Op on the channel. If someone Ops you on a keyed channel and you don't have the channel key yet, mIRC sends a /mode #channel to retrieve it so it can display it in the channel window titlebar automatically. The undernet ircd now sends a +k without specifing the key in the above situation, so be aware that you can now have +k but no key. You should no longer assume that doing a /mode #channel will get you the full info on undernet servers. mIRC will show a +k without a key in the titlebar. mIRC can no longer rejoin a keyed channel automatically in the above situation if a) you have "rejoin on kick" turned on, or b) you have "rejoin on disconnect" turned on. 167.Fixed bug in Installation program which was causing it to fail in certain situations. 168.Fixed bug in INI file saving routine which was preventing INI files from being updated properly in certain situations ie. in a network environment, where the mIRC EXE is not in the same HD/Directory as the INI files. 169.Fixed line hilighting bug, lines were sometimes being hilighted in the wrong situation. 170.Fixed bug in on OPEN/CLOSE events.