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
get messages area of channel Doctor_Souza 6 hours ago
hi im makeing a mirc dll, i get nicklist using this command "FindWindowExA(strtoint(string(gettok(data,' ',1))),0,'listbox',nil)", but how to get messages area?
0 14 Read More
Scripts & Popups Jump to new posts
Re: Message to another network Wims Yesterday at 01:33 PM
Hello, it's possible using scon or /scid

/scon works with connection number, the first status window is connection 1, the next one 2 etc.

/scid works with connection ID, the first status window may have any ID, like 2, while the second status window may have 1

Inside your event, you can use $cid to get the current connection ID, there are no $con equivalent to get the connection number, but it can be scripted with a loop over $scid or $scon.

You need to find a way to identify your network1 via its connection id or number, and then simply use in your event, /scid <network1_id> | msg $chan ... (or /scon <network1_Nth_status window)

Watch out, /scid <id> msg $chan ... is a syntax that works, you can include a command in /scid to be executed on the given connection, but this double evaluate your parameter, so make sure to use two differents commands there for /scid (or /scon) and /msg

https://en.wikichip.org/wiki/mirc/commands/scid
https://en.wikichip.org/wiki/mirc/commands/scon
1 24 Read More
Scripts & Popups Jump to new posts
Re: help with script TECO Yesterday at 01:19 PM
In this line:
Code
remove-stats-channel $network $+ @ $+ $chan

Alter for this:
Code
remove-stats-channel $network $+ @ $+ #Skinnerbek
6 154 Read More
Scripts & Popups Jump to new posts
Re: My color schemes eahm Yesterday at 07:28 AM
And while I was already there... I added few more with 192,192,192. How many themes does one need?

https://pastebin.com/TswKTHa5

https://pastebin.com/raw/TswKTHa5

I use "mmIRCBlueStuff2" btw, which one do you guys use?
40 10,334 Read More
Scripts & Popups Jump to new posts
Re: Message window on highlights and mentions eahm Yesterday at 01:32 AM
Ok, two more fixes:

1) The script didn't work with /me msgs.
2) If the msg was starting with a number the script was re-coloring the whole mentioned msg.

Code
on *:TEXT:*:#:{
  if ($me isin $strip($1-)) {
    echo -dt $+ $msgstamp $+($chr(3),4,#,$chr(3) < $+ $chr(3),2,$nick,$chr(3),> $+ $chr(3),7 $1-)
  }
}
on *:ACTION:*:#:{
  if ($me isin $strip($1-)) {
    echo -dt $+ $msgstamp $+($chr(3),4,#,$chr(3) $chr(3),6,*,$chr(3) < $+ $chr(3),2,$nick,$chr(3),> $+ $chr(3),7 $1-)
  }
}

Thanks to KindOne on ##mirc/freenode for the first point's suggestion fix.
5 2,929 Read More
Scripts & Popups Jump to new posts
Kubot, a script-loader/editing suite for Streamers KubosKube 27/03/20 11:33 PM
To start things with what some future people may have time-traveled to get to, here's the link to v0.1 of Kubot on Github:

core.kubot-v0.1

Now for the description and the reasoning behind.



I am an avid coder and Twitch streamer. Don't get that confused with "advanced" though.
When I write scripts for mIRC, I tend to group projects into their own files, whether or not that's the recommended way to do it.
I also have also made several scripts to date, each in their own file, and I plan to keep going for a long while, making many more files.

So I decided to make a script that can manage other scripts. That is the main function of the module I linked above, was to load/unload scripts at the click of a few buttons.

I also thought to myself, "Twitch bots commonly use '!' as the start of a command, so I could make one alias that catches all '!*' messages and turns them into commands."
So I did.


I plan to keep this project open for a while, and continually add to it through the coming days, months, or years, however long I can keep interest in this.


I realize that there may be a more efficient way of doing things, but this is fun, this is mine, and we're gonna perfect it.
The goal is complete modular function, so this project is more or less limited to loading scripts and providing a library of aliases I plan to use throughout the whole project.

I would love if some of the veterans here could check my code for vulnerabilities and exploits, and if anyone sees anything lacking, I encourage you to make a comment below or leave a comment in Github's Issue tracker.
0 15 Read More
Feature Suggestions Jump to new posts
improve $ticks accuracy. Wims 27/03/20 09:09 PM
$ticks uses the Windows api function GetTickCount64.

This has been discussed and requested many times in the past, this function is limited to the accuracy of the system timer, typically 10-16ms.

I would like $ticks to be updated to use the the QueryPerformanceCounter function which has an accuracy of under 1ms.

Not only it provides way more accurate timing for daily timing task, but as suggested in previous thread, it simply allows for more.

Previous suggestions:
https://forums.mirc.com/ubbthreads.php/ubb/showflat/Number/4911/
https://forums.mirc.com/ubbthreads.php/ubb/showflat/Number/75913/
https://forums.mirc.com/ubbthreads.php/ubb/showflat/Number/81320/
http://forums.mirc.com/ubbthreads.php/ubb/showflat/Number/147241/

I'm reading the value may be null, but I think it's fine to check QueryPerformanceCounter first, and if that comes out null, return the gettickscount64 value.

Note: since it returns a value that is not in millisecond, it cannot replace $ticks, we need a new identifier like $hticks for high-res ticks.
0 34 Read More
Feature Suggestions Jump to new posts
Improve /drawcopy on same source/dest Wims 27/03/20 01:13 PM
When I compare the time it takes for:

/drawcopy @source 0 0 400 400 @dest 0 0
and
/drawcopy @dest 0 0 400 400 @dest 0 0

I get extremely slow result when the source equals the destination. Here is the test for different source and destination:

Quote
//window -pdfh @test -1 -1 400 400 | window -pdfh @test1 -1 -1 400 400 | var %a 10000,%t $ticks | while (%a) { drawcopy @test1 0 0 400 400 @test 0 0 | dec %a } | echo -a $calc($ticks - %t) | close -@ @test*
I get 1779 ticks. With same source/dest:
Quote
//window -pdfh @test -1 -1 400 400 | window -pdfh @test1 -1 -1 400 400 | var %a 10000,%t $ticks | while (%a) { drawcopy @test 0 0 400 400 @test 0 0 | dec %a } | echo -a $calc($ticks - %t) | close -@ @test*
I get 6287 ticks.

I believe that it should not matter if the source is the same as the destination, it should be the same copy of a buffer, so the same speed, if anything it should be faster because there are less ressources being used confused

I think that drawcopy can be improved in speed when source = destination, if you could please take a look at it smile
0 27 Read More
Scripts & Popups Jump to new posts
userlist clean up Stephen 27/03/20 12:28 AM
I am trying to come up with a scripted way to create a list of users on the UAL that have not been send in some time.

I have a seen script that uses $ctime so is it possible to create a script that will pull each name from the UAL, look it up in the !seen script (nickname.ini) pull the $cdate and generate a sorted text file that I could then determine if the user has not been since in say in 5 weeks or more remove them from the UAL?

Anyone have any ideas?
0 28 Read More
Scripts & Popups Jump to new posts
Re: What is missing in that code? An0o 26/03/20 09:52 PM
not wark in all channels
6 267 Read More
Scripts & Popups Jump to new posts
hey bn with dialog An0o 26/03/20 09:47 PM
hello ,
i need make this code with dialog
add/remove badnick
on/off text and nick
list badnick


Code
menu menubar {
  Bbn
  .$iif($group(#3).status == on,$style(1),$style(0)) $+ Enable BlackList: $iif($group(#3).status == on,.disable,.enable) #3

}
ON *:START: {
  if (!$isfile(badnick.list)) && (!$lines(badnick.list)) { return }
  hmake badnick 1000
  hload badnick badnick.list 
}

alias bnadd {
  tokenize 32 $strip($1-)
  if (!$1) { echo -a Error: Please specify a badnick! | return }
  if ($hfind(badnick,$1,0,W).data) { echo -a Now You Just Added The BadNick On List $+([,$chr(32),$hget(badnick,$hfind(badnick,$1,1,W).data),$chr(32),]) Existing Mask. | return }
  var %n = $left($calc($ctime * $rand(1000,9999)),7)
  hadd -m badnick %n $1
  hsave -o badnick badnick.list
  echo -a $1 BadNick Added On The List. - Total: $hget(badnick,0).data
}

alias bndel {
  tokenize 32 $strip($1-)
  if (!$1) { echo -a Error: Please specify a badnick! | return }
  if (!$hfind(badnick,$1,0,W).data) { echo -a BadWord Does Not Exist On List. | return }
  hdel -ms badnick $hfind(badnick,$1,1,W).data
  hsave -o badnick badnick.list
  echo -a $1 BadWord Is Deleted From The List. $iif($hget(badnick,0).data,- Total: $v1)
}

alias bnlist {
  var %t = $hget(badnick,0).data
  if (!%t) { echo -a BadWord List Is Empty. | return }
  echo -a Badnick list:
  echo -a -
  var %i = 1 | while (%i <= %t) { echo -a %i $+ ): [ $hget(badnick,%i).data ] | inc %i }
  echo -a -
  echo -a End Of Badnick List... - Total: $hget(badnick,0).data
}
#3 on
ON !*:JOIN:#:{
  if ($me isop $chan) || ($me ishop $chan) {
    if (!$hfind(badnick,$nick,1,W).data) { return }
    ban -ku77200 # $nick 2
  }
}
ON !*:NICK: {
  if ($hfind(badnick,$newnick,1,W).data) && ($comchan($newnick,0)) {
    var %t = $comchan($newnick,0)
    var %i = 1
    while (%i <= %t) {
      var %c = $comchan($newnick,%i)
      if ($me isop %c) && ($newnick ison %c) && ($newnick isreg %c) {
        ban -ku77200 %c $newnick 2 
      }
      inc %i
    }
  }
}
#3 end
0 13 Read More
Scripts & Popups Jump to new posts
Acro Script DragonRyder 26/03/20 08:34 PM
the script has been worked on and modded over time. I am looking for help to add in a setting to enable/disable acros by channel and not just by the network.
If anyone can assist in this it is greatly appreciated.
Code
[Addon]
Script=DragonRyder Acro Manager
Version=8.1
Author=DragonRyder Development Team
Desc=Provides PreDefined Acronym's For DragonRyder v13.5 Script
For=DragonRyder v13.5
Date=May 10th 2013

on *:load: {
  echo -s 12================================================
  echo -s 15-=  DragonRyder Acro Manager Loaded.  =-
  echo -s 12================================================
}

on *:unload: {
  echo -s 12================================================
  echo -s 15-=  DragonRyder Acro Manager Unloaded.  =-
  echo -s 12================================================
}

on *:input:*:{
  ;echo -a $active / $target

  ;--mircs readini for the set command char (Normally '/')
  var %cr = $readini($mircini,text,commandchar)

  if ( $1 == /ctcp ) {
    %trigger = $1-
  }
  elseif (!$inpaste && (($active != Status Window && ($left($1,1) != %cr || $istok(/me /ame /msg /amsg /say /query /onotice /omsg /notice,$1,32))))) {
    ;--Acros: check network, and if allowed,
    ;--       replace all found acros using
    ;--       '$acro.chknt()'.. 
    tokenize 32 $acro.chknt($network,$1-)

    var %drdevacros = $null
    var %drdevn = 1


    if $istok(/me /ame /msg /amsg /say /query /onotice /omsg /notice,$gettok($1-,%drdevn,32),32) {
      %drdevacros = $gettok($1-,%drdevn,32)
      inc %drdevn
      ;-----------------
      if ($gettok($1-,%drdevn,32) == $null) {
        echo -ag 15* %drdevacros $+ : insufficient parameters
        halt
      }
      if (%drdevacros == /query) {
        %drdevacros = %drdevacros $gettok($1-,%drdevn,32)
        inc %drdevn
      }
      ;-----------------
      elseif (%drdevacros == /onotice && $left($gettok($1-,%drdevn,32),1) == $chr(35)) {
        if ($me !ison $gettok($1-,%drdevn,32)) {
          echo -ag 15* $gettok(%drdevacros,1,32) $+ : you're not on that channel
          halt
        }
        %drdevacros = %drdevacros $gettok($1-,%drdevn,32) 04
        inc %drdevn
      }
      elseif (%drdevacros == /onotice && $left($gettok($1-,%drdevn,32),1) != $chr(35)) {
        if ($me !ison $active) {
          echo -ag 15* $gettok(%drdevacros,1,32) $+ : you're not on a channel
          halt
        }
        %drdevacros = %drdevacros 04
      }
      ;-----------------
      elseif (%drdevacros == /omsg && $left($gettok($1-,%drdevn,32),1) == $chr(35)) {
        if ($me !ison $gettok($1-,%drdevn,32)) {
          echo -ag 15* $gettok(%drdevacros,1,32) $+ : you're not on that channel
          halt
        }
        %drdevacros = %drdevacros $gettok($1-,%drdevn,32) 04
        inc %drdevn
      }
      elseif (%drdevacros == /omsg && $left($gettok($1-,%drdevn,32),1) != $chr(35)) {
        if ($me !ison $active) {
          echo -ag 15* $gettok(%drdevacros,1,32) $+ : you're not on a channel
          halt
        }
        %drdevacros = %drdevacros 04
      }
      ;-----------------
      elseif (%drdevacros == /notice) {
        %drdevacros = %drdevacros $gettok($1-,%drdevn,32) 04
        inc %drdevn
        if ($gettok($1-,%drdevn,32) == $null) {
          echo -ag 15* $gettok(%drdevacros,1,32) $+ : insufficient parameters...
          halt
        }
      }
      ;-----------------
      elseif (%drdevacros == /msg) {
        %drdevacros = %drdevacros $gettok($1-,%drdevn,32)
        inc %drdevn
        if ($gettok($1-,%drdevn,32) == $null) {
          echo -ag 15* $gettok(%drdevacros,1,32) $+ : insufficient parameters....
          halt
        }
      }
    }
    ;-----------------
    else {
      %drdevacros = /say
    }

    ;-----------------
    while ($gettok($1-,%drdevn,32) != $null) {
      if ($gettok($1-,%drdevn,32) == $chr(59)) {
        %drdevacros = %drdevacros $gettok($1-,%drdevn,32)
      }

      elseif ($right($gettok($1-,%drdevn,32),1) == $chr(59)) {
        var %drdevnicktest = $left($gettok($1-,%drdevn,32),-1)
        if (%drdevnicktest ison # || $active == %drdevnicktest) {
          %drdevacros = %drdevacros  %dev_acro_f $+ « $+  $+ %dev_acro_s $+ %drdevnicktest $+  %dev_acro_f $+ »
        }
        else {
          %drdevacros = %drdevacros $gettok($1-,%drdevn,32)
        }
      }

      else {
        %drdevacros = %drdevacros $gettok($1-,%drdevn,32)
      }
      inc %drdevn
    }
    ;-----------------
    if ($1-2 == /me humps) {
      if ($readini(settings.ini,n,settings,counthumps)) {
        var %humpcount = $calc($readini(settings.ini,n,info,humpcount) + 1)
        %drdevacros = %drdevacros $+($chr(40),$chr(35),%humpcount,$chr(41))
        writeini -n settings.ini info humpcount %humpcount
      }
    }
    ;-----------------
    if ($numtok(%drdevacros,32) > 1) {
      %drdevacros
    }
    haltdef
  }
}

raw 353:*:{ haltdef }

raw 366:*:{ haltdef }

menu channel {
  ;  DragonAcro Color Blends:dialog -m dr_dev_acro_colors dr_dev_acro_colors
  DragonAcro Manager
  .Acro Manager:dialog -m dr_dev_acro_man dr_dev_acro_man
  .-
  .$iif($acro.chknt($network).menua,Allow,Disallow) Global Acros:echo -a $acro.chknt($network,$iif($acro.chknt($network).menua,$true,$false)).updatea
  .$iif($acro.chknt($network).menun,Allow,Disallow) Network Acros:echo -a $acro.chknt($network,$iif($acro.chknt($network).menun,$true,$false)).updaten
  -
}
dialog dr_dev_acro_colors {
  title "DragonAcro Color Blends"
  size -1 -1 165 25
  option dbu
  combo 1, 2 11 60 50, drop
  combo 2, 64 11 60 50, drop
  text "First Color", 3, 2 2 59 8, center
  text "Second Color", 4, 64 2 59 8, center
  button "Set Colors", 5, 126 4 37 18
}
on *:dialog:dr_dev_acro_colors:*:*: {
  if ($devent == init) {
    var %c = White:Black:Blue:Green:Red:Brown:Purple:Orange:Yellow:Neon Green:Cyan:Light Cyan:Light Blue:Pink:Grey:Light Grey
    didtok $dname 1,2 58 %c | did -c $dname 1,2 1
  }
  elseif ($devent == sclick) {
    if ($did == 5) {
      var %f = $base($calc($did($dname,1).sel - 1),10,10,2), %s = $base($calc($did($dname,2).sel - 1),10,10,2)
      set %dev_acro_f $+($chr(3),%f) | set %dev_acro_s $+($chr(3),%s)
    }
  }
}
;
;EOF


;--------------------------------------------------------------------


alias mdxm { return System\Dlls\mdx\MDX.DLL }
alias dlgdll { return System\Dlls\mdx\dialog.mdx }
alias mdxsetmark { dll $mdxm SetMircVersion $version | dll $mdxm MarkDialog $1 $dialog($1).hwnd }
alias mdxsetcont { dll $mdxm SetControlMDX $1 $2- }

on *:start: { acro.load }
alias acro.load {
  var %hg = $acrtbl
  if (!$hget(%hg)) {
    hmake %hg 100
    if ($exists($acrdf)) { hload %hg $acrdf | echo -ast * 03Loaded Acronym Data. }
    else { echo -ast 04* Error: Acro Data File Not Found. }
  }
}
alias acrtbl { return dr_acro_data }
alias acrdf { return $qt($+($scriptdir,$acrtbl,.hs)) }
alias acro.chknt {
  var %f = settings.ini, %t = acro_cknet_dis, %n = $1, %txt = $2-, %ri = $readini(%f,%t,networks)

  if ($prop == updatea) { writeini -n %f %t active $iif($2,1,0) | return Acronyms are now $iif($2,03Allowed,04Disallowed) Globaly }
  if (!$readini(%f,%t,active)) { if ($prop == menua) { return $true } | return %txt }
  if ($prop == menua) { return $false }

  if ($prop == updaten) { writeini -n %f %t networks $iif($2,$remtok(%ri,%n,44),$addtok(%ri,%n,44)) | return Acronyms are now $iif($2,03Allowed,04Disallowed) on $+(,%n,.) }
  if ($istok(%ri,%n,44)) { if ($prop == menun) { return $true } | return %txt }
  if ($prop == menun) { return $false }

  return $acro.chk(%txt)
}
alias acro.chk { var %t = $1-, %r = $regsubex($str(.,$numtok(%t,32)),/./g,$acro.rchk($gettok(%t,\n,32)) $+ $chr(32)) | return %r }
alias acro.rchk { if ($hget($acrtbl,$+($crc($1,0),.,$1))) { return $acro.repc($v1) } | else { return $1 } }
alias acro.repc {
  var %t = $1-, %rgx = \x80-\xFFa-zA-Z-\?\'\\08
  var %t = $regsubex(%t,/\\1([ $+ %rgx $+ ]+)/g,$+(%dev_acro_f,\1))
  var %t = $regsubex(%t,/\\2([ $+ %rgx $+ ]+)/g,$+(%dev_acro_s,\1))
  var %t = $regsubex(%t,/\\b([ $+ %rgx $+ ]+)/g,$+(,\1,))
  var %t = $regsubex(%t,/\\i([ $+ %rgx $+ ]+)/g,$+(,\1,))
  var %t = $regsubex(%t,/\\u([ $+ %rgx $+ ]+)/g,$+(,\1,))
  if ($count($(%t,2),$chr(3))) { var %t = $+(%t,$chr(3)) } | return %t
}
alias zpdr { return $base($1,10,10,2) }
alias dcrc { return $+($crc($$1,0),.,$$1) }

dialog dr_dev_acro_man {
  title "DragonAcro Manager"
  size -1 -1 181 186
  option dbu
  button "Button", 8, 84 55 85 30
  box "Colors", 3, 84 103 91 61
  box "Acronyms", 9, 6 32 169 132
  radio "First (\1)", 2, 88 130 40 10
  radio "Second (\2)", 4, 129 130 40 10, left
  combo 1, 89 113 79 50, drop
  button "Set Color", 5, 95 146 67 11
  combo 7, 11 41 67 118, sort edit
  edit "", 6, 84 41 85 10, multi autohs
  button "Set/Add", 10, 93 89 33 11
  button "Delete", 12, 127 89 33 11
  box "Disabled Networks", 13, 6 6 169 30
  combo 14, 10 17 124 50, edit drop
  button "Add", 22, 137 17 15 11
  button "Done", 24, 136 168 37 12, ok cancel
  combo 20, 214 64 60 50, edit drop
  combo 21, 278 64 60 50, drop
  button "Set Input", 25, 341 64 33 11
  box "Input Command Colors", 26, 210 54 169 28
  button "Del", 11, 155 17 15 11
  check "Enabled", 15, 101 169 30 10
  check "Bold", 16, 268 98 25 10
  check "Italic", 17, 294 98 25 10
  check "Underline", 18, 320 98 35 10
  text "Work In Progress, Please dont remove the following controls.", 19, 214 29 164 13, center
}

on *:dialog:dr_dev_acro_man:*:*: {
  var %acw = @Acro_TMP, %acht = $acrtbl, %set = acro_settings
  var %sf = settings.ini, %sdt = acro_cknet_dis, %sit = acro_input_cmd
  var %tmpc2 = %dev_acro_f, %tmpc4 = %dev_acro_s
  if ($devent == init) {

    ;-----------
    window -Bh +fdl %acw
    mdxsetmark $dname | mdxsetcont $dname 8 window > $dlgdll
    did -a $dname 8 grab $window(%acw).hwnd %acw

    ;-----------

    var %c = White:Black:Blue:Green:Red:Brown:Purple:Orange:Yellow:Neon Green:Cyan:Light Cyan:Light Blue:Pink:Grey:Light Grey
    didtok $dname 1,21 58 %c | did -c $dname 1,21 1

    var %x = 1 | while (%x <= $hget(%acht,0).item) { did -a $dname 7 $gettok($hget(%acht,%x).item,2-,46) | inc %x }
    did -c $dname 7 1 | clear %acw | aline -p %acw $acro.repc($hget(%acht,$dcrc($did($dname,7).text)))

    did -ra $dname 6 $hget(%acht,$dcrc($did($dname,7).text))

    var %sel = $remove(%tmpc2,$chr(3)), %sel = $regsubex(%sel,/^0/g,)
    did -c $dname 1 $calc(%sel + 1) | did -c $dname 2

    var %x = 1 | while (%x <= $ini(%sf,%sit,0)) { did -a $dname 20 $ini(%sf,%sit,%x) | inc %x }
    did -c $dname 20 1 | var %ci = $readini(%sf,%sit,$did($dname,20).text)

    var %sel = $remove(%ci,$chr(3)), %sel = $regsubex(%sel,/^0/g,)
    did -c $dname 21 $calc(%sel + 1)

    did -r $dname 14 | didtok $dname 14 44 $readini(%sf,%sdt,networks)
    did -c $dname 14 1

    if ($readini(%sf,%sdt,active)) { did -c $dname 15 }
  }
  elseif ($devent == edit) {
    if ($did == 6) {
      clear %acw | aline -p %acw $acro.repc($did($dname,6).text)
    }
  }
  elseif ($devent == sclick) {
    ;echo -a $devent - $did
    var %rt = $did($dname,7).text, %rt = $hget(%acht,$dcrc(%rt))
    if ($istok(1 2 4,$did,32)) {
      if ($did != 1) {
        var %sel = $remove(%tmpc [ $+ [ $did ] ],$chr(3)), %sel = $regsubex(%sel,/^0/g,)
        did -c $dname 1 $calc(%sel + 1)
      }
      var %zpn = $zpdr($calc($did($dname,1).sel - 1))
      clear %acw | aline -p %acw $+($chr(3),%zpn,$did($dname,1).seltext)
    }
    elseif ($istok(5 7,$did,32)) {
      var %zpn = $zpdr($calc($did($dname,1).sel - 1))
      if ($did == 5) {
        if ($did($dname,2).state) { set %dev_acro_f $+($chr(3),%zpn) }
        elseif ($did($dname,4).state) { set %dev_acro_s $+($chr(3),%zpn) }
      }
      clear %acw | aline -p %acw $acro.repc(%rt) | did -ra $dname 6 %rt
    }
    elseif ($istok(10 12,$did,32)) {
      var %t = $did($dname,6).text, %l = $did($dname,7).text, %h = $iif($did == 12,hdel,hadd)
      %h -m %acht $dcrc(%l) %t | hsave %acht $acrdf | did -r $dname 7
      var %x = 1 | while (%x <= $hget(%acht,0).item) { did -a $dname 7 $gettok($hget(%acht,%x).item,2-,46) | inc %x }
      did -c $dname 7 $didwm($dname,7,%l)
    }
    elseif ($istok(11 22,$did,32)) {
      var %ri = $readini(%sf,%sdt,networks), %nt = $did($dname,14).text
      var %ri = $iif($did == 22,$addtok(%ri,%nt,44),$remtok(%ri,%nt,1,44))
      writeini -n %sf %sdt networks %ri
      did -r $dname 14 | didtok $dname 14 44 %ri

    }
    elseif ($did == 15) { writeini -n %sf %sdt active $did($dname,15).state }
    elseif ($istok(16 17 18,$did,32)) {
      var %x = 1, %y = 16 17 18, %z = \b \i \u, %cc
      while (%x <= 3) { if ($did($dname,$gettok(%y,%x,32)).state) var %cc = $+(%cc,$gettok(%z,%x,32)) | inc %x }
      if ($did($dname,2).state) { writeini -n %sf %set c1 %cc }
      elseif ($did($dname,4).state) { writeini -n %sf %set c2 %cc }
    }
    elseif ($did == 20) {
      var %ci = $readini(%sf,%sit,$did($dname,20).text)
      var %sel = $remove(%ci,$chr(3)), %sel = $regsubex(%sel,/^0/g,$null)
      did -c $dname 21 $calc(%sel + 1)
    }
    elseif ($did == 25) {
      var %zpn = $zpdr($calc($did($dname,21).sel - 1))
      writeini -n %sf %sit $did($dname,20).text $+($chr(3),%zpn)
    }
  }
}
;-----------
;EOF
;-----------
0 18 Read More
Scripts & Popups Jump to new posts
Re: On Notice DragonRyder 26/03/20 07:57 PM
Quote
if ($2 $4-5 == invited into the) { noticeprint 14(10Invited14) 12What Nick15:10 $3 12What Channel15:10 $chan  }

$2 = invited
$3 = Your Nick (so is not needed)
$4 = into
$5 = the
so when you recieve a specific notice for invite this replaces the words and sends it into a specific window
7 512 Read More
Scripts & Popups Jump to new posts
Re: bug with dialog quartz 25/03/20 12:06 PM
Originally Posted by Wims
Quote
$count does work, it just only [apparently] works on the first line of the multi edit box
No, $count works on any string you pass it, it's $did() that is only returning the first line, so you're passing only one line to $count, it's not $count that is ditching away the rest.


ah..yeah..that was basically what I meant. $did was only returning the first line, $count was operating on that line

vague suggestion but would " $did(4,1-5) " be worth supporting? that returns lines 1 to 5, of ID4 in the dialog box. at the moment 1-5 needs the loop
so apparently $didtok does operate on the entire edit box contents, but $did only works on the first line (or specified line),,unless that could be intentional

Quote
And no, I was saying you could use on *:dialog:buttons:init:0: to automatically add the clipboard to the editbox, that way you only have to click a button.


yeah I'll be having the dialog box hopefully open most of the time because there are other buttons I'll use regularly

as it is using the line below, I just have to have the dialog open, all I need to do is ctrl-v - thats good enough smile

Quote
You can choose the character separating the lines in $didtok, you don't have to use a comma.


on 1:dialog:buttons:edit:2:did -ra buttons 3 $count($didtok(buttons,2,32), $chr(44)) | did -r buttons 2

works even better smile

Teco thanx, it's actually copying and pasting the list of names that are logged into a forum message board, vbulletin software
8 112 Read More
Bug Reports Jump to new posts
Re: /run not returning error message Jigsy 25/03/20 10:40 AM
Ah. Okay then.
2 89 Read More
Scripts & Popups Jump to new posts
Re: What's the meaning of this code? quartz 25/03/20 02:38 AM
does anyone know of any more demo scene type scripts? [apart from hawkee]
3 221 Read More
Feature Suggestions Jump to new posts
Re: Smart phone RockB 24/03/20 07:25 PM
mIRC works here on Linux, via Wine - I run mIRC from Linux.
Many Linux distributions already come with Wine in their package list.
On anything else that has Linux at its core (e.g. Android) you should be able to do the same.
Wine is available for Android https://wiki.winehq.org/Android.

Wine is a useful standby to have, to handle the few remaining legacy programs that one might have
that are unable (or unwilling) to join the rest of the world and be made portable.
2 109 Read More