Author: Khaled Mardam-Bey
Release: 23/06/98
Description: Welcome to mIRC v5.4t, 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: 920.0 kb, Total Downloads:
0 komentar:
Post a Comment