mIRC Home    About    Download    Register    News    Help

Active Threads | Unanswered Past 24 hours | Past 48 hours | Past Week | Past Month | Past Year
Scripts & Popups Jump to new posts
Re: On Notice maroon Yesterday at 05:07 PM
I'd like clarification of what classes of people should be different than default, and what those differences should be.

The default rules for notice seem to be:

if ($nick is in $active window) then notice shows to active window
otherwise if you share at least 1 channel with that nick, the notice appears in $comchan($nick,1)
otherwise the notice appears in status window
4 214 Read More
Bug Reports Jump to new posts
Re: mIRC beta Khaled Yesterday at 09:13 AM
The latest beta is v7.58.1657 and can be downloaded here.

Quote
Beta v7.58.1657 Changes:
1.Item 25, https://forums.mirc.com/ubbthreads.php/topics/266687
Added check for overflowing line count.
2.Item 26, https://forums.mirc.com/ubbthreads.php/topics/266589
3.Item 27, https://forums.mirc.com/ubbthreads.php/topics/266724

Beta v7.58.1521 Changes:
1.Reverted change to how /timer %vars are parsed, as this caused
backward compatibility issues.

Beta v7.58.1513 Changes:
1.Item 18, https://forums.mirc.com/ubbthreads.php/topics/266478
2.Item 19, changed.
3.Item 6, fixed text in treebar being chopped by a few pixels.
4.Item 20, fixed.
5.Item 21, added.
6.Item 22, https://forums.mirc.com/ubbthreads.php/topics/266576
7.Item 23, changed.
8.Item 24, changed.
9.Item 25, https://forums.mirc.com/ubbthreads.php/topics/266592
This required a change to one of the core variable parsing
routines that affects all commands and identifiers and has the
potential to break all existing scripts. Needs testing to make
sure that %vars are working as before.
10.Item 26, this required changes to core file reading routines that
affect all features.

Beta v7.58.808 Changes:
1.Item 6, made changes to toolbar, switchbar, treebar, and servers and
favorites dialogs to handle different sized icons. If the Options/
Display/Buttons setting is changed, it is now applied to all of the
above features. Currently, the fixed internal icon size is 16x16, so
it is scaled up when the large setting is used, which means it will
be blurry. This change is for testing purposes and may not be in a
final release (until new icons are added in a future version).
2.Item 14, https://forums.mirc.com/ubbthreads.php/topics/266438
Needs testing.
3.Item 15, https://forums.mirc.com/ubbthreads.php/topics/266452
4.Item 16, added.
Needs testing.
5.Item 17, fixed.

Beta v7.58.241 Changes:
1.Item 1, changed.
2.Item 2, https://forums.mirc.com/ubbthreads.php/topics/266360
3.Item 3, added.
4.Item 4, changed. If you have already saved SSL certificates to your
servers.ini file, they will be permitted. However, if it is a server
that mIRC has never seen before, and it has an invalid certificate,
mIRC will not connect to it unless the user manually changes the
default setting in the Options/Connect/SSL dialog.
5.Item 5, https://forums.mirc.com/ubbthreads.php/topics/266384
This affects a number of features. The cause of the issue was a
generic routine that forms nick!user@host addresses, which was only
checking for . periods. It now checks for : colons as well.
6.Item 6, changed. Also required marking buttons as custom or default
and only updating icons that have not been changed with /toolbar.
7.Item 7, updated.
8.Item 8, fixed.
9.Item 9, changed.
10.Item 10, fixed.
11.Item 11, fixed.
12.Item 12, changed.
13.Item 13, changed.

Changes:
1.Changed $disk().unc to use newer API.
2.Fixed channel mode parsing bug.
3.Added /cnick support for auto-color option by allowing * as color
number. Also added $cnick().auto property.
4.Changed SSL default setting to "Skip connections with invalid
certificates". This means that mIRC will, by default, not connect to
SSL servers with invalid SSL certificates.
5.Fixed how nick!user@host addresses are formed in $ulist() and other
features so that IPv6 addresses are handled correctly.
6.Changed toolbar display code to handle icons of different sizes for
default internal icons.
7.Updated CA root certificates cacert.pem file.
8.Fixed treeview display bug when scrolling new item into view.
9.Changed treeview sorting method that affects favorites and servers
dialogs.
10.Fixed favorites dialog join button not initiating a connection if
not currently connected.
11.Fixed $cnick() returning default values for non-existent items.
12.Changed how log filenames are renamed to use group/network names
during a connect/disconnect.
13.Changed quote "" parsing routines to use the same consistent method
for all commands/identifiers.
14.Extended $fline((@name,wildtext,N,T,S) to support S parameter for
search start position and $flinen that returns match position.
15.Fixed custom dialog controls not being updated immediately when /did
is used to change their contents.
16.Added /fseek -p switch that moves the file pointer backwards to the
start of the current line. If the file pointer is already at the
start of a line, it is moved to the start of the previous line.
17.Fixed $fread() not setting file pointer to start of next line if
line is longer than the maximum line length.
18.Fixed /halt not stopping $hfind() search and then allowing script to
continue running.
19.Changed how Port dialog bind adapter setting is saved in mirc.ini so
that both name and address are saved to [ports] section.
20.Fixed $bindip() bug when used with dual-stack network interface.
21.Added $caller tabcomp value for tab completion.
22.Fixed /if & bit comparison not using unsigned 32-bit integers.
23.Changed identd dialog so that userid entry is not changed when "Use
ID from email address" is checked.
24.Changed /if isnum to also support larger value as the first number.
25.Optimized file reading routines to improve processing speed for
contexts that affect /fseek -l, $read(), $lines(), and /loadbuf.
26.Added /drawrot -p switch that clips the rotated rectangle.
27.Fixed $zip() creating zip files with temporary file attributes.
1 177,099 Read More
Scripts & Popups Jump to new posts
Re: raw away:*:{} kap 23/01/20 11:12 PM
I think the simplest fix would be to change this line:
Code
raw *:*:{
  if ($numeric !isnum) return
 <snip>
}


to:

Code
raw *:*:{
  if ($event !isnum) return
  <snip>
}


But still my initial question remains...

regards
2 51 Read More
Bug Reports Jump to new posts
Re: $file().attr bugs Khaled 21/01/20 10:02 PM
Quote
1. Bug#1. All archives created by $zip have the 'y' attribute, which is supposed to mean they're some kind of temp file:

This looks like a bug in the zip library that mIRC is using. It is creating files with a temporary attribute and not removing this when it finishes the zip file update. It should be possible to unset this once the library finishes.

Quote
2. There are a few filenames that return $null as an attribute even though 'n' is the attribute for 'no attribute'.

The $file().attr property uses the standard GetFileAttributes() API, so the result you are seeing is what that API is returning. It has nothing to do with device names.
1 87 Read More
Bug Reports Jump to new posts
Re: dcc send corruption with multiple sends Protopia 21/01/20 03:10 PM
The sends which were corrupted were manual sends - though there was another send in progress that was triggered by a file server script.

I can see the issues with ports - but I am unclear what mechanisms mIRC has in place to try to ensure that ports are not misconnected in this way.

1. There is no reason in principle that multiple remote IP addresses cannot connect with the same mIRC DCC port - this is a standard part of the TCP protocol. Tthe issue I think is that mIRC has no way of knowing the remote IP address associated with each DCC Send because that is not part of the ctcp PRIVMSGs / NOTICEs that are used by DCC SEND to create the direct connection. Assuming NOT passive DCC, I think that the DCC sender issues its IP and port in a DCC SEND CTCP message and then waits for a connection on that port - which could come from any IP address anywhere - and whatever IP address connects is assumed to be the receiving IRC client.

Is that understanding correct?

2. I guess that you can use the same DCC port for multiple simultaneous sends, but you would have to be sure that the connections were made in the correct order which would be impossible in practice. So it seems to me that you need as many port numbers open as pending connections - mIRC should not start a DCC send until it has a DCC port available that does not have a pending connection, and it should avoid offering the same port if the port has a pending connection.

3. The settings for DCC time-outs are also going to be critical to avoid mIRC believing that a connection has timed-out and then reusing the port for another connection - in order to avoid the second connection being connected to by the remote client trying to make the first connection.

4. I am unclear at what point a receiving mIRC makes the connection to the sending mIRC - does it do so at the earliest opportunity or does it wait until the user has clicked Accept in the pop-up dialog? If the latter, then that must increase the chances of a port being mis-connected.

5. Does mIRC use ports in an intelligent way i.e. trying to avoid using ports which have timed out and prioritising ports which have had successful connections to be used first?
5 115 Read More
Feature Suggestions Jump to new posts
Re: regex with binvar FroggieDaFrog 21/01/20 01:08 PM
Bumping this thread as Im in need of this feature


I'm currently working on an HTTP implementation. Within that implementation I need to verify header values are formatted correctly; A header's value is stored in a bvar and can be over the ~8k string-length limit imposed.

I need to check if the header's value only contains values in the ASCII range(1-126). Currently this requires a (slow) loop for what amounts to a OR check of values:
Code
alias isAscii {
  if (!$bvar($1, 0)) {
    return $false
  }

  var %x = 1, %len = $bvar($1, 0)
  while (%x < %len) {
    inc %x
    if ($bvar($1, %x) == 0 || $v1 > 126) {
      return $false
    }
  }

  return $true
}




To amend Wim's suggestion what I'd like to see is:
Code
$bfind(&binvar, start-position, [end-position], [name], pattern).regex
  Returns the starting position of the first found match

  &binvar
    The bvar to search

  start-position
    The starting position of which the search should begin
    Must be an integer value

  end-position - Optional
    The end position of which the search should stop
    Must be an integer value

  name - Optional
    The regex-name to use when referencing the match list via $regml()
    Must not be a numerical value

  pattern
    The regex pattern

  .regex
    Indicates a regex pattern has been specified


$breplace(&binvar, substring, newstring...)
$breplace(&binvar, substring, newstring...).cs
  Performs a text-based in-place substitution  on a binary variable
  Returns the number of substitutions made

  if .cs is specified, the search will be case-sensitive


$breplace([name], &binvar, pattern, subtext).regex
  Performs a regex-based in-place substitution on a binary variable
  Returns the number of substitutions made

  You can assign a name to a $breplace().regex call which you can use later in $regml() to retrieve the list of matches.


$regml([name], n, [&binvar])
$regmlex([name], m, n, [&binvar])
    Similar to the current implementation except the result is output to the specified &binvar
    If outputting to a &binvar, the length of the bvar is returned



The reason I have choosen a new identifier over altering $replace/cs and $regsubex is that of the end-result differing. With current implementations, the replace creates a new string and once substitutions have finished, the new string is returned. The functionality I'd like to see is that of substitutions being performed in-place
6 4,709 Read More
Bug Reports Jump to new posts
Re: CTRL+BREAK issue (when mIRC isn't in focus) Khaled 21/01/20 10:06 AM
Thanks for your bug report. The way control+break works has been through quite a few changes over the years. Unfortunately, Windows does not allow a busy/non-responsive window to become active. This means that if a script is running that makes the mIRC window busy/non-responsive (a common occurrence for long running scripts), it can no longer detect control+breaks unless it does so globally.
1 52 Read More
Feature Suggestions Jump to new posts
Re: Missing Documentation Wims 20/01/20 07:10 PM
$file().attr is returning a bunch of letter which are different from what one can read on the internet.
I believe mIRC is translating the constant here https://docs.microsoft.com/fr-fr/windows/win32/fileio/file-attribute-constants to various letters, if some can be obvious, others aren't, it would be great to have a documentation of each possible letter.
25 26,442 Read More
Scripts & Popups Jump to new posts
Massvoice To Registered nicks Only legend 18/01/20 09:01 PM
i want mirc script which will massvoice to only registered nicks on hitting a defined alias and can devoice those registered nicks also
0 49 Read More