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
Window/tab on Highlights eahm 03/04/20 11:40 PM
While I have a script now (https://forums.mirc.com/ubbthreads....ow-on-highlights-and-mentions#Post267048) I think it would be an awesome feature to add to the default mIRC options.

What do you guys think, I would like to see an option on mIRC Address Book > Highlight > $me > Edit Highlight.
0 36 Read More
Scripts & Popups Jump to new posts
QW.PPA - Addon for Peace and Protection 4.22 kap 02/04/20 05:42 PM
Not sure if there are any PnP users left, but I just finished a rough draft of a Q bot utility addon for Peace and Protection (Quakenet). It's usuable and feedback to make it better would be appreciated.

Can be obtained by downloading the zip file from https://github.com/peace-and-protection/PnPAddons422

Cheers!
0 22 Read More
mIRC Help Jump to new posts
extended script when someone subscribes? dah 02/04/20 12:18 AM
Okay, I've got a subscript that I use for twitch for the chatbot that I use. I saw someone continue their sub with an extended sub and my message didn't trigger to thank the user for subscribing.
Could someone out there in the coding world help me out, please? Here is the current script I use

Quote
raw USERNOTICE:#umadbrahlive:{
if (($msgtags(msg-id).key == sub) && ($msgtags(room-id).key == 147554495)) {
var %nick $iif($msgtags(display-name).key, $v1, $msgtags(login).key)
var %sub-plan $replace($msgtags(msg-param-sub-plan).key, 1000, $chr(36) $+ 4.99, 2000, $chr(36) $+ 9.99, 3000, $chr(36) $+ 24.99, Prime, Prime)
msg $1 /me bingOMG bingHey █ NEW SUB █ bingHeart bingHype Thank you %nick for subscribing with a %sub-plan Sub! bingPat
}
if (($msgtags(msg-id).key == resub) && ($msgtags(room-id).key == 147554495)) {
var %nick $iif($msgtags(display-name).key, $v1, $msgtags(login).key)
VAR %sub-plan $replace($msgtags(msg-param-sub-plan).key, 1000, $chr(36) $+ 4.99, 2000, $chr(36) $+ 9.99, 3000, $chr(36) $+ 24.99, Prime, Prime)
msg $1 /me bingOMG bingHey █ RESUB SUB █ bingHeart bingHype %nick has just resubscribed for $msgtags(msg-param-cumulative-months).key months in a row with a %sub-plan Sub! bingPat
}
if (($msgtags(msg-id).key == subgift) && ($msgtags(room-id).key == 147554495)) {
var %nick_from $iif($msgtags(display-name).key, $v1, $msgtags(login).key) , %nick_to $iif($msgtags(msg-param-recipient-display-name).key, $v1, $msgtags(msg-param-recipient-user-name).key)
VAR %sub-plan $replace($msgtags(msg-param-sub-plan).key, 1000, $chr(36) $+ 4.99, 2000, $chr(36) $+ 9.99, 3000, $chr(36) $+ 24.99)
msg $1 /me bingOMG bingGift █ GIFT SUB █ bingHeart bingGift Thank you %nick_from for gifting a %sub-plan sub to %nick_to $+ ! bingPat
}
on *:TEXT:*subscribed*:#umadbrahlive:{
ELSEIF (%msg-id == sub) {
ELSEIF (%msg-param-sub-plan == Prime) MSG $1 tatPrime %name just subscribed with Twitch Prime! tatPrime
}
}
}
0 38 Read More
Scripts & Popups Jump to new posts
twitch audio command kirtym 01/04/20 03:22 PM
i making a mirc bot for my twitch channel so i was wondering anyone know the code that i can use so that when i use a specific command, a audio file will play smile
0 17 Read More
Scripts & Popups Jump to new posts
twitch audio command kirtym 01/04/20 02:09 PM
so i made a mirc bot in glitch.com so i was wondering if anyone know how to make it so when u type in a command such as !hi it will play a specific audio i been search online for quite some time but i didnt find it so i was wondering if anyone here can help me smile
0 9 Read More
Scripts & Popups Jump to new posts
get messages area of channel Doctor_Souza 29/03/20 04:53 AM
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 42 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 29 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 57 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 36 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 26 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 37 Read More
mIRC Help Jump to new posts
lpopup t00 16/03/20 07:22 PM
Hello

I have the following error:

When assigning voice, halfop or op by right-clicking on a user, I get the following message in the status window:

[16.03.20/20:16:53] #test v * You must specify a parameter for the voice mode. Syntax: <nick>.
[16.03.20/20:16:53] #test v * You must specify a parameter for the voice mode. Syntax: <nick>.

only 1 person is marked

I guess he wants to give voice to 3 people


as soon as I adjust the popups.ini from
n9=.Voice:/mode # +vvv $$1 $2 $3

to

n9=.Voice:/mode # +vvv $1 $2 $3

it works fine

Versions:
mirc761
InspIRCd-3.5.0

Regards

t00
0 68 Read More
Feature Suggestions Jump to new posts
$urltitle suggestion _entropy 15/03/20 09:18 PM
It would be nice if there was a simple way to grab the title from a website.

$urltitle(https://mircscripts.net) - returns title
$urltitle(https://mircscripts.net).keywords - returns page keywords
$urltitle(https://mircscripts.net).description - returns page description

This would be excellent to have, since $urlget is difficult to grab the title and is inefficiant.

Thanks!



0 69 Read More
Feature Suggestions Jump to new posts
Add floor division to /var Wims 14/03/20 09:00 PM
//var -s %a 2 // 3 doesn't produce 0 but plain text 2 // 3.
0 45 Read More
mIRC Help Jump to new posts
Gifted sub issue (individual message error) dah 13/03/20 07:40 PM
Hello, there guys my mind is melting can't figure it out on how I want the gifted subscript so it wouldn't trigger each individual sub.
I want it so it doesn't display a message for each individual sub.
I want the script so if someone gifted x`1 gifted sub it will say &name has gifted tier 1 sub to &name_nick (whatever the code is but you get the point where I'm coming from)


This is the script I'm currently using right now. If anybody can help me this would help me out a lot. The new sub and resub script works fine so does the sub gifting script but I just don't want to display the thank you message for each individual sub. For an example when someone gifts 5 gifted subs I got it so it display 5 messages thanking the people who got gifted. I will show you how I got it set up so you know what I mean.
Quote
if (($msgtags(msg-id).key == subgift) && ($msgtags(room-id).key == 191409899)) {
var %nick_from $iif($msgtags(display-name).key, $v1, $msgtags(login).key) , %nick_to $iif($msgtags(msg-param-recipient-display-name).key, $v1, $msgtags(msg-param-recipient-user-name).key)
VAR %sub-plan $replace($msgtags(msg-param-sub-plan).key, 1000, $chr(36) $+ 4.99, 2000, $chr(36) $+ 9.99, 3000, $chr(36) $+ 24.99)
msg $1 /me bingOMG bingGift ██ GIFT SUB ██ bingHeart bingGift Thank You %nick_from for gifting a %sub-plan sub to %nick_to $+ ! bingPat
}


[Linked Image from i.imgur.com]

A simple script I would like is to show a thank message saying "name" thanks for giving 5 gifted subs!" something like that for an example. Having the code so it thanks to each individual person I don't want that so that's why I came here for the help. If anybody can help me that would be nice of you.
0 62 Read More
Feature Suggestions Jump to new posts
$CTIMEMS with millisecond decimal value Raccoon 10/03/20 12:24 AM
Would it be possible to add a 3 digit decimal milliseconds value to CTIME with the identifier $ctimems

$ctimems == 1583799263.890 (zero padded 3 digit decimal value, string appended to the standard $ctime value)

I understand that SYSTEMTIME and FILETIME structures support up to 1/10,000 second decimal values, even if the system clock crystal doesn't necessarily support more than 1/64 to 1/100 resolution. The availability of a system clock defined milliseconds value would be invaluable in a number of scripts, games, logging and debugging. The utility of $ticks falls short when the user necessitates a clock-synchronized value. It is impossible to synchronize a clock seconds zero-crossing with $ticks.

People would also be interested in an $asctime() and $timestampfmt that can print milliseconds from the current clock time or a supplied $ctimems input value.

Thanks for your consideration.
0 91 Read More
mIRC Help Jump to new posts
Highlight messages dah 10/03/20 12:15 AM
Hello, there world, I'm using mIRC of course and I was wondering how to make a certain message highlight or an example if someone @'s me in a twitch channel the message will turn yellow in the mIRC application itself..and if someone subscribes the message will highlight purple for me?
0 72 Read More