statsStats: 30,097 versions of 1,967 programs

Pick a software title... to downgrade to the version you love!

mIRC 5.4


mIRC 5.4 0 out of 5 based on 0 ratings.

mIRC 5.4  Change Log

  • Fixed identd/finger/dcc server bug.
  • Fixed connect retry bug when server name can\'t be resolved.
  • Fixed bug with windows being displayed/hidden when switchbar is turned on/off.
  • Fixed /join -n bug when specifying a password.
  • /load now only asks you once if you want to run the on start and on load sections when your script loads multiple files.
  • Added identd switch to turn identd on/off before/after connection.
  • Added identifier $isalias(name) returns $true/$false.
  • /dns now returns a reply for each /dns that is issued even if you specified multiple identical addresses.
  • 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.
  • Fixed focusing bug when clicking in a window.
  • Added /reload command, reloads the specified script without triggering the on start/load events.
  • Added $finddir(root,wildcard,N) works the same as $findfile() except it returns directory names.
  • Added Options section to Address Book.
  • 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.
  • Added /renwin [topic] command, changes the name of a custom window.
  • /sockopen now triggers on sockopen if a connection fails immediately, instead of just halting the script with a connection error message.
  • Fixed /editbox command when using lines with CR/LF characters.
  • Can now handle DALnet @+target notices.
  • Small change in DCC Send routine which may have been causing a freeze in certain situations.
  • Fixed bug in action messages, may have been preventing action messages from being displayed sometimes.
  • Can now open the Channels Folder and Channels List dialogs when not connected to a server to edit/view them offline.
  • $chan now works in the on input event.
  • Fixed bug in Alt-1,2,3,etc. that was causing a GPF in certain situations.
  • Fixed display gpf bug which occurred when a window was resized to a width smaller than an indented line.
  • Made a small change to the way DDE messages are sent, should now work with more applications.
  • Fixed bug in Filserver, wasn\'t displaying the list of dirs or files correctly in certain cases.
  • 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.
  • Fixed gpf bug when the custom menubar popup menu is empty and a new item is added to it.
  • The TAB nick completion now works in custom windows.
  • Fixed /join -i bug.
  • Your nicknames, local info, and current irc server are now all updated in mirc.ini whenever they change.
  • /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.
  • A users nick and address are now stored in the log file at the start of the logging session for a query window.
  • 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.
  • Fixed /editbox -n switch.
  • 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.
  • 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.
  • Added $readn identifier to return the line number that matched a search for $read -s.

    Also added $read -w 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 $read -l100 -w*mirc* versions.txt

    Note: this will start the search *after* line 100. This allows you to use it with $readn easily.

  • 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
  • Fixed /rline bug.
  • 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)

  • 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.
  • 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.

  • Using new method to display icons in toolbar and switchbar, this should fix the disappearing toolbar problem some people have been experiencing.
  • 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.
  • Added /ban -r switch, this removes a ban of the specified type for nickname, eg. /ban -r nick 2
  • Url catcher now treats more characters as valid parts of a URL.
  • Fixed bug in $pos() identifier.
  • 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)

  • 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.

  • Fixed bug in /describe appearance in query windows.
  • 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
  • Added .fname property to $isalias() identifier, which returns the filename inwhich the alias exists, and .alias property which returns the alias definition itself.
  • Added $ifmatch identifier, returns the first parameter of a matching if statement. eg. if (text isin some text) etc. then $ifmatch will return ext.
  • Added /showmirc -nrstx command, where:
      -n = minimize
      -r = restore
      -s = show
      -t = tray
      -x = maximize
  • Added -u switch to /window which removes the -ontop setting for a desktop window. Can also reset it again with -o.
  • If you specify a delay of 0 seconds in /timer, the command is now executed immediately after a script finishes.
  • 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.
  • 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.
  • 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.
  • Fixed Window/Icon Flashing bug, wasn\'t triggering in certain situations.
  • Fixed gpf bug in fileserver time-out event.
  • Fixed /window sizing bug when first opening a very small window.
  • Added .ial property to $chan(), returns $true if the IAL contains the addresses of all users on the specified channel, otherwise $false.
  • 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).
  • Notify now displays on/off messages in more situations.
  • Can now specify N = 0 in $findtok() to return number of matching tokens.
  • 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

  • Added Remove menu item to notify list popup menu.
  • Made a change to /log command to make it handle the file .ext extension better with LFNs.
  • Moved notify section from Options dialog to Address Book. Also added Notify? and Address? buttons to connect Address and Notify sections.
  • You can now retrieve your basic System colours with $rgb() by specifying: face, shadow, hilight, frame, and text, which return the RGB value.
  • 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.
  • DCC Chat window editbox is no longer disabled on a disconnection.
  • Can now click on a number in the Colour index dialog to insert the number into the editbox.
  • Fixed $dde gpf if data being received is too long, now returns $error in this case.
  • Extended $replace() to handle multiple replace parameters, eg.

    And $remove() to handle multiple remove parameters, eg.

  • Replaced channel window switching keyboard command from Control-Space to Control-N due to conflict with other applications.
  • Fixed minimized icons appearing in certain sitautions when switching windows via switchbar.
  • Speeded up text display slightly.
  • Added $hash(S,B) where S is a string, and B is the number of bits to use when calculating the hash number.
  • Can now specify a non-existent file in $file/dir/hfile/sdir dialogs.
  • 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.
  • Added -g switch to /clear and /filter to refer to finger window.
  • 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.
  • 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 o\r

    $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

  • mIRC can now display longer channel topics in channels.
  • Added -p switch to /editbox, appends a space to the end of the text.
  • 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.
  • Integrated the notify settings into the Address book dialog.
  • You can now open a query window with the /query command while offline.
  • Fixed $duration() to handle floating point numbers.
  • Titlebars in windows now aren\'t updated if the new text is identical.
  • Made line sorting in text @windows case-insensitive.
  • Added -o switch to /copy command, overwrites file if it exists.
  • Can now use ! (not prefix) with & bitwise operator.
  • Added uclick event to mouse detection events.

    menu @test {
    uclick:echo Released mouse button

  • The switchbar button for a query window is now updated when there is a nick change.
  • Added -h switch to /clear command, clears the command history for a window.
  • 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.
  • Fixed $server().port including password at end of ports.
  • 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.
  • Added /saveini command, updates all mIRC related ini files with the current info.
  • Added /ignore -x (exclude) switch. Basically this allows you to ignore messages from all people except your friends. For example:

    a!,exclude this excludes this address from being ignored *!*@* this ignores all other addresses

  • Fixed bug in on chat/fserve events not filling $1 correctly.
  • Fixed bug with certain /if operators treating a $null value as plain text eg. if (n isin $null) would evaluate to true.
  • Fixed bug with $calc() not processing identifiers with properties.
  • Fixed on close event not triggering for fileservers.
  • 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-.
  • 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.
  • 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.
  • Fixed custom sockets bug where last packet of a file being received was not received fully in some cases.
  • Added .font and .fontsize properties to $window().
  • Variables set to the value $null now evaluate to an empty string.
  • Control codes are now stripped from URLs/Emails caught by URL catcher.
  • 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.
  • /dns -c now clears all queued DNS requests except the one currently in progress.
  • Added isincs for a case-sensitive version of isin comparison.
  • 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.
  • 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.
  • Fixed /echo bug, can now specify switches with a dcc chat =nickname.
  • 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.


    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.

  • Added $shortfn(filename), returns short version of a long filename, only works in 32bit mIRC. In 16bit, returns same filename.
  • Can now /resetidle .
  • Fixed bug in display of DCC transfer window.
  • Fixed bug in timezone calculation routine.
  • Fixed bug in /ignore.
  • Fixed gpf bug in on load/start events.
  • The /ignore and /auto commands now reformat the given nickname/address to a full address spec. if it isn\'t one already.
  • Fixed bug when switching dedicated query window to/from desktop/mdi mode.
  • Removed minimum window size restrictions.
  • Local info is now looked up using the Server method by default.
  • Fixed bug where first item in a listbox was selected when the listbox window was first opened.
  • Fixed $target for DCC chat/fserve windows.
  • 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.
  • Fixed on input bug with chat/fserve windows. Can specify = for matching chat events and ! prefix for fserve events, same as on open/close.
  • Fixed bugs in $calc() identifier.
  • Changed the way tooltips are displayed, there is now a small delay before a tooltip appears.
  • 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

  • Can now select the background more easily in the Colours dialog.
  • Can now specify a named address when initiating a DCC Send/Chat/Fserve in the /dcc command or in the DCC Send/Chat dialogs.
  • 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.
  • 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

  • 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.\r

  • I changed the version checking method slightly to recognize NT 5.0.
  • Fixed bug with $().property processing getting confused by %variables with . in their name.
  • Added $crlf identifer, returns CRLF characters.
  • Added $sreq and $creq identifiers, return current /sreq and /creq settings for DCC Get/Chat respectively (return ask, auto, or ignore).
  • 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.
  • Added $height(text,font,size) returns height of text in pixels for the specified font and fontsize.
  • Aded /timer -e switch which executes the specified timer name immediately if it exists.
  • 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.
  • 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.
  • Fixed bug in Editor dialog where aliases were getting overwritten by the variables section in certain situations.
  • You can now save a channel window position as maximized/minimized.
  • Added $os identifier, returns operating system version 95 or 3.x.
  • 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.
  • /splay no longer halts a script if the sound can\'t be found or played.
  • Fixed =$nick evaluating to just $nick when used outside of a remote event. It worked correctly in remote events though.
  • Fixed -sg switches in loadbuf/savebuf commands.
  • Fixed bug where server password was not being set correctly when retrying a connection if it failed/you were disconnected before.
  • Fixed bug with $script/$scriptdir not evaluating properly in some cases.
  • Fixed Channel central channel key handling, correctly unsets/sets a channel key now if you are changing an existing channel key.
  • 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 ejoin on kick turned on, or b) you have ejoin on disconnect turned on.
    • Fixed bug in Installation program which was causing it to fail in certain situations.
    • 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.
    • Fixed line hilighting bug, lines were sometimes being hilighted in the wrong situation.
    • Fixed bug in on OPEN/CLOSE events.
    • mIRC 5 Builds

      mIRC Comments

      blog comments powered by Disqus