Tuesday, November 1, 2011

mIRC v4.5t 32bit

Author: Khaled Mardam-Bey
Release: 30/06/96
Description: Welcome to mIRC v4.5t, an IRC client for Windows.


30/06/96 - mIRC v4.5

Fixes/Additions:
1.Major improvement of code in many places. mIRC
  now processes many things faster.
2.Fixed possible bug with invalid nicknames being
  added to nick list on a channel.
3.Fixed a bug in DDE routines which caused a GPF if
  external applications were too slow at processing
  DDE messages.
4.Rewrote remote routines, they now look much less
  like spaghetti and work better.
5.Can now use [ and ] evaluation brackets to control
  the order of evaluation of identifiers. Identifiers
  within brackets will be evaluated first, from left
  to right. You can nest brackets. This allows you to
  evaluate things any way you like...

  /notice $nick " $+ [ $read [ -s + [ $parm1 ] ] c:\text\note.txt ] $+ "
  /say % [ $+ [ $1 ] ]

  Definitions without evaluation brackets are evaluated
  the same way as before, though I've also improved the
  normal evaluation method slightly.
6.Fixed small $read bug.
7.Can now use server addresses in User list in remote.
8.Added MDI options dialog to the Window menu which
  allows you to specify for each individual window if
  you want it opened as an MDI or as an independent
  desktop window.
9.Standardised command error reply to: * /command: <message>
10.Can now use delete key to delete URLs in URL window
   and Insert key to add a new url.
11.Can now use Control-Tab to step through the different
   tabs in the setup and options dialogs.
12.Wrote a setup program which allows you to install mIRC
   in a directory of your choice, creates backups of your
   current files, validates the zipped files to make sure
   they're not corrupted, and adds icons to the program
   manager for you.
13.Improved DCC Send file dialog, can now select more than
   nine files at a time to dcc send.
14.Fixed scrollbar sometimes not being positioned properly
   in certain windows.
15.Added /titlebar command which allows you to change the text
   in the titlebar on the fly.
16.Added protect list to options dialog, now works
   exactly like auto-op command, can specify channels
   for each nick.
17.DCC Send/Get/Chat are now fully dynamically allocated
   structures ie. there is no limit on the number of DCCs.
   This speeds up dcc send/get processing a lot. This also
   fixes a few small bugs related to the way the older
   structures were being used.
18.Improved the DCC Send/Get transfer windows, they now
   give information such as time taken, estimated time
   for transfer, characters per second, etc., and a
   progress bar.
19.Window sizes for Chat/Server/Send/Get windows are now
   saved seperately for each type of window.
20.Added ON BAN remote event, works like ON OP.

   5:ON BAN:#tree:/mode $chan -b $banmask

21.Added option to Links window popup menu which lets you
   switch between displaying links as plain text or
   in a listbox.
22.Wildcard routine now allows ? character to match any
   single character, the * is used as normal to match
   multiple characters. This affects matching text in
   ON TEXT, etc. as well as user addresses. Also fixed a
   small bug that was causing mismatches in certain cases.
23.Now allows multiple channels in a remote event
   definition:

   1:ON OP:#moo,#help,#test:/notice ...

24.Now allows %variables to be used in the text and
   channel positions of an event definition:

   1:ON TEXT:%text:%channel:/notice etc ...

   You can also use %variables for ctcp command names:

   1:%variable:/notice etc...

25.Added a RAW section to the remote which catches NUMERIC
   events. This has it's own separate editbox because if
   mIRC had to scan your whole remote events definitions
   for each numeric event, things would slow down to a
   crawl.

   322:*mirc*:/echo 2 $parms

   This would print all lines which have the word "mirc"
   in them when you do a channels /list (this is a pretty
   intensive test).

26.Fixed bug with notify list not being updated correctly
   when a user changed nicknames.
27.For remote events and ctcp commands you can now prevent
   the normal text associated with that command from being
   displayed by using the /halt command.

   1:ON JOIN:#mIRC:/echo 3 #mirc [Joins $nick] | /halt

   So from now on when anyone joins channel #mIRC, only
   that text is displayed in the channel.

   Be warned: you can use this to prevent query windows
   from opening, plus other things which mIRC usually
   does for an event (though nothing critical).
28.Window structures are now fully dynamically allocated
   so there is no limit on the number of windows which can
   be opened. This also speeds up processing quite a bit.
29.Now allows alias, popup, and remote definitions like:
   <prefix definition> {
     /command1 ...
     /command2 ...
     /command3 ...
   }
   One line definitions are handled the same as before.
   The characters { } now have special meaning so you
   can't use them as normal text anymore.
30.Major improvement of memory usage in command parser.
31.Added "View" URL option in channels list popup menu
   which extracts and views a URL immediately.
32.Added a /goto command which can be used in { } definitions.

   /greet {
     /set %x 0
     :retry
     /inc %x
     /goto %x
     :2
     /echo bye!
     /halt
     :1
     /echo hi!
     /goto retry
   }

   You can also use a variable as a goto name, eg.

   :%jumppoint

   if you "/set %jumpoint 5" then you can do "/goto 5"
   and mIRC will evaluate %jumpoint to 5 and jump to it.

33.You can now use the /return command to finish processing
   an alias command and to allow any default processing to
   continue. eg.

   1:ON JOIN:#mIRC {
     /echo 3 #mirc [Joins $nick]
     /return
     /echo 3 #mirc I'm not printed!
   }
 
34.Added "Always On Top" setting to system menu of windows
   when they are opened as desktop windows.
35.Text in status, queries, and channels windows is now
   rewrapped to fit the window whenever a window is resized
   or a font is changed.
36.Added two new events:

   1:ON FILESENT:*.txt,*.ini:/echo Sent $filename to $nick ( $+ $address $+ )
   1:ON FILERCVD:*.txt,*.ini:/echo Received $filename from $nick | /run notepad.exe $filename

   These only react to successful DCC transers.
37.Added /writeini command and $readini identifier which use
   the built-in ini routines to write/read standard ini files.

   /writeini <inifile> <section> <item> <value>
   $readini <inifile> <section> <item>

   These will allow better control of storage of different
   types of information into different sections in a file.
38.Now allows aliases to call other aliases, or even to call
   themselves recursively. As a safeguard against infinite
   loops, the default maximum recurse depth is set at 10. This
   can be changed with the /maxdepth command. The minimum
   depth allowed is 1 (aliases can't call other aliases) and
   the maximum is 100. Calling aliases from within aliases
   uses quite a bit of memory, so this might cause problems
   in certain situations where memory is low etc.
39.The /links window now has the save buffer option in the
   system menu.
40.Now supports Drag-and-drop files onto channel, channel nick
   listbox, query/chat, and notify windows. Can define aliases
   for each type of dropped file, as well as different aliases
   if the Shift key is pressed when the file is dropped. See
   Drag-drop tab in options dialog.
41.The /set /unset /inc /dec commands now default to not
   displaying information unless called directly from the
   command line. To force them to display info, you can use
   the [-s] switch eg. /set -s %x 1
42.Improved the copy routine slightly... if lines being copied
   originally belonged to the same line, then they are combined
   instead of separated. If you want to force mIRC to copy text
   exactly as it appears in the window then hold down the SHIFT
   key when you do the mark/copy.
43.In remote, instead of using the * prefix for commands to
   be performed only when you're an Op, you can now use the @
   sign. Both are handled, but I will only specify the @ in
   the documentation since it makes more sense.
44.Increased maximum items for popup menus from 300 to 600.
45.Now ignores any mirc.ini in the windows directory and uses
   the mirc.ini in the current mirc.exe path.
46.Invalid CTCP messages are not replied to anymore.
47.Fixed a small time-out bug related to dcc send/get/chat.
48.New Identifiers:

   $abs(N) returns the absolute value of number N.
   $chr(N) returns the character with ascii number N.
   $asc(C) returns the ascii number of the character C.

   $len(text) returns the length of "text".

   $upper(text) returns "text" in uppercase.
   $lower(text) returns "text" in lowercase.

   $left(N,text) returns N left characters.
   $right(N,text) returns N right characters.
   $mid(S,N,text) returns N characters starting at S.
   $str(N,text) returns "text" repeated N times.

   $token(N,C,text) return Nth token separated by character C
                    (C is the ascii number of a character)

   $lines(file) return number of lines in specified file.

   $nick(N,#) returns Nth nickname on channel #.
   $snick(N,#) returns Nth selected nickname on channel #.
   $opnick(N,#) returns Nth Op nickname on channel #.
   $nopnick(N,#) returns Nth non-Op nickname on channel #.

   $channel(N) returns the Nth channel that you are on.
   $query(N) returns the Nth query window you have open.
   $chat(N) returns the Nth dcc chat window you have open.

   $notify(N) returns the Nth notify nick currently on IRC.

   For the above identifiers you can specify N as 0 (zero)
   to get the total number of nicks/channels/etc. for that
   identifier.

   $snotify   returns notify nick currently selected in
              notify list box.

   $level(address) finds a matching address in the remote
                   users list and returns its levels.

   $away returns the value $true or $false.

   Identifiers/variables can be placed inside the brackets.

   Example: /echo $right(3,$left($len(goats),ToMooOrNotToMoo))

49.Added a simple /if statement...

   /if v1 operator v2 { ... }
   /elseif v1 operator v2 { ... }
   /else { ... }

   Example:

   if (((%x == 2) || (%y >= 3)) && ($1 == $parm1)) { echo match1! }
   else if ($len(%input) == 5) { echo match2! }
   else echo no match!

   If/elseif/else can all be nested inside each other. You
   should use () and {} brackets to make sure that you're
   terms are evaluated correctly though you don't *have* to
   use them.

   Using brackets also speeds up processing quite a bit since
   mIRC then knows exactly what it has to evaluate.

   Available comparisons:

   ==    equal to
   !=    not equal to
   <     less than
   >     larger than
   >=    larger than or equal to
   <=    smaller than or equal to

   //    is a multiple of
   \\    is not a multiple of

   isin  string v1 is in string v2
   iswm  wildcard string v1 matches string v2

   ison  nickname v1 is on channel v2
   isop  nickname v1 is an op on channel v2

   isnum number v1 is a number in the range v2
         which is in the form n1-n2 (v2 optional)

   ischan if v1 is a channel which you are on.

   isauto  if v1 is a user in your auto-op list for
           channel v2 (v2 optional)

   isignore if v1 is a user in your ignore list with the
            ignore switch v2 (v2 optional)

   isprotect if v1 is a user in your protect list for
             channel v2 (v2 optional)

   isnotify if v1 is a user in your notify list.

   To negate the above you can prefix them with an !
   exclamation mark.
50.In all definitions, you do not need to specify the
   / command character any more for commands since it
   is really only needed when typing commands into the
   editbox. This also means you don't need to specify
   the / when defining aliases, etc. See 51.
51.Variables or identifiers that don't evaluate to a value
   now return the value $null so they can be used in the
   if statement for checking etc. eg.

   listops {
     echo 4 * Listing Ops on #
     set %i 1
     :next
     set %nick $nick(%i,#)
     if %nick == $null goto done
     if %nick isop # echo 3 %nick is an Op!
     inc %i
     goto next
     :done
     echo 4 * End of Ops list
   }

52.When entering text in an editbox you can now hold down
   the CONTROL key when pressing Enter and the text will be
   sent as plain text even if it begins with a command
   character. This will also work when you paste text into
   the editbox.
53.Text in Alias, Popup, and Remote ediboxes is now auto-
   indented when { } brackets are encountered.
54.Enlarged DCC Chat dialog to make it easier to use.
55.You can now use an = (equal sign) to assign values to
   variables.

   %x = 5 + 1
   %x = 5 - %y
   %x = %x * 2
   %x = %z / $2
   %x = %x % 3

   Can only perform a single operation in an assignment
   at this time. You can also still do /set %x 5 + 1.
56.Added $ctime identifier which returns total number of
   seconds elapsed since 00:00:00 GMT, January 1, 1970. This
   can be used with PING to find out how many seconds it took.
57.Added ON CTCPREPLY to listen for replies to ctcps. eg.:

   1:ON CTCPREPLY:PING* {
     if ($parm2 == $null) echo [ $+ $nick PING reply]
     else {
       %pt = $ctime - $parm2
       if (%pt < 0) set %pt 0
       echo [ $+ $nick PING reply] %pt seconds
     }
     halt
   }

58.Identifer $active returns the full name of the currently
   active window.
59.Added Font button to alias, popup, and remote dialogs
60.mIRC now automatically gets your web browsers path and
   name from the registry if it's there.
61.Channels list is now saved to a file "channels.txt" and the
   channels list dialog now has "Apply" and "Get List" buttons.
   If "Get List" is pressed then a list is read from the server,
   if "Apply" is pressed then the latest list is used whether in
   the channels listbox or in the "channels.txt" file. The date
   time and server name are also stored in this file.
62.Added "Save to file" item in channels list popup menu which
   allows you to save the currently displayed list to a file.
63.Added "PORT" item to DDE which returns the current irc
   server port you are using.
64.If userid in ident server is empty then mIRC assumes you're
   a new user and automatically fills in the userid from the
   email address you entered and turns on the ident server.
65.Can now use the /quote command to do the same thing as /raw.
66.Now supports server-side filtering on UNDERNET channels for
   the minimum and maximum number of users on a channel. This
   means that you will only recieve a list of channels which
   match your choices for these two criteria.
67.Can now use Alt-J to pop up the channels folder dialog.
68.Speeded up display of Channel nicknames listbox. This actually
   affects quite a few other things in mIRC since the channels
   listbox was being used to store the nicknames for each channel.
   Now the nicknames are stored internally. Any command or
   function that involves checking/using nicknames is now far
   faster than before.
69.Now sounds an event beep when a chat that you initiated
   makes a connection.
70.Can now set a string variable to an empty string with "".
   eg. set %name ""  or  %s = ""
71.Text in the alias/popup/remote dialogs is now displayed
   quickly.
72.The Wait cursor is now used in more places to give a
   better indication of when mIRC is busy doing something.
73.Can now select multiple files in the Log File listbox
   to make deleting files easier.
74.For $read and /play you no longer need to specify the
   number of lines in a file on the first line of the file.
   If you do, mIRC will use the number and will work faster,
   if you don't mIRC will count the lines itself.
75.Can now use Control-Break to break out of a currently
   executing alias in case it's in an infinite loop, etc.
76.mIRC now defaults to using aliases.ini, popups.ini, and
   remote.ini files if these files aren't specified in mirc.ini,
   and if these sections aren't found in mirc.ini. If these
   files don't exist, mIRC will create them.
77.Added /alias command which allows you to add and remove
   aliases from the aliases list. Only works for *single line*
   aliases.
78.Colour now works in DCC Chats.
79.Speeded up Tab display in setup and options dialogs.
80.Fixed Editbox bug when pressing enter and text isn't sent.
81.DDE Server now defaults to ON with service name MIRC.
82.Added "CONNECT" DDE topic, which connects you to a server and
   joins a channel. The data format is: irc.funet.fi,6667,#mIRC,1
   where the last digit is a 1 or 0 indicating whether you want
   mIRC to be activated or not. This is an XTYP_POKE.
83.Converted some routines to assembly to increase speed.
84.Added $asctime() which converts the value returned by $ctime
   or a PING into a full date in text format.
85.Added support for ctcp UTC.
86.Now ignores DCC-related ctcps sent to a channel.
87.Shift-F1 now pops up the keyword search dialog for the help file.




Download

File size: 559.8 kb, Total Downloads:

0 komentar:

Post a Comment