Acro Script - 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.
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 ;-----------