Tuesday, November 1, 2011

mIRC v5.4s 16bit

Author: Khaled Mardam-Bey
Release: 23/06/98
Description: Welcome to mIRC v5.4s, an IRC client for Windows.


23/06/98 - 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 $read -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.




Download

File size: 995.0 kb, Total Downloads:

0 komentar:

Post a Comment