This will list all the autoop (+w) modes in your channel. Useful for networks without services or making an autoop list services-independant. This mode is only on InspIRCd with the module m_autoop module loaded, to my knowledge.
Right click a channel and click Access List.
raw 910:*: {
if (%wlist.open == true) {
if ($left($right($3,- $+ $pos($3,:,1)),2) === R:) {
did -a WList 1 + $+ $left($left($3,$pos($3,:,1)),1) on nickserv account $right($right($3,- $+ $pos($3,:,1)),-2) set by $4 at $asctime($5)
}
elseif ($left($right($3,- $+ $pos($3,:,1)),2) === j:) {
if ($right($left($3,5),1) !isin ~&@%+) {
did -a WList 1 + $+ $left($left($3,$pos($3,:,1)),1) on user in channel $right($3,7) set by $4 at $asctime($5)
}
elseif ($right($left($3,5),1) == +) {
did -a WList 1 + $+ $left($left($3,$pos($3,:,1)),1) on user in channel $right($3,7) with mode +v (+) set by $4 at $asctime($5)
}
elseif ($right($left($3,5),1) == %) {
did -a WList 1 + $+ $left($left($3,$pos($3,:,1)),1) on user in channel $right($3,7) with mode +h (%) set by $4 at $asctime($5)
}
elseif ($right($left($3,5),1) == @) {
did -a WList 1 + $+ $left($left($3,$pos($3,:,1)),1) on user in channel $right($3,7) with mode +o (@) set by $4 at $asctime($5)
}
elseif ($right($left($3,5),1) == &) {
did -a WList 1 + $+ $left($left($3,$pos($3,:,1)),1) on user in channel $right($3,7) with mode +a (&) set by $4 at $asctime($5)
}
elseif ($right($left($3,5),1) == ~) {
did -a WList 1 + $+ $left($left($3,$pos($3,:,1)),1) on user in channel $right($3,7) with mode +q (~) set by $4 at $asctime($5)
}
}
elseif ($left($right($3,- $+ $pos($3,:,1)),2) === z:) {
did -a WList 1 + $+ $left($left($3,$pos($3,:,1)),1) on ssl fingerprint $right($3,-4) set by $4 at $asctime($5)
}
else {
did -a WList 1 + $+ $left($left($3,$pos($3,:,1)),1) on hostmask $right($3,- $+ $pos($3,:,1)) set by $4 at $asctime($5)
}
halt
}
}
raw 911:*: {
if (%wlist.open == true) {
halt
}
}
on 1:dialog:WList:sclick:3: {
if ($did(Wlist,1).seltext != $null) {
if ($?!="Are you sure you want to delete this entry?" == $true) {
tokenize 32 $did(WList,1).seltext
if ($3 == ssl) {
/mode %wlist.chan -w $+($right($1,1),:z:,$5)
}
elseif ($3 == user) {
if ($left($mid($10,2),1) isin +%@&~) {
/mode %wlist.chan -w $+($right($1,1),:j:,$left($mid($10,2),1),$6)
}
else {
/mode %wlist.chan -w $+($right($1,1),:j:,$6)
}
}
elseif ($3 == nickserv) {
/mode %wlist.chan -w $+($right($1,1),:R:,$5)
}
elseif ($3 == hostmask) {
/mode %wlist.chan -w $+($right($1,1),:,$4)
}
}
}
}
dialog WList {
title "mIRC Access Mode (+w) List"
size -1 -1 302 188
option dbu
tab "List", 4, 4 -2 296 184
button "Refresh", 2, 5 12 37 12, tab 4
button "Delete selected access entry", 3, 205 12 85 12, tab 4
list 1, 4 24 296 159, tab 4 size autovs
tab "Add", 5
radio "+v", 6, 12 18 21 10, tab 5, group
radio "+h", 7, 12 29 23 10, tab 5
radio "+o", 8, 12 40 20 10, tab 5
radio "+a", 9, 12 51 22 10, tab 5
radio "+q", 10, 12 62 22 10, tab 5
radio "+q", 18, 63 39 50 10, tab 5, group
radio "+a", 19, 63 47 50 10, tab 5
radio "+o", 20, 63 55 50 10, tab 5
radio "+h", 21, 63 63 50 10, tab 5
radio "+v", 22, 63 71 50 10, tab 5
radio "ison channnel", 16, 62 20 45 10, tab 5, group
radio "Hostmask", 24, 160 52 50 10, tab 5
radio "Is SSL Fingerprint", 27, 160 19 59 10, tab 5
radio "Is NickServ Account", 29, 225 49 63 10, tab 5
edit "nickserv account", 30, 226 59 50 10, tab 5 autohs
edit "hostmask", 13, 159 62 60 10, tab 5 autohs
button "Add", 15, 263 170 37 12, tab 5
box "Mode", 14, 11 12 50 63, tab 5
box "Ison", 11, 60 12 98 71, tab 5
edit "#channel", 23, 105 20 50 10, tab 5 autohs
check "With state:", 17, 63 29 50 10, tab 5
box "ssl Fingerprint", 25, 157 12 107 30, tab 5
edit "Fingerprint", 26, 160 29 101 10, tab 5 autohs
box "is Hostmask", 12, 157 41 65 34, tab 5
}
on 1:dialog:WList:sclick:16: {
did -eu WList 17
}
on 1:dialog:WList:sclick:17: {
if ($did(WList,17).state == 1) {
did -eu WList 18-22
}
else {
did -bu WList 18-22
}
}
on 1:dialog:WList:sclick:24,27: {
did -bu WList 18-22
did -bu WList 17
}
on 1:dialog:WList:sclick:15: {
if ($did(WList,6).state == 1) {
if ($did(WList,16).state == 1) {
if ($did(WList,18).state == 1) {
/mode %wlist.chan +w v:j:~ $+ $did(WList,23).text
}
elseif ($did(WList,19).state == 1) {
/mode %wlist.chan +w v:j:& $+ $did(WList,23).text
}
elseif ($did(WList,20).state == 1) {
/mode %wlist.chan +w v:j:@ $+ $did(WList,23).text
}
elseif ($did(WList,21).state == 1) {
/mode %wlist.chan +w v:j:% $+ $did(WList,23).text
}
elseif ($did(WList,22).state == 1) {
/mode %wlist.chan +w v:j:+ $+ $did(WList,23).text
}
else {
/mode %wlist.chan +w v:j: $+ $did(WList,23).text
}
}
elseif ($did(WList,24).state == 1) {
/mode %wlist.chan +w v: $+ $did(WList,13).text
}
elseif ($did(WList,27).state == 1) {
/mode %wlist.chan +w v:z: $+ $did(WList,26).text
}
elseif ($did(WList,29).state == 1) {
/mode %wlist.chan +w v:R: $+ $did(WList,30).text
}
}
elseif ($did(WList,7).state == 1) {
if ($did(WList,16).state == 1) {
if ($did(WList,18).state == 1) {
/mode %wlist.chan +w h:j:~ $+ $did(WList,23).text
}
elseif ($did(WList,19).state == 1) {
/mode %wlist.chan +w h:j:& $+ $did(WList,23).text
}
elseif ($did(WList,20).state == 1) {
/mode %wlist.chan +w h:j:@ $+ $did(WList,23).text
}
elseif ($did(WList,21).state == 1) {
/mode %wlist.chan +w h:j:% $+ $did(WList,23).text
}
elseif ($did(WList,22).state == 1) {
/mode %wlist.chan +w h:j:+ $+ $did(WList,23).text
}
else {
/mode %wlist.chan +w h:j: $+ $did(WList,23).text
}
}
elseif ($did(WList,24).state == 1) {
/mode %wlist.chan +w h: $+ $did(WList,13).text
}
elseif ($did(WList,27).state == 1) {
/mode %wlist.chan +w h:z: $+ $did(WList,26).text
}
elseif ($did(WList,29).state == 1) {
/mode %wlist.chan +w h:R: $+ $did(WList,30).text
}
}
elseif ($did(WList,8).state == 1) {
if ($did(WList,16).state == 1) {
if ($did(WList,18).state == 1) {
/mode %wlist.chan +w o:j:~ $+ $did(WList,23).text
}
elseif ($did(WList,19).state == 1) {
/mode %wlist.chan +w o:j:& $+ $did(WList,23).text
}
elseif ($did(WList,20).state == 1) {
/mode %wlist.chan +w o:j:@ $+ $did(WList,23).text
}
elseif ($did(WList,21).state == 1) {
/mode %wlist.chan +w o:j:% $+ $did(WList,23).text
}
elseif ($did(WList,22).state == 1) {
/mode %wlist.chan +w o:j:+ $+ $did(WList,23).text
}
else {
/mode %wlist.chan +w o:j: $+ $did(WList,23).text
}
}
elseif ($did(WList,24).state == 1) {
/mode %wlist.chan +w o: $+ $did(WList,13).text
}
elseif ($did(WList,27).state == 1) {
/mode %wlist.chan +w o:z: $+ $did(WList,26).text
}
elseif ($did(WList,29).state == 1) {
/mode %wlist.chan +w o:R: $+ $did(WList,30).text
}
}
elseif ($did(WList,9).state == 1) {
if ($did(WList,16).state == 1) {
if ($did(WList,18).state == 1) {
/mode %wlist.chan +w a:j:~ $+ $did(WList,23).text
}
elseif ($did(WList,19).state == 1) {
/mode %wlist.chan +w a:j:& $+ $did(WList,23).text
}
elseif ($did(WList,20).state == 1) {
/mode %wlist.chan +w a:j:@ $+ $did(WList,23).text
}
elseif ($did(WList,21).state == 1) {
/mode %wlist.chan +w a:j:% $+ $did(WList,23).text
}
elseif ($did(WList,22).state == 1) {
/mode %wlist.chan +w a:j:+ $+ $did(WList,23).text
}
else {
/mode %wlist.chan +w a:j: $+ $did(WList,23).text
}
}
elseif ($did(WList,24).state == 1) {
/mode %wlist.chan +w a: $+ $did(WList,13).text
}
elseif ($did(WList,27).state == 1) {
/mode %wlist.chan +w a:z: $+ $did(WList,26).text
}
elseif ($did(WList,29).state == 1) {
/mode %wlist.chan +w a:R: $+ $did(WList,30).text
}
}
elseif ($did(WList,10).state == 1) {
if ($did(WList,16).state == 1) {
if ($did(WList,18).state == 1) {
/mode %wlist.chan +w q:j:~ $+ $did(WList,23).text
}
elseif ($did(WList,19).state == 1) {
/mode %wlist.chan +w q:j:& $+ $did(WList,23).text
}
elseif ($did(WList,20).state == 1) {
/mode %wlist.chan +w q:j:@ $+ $did(WList,23).text
}
elseif ($did(WList,21).state == 1) {
/mode %wlist.chan +w q:j:% $+ $did(WList,23).text
}
elseif ($did(WList,22).state == 1) {
/mode %wlist.chan +w q:j:+ $+ $did(WList,23).text
}
else {
/mode %wlist.chan +w q:j: $+ $did(WList,23).text
}
}
elseif ($did(WList,24).state == 1) {
/mode %wlist.chan +w q: $+ $did(WList,13).text
}
elseif ($did(WList,27).state == 1) {
/mode %wlist.chan +w q:z: $+ $did(WList,26).text
}
elseif ($did(WList,29).state == 1) {
/mode %wlist.chan +w q:R: $+ $did(WList,30).text
}
}
}
on 1:dialog:WList:init:0: {
.set %wlist.open True
did -bu WList 18-22
}
on 1:dialog:WList:close:0: {
.set %wlist.open False
}
alias wlist {
if ($1) && (!$2) {
.dialog -m WList WList
.mode $1 w
}
else {
echo -a Invalid syntax. Use '/wlist <chan>' to see the +w list for <chan>
}
}
menu channel {
.Access List:set %wlist.chan $chan | /wlist %wlist.chan
}
on 1:dialog:WList:sclick:2: {
.did -r WList 1
.mode %wlist.chan w
}
on 1:RAWMODE:%wlist.chan: {
if (?w iswm $1) && (%wlist.open == true) {
.did -r WList 1
.mode %wlist.chan w
}
}
il look at it more later...;xIs this some sort of a TV episode called "Napa Takes it Up a Notch?" lol
Might as well say, "To Be Continued..." :P
You can shorten it further as such:
on *:dialog:wlist:sclick:6-10:{
var %a = 6,8-10 , %b = 6,7,9,10 , %c = 6-8,10
did -u wlist $replacex($did,6,7-10,7,%a,8,%b,9,%c,10,6-9)
}
A lot of unused space on the dialog. Maybe make it smaller an incorporate hsbar in the list box for the addys so you don't have to make the dialog so dang big. But to each their own I guess.
just on a fast look at your snippet you can take this:
on 1:dialog:WList:sclick:6: {
did -u WList 7
did -u WList 8
did -u WList 9
did -u WList 10
}
on 1:dialog:WList:sclick:7: {
did -u WList 6
did -u WList 8
did -u WList 9
did -u WList 10
}
on 1:dialog:WList:sclick:8: {
did -u WList 6
did -u WList 7
did -u WList 9
did -u WList 10
}
on 1:dialog:WList:sclick:9: {
did -u WList 6
did -u WList 7
did -u WList 8
did -u WList 10
}
on 1:dialog:WList:sclick:10: {
did -u WList 6
did -u WList 7
did -u WList 8
did -u WList 9
}
and do this:
on 1:dialog:WList:sclick:6: {
did -u WList 7-10
}
on 1:dialog:WList:sclick:7: {
did -u WList 6,8-10
}
on 1:dialog:WList:sclick:8: {
did -u WList 6,7,9,10
}
on 1:dialog:WList:sclick:9: {
did -u WList 6-8,10
}
on 1:dialog:WList:sclick:10: {
did -u WList 6-9
}
Or even this way..
on 1:dialog:WList:sclick:*: {
if ($did = 6) { did -u WList 7-10 }
elseif ($did = 7) { did -u WList 6,8-10 }
elseif ($did = 8) { did -u WList 6,7,9,10 }
elseif ($did = 9) { did -u WList 6-8,10 }
elseif ($did = 10) { did -u WList 6-9 }
}
il look at it more later...;x