mIRC Home    About    Download    Register    News    Help

Active Threads | Unanswered Past 24 hours | Past 48 hours | Past Week | Past Month | Past Year
Feature Suggestions Jump to new posts
closing help file from script -- /winhelp Wims 01/04/24 09:57 PM
For a better handling and managing of a custom help file, such as updating it from the web, I would like to be able to close an help file from a script via /winhelp.

/winhelp -n <name> <file> [keyword]
/winhelp -c <name>
0 98 Read More
mIRC Help Jump to new posts
Seperator Line Editbox d0ORk 20/03/24 06:46 AM
Hi there, how can I change the color of this seperation line?
Thanks in advance.
0 126 Read More
mIRC Help Jump to new posts
Right-to-left languages + symbols disorder BullHorn 23/02/24 07:45 PM
Noticed this a decade ago but never thought to ask about this.

Whenever text is typed in a right-to-left language like Hebrew or Arabic, any symbol that appears in a sentence, like , or . or "", etc, causes the sentence to lose order, and moves the text from before to symbol to appear after it instead.

The more symbols are used in a sentence, the less readable it becomes.
0 182 Read More
Feature Suggestions Jump to new posts
"\" symbol in the email address saintman 06/02/24 10:37 AM
My dear ones,

In version 6, mIRC accepted "\" in the email address. This is important because in networks based on the IRCX protocol, if you defined an e-mail address in the form "mask\user@domain.com", you gained the so-called camouflage (mask).

However, since version 7, mIRC omits this character in the e-mail address, which makes masking impossible.

Is it a big problem for mIRC to accept the '\' character in email addresses again?

Many tnx in advance,
saintman
0 280 Read More
Scripts & Popups Jump to new posts
speech integration from mirc Baslerstab 29/01/24 05:28 PM
hi everyone

I'm trying to find a way to bring certain commands to powershell speakout,
I put together a script, but it doesn't work.
It was my idea at certain !order
This can be achieved via powershell as speechout.
can someone help me?

the idea is just a test. They will probably become very popular scripts when the errors are gone.


So I thank you in advance.
and sorry for my bad English, I'm Swiss

Greetings, nicci
0 183 Read More
General Discussion Jump to new posts
what this error (geat awar from raw 352) Doctor_Souza 22/01/24 03:10 AM
Code
raw 352:*:{  
if (G isin $7) {
    var %d  privadobar. $+ $cid $+ . $+ $6 
    if ($query($6) != $null) { 
      xdialog -g %d +b $rgb(22,219,207)
      echo $6 o $6 esta away
    }
  }
}
0 272 Read More
Bug Reports Jump to new posts
$read $readn and $null Wims 17/01/24 10:11 AM
1) $read($null,tn,1) makes $readn 5 here on latest version 7.76, it should make it 0 instead.

2) When you access a line number in a file that does not exist, $readn isn't set to 0 but to $lines(file):

//write -c test $+(A,$crlf,B,$crlf,C) | echo -ag > $read(test,tn,75) $readn

I think this behavior has been reported in the past, it's possible to work with it once you know but it should also make $readn 0 here.
0 177 Read More
Developers Jump to new posts
VLC Now-Playing for mIRC turbosmurfen 14/01/24 11:40 PM
VLC Now-Playing for mIRC

My project is named VLCSay and can be found as Open Source on GitHub.com

VLCSay have been tested in Windows 7, 10 and 11 which works great. And in mIRC versions from 7.76 and newer.

From downloading and installation. This can be found on the start page.

I'm open for questions, requests and things. And yes I'm back.
0 233 Read More
Latest News Jump to new posts
mIRC 7.76 released Khaled 07/01/24 08:46 PM
Dear mIRC User,

mIRC v7.76 has been released today.

This is a small update that adds features and addresses a number of issues reported by users since the last release. It includes improvements, changes and fixes, including:

Updated to Visual Studio 2017 to compile mIRC.
Updated OpenSSL library to v3.0.12.
Updated CA root certificates cacert.pem file.
Fixed switchbar vertical scrollbar buttons not being visible on Windows 11.
Added support for larger GUI icons for high resolution monitors.
Fixed notify list MONITOR event parsing to handle events without hostnames.
Fixed numeric 324 bug when parsing date range.
Enabled Control Flow Guard runtime security checks.
Fixed /toolbar -p bug that was not freeing memory correctly.
Fixed typing notifications bug in parted/kicked channel windows.

How to upgrade?
mIRC is distributed in an installer that installs mIRC on your computer for you. Simply download and run the installer from the download page on the mIRC website. Follow the instructions the installer gives to you. When upgrading all your old settings and scripts will stay as they were, if you want that. Read the questions the installer asks with care and nothing can go wrong. You will be chatting with the new mIRC in no time. If you get stuck or if you want to find out more about a certain feature, just click on a Help button or browse the Help file and you should find lots of hints to help you out.

Where to download?
As always, the latest version of mIRC can be downloaded from the download page on the mIRC website.

Registering mIRC
As you know, mIRC can be downloaded freely and evaluated for 30 days. If you find that you enjoy using mIRC, it would be great and much appreciated if you registered your copy. This licenses you to use your copy of mIRC and helps to support our continued work on mIRC. You can find out how to register here.

Full list of Fixes, Changes and Additions.
For a more detailed list of recent changes, please see the whatsnew.txt file. You will need to read through the help file to learn more about these changes and their impact. Some changes are obvious, some need getting used to - please take your time to play with them and see how they work. May we invite you to use these forums for all questions you might have? The forums offer great help with everything related to mIRC!

Thanks for using mIRC, have fun on IRC!
0 1,081 Read More
mIRC Help Jump to new posts
Need to identify when I login DougWeller 04/01/24 01:45 PM
Although so far as I can see I've filled in everything correctly.
Thanks.
Doug
0 178 Read More
Scripts & Popups Jump to new posts
Seen script help please Robert 03/01/24 01:44 PM
Here is the "Seen" code snippet i were found on the internet, i don't remember which website or forum...
I want the resutl of code are:
Here are an examples:
When some one type this command: !seen <nick> or !seen <ip/host> (*!*@1.2.3 or *!*@xyz.host.com)

1. Found (4) results "BiRain MrChair MrRolex Vida". Most recently BiRain (webchat@45.120.228.2) left IRC about 3 hours 22 minutes ago (12/05/2023-09:53:02) with message: "Read error: EOF from client", after BiRain stayed 47 minutes on #helpchan. As far as I know, BiRain hasn't said anything.

2. nps (nps@azygous.users.undernet.org) was last seen on #siargao. nps is still on #siargao. As far as I know, 2 hours 4 minutes ago, nps (nps@azygous.users.undernet.org) said on #siargao: "maryn"

3. I dont remember seeing Vida lately.. (Vida is a nickname an example).

4. Life (Life@Life.users.undernet.org) was last seen on #siargao. Unable to see Life right now on #siargao. As far as I know, 5 minutes ago, Life (Life@Life.users.undernet.org) said on #siargao: "!seen nps"

5. ChanGuard (~Life@Life.users.undernet.org) was last seen parting #siargao 20 seconds ago (03/01/2024 13:35:30), after stayed 10 minutes on #siargao.

Here is code:
Code
on ^*:TEXT:*:#:{
  if ($1 == !seen) || ($1 == .seen) || ($1 == @seen) && (!%seen) { check_seenanother_flood $nick
    if ($2) && ($2 != |) && ($left($2,1) != $) {
      if ($2 == $nick) { msg $chan [Seen] Are you looking for yourself, $nick $+ ? }
      if ($2 ison $chan) { msg $chan [Seen] $2 is still on the channel $chan $+ . }
      elseif ($2 == $me) { msg $chan $nick $+ : Sorry, you cann't seen me. }
      else {
        if (*!*@* iswm $2) {
          if ($read(seen.txt,w,* * $+ $2 $+ * :*)) { 
            var %seennickvar = $lines(seen.txt), %seennicks, %seennick
            while ($readn <= %seennickvar) {
              if ($read(seen.txt,w,* * $+ $2 $+ * :*,$calc($readn +1))) {
                var %seennickvar2 = $ifmatch
                if ($count(%seennicks,$chr(32)) < 20) && (*. $+ $gettok(%seennickvar2,1,32) $+ ,* !iswm %seennicks) { set %seennicks %seennicks , $+ $gettok(%seennickvar2,1,32) $+ , | inc %seennick }
              }
              else { set %seennickvar 0 }
            }
            if (%seennick == 1) { seen $chan $read(seen.txt,w,* * $+ $2 $+ * :*) }     
            elseif (%seennick < 20) { msg $chan $nick $+ : Found %seennick matching nicks: $left($remove(%seennicks,.),-1) $+ . }   
            else { msg $chan [Seen] To many results $nick $+ , try spesific it a bit more. }  
          }                                
          else { msg $chan $nick $+ : No matches were found matching your search. }
        }
        else {
          if ($read(seen.txt,w,* $+ $2 $+ * *!*@* :*)) { 
            if ($read(seen.txt,w,$2 *)) { seen $chan $ifmatch }
            else {
              var %seennickvar = $lines(seen.txt), %seennicks, %seennick
              while ($readn <= %seennickvar) {
                if ($read(seen.txt,w,* $+ $2 $+ * *!*@* :*,$calc($readn +1))) {
                  var %seennickvar2 = $ifmatch
                  if ($count(%seennicks,$chr(32)) < 20) && (*. $+ $gettok(%seennickvar2,1,32) $+ ,* !iswm %seennicks) { set %seennicks %seennicks . $+ $gettok(%seennickvar2,1,32) $+ , | inc %seennick }      
                }
                else { set %seennickvar 0 }
              }
              if (%seennick == 1) { seen $chan $read(seen.txt,w,* $+ $2 $+ * *!*@* :*) }        
              elseif (%seennick < 20) { msg $chan [Seen] Found %seennick matching nicks: $left($remove(%seennicks,.),-1) $+ . }   
              else { msg $chan $nick $+ : To many results $nick $+ , try spesific it a bit more. }  
            }              
          }                  
          else { msg $chan $nick $+ : Sorry, i don't remember seeing $2 lately. }
        }
      }
    }
    else { msg $chan $nick $+ : Error command, Syntax: ./!/@seen <nick/mask> }
    .ignore -u2 $nick
    set -u3 %seen 1
  }
}
alias -l check_seenanother_flood {
  var %nickseenanother $1, %hostseenanother $ial($1).host, %delay_seenanother_time 10
  if ($hget(stop-seenanother-flood,%hostseenanother)) {
    if (!$hget(stop-seenanother-flood-msg, %hostseenanother)) {
      msg $chan -ATTENTION- %nickseenanother $+ , You have recently used this command, further attempts will be ignored. Please wait a while to reused...
      .hadd -mz stop-seenanother-flood-msg %hostseenanother %delay_seenanother_time
    }
    halt
  }
  .hadd -mz stop-seenanother-flood %hostseenanother %delay_seenanother_time
}
alias seen {
  if ($gettok($2-,3,32) == :SAY) { msg $1 [Seen] As far as I know, $gettok($2-,1,32) ( $+ $right($gettok($2-,2,32),-3) $+ ) was last seen said on $gettok($2-,6,32) $duration($calc($ctime - $ctime($gettok($2-,4-5,32)))) ( $+ $gettok($2-,4-5,32) $+ ) ago with the text message: " $+ $gettok($2-,7-,32) $+ ". }
  if ($gettok($2-,3,32) == :JOIN) { msg $1 [Seen] $gettok($2-,1,32) ( $+ $right($gettok($2-,2,32),-3) $+ ) was last seen joined $gettok($2-,6,32) $duration($calc($ctime - $ctime($gettok($2-,4-5,32)))) ( $+ $gettok($2-,4-5,32) $+ ) ago. $gettok($2-,1,32) is still on $gettok($2-,6,32) $+ . }
  if ($gettok($2-,3,32) == :PART) { msg $1 [Seen] $gettok($2-,1,32) ( $+ $right($gettok($2-,2,32),-3) $+ ) was last seen parted $gettok($2-,6,32) for $duration($calc($ctime - $ctime($gettok($2-,4-5,32)))) ( $+ $gettok($2-,4-5,32) $+ ) $iif($gettok($2-,7,32),ago with the part message " $+ $gettok($2-,7-,32) $+ ".,ago. And after $gettok($2-,1,32) stayed $duration($calc($gettok($2-,5,32))) on $gettok($2-,6,32)) $+ . }
  if ($gettok($2-,3,32) == :KICK) { msg $1 [Seen] $gettok($2-,1,32) ( $+ $right($gettok($2-,2,32),-3) $+ ) was last seen when he got kicked by $gettok($2-,7,32) from $gettok($2-,6,32) in $duration($calc($ctime - $ctime($gettok($2-,4-5,32)))) ( $+ $gettok($2-,4-5,32) $+ ) ago with the kick message " $+ $gettok($2-,8-,32) $+ ". And after $gettok($2-,1,32) stayed $duration($calc($gettok($2-,5,32))) on $gettok($2-,6,32)) $+ . }
  if ($gettok($2-,3,32) == :KICKING) { msg $1 [Seen] $gettok($2-,1,32) ( $+ $right($gettok($2-,2,32),-3) $+ ) was last seen kicked $gettok($2-,7,32) from $gettok($2-,6,32) in $duration($calc($ctime - $ctime($gettok($2-,4-5,32)))) ( $+ $gettok($2-,4-5,32) $+ ) ago with the kick message " $+ $gettok($2-,8-,32) $+ ". }             
  if ($gettok($2-,3,32) == :TOPIC) { msg $1 [Seen] $gettok($2-,1,32) ( $+ $right($gettok($2-,2,32),-3) $+ ) was last seen changing topic in $gettok($2-,6,32) from $duration($calc($ctime - $ctime($gettok($2-,4-5,32)))) ( $+ $gettok($2-,4-5,32) $+ ) ago. }            
  if ($gettok($2-,3,32) == :NICK) { msg $1 [Seen] $gettok($2-,1,32) ( $+ $right($gettok($2-,2,32),-3) $+ ) was last seen changing nick to $+(,$gettok($2-,6,32),) on ( $+ $gettok($2-,4-5,32) $+ ). As far as I know $+(,$gettok($2-,1,32),) has changed nick for $duration($calc($ctime - $ctime($gettok($2-,4-5,32)))) ago. }            
  if ($gettok($2-,3,32) == :QUIT) { msg $1 [Seen] $gettok($2-,1,32) ( $+ $right($gettok($2-,2,32),-3) $+ ) has left IRC $duration($calc($ctime - $ctime($gettok($2-,4-5,32)))) ( $+ $gettok($2-,4-5,32) $+ ) $iif($gettok($2-,6,32),ago with the quit message " $+ $gettok($2-,6-,32) $+ ".,ago.) As far as I know, $gettok($2-,1,32) has online for $duration($calc($gettok($2-,5,32))) after left IRC. }
}
on *:text:*:#: {
  if ($nick != $me) && ($address($nick,1)) {
    write -dw"* $+ $address($nick,1) $+ *" seen.txt
    write -dw" $+ $nick *" seen.txt
    write seen.txt $nick $address($nick,1) :SAY $date $time $chan $remove($strip($1-,bruc),$,|,$chr(35))
  }
}
on *:action:*:#: {
  if ($nick != $me) && ($address($nick,1)) {
    write -dw"* $+ $address($nick,1) $+ *" seen.txt
    write -dw" $+ $nick *" seen.txt
    write seen.txt $nick $address($nick,1) :SAY $date $time $chan $remove($strip($1-,bruc),$,|,$chr(35))
  }
}
on *:join:#: {
  if ($nick != $me) && ($address($nick,1)) {
    write -dw"* $+ $address($nick,1) $+ *" seen.txt
    write -dw" $+ $nick *" seen.txt
    write seen.txt $nick $address($nick,1) :JOIN $date $time $chan
  }
} 
on *:part:#:{
  if ($nick != $me) && ($address($nick,1)) {
    write -dw"* $+ $address($nick,1) $+ *" seen.txt
    write -dw" $+ $nick *" seen.txt
    write seen.txt $nick $address($nick,1) :PART $date $time $chan $remove($strip($1-,bruc),$,|,$chr(35))
  }
}
on *:kick:#:{
  if ($nick != $me) && ($address($nick,1)) {
    write -dw"* $+ $address($nick,1) $+ *" seen.txt
    write -dw" $+ $nick *" seen.txt
    write seen.txt $nick $address($nick,1) :KICKING $date $time $chan $knick $remove($strip($1-,bruc),$,|,$chr(35))
  } 
  if ($knick != $me) && ($address($knick,1)) {
    write -dw"* $+ $address($knick,1) $+ *" seen.txt
    write -dw" $+ $knick *" seen.txt
    write seen.txt $knick $address($knick,1) :KICK $date $time $chan $nick $remove($strip($1-,bruc),$,|,$chr(35))
  } 
}
on *:topic:#: {
  if ($nick != $me) && ($address($nick,1)) {
    write -dw"* $+ $address($nick,1) $+ *" seen.txt
    write -dw" $+ $nick *" seen.txt
    write seen.txt $nick $address($nick,1) :TOPIC $date $time $chan
  }
}
on *:nick: {
  if ($nick != $me) && ($address($newnick,1)) {
    write -dw"* $+ $address($newnick,1) $+ *" seen.txt
    write -dw" $+ $newnick *" seen.txt
    write seen.txt $nick $address($newnick,1) :NICK $date $time $newnick
  }
}
on *:quit: {
  if ($nick != $me) && ($address($nick,1)) {
    write -dw"* $+ $address($nick,1) $+ *" seen.txt
    write -dw" $+ $nick *" seen.txt
    write seen.txt $nick $address($nick,1) :QUIT $date $time $remove($strip($1-,bruc),$,|,$chr(35))
  }
}

File seen.txt like this:
pumpkin *!*~hollow@188.64.15.179 :QUIT 12/11/2023 06:04:58 Read error: Connection reset by peer
rolandcool *!*~rolandcoo@35.236.223.60 :JOIN 12/11/2023 12:14:34 #freeirc
Prodigious^ *!*67d614bc@ircip1.mibbit.com :PART 12/11/2023 21:47:01 #GiRLs
rsvp *!*~rsvpfr@Varsator.users.undernet.org :NICK 14/11/2023 00:40:59 dba
Lampa *!*mona@monalisa2.users.undernet.org :SAY 03/12/2023 02:43:48 #Official lasa ca le vedem cand intra si ia ban :P
....

Thanks all for help, i'm waiting for new version of this code.....from some one in here
0 167 Read More
General Discussion Jump to new posts
Happy New Year Piratoshi 31/12/23 07:27 PM
Hello mIRC frens!

I want to wish you all a very happy new year. 🎇

Specially to Khaled! Thank you for keeping mIRC alive all these years.

And to all the community that share codes and help each other.
May the 2024 be a great year for mIRC as a social platform. 🙏

My best wishes ! Thank you for 2023

[Linked Image from i.ibb.co]
0 205 Read More
Scripts & Popups Jump to new posts
A script to copy text for pasting latimer 23/12/23 02:56 AM
Hello,

I am a total novice when it comes to Mirc and scripting, but I am looking for a script that, when specific text comes up, will automatically copy the text in the middle to the clipboard.

Essentially, when the phase "System: Yadda 2 fritz Yadda Details:13" comes up, the script would automatically copy the Yadda 2 fritz Yadda to be pasted at the user's convenience.

Anything like that, or could I be pointed in the right directions? Thanks for reading and responding.

Latimer
0 238 Read More
mIRC Help Jump to new posts
A Script for auto-copying text? latimer 21/12/23 09:11 PM
Hello,

I am a total novice when it comes to Mirc and scripting, but I am looking for a script that, when specific text comes up, will automatically copy the text in the middle to the clipboard.

Essentially, when the phase "System: Yadda 2 fritz Yadda Details:13" comes up, the script would automatically copy the Yadda 2 fritz Yadda to be pasted at the user's convenience.

Anything like that, or could I be pointed in the right directions? Thanks for reasing and responding.

Latimer
0 215 Read More
Scripts & Popups Jump to new posts
hide channels I am joined to in status windows makaflay2024 19/12/23 01:11 PM
Hello.

I'm interested in hide the channels I'm joined to to other users at the status windows in other mirc users status windows.

Does any body knows how to configure mirc to get this isuee? I woul like to keep my user in an anonymous state to others users when I join to diferent channels.

Is there any mirc configuration , script, addon to get this?

thank you.
0 183 Read More
mIRC Help Jump to new posts
Display messages in Status Window only helglar4 13/12/23 12:04 PM
How can i setup so all messages are only displayed in Status Window and not in current open window, i.e. chat window?

Thank you.
0 183 Read More
Developers Jump to new posts
separate messages Doctor_Souza 27/11/23 09:59 PM
hi, como separar as mensagens "on text" das ações "on join, on part, quit, notice" com "echo $window $chr(160)", se vier uma ação entes da mensagem executar o "echo $window $chr(160)", se for outra menssagem não executar o "echo $window $chr(160)", e vice-versa, quando for so ação atras de ação nao executa o "echo $window $chr(160)", assim como se for so mensagem atras de mensagem não executa o "echo $window $chr(160)", somente na troca entra menssagem e ação.
0 211 Read More
mIRC Help Jump to new posts
[[ ]] evaluation bracket Wims 22/11/23 04:34 PM
Most scripters are familiar with the concept of evaluation bracket and how [[ and ]] can be used inside a script to get [ and ] as the characters instead.
This feature's description has been removed from the help file it seems, I'm not sure it was there before, but how else would we know?

But what if I tell you this feature was probably removed from the help file for good reason?!

The help file's description of bracket evaluation is very very very light:

Quote
The [ ] evaluation brackets

If you want greater control over the order of evaluation of identifiers, you can use the [ ] brackets. Identifiers within these brackets will be evaluated first, from left to right. You can nest brackets.

/say % [ $+ [ $1 ] ]

You can also force a previously evaluated identifier to be re-evaluated by using extra [ ] brackets.

/set %x %y

/set %y Hiya!

/echo [ [ %x ] ]
And that's it.
In reality bracket evaluation are much much more complex than that. This post isn't about updating the help file there but I certainly wouldn't mind.
The interesting part here is how [ ] are handled and at which stage in mIRC's processing of your code.
They are handled before anything else, unlike $eval, it is as though you were literally rewriting the line of code in memory.

This is why //var %a 255,255,255 | echo -ag $rgb( [ %a ] ) works and why $rgb($eval(%a)) would fail (it would be sending a single parameter containing commas to $rgb)

I was helping TECO who needed dynamically built regex pattern to highlight him correctly, and that included matching eventual channel prefix ($prefix) on the left of his nickname, I had chosen to use [[ and ]] with $+

Quote
[14:49:40] <Ouims> //var -s %p /(?:^|\x20| $+ [[ $+ $prefix $+ ]] $+ ++ $+ ) $+ $me $+ (?:[:\x2c.](?: |$)|$)/iS | say $regex(#TECOTECO#123456 $+ $chr(44) o Ouims.,%p) $regerrstr
[14:49:43] <Ouims> this works
[14:49:49] <Ouims> //say $regex(#TECOTECO#123456 $+ $chr(44) o Ouims.,/(?:^|\x20| $+ [[ $+ $prefix $+ ]] $+ ++ $+ ) $+ $me $+ (?:[:\x2c.](?: |$)|$)/iS) $regerrstr
[14:49:59] <Ouims> this is the same but -14 and nothing to repeat error from pcre

If you can see the mistake I made when not using %p at this point, well, kudos (or how much did you pay jaytea?!)

So, another main idea of how the scripting language works is that a line of code and a parameter to an identifier are handled by the same routine, this is, coupled with [[ ]] usage above, the point of this post.
In normal time, mIRC remember where he already replaced some [ ] pair or [[ ]] pair, this can be illustrated by:

//echo -ag A [ $+ B $+ ] C -- $mid(A [[ $+ B $+ ]] C,1)displaying ABC -- A [B] C

What's not normal time then? It's when you add $+ on the outside of the [[ ]] pair which is what I'm doing above inside $regex.
Let's put a single $+ on the right of the pair:

//echo -ag A [ $+ B $+ ] $+ C -- $mid(A [[ $+ B $+ ]] $+ C,1)displays ABC -- ABC, showing that when $mid check its parameter and sees the first parameter 'A [ $+ B $+ ] $+ C' mIRC no longer remember that it must not touch that new [ ] pair and handle it as evaluation bracket.

Let's put a single $+ on the left:

//echo -ag A $+ [ $+ B $+ ] C -- $mid(A $+ [[ $+ B $+ ]] C,1)displays A-- A[B] C, showing that mIRC did remember this time for the [[ ]] inside the $mid. "A--" can be more or less explained, "[ A $+ ] B" is a known odd format which is not useful, this case seems to be a mix of it and because of the extra $+ on the left of [[, B and C are completely removed but it's not really important.

Let's put both like in my $regex above:

//echo -ag A $+ [ $+ B $+ ] $+ C -- $mid(A $+ [[ $+ B $+ ]] $+ C,1) displays AC -- AC, showing that well A $+ [ $+ B $+ ] $+ C = AC, but definitely showing that it's the $+ on the right that makes the [[ $+ B $+ ]] part gone in my code, resulting in the quantifier '++' being attached to nothing.


Conclusion? Don't use [[ ]] to get [ ] when it comes in pair, as inside an identifier with the wrong $+ placement, you'll get unexpected result although the code is technically correct, use $chr(91) and $chr(93), and this is I believe why it's deprecated and why it was removed from the help file.


Thanks for watching!
0 217 Read More
Connection Issues Jump to new posts
SSL certificate verify failed Runey 25/10/23 09:45 PM
First off, I know it has been discussed a lot already, but I'm having loads of trouble getting this to work.
As the title says, I've been trying to figure out how to solve the issue for hours. However, no luck. Since I don't really know how else to describe what I'm dealing with, I'll leave a picture which shows exactly what happens when I try to connect to the server.

[Linked Image from i.imgur.com]

I found a couple answered threads which had reflected on the same problem (sort of), but either I'm doing something wrong or I don't understand what needs to be done.

The most common reason for seeing "SSL certificate verify failed" is that you are trying to connect to a server that is using an invalid certificate. You can try changing the SSL settings in the Options/Connect/Options/SSL dialog to "Display invalid certificates for approval" to see if that makes a difference.

In my case, it doesn't, the problem remains. I tried relogging several times, but it's persistently (although very kindly) telling me to back off and eventually give up.

Thanks for your bug report. That is because the servers are using STS whose purpose is to prevent man-in-the-middle attacks by requiring a stricter connection policy to a specific address and port and validation of the certificate. You will need to contact the administrators to ask them to either remove the stricter requirement of STS or to fix their certificate. That said, if they remove the requirement for STS on their servers, the STS protocol requires clients to continue using the saved STS details until they expire. You would need to use the clear history option to delete your SSL and STS cache in mIRC to be able to connect to the servers with an invalid certificate once they have removed STS support.

If I got it right, I basically have no option other than waiting for an administrator (of the server) to try one of those in order to make the server available again. I've searched through options and couldn't find anything of help or assistance, leaving me completely helpless.
I reinstalled mIRC, didn't work. I made sure to remove both SSL and STS cache (upon exit), still no satisfying result.

I'm sincerely hoping to get some answers which could fix the problem in the long term or get me to understand what is going on at least.
Apologies in advance if my questions/conclusions tend to sound stupid, but I'm just clueless right now. Thanks! smile
0 408 Read More
Scripts & Popups Jump to new posts
Link Window to dialog question atomic10 24/10/23 08:34 AM
Hi

First of all, sorry for my bad English. I come from Germany. wink

following question:

is it possible to link a /window to a /dialog?

So when one shifts, the other follows it...

I hope you understand what I mean

Thanks for the help
0 365 Read More
Feature Suggestions Jump to new posts
set new position/size with /did -p name id x y w h Piratoshi 24/10/23 01:46 AM
Sup Khaled!

It would be nice to have a -p switch on /did command to set a new position/size to a control on a dialog:

/did -p name id [n] [text | filename | x y w h]

-p set a new position/size for the control

🙏
0 364 Read More
Feature Suggestions Jump to new posts
$chan in documentation TrioAshburry 10/10/23 05:57 AM
In the documentation for $chan it says for .status:

Quote
The status property returns the value joining, joined, or kicked.

However it does NOT state the status of parted or parting. "Parted" when the channel windows remain open after parting (or being kicked), is possible. "Parting" when the part command has been sent but the PART protocol has not been received, yet. I don't know if "parting" has been implemented however
Code
if ($chan($chan).status == parted) { works. }
0 287 Read More
Feature Suggestions Jump to new posts
Feature to read and edit yml files Zenti 30/09/23 01:34 PM
I would be happy if you could read and edit yml files.
Similar to the $read and /write functions.

Spaces should also be taken into account when setting variables!
0 290 Read More
General Discussion Jump to new posts
New Network Towie 25/09/23 01:59 AM
Hi just wanting to know how we go about getting out network added to the next version of mirc ? Thanks smile
0 276 Read More
Scripts & Popups Jump to new posts
Control Bot by commands Epic 24/09/23 07:00 AM
Request from Robert

Please help me a bit with this code snippet. Thanks my friend !
Users or Admins (of Bot) can be able to use Bot commands if and only if the following two conditions are:

1. Must be present in the channel #userbot or #botadmin
2. Ip/hostmask must be in the file list userbot.txt or botadmin.txt

Here is my code write by myself:
Code
on *:text:#:{
  if (!$read(BOTCOMMAND_CHAN.txt,nwt,$chan)) { return }
  var %host $ial($nick).host 
  if ($read(userbot.txt,ntw,%host) && $nick ison #userbots) || ($read(botadmin.txt,ntw,%host) && $nick ison #botadmins) {
  tokenize 32 ($1-)
  if ($1 == ~command1) || ($1 == .command1) || ($1 == .command1) || ($1 == command1) {
  ....... (do command 1).......
  if ($1 == ~command2) || ($1 == .command2) || ($1 == .command2) || ($1 == command2) {
  ....... (do command 2).......
  if ($1 == ~command 3) || ( $1 == .command 3) || ($1 == !command 3) || ($1 == command3) {
  ........ (do command 3)......
  .....
  .....
    }
  }
}

;------------- file userbot.txt and botadmin.txt -------------
Ip/hostmask per line:

NickChat.users.undernet.org
102.245.32.51
254.114.52.78
........


------------------------------------------------------------------------------------------------------------------------------------------------------

Solution

Try using this script code:
Code
on *:TEXT:*:#:{
  if (!$read($file_bcc,ntw,$chan)) { return }
  if (!$on_access($ial($nick).host)) { return }
  if (!$on_chan(#userbot,#botadmin)) { return }
  ;----------------------------------------
  if (command1 isin $1 && $is_pref($1,!.~)) {
    echo -a 30test:38 $chan $nick - do $1
  }
  if (command2 isin $1 && $is_pref($1,!.~)) {
    echo -a 30test:38 $chan $nick - do $1
  }
  if (command3 isin $1 && $is_pref($1,!.~)) {
    echo -a 30test:38 $chan $nick - do $1
  }
}

alias -l file_bcc { return $scriptdir\botcomchan.txt }
alias -l file_user { return $scriptdir\userbot.txt }
alias -l file_admin { return $scriptdir\botadmin.txt }
alias -l on_access { if ($read($file_user,ntw,$1)) || ($read($file_admin,ntw,$1)) return $true }
alias -l on_chan { var %i 1 | while (%i <= $0) { if ($nick ison $eval($+($,%i),2)) return $true | inc %i } }
alias -l is_pref { if ($1) || ($left($1,1) isin $2) return $true }

Note: All files related to this script should be located in the same folder where the script itself is located. Take this as a rule for the future.
0 523 Read More
Page 1 of 2 1 2