mIRC Home    About    Download    Register    News    Help

Active Threads | Unanswered Past 24 hours | Past 48 hours | Past Week | Past Month | Past Year
Bug Reports Jump to new posts
Re: Bug font query windows Khaled 1 hour ago
Thanks for your bug report. This is a known issue and is on the to-do list. It actually affects quite a few settings where nicknames are used as the item name in INI files. Implementing a fix would require redesigning the way all of these settings are saved in order to get around a handful of reserved window names used by mIRC, and considering it is a minor issue that few users come across, it has not been a priority. I have nudged it up a few spots on my to-do list :-)
3 30 Read More
Scripts & Popups Jump to new posts
Re: My color schemes eahm Yesterday at 09:02 AM
Damn it, realized mmIRCBlueStuff and mmIRCBlueStuff2 weren't actually really that blue, almost every event was gray.


35 6,185 Read More
Scripts & Popups Jump to new posts
Re: Multiple ON TEXT's or 1 with multiple if/elseif's? maroon Yesterday at 12:32 AM
For your purposes, stealing hex digits from and MD5 hash would be just as good. All you need are results which are well distributed among all possible outputs, to avoid having too many birthday collisions. It doesn't matter what day your hash is born on, as long as it's a low chance to match another hash's birthday.

If you're using 8 hex digits to hash a text string, for your purposes you'll probably have no difference from using $crc(string,0). If FNV-1a were made as an identifier, it would work too. For obtaining a hash digest from a text string, you'll probably not be seeing a speed difference between your choices of $md5 or one of the SHA hashes. SHA384 is the same hash as SHA512 except it begins with a different 512-bit magic constant, and it hides 128 bits of the output.

If you need to have the hash length be 8, you can squeeze 40 bits into an 8-character base 36 string:

//var %a samplestring7 | echo -a $base($left($sha512(%a),10),16,36,8)

Note the 8 is needed so it zero-pads shorter strings. With 40 bits in the base36 value, the birthday paradox reaches 50% around 2^20 instead of the 2^16 for 8 hex digits. If you don't want to zero-pad the string, your match-text needs to begin+end with the delimiter, and your list-of-hashes also needs to begin and end with the delimiter. But even then, you can't take advantage of the shorter string, because you can't count on any hashes being shorter 100% of the time.

//var %i 1 | while (%i isnum 1-13) { echo -a $base($str(F,%I),16,36) %i | inc %i }

As I mentioned earlier, lack of big integer support limits the hex string fetched from SHA at 13 hex digits, but once you encode 9 hex digits as 7 base36 digits, the range of 10-13 only give an extra 4 bits per base36 digit. But, if room in your string-to-be-searched is important, you can fit 14% more 7-digit base36 strings than 8-digit hex. If you need more than 9 hex digits as 7 base36 digits, your most efficient base36 hashes would do something like combining 9-to7 with 5-to-4, or 2 pairs of 9-to-7:

//var %a samplestring | echo -a $base($left($sha512(%a),9),16,36,7) $+ $base($right($sha512(%a),9),16,36,7)
//var %a samplestring | echo -a $base($left($sha512(%a),9),16,36,7) $+ $base($right($sha512(%a),5),16,36,4)
11 249 Read More
Connection Issues Jump to new posts
Re: Dcc send issue Vuron 21/10/19 09:33 PM
It could also be your network settings (router), are the ports open so you can send, and person you are sending to is he/her behind a firewall and can they receive files from other persons ?
I would definitely try to uninstall Mcafee, not just disable it, and make sure it´s gone, Norton Internet security some versions ago, continued to be installed and block access to certain even through you uninstalled it (it was preloaded with a laptop), search for the files in the windows drive. Also get another antivirus, there are much better options out there and for free smile https://www.av-comparatives.org/consumer/
5 226 Read More
Scripts & Popups Jump to new posts
Re: wildcard hfind with search pattern in string/var beer 21/10/19 03:56 PM
Ok, I erased and re-typed everything and now it's working as expected. I didn't see any problems originally, is it possible I somehow had a typo that doesn't appear but could cause an issue? Something like a shifted-space or some other key combo that is valid but wouldn't be obvious?
5 46 Read More
Scripts & Popups Jump to new posts
Re: Best way to space pad a var for sending to msg? Wims 20/10/19 09:16 PM

Some nice articles about spaces and their preservation, it's an old article mentioning old rules ($chr(160), with unicode, is now working 100% of time, before, a font may have a different character.) but is still relevant
3 40 Read More
mIRC Help Jump to new posts
Re: Randomly colorized usernames eahm 20/10/19 06:14 AM
Posting for archival purposes, the timestamp issue is fixed, thanks again maroon on freenode.

on ^*:TEXT:*:# { 
  var %col $calc(($base($left($md5($nick),13),16,10) % 14) +2)
  echo -lt $+ $msgstamp $chan < $+ $chr(3) $+ %col $+ $nick($chan,$nick).pnick $+ $chr(3) $+ > $1- 

crc (faster, better colors):
on ^*:TEXT:*:# { 
  var %col $gettok(2 3 4 5 6 8 9 10 11 12 13 40 41 42 43 44 45 46 47 49 50 51 52 59 61 72,$calc(1+$base($crc(secret $nick,0),16,10) % 26),32)
  ;var %col $gettok(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15,$calc(1+$base($crc(secret $nick,0),16,10) % 16),32)
  echo -lt $+ $msgstamp $chan < $+ $chr(3) $+ %col $+ $nick($chan,$nick).pnick $+ $chr(3) $+ > $1- 
9 21,845 Read More
Feature Suggestions Jump to new posts
Re: Automatically colourize nicknames afterdeck 20/10/19 03:30 AM
Originally Posted by Khaled

This could be made a default setting for newly installed versions of mIRC to improve readibility.
This will be in the next beta.

Excellent, looking forward to it!
5 220 Read More
mIRC Help Jump to new posts
Re: Karaoke rich1941 19/10/19 09:39 PM
Thank you!
2 53 Read More
Scripts & Popups Jump to new posts
Re: Problem with timestamps on ZNC playback buffer 8bitbubsy 17/10/19 07:39 PM
Originally Posted by JohnEricNO
Try using $ini(servers.ini,servers,0)

That worked, thanks!
4 65 Read More
Scripts & Popups Jump to new posts
Re: On Notice maroon 17/10/19 07:07 PM
You have the handling for the 4 nicks inside the condition which is true only when the nick ends with "serv", so that code can never be true
1 39 Read More
mIRC Help Jump to new posts
Re: How to register a room name KindOne 17/10/19 04:50 PM
1 86 Read More
Bug Reports Jump to new posts
Re: /run -a maroon 15/10/19 09:42 PM
The new $isadmin works as expected in win7-32. Assuming that there's no effective difference between using /run's -a switch if mirc.exe itself is already running in elevated privileges, it might be reasonable to have everyone skip using the new API as superfluous.

One slight change might be to conform with other identifiers that return $true or $false, instead of the current 1 or 0. Unless there's the intent to switch over to this type of return value, like $compress does. I know there's no effective difference inside if() boolean logic.
2 157 Read More
Bug Reports Jump to new posts
Re: mIRC beta Khaled 15/10/19 07:12 PM
The latest beta is mIRC v7.57.2425 and can be downloaded here. It includes the following changes:

Beta v7.57.2425 changes:
1.Item 41, added. Tested under Windows XP/7/10.
2.Item 42, updated. Mostly affects APIs that return HRESULT values.

Beta v7.57.2269 changes:
1.Item 36, https://forums.mirc.com/ubbthreads.php/topics/266054
2.Item 37, https://forums.mirc.com/ubbthreads.php/topics/266138
3.Item 38, added.
4.Item 39, fixed.
5.Item 40, https://forums.mirc.com/ubbthreads.php/topics/264540
This change affects $comchan(), if isop/isvoice/ishelp/isowner, and
the channel Command Editbox handling of modes.

Beta v7.57.2183 changes:
1.Item 33, https://forums.mirc.com/ubbthreads.php/topics/266076
Also made several other changes to /list to make it work correctly
when multiple queued list requests are sent.
2.Item 34, required changes to the treeview code.
3.Item 35, https://forums.mirc.com/ubbthreads.php/topics/266097
Required a rewrite of most MODE parsing code. This change means that
mIRC's mode parsing is now more dependent on the CHANMODES token, MODE
events, and numeric events. It also needs to handle the "Hide channel
key" option in the Options/IRC dialog. This also affects user mode
parsing and $chan().mode/key/limit.

Beta v7.57.1965 changes:
1.Item 30, added.
2.Item 31, changed. Previous implementation did not allow window names
that contained . periods. Change should be backwards compatible.
3.Item 21, made a few more changes. Now has a 30 second time-out and
handles other issues.
4.Item 32, updated.

Beta v7.57.1701 changes:
1.Item 18, fixed.
2.Item 20, fixed.
3.Item 21, fixed. Note that this change may mean that $url no longer
works with older browsers.
4.Item 22, https://forums.mirc.com/ubbthreads.php/topics/266007
5.Item 23, https://forums.mirc.com/ubbthreads.php/topics/266011
This means that features that previously required &binvar names
of two letters or more in length now allow just &.
6.Item 16 and 19. Re-ran CppCheck. The main issue with static code
analyzers is the large number of false positives. Each warning needed
to be checked to determine whether there really was an issue. In most
cases, there was not. Issues were found relating to portability,
optimizations, dereferences, pointer arithmetic, sprintf() parameters,
32bit/64bit variables, and so on. Changes were made to 140+ files.

Also installed Visual Studio 2019. For now, it is only being used for
testing purposes, not for compiling the beta or release version. Required
a number of code changes to make mIRC compile.

Beta v7.57.965 changes:
1.Item 11, another partial rewrite of the code used by /run, /exit -nr,
/url, etc. Note that /run may or may not report an error if a file
cannot be run, depending on the version of Windows. Also, /url now
uses a simpler method of opening the default browser.
2.Item 17, https://forums.mirc.com/ubbthreads.php/topics/265915

Beta v7.57.669 changes:
1.Item 11, https://forums.mirc.com/ubbthreads.php/topics/265834
Partial rewrite of code that affects /run, /url, /exit -nr, opening
DCC Files received folder, etc. The /exit -nr command needs to call
ShellExecute() synchronously, the opposite of other commands which
were fixed for https://forums.mirc.com/ubbthreads.php/topics/265736
2.Item 12, added.
3.Item 13, fixed.
4.Item 14, fixed.
5.Item 15, fixed.
6.Item 16, performed CppCheck on the source code.

Several issues were fixed, though most were mitigated in other ways so
were unlikely to cause issues, and others required specific, unlikely
contexts to be triggered.

A large number of 32/64bit portability issues identified which will
need to be changed over time for 64bit version.

Beta v7.57.528 changes:
1.Item 1, https://forums.mirc.com/ubbthreads.php/topics/265799
2.Item 2, changed.
3.Item 3, https://forums.mirc.com/ubbthreads.php/topics/265806
4.Item 4, https://forums.mirc.com/ubbthreads.php/topics/265805
5.Item 5, https://forums.mirc.com/ubbthreads.php/topics/263520
6.Item 6, https://forums.mirc.com/ubbthreads.php/topics/265812
7.Item 7, optimized.
8.Item 8, fixed.
9.Item 9, added. A large amount of DPI-related code has been added,
including detecting DPIs on different monitors for different windows
and on different versions of Windows, detecting DPI changes for top
level windows, scaling/resetting fonts to match DPI changes, changes
to dialog tabs to handle different size fonts, and so on.

However, most of the code is currently disabled as more work is
needed. mIRC uses a number of DPI APIs, some of which are only
available in the latest update to Windows 10.

10.Item 10, fixed. If files are present, such as with a new install,
they are used. If no files are present, the internal defaults point
to $mircdir. This is partly necessary for backwards compatibility
but the method has been improved.

1.Fixed $+ not correctly reporting string too long errors.
2.Changed installer setting to make it DPI aware.
3.Changed $findfile() to preserve multiple spaces inside a wildcard
4.Fixed /reload interacting incorrectly with Script Editor when a new,
unedited file is created.
5.Fixed $parms returning incorrect values in some contexts.
6.Fixed DCC trust user list bug that prevented autoget from working
correctly for trusted users.
7.Optimized SendMessage() processing to use less memory.
8.Fixed SendMessage() gpf bug where recursive calls result in a stack
9.Updated several features to be DPI aware.
10.Fixed incorrect default location for alias, popup, and remote
scripts when no files are present.
11.Fixed /exit -nr not restarting mIRC.
12.Added /run -a switch to request running as administrator.
13.Fixed script editor bug that was wrapping excessively long lines,
resulting in script errors, instead of truncating them.
14.Fixed SendMesage() handling of negative indexes.
15.Fixed richedit control handling bug that may have caused some
editbox-related code to behave incorrectly if the richedit control
failed to load.
16.Fixed a number of issues identfied by CppCheck relating to range
checking, memory initializations, optimizations, portability, and
pointer dereferences.
17.Fixed script #group parsing bug for invalid group definitions.
18.Fixed $decode() gpf buf.
19.Updated more routines to use 32/64-bit compatible types as step in
preparing for a 64bit version of mIRC.
20.Fixed text file writing bug that could have caused the UTF-8 BOM to
be set incorrectly.
21.Fixed $url not working with newer versions of Chrome.
22.Changed /msg to no longer check for channel/nick prefixes due to some
networks using identical prefixes for both.
23.Changed all &binvar supporting features to allow single character &
as a binvar name for consistency.
24.Fixed $findfile() not freeing handles in some contexts. This also
affected other features that retrieve file lists.
25.Fixed /ignore/protect/aop/avoice gpf bugs.
26.Fixed 64bit time calculations in several features.
27.Fixed memory HDC allocation error check in line marker.
28.Fixed $did().csel potential gpf bug when freeing memory.
29.Changed compiler settings to disable string pooling and enable whole
program optimization.
30.Added /logview -nN switch to scroll view to line number.
31.Changed /play to improve handling of window/file names.
32.Updated OpenSSL library to v1.1.1d.
33.Added 421 numeric check for server disabled LIST command.
34.Changed server list and favorites list listboxes to use full line
35.Updated channel mode parsing and display based on CHANMODES token.
36.Fixed /window -r not restoring a hidden non-min/max window.
37.Changed $ctime() to return $null for invalid input and to handle
commas as separators.
38.Added support for IRCv3 message-tags token and msgid feature.
39.Fixed $N parameter bug that caused inconsistent handling of text
appended to the $N parameter, such as text that contained numbers
or dashes.
40.Fixed handling of channel nickname mode 'q' in some contexts.
41.Added $isadmin identifier that returns current elevation status.
42.Updated error handling for a number of APIs to use consistent method
across all features.
1 171,619 Read More
Scripts & Popups Jump to new posts
Re: How to get channel name you received a notice in? beer 14/10/19 04:26 PM
Thanks for the explanation Raccoon, it makes complete sense now. I was able to take advantage of the $comchan function you mentioned and do what I was looking for.

2 83 Read More
General Discussion Jump to new posts
Re: Find & Search Not working maroon 13/10/19 03:48 PM
Your question is not clear. There is no command in mIRC which begins with "@", so either you have a script with aliases of those 2 names, or this is a script which responds to a sentence beginning with either of those 2 words. Is this search/response going on between 2 different nicks where their script makes a @find response to your @search, or is your own script supposed to respond with @find to your own @search?

The only non-scripting reasons I can think of for your problem is:
1. your scripts have been disabled. if "/remote" says 'off', you can turn your event handing back on with: /remote on
2. when upgrading, if you installed the new version into a different folder, or answered the install question that you did not want to keep existing settings, one of those existing settings is to know which scripts to load.

If #2 happened, then the REMOTE tab of the scripts editor is blank, and so is the list of scripts shown in the "view" menu of that window. Your scripts shouldn't be deleted, you just need to find where they are and install them again.
3. You've installed a new script which is able to intercept and block the old behavior
4. When either of these commands fail to do anything, is there also an error message displayed in the Status Window? If there is, that can give a clue to the problem: /window -a Status Window
1 97 Read More
Scripts & Popups Jump to new posts
Re: Wanting to add bot script for voiced users KindOne 13/10/19 10:22 AM
I guess you could use access levels for remembering users. I have never used access levels so I have no idea.

Here is some example code for commands only working on users that are voice:

on *:text:!foobar:#channel:{
  if ($nick isvoice $chan) {
    msg $chan $nick is voice in $chan 

If you want the !foobar to work for users that are voice or op you can replace "if ($nick isvoice $chan) {" with one of these:

; User is voice or op.
if (($nick isvoice $chan) || ($nick isop $chan)) {

; User is voice, halfop, or op.
if ($nick !isreg $chan) {


1 52 Read More
Bug Reports Jump to new posts
Re: /list issue with listing in progress Khaled 11/10/19 06:52 PM
Good to hear. Thanks again for testing it out.
20 451 Read More
Feature Suggestions Jump to new posts
Re: $isadmin Raccoon 11/10/19 04:00 AM
Wha'... you don't like my $isadmin alias? I'm sure I shared it. :P

; Usage:  if ($isadmin) { blah }
IsAdmin { var %file = $+($regsubex($envvar(SystemDrive),/\\?$/,\),TestIsAdmin_,$ticks,$r(1,99999999999999),.$$$) | .fopen -no admintest $qt(%file) | .fclose admintest | var %rslt = $exists(%file) | if (%rslt) .remove $qt(%file) | if (!$isid) echo -a * IsAdmin: %rslt | return %rslt } ; by Raccoon 2017-Feb
2 117 Read More
Bug Reports Jump to new posts
Re: Owner status, +q mode and prefix Khaled 09/10/19 10:08 AM
Thanks for your bug report. The on OWNER/OP/HELP/VOICE events are necessarily hard-coded to specific mode characters "qohv", however in some places the code was also using the hard-coded nickname prefix. In the case of "q", this used to be ".", which is the original server implementation of the owner event. I have made a change to the next beta that should resolve this.
1 345 Read More
Connection Issues Jump to new posts
Re: undernet not reachable ? Khaled 06/10/19 08:30 AM
If you are trying to connect to a server and see a message telling you that you are banned from connecting to it, you would need to contact the owners or administrators of that network for help. They usually provide instructions in their ban message on what you need to do to contact them and/or to resolve the ban. For the Undernet network, you might be able to find help on their website and, in this case, there is a post on their forums that answers this question.
1 121 Read More
Bug Reports Jump to new posts
Re: InspIRCd 3 +H Bug Khaled 05/10/19 10:15 AM
Following up on this:

InspIRCd supports a large number of IRCv3 options that can affect the format of server messages sent to a client. This includes the channel history messages sent to a user on joining a channel that has +H enabled.

I have installed InspIRCd and enabled various combinations of IRCv3 options but have not been able to reproduce this issue so far.

I would need to know the IRC network you are using in order to test this out.

Alternatively, please post the CAPS messages you see when you first connect to the server. They will look like this:

Caps supported: account-notify account-tag away-notify batch cap-notify chghost echo-message extended-join invite-notify message-tags server-time tls
Caps set: account-notify account-tag away-notify batch cap-notify chghost extended-join invite-notify server-time
2 179 Read More
Feature Suggestions Jump to new posts
Re: Missing Documentation maroon 04/10/19 06:12 PM
/help $ltimer

both locations says it returns the number of the timer. Should say 'timer ID'

//timerfoobar $+ $rand(1,99) 1 1 noop | echo -a $ltimer
24 24,745 Read More
Bug Reports Jump to new posts
Re: $ctime(string) eval maroon 04/10/19 02:15 PM
I can't think of lack of compatibility, unless someone somehow has an almost-a-date string they want to detect from a $null value.

Enabling comma as a delimiter would enable a very common date format

//var -s %a Mar 25, 2008 , %b $ctime(%a) , %c $asctime(%b)
//var -s %a March 25, 2008 , %b $ctime(%a) , %c $asctime(%b)

Looking at the page for https://en.wikipedia.org/wiki/Date_format_by_country
It would be crazy to try to support them all. I do see that the period is a common delimiter used by multiple countries. While mIRC is recognizing them in some formats, one I see used several places that's returning null is: (ddd|dddd) (d|dd). (mmm|mmmm) yyyy

//var -s %a Tuesday 25. Mar 2008 , %b $ctime(%a) , %c $asctime(%b)
2 143 Read More
Feature Suggestions Jump to new posts
$ctime(string).gmt maroon 03/10/19 02:40 PM
Related to $gmt(N) in this thread, would it be possible to have $ctime(date string) either recognize strings UTC or GMT, or have a .gmt .prop, which allows recognizing the date string as being a GMT time instead of local time?

//var -s %a Feb 29 2008 , 12:00:00 GMT , %b $ctime(%a) , %c $asctime(%b) , %d $gmt(%b)
//var -s %a Jul 29 2008 , 12:00:00 UTC , %b $ctime(%a) , %c $asctime(%b) , %d $gmt(%b)

$ctime(date string) is applying the correct daylight offset for the datestring. It ignores the GMT or UTC, so, but it can be complicated to obtain the correct N if %a is a UTC timestamp instead of local, without knowing how many hours to adjust the N in %a, depending on which time of the year the timestamp resides.

After the proposed fix, the example below should return N's being values which have zero remainder after dividing by 86400 regardless of the date or timezone rules.

//var -s %winter $ctime(1970-01-01 00:00:00) , %sb_zero %winter % 86400 , %summer $ctime(1970-06-01 00:00:00) , %sb_zero %summer % 86400
0 52 Read More
Page 1 of 17 1 2 3 16 17