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: help with login script to webpage Bast 27 minutes ago
ok i see, but wouldent it be better if there was a switch for overwrite? wink

But what are you thoughts on saving user stats.
Should i use the hashtables and then save it to an ini file or is my thinking viable to save the json then access it?
40 443 Read More
mIRC Help Jump to new posts
Re: Shortening messages AtotehZ 6 hours ago
Thanks a lot.

I don't entirely understand the answer, but that's on me. I'll try to make sense of it.
2 72 Read More
Feature Suggestions Jump to new posts
Re: Minor $urlget() improvements FroggieDaFrog Yesterday at 09:51 PM

Assume the following response is received:
HTTP/1.1 200 OK
Server: site.com
Access-Control-Allow-Origin: *
Content-Encoding: gzip
Content-Type: text/plain; charset=utf-8
Content-Length: 0
Connection: keep-alive
Set-Cookie: sessid=123; Domain=site.com; Path=/; Secure; HttpOnly 
Set-Cookie: uid=abc; Domain=site.com; Path=/; secure; HttpOnly; Max-Age=2592000

Get status line:
  echo -a $urlget(id).ReplyLine

  HTTP/1.1 200 OK

Get version text:
  echo -a $urlget(id).VersionText


Get numerical version :
  echo -a $urlget(id).Version


Get status code:
  echo -a $urlget(id).StatusCode


Get status text:
  echo -a $urlget(id).StatusText


Get All Headers
  echo -a $urlget(id).Headers

Result (line breaks processed for readability):
  Server: site.com
  Access-Control-Allow-Origin: *
  Content-Encoding: gzip
  Content-Type: text/plain; charset=utf-8
  Content-Length: 0
  Connection: keep-alive
  Set-Cookie: sessid=123; Domain=site.com; Path=/; Secure; HttpOnly 
  Set-Cookie: uid=abc; Domain=site.com; Path=/; secure; HttpOnly; Max-Age=2592000

Store all headers in a bvar:
  echo -ag $urlget(id, &bvar).Headers

Result (number of bytes wrote to the bvar):

Gets the total number of headers received
  echo -ag $urlget(id, 0).Headers


Gets the 1st and 3rd header received:
  echo -ag $urlget(id, 1).Headers
  echo -ag $urlget(id, 3).Headers

  Server: site.com
  Content-Encoding: gzip

Stores the 5th header in a bvar:
  echo -ag $urlget(id, 5, &bvar).Headers

Result (number of bytes wrote to the bvar):

Gets the Number of 'Set-Cookie' headers:
  echo -ag $urlget(id, set-cookie, 0).Headers


Gets the 1st Set-Cookie header
  echo -ag $urlget(id, set-cookie, 1).Headers

  Set-Cookie: sessid=123; Domain=site.com; Path=/; Secure; HttpOnly

Stores the 2nd Set-Cookie header in a bvar
  echo -ag $urlget(id, set-cookie, 2, &bvar).Headers

Result (number of bytes wrote to the bvar):

1 43 Read More
Feature Suggestions Jump to new posts
Echo reply to all open windows Epic Yesterday at 05:04 AM
Good health to all. My question: - Is there a way to send echo responses to all open windows at once without using a cycle?
If not, then I have a suggestion to improve this command with the addition of new keys.

To send text only to all open channel windows (#): /echo -k message
To send text only to all open privates windows (nicks): /echo -p message
To send text only to all open client windows (@): /echo -w message

And accordingly, sending to all windows will happen like this: /echo -kpw message

A simple example where this could come in handy.
When you try to replace the standard exit message with your own, using the prefix ^ in your handler: on ^*:QUIT: - then you should send echo at once to all open channel windows where the user was.
Using cycles slows down the overall program performance, what's not good, especially if you already have a lot of working scripts.

It would be great to have an efficient and simple solution. Thanks.
0 53 Read More
Feature Suggestions Jump to new posts
Re: $urlget redirection FroggieDaFrog Yesterday at 01:43 AM
To give more details on Loki's post:

Essentially you'd return the content of the response(that is the response saying to redirect to another resource) to $urlget the same way you would if the host had returned a 200 OK response

Assume the following client<->server interaction takes place
<- GET / HTTP/1.1
<- Host: site.com

-> HTTP/1.1 302 Found
-> Location: https://site.com/index.html
-> Content-Length: 0

With the above assumption, the following would occur
alias example {

  ;; R0 indicates no redirects should be followed
  noop $urlget(https://site.com, gbR0, &bvar, example_callback)

alias example_callback {

  ;; Reply: HTTP/1.1 302 Found\r\nLocation: https://site.com/index.html\r\nContent-Length: 0
  echo -ag Reply: $urlget($1).reply
6 134 Read More
mIRC Help Jump to new posts
Re: Query window hook on desktop Khaled 20/10/20 03:39 PM
If clicking on "Search..." in the Help menu opened the mIRC website, this means that your copy of mIRC did not come with a help file. That's fine.

Click on "Index" at the top left of the web page.

Then search the page for "Do not disturb".

To search a web page, you would normally press the keys "Control" and "F" together. You can use this key combination to search any web page in the future.
3 107 Read More
Feature Suggestions Jump to new posts
Re: Unnecessary Linesep between Notices Khaled 19/10/20 08:25 AM
Can we please remove the linesep from between multiple sequential Notices within the Status window?
This will require remembering that the previous line was a Notice and that a linesep should be added when the next line is not a Notice.

I do believe you've requested this before :-]

Alas, it is not as simple as it sounds.

There are currently 500+ calls to the linesep routine to print a linesep to a window, called by different features, eg. events, numerics, commands, identifiers, error messages, etc. Some of these calls are context-aware, eg. some numerics can appear both in groups and alone and need to be surrounded by lineseps in both cases.

There are 1000+ calls to the routine that prints a line to a window, without lineseps, and with no awareness of lineseps.

The only practical way to implement this, that I can see, is to continue to have a linesep printed after each notice but if the next added line is a notice from the same user, to insert the new notice before the linesep at the bottom. This will essentially group all consecutive notices from the same user together, even if they are replies to several different requests. This will also be backward-compatible with all other features that have no awareness of lineseps.

I have tested this out on different networks, eg. GameSurge sends the MOTD as notices, and, to be honest, I found it harder to read multiple long notices that are stuck together. But it can improve the readiblity of eg. /nickserv replies.

There is no way to use lineseps to group separate /nickserv replies without scanning for words that demarcate the beginning and ending of a group of messages. As I have mentioned before, I am no longer doing this because these words vary across ircds, networks, and languages and are not a reliable basis for changing client behaviour.
5 211 Read More
Bug Reports Jump to new posts
Re: font and toolbar are too small Khaled 17/10/20 06:24 PM
See here for a previous discussion on this topic.
2 86 Read More
Bug Reports Jump to new posts
Re: Can't change window when maximized TECO 17/10/20 01:06 PM
I tested and did not detect any freezing problem in mIRC and I also do not find any problem in switching between windows.

10 7.63 9ff6317dc5ce1528da51f2f7af29c62f ok 1 1 0 0
2 98 Read More
Bug Reports Jump to new posts
Re: Accented characters Khaled 17/10/20 10:04 AM
Thanks for the feedback on the beta I sent you.

It looks like the only solution to this is to use the new ToUnicode() flag that works on WIndows 10 build 1607 and onwards.

The issue is due to the way ToUnicode() affects the keyboard state when dead characters are processed and has been present in all previous versions of WIndows. Microsoft finally resolved the issue by adding the flag in Windows 10 build 1607.

mIRC uses ToUnicode() in the on KEYDOWN event to determine the character (as opposed to the key press) that will be generated, so that it is available in the event. Unfortunately, there is no way to resolve the ToUnicode() issue in this context. There are many posts on stackoverflow and in Microsoft blogs that suggest solutions but none of them actually work in all keyboard layout/language/device contexts. The only solution is the flag in Windows 10 build 1607. This will be enabled in the next beta.

The usage share of pre-Windows 10 versions of Windows is around 25%, so this would affect quite a few users. Because of this, I will also be reverting the change in the last beta that enabled on KEYDOWN/KEYUP/CHAR in all windows. It will be once again limited to custom @windows.
25 521 Read More
mIRC Help Jump to new posts
Show log automatically Leza 16/10/20 10:45 PM
My mirc when I join an existing room doesn't show the previous history automatically. I type /showlog #channel name

Is there a way I can use the ini for something like
On join

Or perform an on connect for the server?

I do have a bunch of rooms I open up everyday that I could make a list for but I'd rather there be a way even if I enter a room I haven't been in before it automatically runs show log.
0 31 Read More
Feature Suggestions Jump to new posts
Re: Internal client windows no borders Epic 16/10/20 08:42 PM
If this affects something, then I'm use the "Windows 8.1" system and "mIRC v7.63". Changing parameters in: "Options/Display/Options/Styles/" does not resolve the issue of visible border around chat windows.
For clarity, I'll set the color to red. The screenshot shows that the separator strip between the chat window and the text input field is highlighted in red, and blue arrows indicate borders that are visible and cannot be removed or changed in any way.

[Linked Image from i.ibb.co]

To reproduce this problem, you need to style the mIRC client in a dark style, to do this, follow these steps:

   1. On the client menu uncheck several options to disable them "Viev/TreeBar" and "Viev/MenuBar".
   2. Right-click on the SwitchBar (List of open windows), select from the menu "Position/Left".
   3. Right-click on the SwitchBar (List of open windows), select from the menu "Lock Bars".
   4. Download this image to the root folder of the client's mIRC: image for background (or use any of your images in dark colors).
   5. Right-click on the ToolBar, select from the menu "Background/Select" and install the downloaded image.
   6. Right-click on the SwitchBar (List of open windows), select from the menu "Background/Select" and install the downloaded image.
   7. In the ToolBar menu, click on the "Сolors" button and set the color to black in the EditBox and in ListBox.
   8. Right-click by status window in the windows list SwitchBar, select from the drop-down menu "Background/Select" and install the downloaded image.
   9. Then set in the same window menu how to display this image "Background/Tile". (Same for channel and private windows).

Congratulations! You have now set up your client's dark style. Now all the light gray frames and borders of the windows are visible, as in the screenshot above, indicated by the blue arrows.

I would very much like this visual flaw, which spoils all the beauty of your style, could somehow be veiled in your colors in RGB or removed altogether, through the client's options.
I think that many developers of their design for the mIRC client, have repeatedly encountered this drawback and will be grateful if there is such an opportunity to fix it through.

Ideally, it's nice to have something like this in the options, with the ability to choose your own color from the RGB color range, including the ability to completely remove all frames and borders during installation:
"No Frame" and "Border size = 0", so that it was possible to create your own client design, for example this:

[Linked Image from i.ibb.co]

Well, and accordingly, for quick setup and change of style through scripts, add 2 commands: "/frame <on|off> [1-5] [rgb-color]" and "/border [0-5] [rgb-color]"

4 225 Read More
Bug Reports Jump to new posts
Re: Ident userid limited to 10 chars maroon 16/10/20 03:06 PM
If a server doesn't list the token, the client will use a maximum length of 10 characters and a-zA-Z0-9._- which are acceptable on all networks.

It looks like freenode accepts period hyphen underscore in the userid, but not as the 1st character.


are valid nicks, but when mIRC strips the backslash to create the userid, these are rejected as invalid username. Unless it creates backwards compatibility issues, underscore and hyphen should be stripped if they're the 1st character of the userid, which means "\_" should change to "user" just like using nick "\\\\" does. The period isn't accepted by freenode as a valid character in a nick, but setting email to ".foo@bar.com" causes them to reject ".foo" as username.
13 1,434 Read More
Connection Issues Jump to new posts
Re: Cannot assign requested address Khaled 14/10/20 05:48 PM
You should not have to close and re-run mIRC at all in this situation. I change wifi networks all the time without issues.

However, if you have tried closing mIRC and running it again, and this still hasn't resolved the issue, this usually means that there is an issue with your Windows network configuration, anti-virus/firewall, router, and/or internet connection.
4 395 Read More
Scripts & Popups Jump to new posts
Re: filename without extension Wims 11/10/20 09:16 PM
Hello, there is $file() which has various property, including .name, which will give you the name of the file without its extention, but that only works for existing filename.

$nopath works with string though, and can be used on non existing filename, get the position of the last dot in the filename string and get only the portion before that:

Originally Posted by Using maroon's example
//var %n $nopath(Up Up and Away....jpg),%p $pos(%n,.,$calc($pos(%n,.,0) - 1)) | echo -ag > $left(%n,%p)

A handy regex can also do the job: $regsubex($nopath(Up Up and Away....jpg),\.[^.]+$,)

Edit: the $nopath/$pos code only works when there is an extention but can be fixed with some if on %p or something, wheareas I did make the regex works even if there's no extention.

5 191 Read More
Bug Reports Jump to new posts
Re: joining a +k channel which I created. AshBurry_Kim 11/10/20 04:49 PM
The IRCd still reveals the password when it is set and you are already in the channel. But when you leave and come back it is set to * until someone resets the channel key to a new key. To just forget the password does little good. To remember the password even though it is set to * would be beneficial. It cannot be forgotten even when an attempt to join the channel fails with remembered password because the ircd does not tell you which command failed (in the event multiple /join #mirc <pass> attempts are used). You cannot even remember a password that is used on the join command respectively because multiple /join attempts maybe used and there is no telling which one is true password. Only when you are in the channel and the channel password is witnessed being set should it be remembered and never forgotten. Although you could check if other sessions are opped in the channel and can see the key or have otherwise witnessed the channel key being set and can see it or have it remembered. Of course this is a problem when there is a netsplit and multiple channel keys are in use for that I made a script that will set all channel modes then unset all channel modes then set the channel modes that you want to keep. I haven't finished it yet as usual or I would post the script.
7 211 Read More
Scripts & Popups Jump to new posts
$1 returns nothing sometimes AshBurry_Kim 11/10/20 04:28 PM
I have come across an issue where $1 sometimes returns nothing.

The issue was when I called an alias with some data the data started with an unstripped $chr(32) in the front and $1 returned blank. $1- returned the $1 as normal but with an extra space in the beginning that would not come off until I broke it down in to a chip32 alias shown below. Also $2 would just return the second parameter if there is one in any case it ignores $1 all together.

alias chip32 {
if (!$isid) { return }
; # only used to remove the leading space from corrupt $1
; #
var %text = $1-
tokenize 32 %text
if ($0 == 0) {
if ($prop == noerror) { return }
echo -es syntax : $!chip32(<some text>) | halt
bunset &bvar &bvarset
bset -t &bvar -1 $1-

var %char = $bvar(&bvar, 1)
var %i = 1
while (%char == 32) {
inc %i
var %char = $bvar(&bvar, %i)
if (%i > $bvar(&bvar,0)) { return }
bset &bvarset -1 $bvar(&bvar, %i $+ - $+ $bvar(&bvar,0))
bunset &bvar
var %i = $bvar(&bvarset, 0)
var %char = $bvar(&bvarset, %i)
while (%char == 32) {
dec %i
%char = $bvar(&bvarset, %i)
return $bvar(&bvarset, 1- $+ %i).text

Use $chip32($1-) you must use it on $1- or it will not do anything useful. Since I found this issue and forgot how to reproduce it so I use chip32 on all my input especially from a socket. Also I started to strip all kinds of characters from my text: I have $stripchar() & $stripchar_clean() & $stripchar_basic() to remove confusing characters from filenames for example that I do not want to start with a $ % nor an & nor @ nor # nor an = because these are used for mirc special purposes it would confuse me if someone running code on my computer made a file that started with one of these characters I would not be too happy because it is confusing to me. I also strip <> ' , " ; ` * ? ()[] {} / \ + with these 3 identifiers. Stripping Input to an identifier or alias regardless of where the data comes from. I also use alias -l _cmd as much as possible to prevent people from running commands on my computer that may corrupt my work and settings. As long as there is still a 500kb script file size I am okay to use mirc's variables for most (or all) of my settings with $global.getval(my_variable_name) and /temp.set.var $gvar(my_variable_name) for example. It would be nice if $global.getval() auto detected if it was a global variable, session variable, setup variable, or neither-nor. and stripped leading space from variable name.

Anyone have an idea why this would happen?
0 42 Read More
Scripts & Popups Jump to new posts
Re: Colored Nickname Epic 09/10/20 03:43 PM
I read your question and tried to write my script from scratch. Perhaps you wanted to see something like this in the script and it looks really nice! cool
This is a pop-up window when starting the mIRC client, which greets the user by their nickname with an animated glitter effect.

All settings in the alias "ww_setting". You can reconfigure this script to your liking - change the welcome text, size, indentation, background and color of window frames, font and color gamut of changing letters, as well as the speed of the glitter effect and the off timer.

[Linked Image from i.ibb.co]

#   WelcomeWindow v1.0
#   Description: Pop-up welcome window with animated glitter effect.
#   Author: Epic
#   Email: epicnet@mail.ru
#   Site: http://epicnet.ru

on *:START: .timerWWSTART -m 1 1000 ww
alias ww { ww_setting | ww_window | ww_window_decor | ww_text_color }
alias -l ww_setting {
  .hadd -m ww text Hello, $+($me,!) :)))
  .hadd -m ww win-name @Welcome
  .hadd -m ww win-size-x 20
  .hadd -m ww win-size-y -10
  .hadd -m ww margin-w 50
  .hadd -m ww margin-h 30
  .hadd -m ww color-bg $rgb(14,12,18)
  .hadd -m ww color-line $rgb(91,76,116)
  .hadd -m ww color-text $rgb(147,122,187)
  .hadd -m ww font ComicSansMS
  .hadd -m ww fsize 28
  .hadd -m ww start-color 91
  .hadd -m ww end-color 97
  .hadd -m ww time-speed-color 150
  .hadd -m ww time-closing 5000
alias -l ww_window {
  set %ww_w $calc($width($hget(ww,text),$hget(ww,font),$hget(ww,fsize),0,1) + ($hget(ww,margin-w) *2))
  set %ww_h $calc($height($hget(ww,text),$hget(ww,font),$hget(ww,fsize)) + ($hget(ww,margin-h) *2))
  set %ww_mw $int($calc($window(-3).dw /2 + $hget(ww,win-size-x)))
  set %ww_x $calc($window(-2).dx + %ww_mw)
  set %ww_mh $int($calc($window(-3).dh /2 + $hget(ww,win-size-y)))
  set %ww_y $calc($window(-2).dy + %ww_mh)
  .window -pdBhiok0w0 +dL $hget(ww,win-name) %ww_x %ww_y %ww_w %ww_h | .window -a $hget(ww,win-name)
  .timerWW -m 1 $hget(ww,time-closing) .window -c $hget(ww,win-name)
alias -l ww_window_decor {
  .drawfill -r $hget(ww,win-name) $hget(ww,color-bg) %ww_w %ww_h 0 0
  .drawline -r $hget(ww,win-name) $hget(ww,color-line) 1 0 0 %ww_w 0
  .drawline -r $hget(ww,win-name) $hget(ww,color-line) 1 0 $calc(%ww_h -1) %ww_w $calc(%ww_h -1)
  .drawline -r $hget(ww,win-name) $hget(ww,color-line) 1 0 0 0 %ww_h
  .drawline -r $hget(ww,win-name) $hget(ww,color-line) 1 $calc(%ww_w -1) 0 $calc(%ww_w -1) $calc(%ww_h -1)
alias -l ww_text_color {
  if (!%ww_cc) { set %ww_cc $hget(ww,start-color) }
  if (%ww_cc <= $hget(ww,start-color)) set %ww_nc 1
  if (%ww_cc >= $hget(ww,end-color)) set %ww_nc 2
  if (%ww_nc == 1) inc %ww_cc | if (%ww_nc == 2) dec %ww_cc
  if ($hget(ww,ctext)) .hdel -sw ww ctext
  var %ww_ct $replace($hget(ww,text),$chr(32),$chr(160))
  var %ww_cl $len(%ww_ct) | var %ww_e %ww_cc | var %ww_w 1
  var %ww_q 1 | while (%ww_q <= %ww_cl) {
    .hadd -m ww ctext $+($hget(ww,ctext),$chr(3),%ww_e,$mid(%ww_ct,%ww_q,1))
    inc %ww_q | if (%ww_w == 1) inc %ww_e | if (%ww_w == 2) dec %ww_e
    if (%ww_e <= $hget(ww,start-color)) var %ww_w 1 | if (%ww_e >= $hget(ww,end-color)) var %ww_w 2
  if ($window($hget(ww,win-name))) {
    .drawtext -pr $hget(ww,win-name) $hget(ww,color-text) $hget(ww,font) $hget(ww,fsize) $hget(ww,margin-w) $hget(ww,margin-h) $hget(ww,ctext)
    .timerWWTC -m 1 $hget(ww,time-speed-color) ww_text_color

1 139 Read More
Feature Suggestions Jump to new posts
Re: Underline colored Epic 08/10/20 08:23 PM
Yes, you are right, there will be a conflict with the numbers before the code ...
Then it can only be a new code for the colored underline. And the key combination can be, for example, this: "CTRL + Y + 04".

And also the main thing is not to forget add delete of this code to identifier $strip() and if the line already contains the usual underscore code, then it must be ignored so that the colored underscore takes precedence.

Then the following sequence may appear in the script, where $chr(??) is the code number we do not know yet:
testing $+($chr(3),15,$chr(??),04,colored underline,$chr(??),$chr(3)) text

How it might look like:
[Linked Image from i.ibb.co]
2 167 Read More
Bug Reports Jump to new posts
mIRC beta Khaled 08/10/20 11:56 AM
The latest beta can be downloaded here and includes these changes:

Beta v7.63.956 changes:
1.Item 18, https://forums.mirc.com/ubbthreads.php/topics/267799
2.Item 19, fixed. It was returning invalid results for windows
like Urls List, Notify List, etc. Ideally, it should have just
returned the full titlebar text but its original implementation
was to return the text after the window name, so this has been
left as is.
3.Item 20, changed.
4.Item 21, https://forums.mirc.com/ubbthreads.php/topics/267820
If existing scripts use * instead of @ in the event definition
for the window, this will cause the event to trigger in all
windows. /halt will still only halt the TAB key.
5.Item 22, https://forums.mirc.com/ubbthreads.php/topics/267834
6.Item 23, https://forums.mirc.com/ubbthreads.php/topics/267836

Beta v7.63.649 changes:
1.Item 13, https://forums.mirc.com/ubbthreads.php/topics/267766
The $regml().pos results for UTF-8 characters now point to the
start of the character in the unicode string.
2.Item 14, https://forums.mirc.com/ubbthreads.php/topics/267766
3.Item 15, https://forums.mirc.com/ubbthreads.php/topics/267753
This will now report an error and halt the script if text is
used instead of a number, and if the number is out of range.
4.Item 16, fixed.
5.Item 17, added, uses QueryPerfomanceCounter(). In the past, this
API was unreliable on multiple cores/different versions of
Windows but seems better now. Note that it returns different
results to $ticks, so they cannot be used together.

Beta v7.63.478 changes:
1.Item 9, updated.
Changed the behaviour of the Connect/Options/Ports/Bind feature:
If you enter an adapter name, mIRC will always search for a
matching adapter to find its current IP address. If you enter an
IP address, it will always use that IP address.
2.Item 11, https://forums.mirc.com/ubbthreads.php/topics/267739
Needs testing.
3.Item 12, updated.

Beta v7.63.416 changes:
1.Item 1, https://forums.mirc.com/ubbthreads.php/topics/267596
2.Item 2, https://forums.mirc.com/ubbthreads.php/topics/267574
3.Item 3, https://forums.mirc.com/ubbthreads.php/topics/267624
4.Item 4, https://forums.mirc.com/ubbthreads.php/topics/267637
5.Item 5, extended. Added to end of the LOADINFO structure. DLLs
need to check the version number to determine if it is present.
6.Item 6, https://forums.mirc.com/ubbthreads.php/topics/267642
7.Item 7, fixed.
8.Item 8, fixed.
9.Item 9, https://forums.mirc.com/ubbthreads.php/topics/267723
10.Item 10, changed.

1.Fixed /bcopy not copying zero length binary variables.
2.Fixed /timer -h multimedia timer bug that caused imprecise elapsed
time measurement at low millisecond intervals.
3.Fixed $bfind() N parameter not being applied during a .regex search.
4.Fixed $min()/$max() parsing bug.
5.Extended the DLL LOADINFO structure to include a DWORD dBytes
variable that specifies the maximum number of bytes allowed when
writing to the data and parms strings.
6.Fixed /timer halted message not being displayed in some cases.
7.Fixed DDE server not being reset when DDE settings changed in the
Options DDE dialog.
8.Fixed SSL private key error incorrectly being reported as an
SSL certificate error in some contexts.
9.Fixed bind to adapter/IP address bug that prevented it from using
adapters with dynamic IP addresses.
10.Changed $base() to remove limit on floating point precision for
larger bases.
11.Fixed $base() not rounding fractions to current base.
12.Updated LibZip library to v1.7.3.
13.Changed $regml().pos so that if //u is not used for a unicode
string, UTF-8 characters now return the position of the start
of the character in the unicode string.
14.Added $regml().bytepos that returns the UTF-8 byte positions
matched within a string.
15.Changed /setlayer to report an error if invalid parameters are
16.Fixed $bfind().regex issues related to UTF-8 parsing.
17.Added $ticksqpc that returns a high resolution tick count.
18.Changed isalpha/isalnum/isletter/islower/isupper/$lower()/$upper()
to use consistent APIs.
19.Fixed $window().title returning incorrect results for some
20.Changed Control+Break to be more responsive.
21.Changed on KEYUP/DOWN/CHAR events to work in all windows.
22.Changed workaround for Windows 10 MDI caption bug so that it is
not applied during remote desktop sessions.
23.Fixed channel keys being saved incorrectly on Undernet ircds that
use * for hidden keys.
1 191,303 Read More
Bug Reports Jump to new posts
Re: Incorrect timestamp bug? ekcdd 08/10/20 08:22 AM
Yes, that is correct, though the ZNC connected was the first server, the direct was the second though I don't think that should matter.

My ZNC (1.7.5) is running on VPS running Ubuntu 18.04, mIRC was the only thing running on Windows. Other than that it appears to be correct
6 192 Read More
Feature Suggestions Jump to new posts
Re: Events "EditBox" Khaled 07/10/20 10:03 PM
If /halt in ON KEYDOWN makes the whole client non-responsive, it could be salvaged by using the mouse to get into the scripts editor and uncheck listen/events.

In general, with backward compability issues, I am more worried about new or non-technical users who are using scripts but may not know how to fix issues. Even a technical user would be stumped for a while if they ran mIRC and suddenly found that they were no longer able to type in windows :-]

If /halt is a concern, there could be the addition of a -switch for halt to enable the other keys being halted in that event.

Yes, that may be the best approach.
6 241 Read More
Bug Reports Jump to new posts
Re: Duplicate icons in menubar Khaled 07/10/20 09:57 AM
Thanks for your bug report. If you click on the extra icons, do they do anything? ie. is it just a display glitch?

This may be related to:

29/07/2020 - mIRC v7.62
21.Added workaround for maximized MDI window caption bug in Windows 10
on monitors with some DPI/resolution combinations.

In the next beta, I will disable the above workaround during a remote desktop session but this may re-introduce the Windows 10 display glitch relating to MDI windows that it was intended to fix, so it is a bit of a catch-22 unfortunately.
2 106 Read More
Scripts & Popups Jump to new posts
Re: Unexpected timer set var behaviour Moros 07/10/20 03:31 AM
Thank you for that clear explanation!
3 158 Read More
Feature Suggestions Jump to new posts
/remote -s maroon 06/10/20 09:47 PM
Per /help:

/remote [on|off]
This switches processing of all scripts on/off.

This leads the typical user to believe that this disables scripted aliases, when it doesn't do that at all. Scripted aliases which intercept commands like /echo or /msg still function, and timers still get triggered and invoke aliases.

I had an incident helping someone with a script which wasn't working as expected, and it turns out that there was a local alias which was altering one of the internal /commands, and it didn't show up from the editbox with //echo -a $isalias(echo)

Unless the fix is to clarify /help description of existing behavior, there could be a brother alias /scripts to go along with /raw /events and /ctcps, but to avoid backwards compatibility, it might be needed for /remote to use a -s switch to either include scripts with the others, or to even include scripts along with the others, as in /remote -recs on|off

For $remote, this could have the & 8 bitmask, unless it's a compatibility issue with aliases assuming that mIRC defaults at $remote == 7.
0 43 Read More
Page 1 of 2 1 2