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: IRC bot not responding to command prompts Simo 7 hours ago
Another example:

Code

On 1:text:!kb &:#:{
  if ($nick($chan,$me,~&@%) && $nick($chan,$nick,~&@%)) {  
    if ($address($2,2) !isban $chan) { mode $chan +b $address($2,2)  }
    if ($2 ison $chan)  { kick chan $2 Requested } 
  }
}


5 269 Read More
Bug Reports Jump to new posts
mIRC beta Khaled 20/03/25 04:59 PM
The latest beta can be downloaded here and includes the following changes:

Quote
Beta v7.79.1643 changes:
1.Item 12, https://forums.mirc.com/ubbthreads.php/topics/273312

If "Transparency effects" are enabled, this means that desktop
window titlebars/borders can be a gradient of multiple colors depending
on the background picture. As this cannot be applied to MDI windows,
MDI window titlebars/borders now always use the standard Window theme
non-transparency color.

Beta v7.79.1441 changes:
1.Item 4, https://forums.mirc.com/ubbthreads.php/topics/273297

Beta v7.79.1430 changes:
1.Item 1, added.
2.Item 2, https://forums.mirc.com/ubbthreads.php/topics/273200
3.Item 3, changed.

This change affects how the window region is set for an MDI window.
This previously broke DCX/MDX in some contexts reported here
https://forums.mirc.com/ubbthreads.php/ubb/showflat/Number/268544
but I have changed the method to hopefully avoid that.

4.Item 4, added.

The way the CRT malloc() works for a Win32 application has changed
in Windows 10/11. If a Win32 application repeatedly allocates/frees
a large amount of memory, especially if near the maximum available
to a Win32 application (around 1.7G), malloc() slows down due to
memory fragmentation and then starts to fail, even if all allocated
memory is completely freed, and the only way to recover is to restart
the application. While the majority of users will never come across
this issue, since in normal use mIRC does not use much memory, I
thought I would look at custom memory allocators to see if using
one might help.

I experimented with several custom memory allocators, eg. mimalloc,
jemalloc, dlmalloc, etc. Most modern allocators target large memory,
multi-processor systems, so they're not ideal for single-threaded
Win32 applications with limited memory (around 1.7G) and are
difficult to tune for this purpose. They also tend to hold on to
freed memory for later use without releasing it to the system, even
when trim is used eg. dlmalloc, and are unable to allocate anywhere
near 1.7G, eg. mimalloc stops around 1.2G, jemalloc at 600MB, and
dlmalloc at 1.4G. In addition, many will not compile for XP, or are
linux-focused, or require weird build environments, etc. In tests,
mimalloc worked best overall, and is significantly faster with lower
fragmentation than the system malloc.

This beta still uses the system malloc for now as I need to do
more testing with mimalloc.

5.Item 5, https://forums.mirc.com/ubbthreads.php/topics/273201

This was happening if 1) you connected to a server, 2) you edited
the server entry while connected, 3) you restarted mIRC, and 4) you
connected through the File menu instead of the Connect dialog or
/server.

6.Item 6, updated.
7.Item 7, added.
8.Item 8, changed.
9.Item 9, https://forums.mirc.com/ubbthreads.php/topics/273220

I have reviewed the the algorithms for determining contrast between
foreground text and background window colors. The algorithms tested
were: cie76, cie94, ciede2000, WCAG 4.5:1 contrast ratio method using
relative luminance, including different calibrations for
observer/illuminant/gamma/RGB/XYZ/LAB conversions, as well as the
newer APCA measure.

The standard WCAG method for calculating contrast ratio seems fine for
light background colors but not for dark ones. However, when the 4.5:1
or 7:1 ratios are enforced, this rules out almost all colors, limiting
the usefulness of the auto-color feature.

After experimenting with these algorithms again, as well as verifying
their outputs, I decided to use two algorithms that complement each
other, since used alone they were not giving ideal results. I am now
using three tests: the WCAG contrast ratio, YtoLstar, and different
threshholds depending on whether the background color is light/dark.

10.Item 10, https://forums.mirc.com/ubbthreads.php/topics/273246

It is not clear why this was happening for some users. Switched to
using a simpler method that, although not ideal, performs the same
function.

11.Item 11, updated.
12.Item 12, updated.

Changes:
1.Added Follow Windows Dark Mode option to Display dialog.
2.Fixed custom draw dark mode group box to allow controls to be placed
closer to the edge of the group box without overlap.
3.Updated Windows 10/11 Aero theme support for MDI windows.
4.Updated more routines to use 32/64-bit compatible types as step in
preparing for a 64bit version of mIRC.
5.Fixed server-specific settings not being loaded on startup in some
contexts.
6.Updated OpenSSL library to v3.0.16.
7.Added custom dialog scroll properties pos N and page N to specify the
start position and the page size.
8.Changed Treebar non-focus selected item to use more visible color in
dark mode.
9.Changed how the nickname auto-color feature chooses colors for darker
backgrounds, such as in dark mode, to improve contrast ratio.
10.Fixed DirectShow crash bug relating to sound initialization on
startup that was affecting some users.
11.Updated CA root certificates cacert.pem file.
12.Fixed Windows 11 Aero theme bug when transparency effects are
enabled.
1 428,647 Read More
Scripts & Popups Jump to new posts
mIRC DIALOGS Fernet 18/03/25 01:26 PM
Hi everybody.
What is the most easy way (maybe thee're more than one) to customize dialogs style in mIRC 7.79? I mean background, font, etc...
I read about Stardust200 but doesn't work on Win10.
Thanks
0 65 Read More
General Discussion Jump to new posts
Request for padding in post composition textarea Iire 16/03/25 08:56 PM
Hey Khaled, I have a quick request regarding the forum's styling:

Could you add a little bit of padding via CSS to the #texteditor textarea element where posts are composed please? As it is right now, if the text cursor is at the beginning of the line, it will be flush with the left border of the textarea, making it impossible to tell which line you're writing at until you start typing or move the cursor forwards. This is especially problematic when trying to write, for example, longer posts with empty lines between paragraphs.

To demonstrate, there is no way to tell which line my text cursor is at here: [Linked Image from i.postimg.cc]
Until I type, say, a few spaces: [Linked Image from i.postimg.cc]

Hopefully, this would be an an easy fix to implement. Thank you.
0 96 Read More
Bug Reports Jump to new posts
Re: MDI Windows 11 Khaled 16/03/25 07:50 PM
Quote
so when I open mIRC in the first status window that opens the problem appears
Thanks, that's exactly what I wanted to know.

Quote
If I turn off the transparency effect, everything is normal
Great. That helps narrow down the cause. I haven't been able to reproduce this so far here but I have an idea why this might be happening now.
5 380 Read More
Bug Reports Jump to new posts
Re: crash 779.1430 Win11 pro TECO 15/03/25 01:50 PM
No more crashes, I've been online for 2 hours on the new beta version 7.79.1441 without any problems.
6 417 Read More
Scripts & Popups Jump to new posts
Re: NICKCHANge CHECK FROM LIST Simo 14/03/25 08:16 PM
Code

ON  *!:nick: {
  var %newnick = 1 , %badwords = 1
  while ($comchan($newnick,%newnick) != $null )  {
    var %chan $v1
    if ($nick(%chan,$me,~&@%) || !$nick(%chan,$newnick,~&@%)) {
      while (%badwords <= $lines(badnicks.txt)) { 
        if ($regex($newnick,/( $+ $read(badnicks.txt,%badwords) $+ )/i)) {  
          mode %chan +b $+(*,$regml(1),*!*@*)
          kick %chan $newnick «--bad-nick--»  
        } 
        inc %badwords
      }
    }
    inc %newnick 
  }
}

1 169 Read More
mIRC Help Jump to new posts
Re: Download Progress Bar no longer shows Khaled 14/03/25 07:27 AM
This setting can be found in the Options/Display dialog. If you check the "Include DCCs" option, this will display DCC Sends/Gets in the Switchbar and Treebar.
1 152 Read More
Feature Suggestions Jump to new posts
Re: Persistent $tip when delay is -1 Epic 13/03/25 01:28 PM
Interesting proposal for expanding functionality.
1 176 Read More
Scripts & Popups Jump to new posts
BADNICK JOIN/NICKCHANGE Fernet 13/03/25 12:26 PM
I found an addon that on nick join/nick change , check the nick and if a nick has a badword receive a kick:

Code
  if ($regex($nick,/(BADWORD|BADWORD|BADWORD|BADWORD|BADWORD|and so on...)/)) { mode # +bb $+(*,$regml(1),*!*@*) $address($nick,2) | kick # $nick bad nickname  detected } 

I wish it to check a file badnick.txt, so no need to add a lot of words in addon. Something like:

Code
  if ($regex($nick,($read(bnicks.txt,%x) iswm $nick))) { mode # +bb $+(*,$regml(1),*!*@*) $address($nick,2) | kick # $nick bad nickname  detected } 

What do You think?
Thanks
0 80 Read More
Scripts & Popups Jump to new posts
Re: Upper case nick Fernet 12/03/25 11:43 AM
I'll test it Simo. Stay tuned wink
And of course thanks so so much for Your help
22 1,844 Read More
Scripts & Popups Jump to new posts
Re: Edit Putmode for stacking kicks Simo 06/03/25 06:23 PM
Thanks for your response Wims


i have tested the code you coded and kept gettin this error :

* /while: invalid format (line 558, clone-kicker.mrc)

for this line :

while ($gettok(%nicks,%a,32) {

i tested with an example such as :


/putkick #test Billy,Braden,Bryana,Eurydice,Giffer,Herold,Hueneke,Martinic,Paymar,Pelage,Sammy,Spracklen,Veronike,Waller custom kick reason here
2 251 Read More
Scripts & Popups Jump to new posts
Re: Notice blocker Simo 05/03/25 03:38 AM
yes this will ignore anyone who sends you notice except the usual services like nickserv and chanserv and such as you need to be able to receive messages from services

Code

ON *:notice:*:*:{ if (!$regex($nick,/^((Oper|Nick|Chan|Memo|Host)Serv)$/i)) { .ignore -nu600 $address($nick,2) } } 

4 438 Read More
Scripts & Popups Jump to new posts
Re: Bad words kick/ban Fernet 03/03/25 12:29 PM
Here how I solved:

Code
on *:text:*:#channel1,#channel2:{ 
  if ($nick !isop #) && ($nick !ishop #) { 
    $bad($1-) 
  } 
} 

alias bad { 
  var %o 0 
  while (%o <= $lines(badwords/badwords.txt)) { 
    if ($read(badwords/badwords.txt,%o) == $1) && (%bad [ $+ [ $nick ] ] == $nick) {
      mode $chan +b $address($nick,2) 
      kick $chan $nick KICK AFTER BEEN WARNED
      unset %bad [ $+ [ $nick ] ] 
    } 
    elseif ($read(badwords/verybadwords.txt,%o) == $1) {
      mode $chan +b $address($nick,2) 
      kick $chan $nick DIRECT BAN  (for very bad word)
      unset %bad [ $+ [ $nick ] ] 
    }
    elseif ($read(badwords/badwords.txt,%o) == $1) { 
      kick $chan $nick WARNING  (for not serious badword)
      set %bad [ $+ [ $nick ] ] $nick 
      .timer 1 300 unset %bad [ $+ [ $nick ] ] 
    } 
    inc %o 
  } 
}

Of course I created 2 .txt files (badwords.txt and verybadwords.txt) with words.
Hope is correct.
Thanks
1 260 Read More
Bug Reports Jump to new posts
Re: crash 779 win11 Khaled 02/03/25 08:40 AM
Thanks for your bug report and crash details. I have not been able to reproduce this so far, so I would like to create a beta for you that hopefully pinpoints the cause of the issue. I will email you shortly with more details.
3 626 Read More
Scripts & Popups Jump to new posts
Re: Binary variable overlap issue with $urlget in mIRC Wims 28/02/25 11:29 AM
As you said this is not a bug, just how binvar were implemented. They get destroyed at the end of the script execution.
You can get the same behavior with regular %variable by using /set -u (same as /set -u0). /set -u %variable and binvar are called semi global for this reason, they are not fully global, but not fully local either.
mIRC does not have a way, good or bad, to pass binvar to aliases or command unless the command is explicitely made to support binvar, which is probably why they were implemented that way, so you can access them in nested aliases calls.
Quote
including any asynchronous calls like $urlget. This isn’t a bug—mIRC’s designed this way to let binvars pass data across events—
Note that this is wrong, $urlget has nothing to do with it and you cannot pass binvar across events, as events always trigger in different script execution, with the exception of on signal perhaps.
Just like /timer, $urlget always triggers after the script's execution in which it was called ends, meaning the binvar that you created prior calling $urlget are ALWAYS lost when the callback alias of $urlget triggers, you're probably confused if you use the binvar output mode of $urlget, then it is mIRC who creates the binary variable for you, prior calling your callback alias, and mIRC does that in the same script execution, obviously.
1 228 Read More
Connection Issues Jump to new posts
Re: Can't connect to undernet server Testie 28/02/25 08:11 AM
You can try a specific Undernet Server and try other ports too.
1 637 Read More
Scripts & Popups Jump to new posts
Re: Hash table script issues... Testie 27/02/25 11:18 PM
Thanks for this.

I knew it was getting too complicated.
2 313 Read More
Bug Reports Jump to new posts
Re: WinGet install error Khaled 23/02/25 03:24 PM
Thanks for your bug report. This is due to the WinGet repository not having been updated to download mIRC 7.79 yet. I have never used or updated this repository myself.

The reason WinGet is failing is that the mIRC website only hosts the latest version of mIRC and redirects old download links to the download page so that users download the latest version.

For the time being, I have re-enabled the most recent version download links so that WinGet works.
1 228 Read More