Well this was originally just going to be a room control dialog that allowed for easy adding/deleting of mods changing the room greet changing the topic adding bans/deleting bans adding quiets/deleting quiets. but i added a third tab that has admin commands on it.
Ok when you first open it it will open on tab 100. Make sure to open it while a Channel is the active window once open at the top it will display the channel name who created the channel and on what date/time it was created. under that you will see 7 text boxes those are for setting you greet. the top one is line 1 of the greet the second is line 2 and so on and so forth. just fill them out with how you want the greet then hit set greet. the view greet button just does /hop on the active chan. unfortunately i couldn't find a command to show the room greet. under that you will see a list box. if you /hop a chan with it open it displays the rooms greet there. if you double click in the list box it will set the line you clicked on to one of the text areas above. so if you click line one in the list box and it says hi. the first text box will say hi i put it there to make it easier to edit a room greet thats already in place. you must fill the text areas in ORDER to set the greet properly do not try just changing line 5 of your greet it will not work. ok under that list box and the three buttons you will see another list box with names and aop sop vop mem next to them. this is the rooms auto op list. if your an owner in the room just double click on a name to remove it from the list. if you click on the addmod button it will change the bottom list box to a edit box a button a drop down list and four radio buttons that say sop aop vop and mem. this is where you can add a aop/sop/vop/mem to your rooms auto op list.
just click the proper radio and either A. put a nick in the text area. or B. select a nick from the drop down list. then click add. if the text area has text in it you will not be able to add from the drop down list. ok next button is room pw has two edit boxes and two buttons this one is kinda self explanatory. add the owner/sop pass to the proper box and hit set pass and add the mod/aop pass to the proper box and hit set pass. ok the room settings dialog has room modes/bans/quiets the room modes are pretty much self explanatory. with the bans you can either A type in a nick or select one from the drop down list same with the quiets. then just click the ban/quiet button and it will ban/quiet the user you wanted to ban or quiet they will also show in their listboxes. to remove a nick from ban/quiet just double click in the list box on the persons nick/ip and it will remove it. admin commands. YOU must have admin of course haha. there are three list boxes klines shuns and akills the list boxes work the exact same as the ban/quiet/oplist boxes. double click and it will remove. add a nick by putting the nick in the edit box or selecting from the drop down menus. the drop down menus will show every nick thats on the server. under the akill buttons there are others regroom which regs the active room drop room which drops the active room and then server notice which wil notice everyone on the server and glopops notice which only notices admins/operators. this was made for and only works on chatspace. lemme know what you think and yes i know the code is a bit messy i will go through it and clean it up later
Menu Menubar,Nicklist,Channel {
.Room Options: dialog $iif($dialog(Roomsettings.System),-v,-md Roomsettings.System) Roomsettings.System
}
Dialog Roomsettings.System {
Title "Venom Room Options"
Size -1 -1 180 250
Option dbu
;-----Room options 100
Tab "Room Registration " ,100, 02 02 200 22, tab 100
text "", 112, 02 30 187 8, nowrap tab 100
text "", 109, 02 40 187 8, nowrap tab 100
text "", 110, 02 50 187 8, nowrap tab 100
edit " " 101, 02 60 176 10, autohs tab 100
edit " " 102, 02 71 176 10, autohs tab 100
edit " " 103, 02 82 176 10, autohs tab 100
edit " " 104, 02 93 176 10, autohs tab 100
edit " " 105, 02 104 176 10, autohs tab 100
edit " " 106, 02 115 176 10, autohs tab 100
edit " " 107, 02 126 176 10, autohs tab 100
list 108, 02 158 176 40, hsbar vsbar tab 100
list 111, 02 200 176 50, hsbar vsbar tab 100
button "Modlist ",113, 02 188 35 10 , flat tab 100
button "AddMod ",114, 37 188 35 10 , flat tab 100
button "Roompw ",115, 72 188 35 10 , flat tab 100
button "Set Greet ",116, 02 146 35 10 , flat tab 100
button "View Greet ",117, 37 146 35 10 , flat tab 100
edit " " 118, 50 215 46 10, autohs tab 100 hide
text "Nick Name:", 119, 20 216 30 8, nowrap tab 100 hide
Radio "Sop(Owner) " 120, 113 200 50 10, flat tab 100 hide
Radio "Aop(Mod)" 121, 113 210 50 10, flat tab 100 hide
Radio "Vop(Voice) " 122, 113 220 50 10, flat tab 100 hide
Radio "Mem(Member)" 123, 113 230 50 10, flat tab 100 hide
button "Add ",124, 50 230 35 10 , flat tab 100 hide
edit " " 125, 50 208 46 10, autohs tab 100 hide
text "SopPass:", 126, 18 209 30 8, nowrap tab 100 hide
edit " " 127, 50 222 46 10, autohs tab 100 hide
text "AopPass:", 128, 18 223 30 8, nowrap tab 100 hide
button "SetSopPass ",129, 113 208 35 10 , flat tab 100 hide
button "SetAopPass ",130, 113 222 35 10 , flat tab 100 hide
combo 131, 50 200 46 50, size drop tab 100 hide
;-----Room options 200
Tab "Room Settings " ,200, 02 02 176 22, tab 200
list 201, 100 62 78 50, hsbar vsbar tab 200
edit " " 202, 02 30 176 10, autohs tab 200
check "Only Mods Change Settings", 203, 02 42 75 10, tab 200
check "Secret", 204, 02 54 50 10, tab 200
check "P2P With Mods Only", 205, 02 66 70 10, tab 200
check "Members Only", 206, 02 78 50 10, tab 200
check "Strict Mod", 207, 02 90 50 10, tab 200
check "Only Mods Change Topic", 208, 02 102 75 10, tab 200
check "Block External Msgs", 209, 02 114 75 10, tab 200
check "Invite Only", 210, 02 126 50 10, tab 200
check "Pass Room", 211, 02 138 50 10, tab 200
check "Limit Room", 212, 02 163 50 10, tab 200
edit " " 213, 02 150 46 10, autohs tab 200
edit " " 214, 02 174 46 10, autohs tab 200
button "Ban ",215, 100 110 35 10 , flat tab 200
edit " " 216, 136 110 42 10, autohs tab 200
button "Set Topic ",217, 100 42 35 10 , flat tab 200
combo 218, 100 122 78 50, size drop tab 200
edit "Enter time in min " 220, 136 134 42 10, autohs tab 200
button "BanTime ",219, 100 134 35 10 , flat tab 200
list 230, 100 160 78 50, hsbar vsbar tab 200
button "quiet ",231, 100 210 35 10 , flat tab 200
edit " " 232, 136 210 42 10, autohs tab 200
combo 233, 100 222 78 50, size drop tab 200
;-----Room options 300
Tab "Admin Controls " ,300, 02 02 176 22, tab 300 hide
list 301, 02 40 176 45, hsbar vsbar tab 300 hide
button "kline ",302, 02 83 35 10 , flat tab 300 hide
edit " " 303, 40 83 42 10, autohs tab 300 hide
button "klinelist ",304, 143 83 35 10 , flat tab 300 hide
text "Klines", 305, 02 30 187 8, nowrap tab 300 hide
combo 322, 84 83 58 50, size drop tab 300 hide
list 306, 02 104 176 45, hsbar vsbar tab 300 hide
button "Shun ",307, 02 147 35 10 , flat tab 300 hide
edit " " 308, 40 147 42 10, autohs tab 300 hide
button "Shunlist ",309, 143 147 35 10 , flat tab 300 hide
text "Shuns", 310, 02 94 187 8, nowrap tab 300 hide
combo 323, 84 147 58 50, size drop tab 300 hide
list 311, 02 170 176 45, hsbar vsbar tab 300 hide
button "Akill ",312, 02 213 35 10 , flat tab 300 hide
edit " " 313, 40 213 42 10, autohs tab 300 hide
text "Akills", 315, 02 160 187 8, nowrap tab 300 hide
combo 324, 84 213 58 50, size drop tab 300 hide
button "Reg Room ",316, 02 225 35 10 , flat tab 300 hide
button "Drop Room ",317, 02 240 35 10 , flat tab 300 hide
button "Server Notice ",318, 40 225 40 10 , flat tab 300 hide
edit "notice here", 319, 84 225 40 8, autohs tab 300 hide
button "Global Notice ",320, 40 240 40 10 , flat tab 300 hide
edit "Notice here", 321, 84 240 40 8, autohs tab 300 hide
}
on *:dialog:Roomsettings.System:init:*: {
services info $active
did -a roomsettings.system 112 $active
did -b roomsettings.system 113
.enable #banchecker
.mode $active +b
nickzz2
who
.mode $active +q
.timer 1 2 .mode $me
}
on *:dialog:roomsettings.system:dclick:230: {
.mode $active -q $gettok($did(230).seltext ,1,32)
did -r roomsettings.system 230
.timer 1 2 .mode $active +q
}
on *:dialog:Roomsettings.System:sclick:231: {
if (!$did(232).text) {
.mode $active +q $address($did(233).seltext ,4)
}
else {
.mode $active +q $address($did(232).text ,4)
}
did -r roomsettings.system 230
.timer 1 2 .mode $active +q
}
on *:dialog:Roomsettings.System:close:*: {
.unset %addnick
.unset %line1
.unset %line2
.unset %line3
.unset %line4
.unset %line5
.unset %line6
.unset %line7
}
on *:dialog:Roomsettings.System:sclick:217: {
services set $active topic $did(202).text
did -r roomsettings.system 202
}
on *:dialog:Roomsettings.System:sclick:116: {
.set %roomgreet1 $did(101).text
if (!$did(102).text) { .unset %roomgreet2
}
else { .set %roomgreet2 <br> $+ $did(102).text
}
if (!$did(103).text) { .unset %roomgreet3
}
else { .set %roomgreet3 <br> $+ $did(103).text
}
if (!$did(104).text) { .unset %roomgreet4
}
else { .set %roomgreet4 <br> $+ $did(104).text
}
if (!$did(105).text) { .unset %roomgreet5
}
else { .set %roomgreet5 <br> $+ $did(105).text
}
if (!$did(106).text) { .unset %roomgreet6
}
else { .set %roomgreet6 <br> $+ $did(106).text
}
if (!$did(107).text) { .unset %roomgreet7
}
else { .set %roomgreet7 <br> $+ $did(107).text
}
.services set $active greet %roomgreet1 $+ %roomgreet2 $+ %roomgreet3 $+ %roomgreet4 $+ %roomgreet5 $+ %roomgreet6 $+ %roomgreet7
}
on *:dialog:Roomsettings.System:sclick:117:{
.hop $active
}
on *:dialog:Roomsettings.System:dclick:108:{
.set %line $+ $did(108).sel $did(108).seltext
did -raz Roomsettings.system 101 %line1
did -raz roomsettings.system 102 %line2
did -raz Roomsettings.system 103 %line3
did -raz roomsettings.system 104 %line4
did -raz Roomsettings.system 105 %line5
did -raz roomsettings.system 106 %line6
did -raz Roomsettings.system 107 %line7
}
on *:dialog:Roomsettings.System:dclick:111:{
.services $gettok($did(111).seltext ,2,32) $active del $gettok($did(111).seltext ,1,32)
getinfo
}
on *:dialog:Roomsettings.System:dclick:201:{
mode $active -b $gettok($did(201).seltext ,2,32)
did -r roomsettings.system 201
.timer 1 1 bans
}
on *:dialog:Roomsettings.System:sclick:113:{
did -v roomsettings.system 111
did -h roomsettings.system 118-130,131
did -b roomsettings.system 113
did -e roomsettings.system 114-115
}
on *:dialog:Roomsettings.System:sclick:114:{
did -v roomsettings.system 118-124,131
did -h roomsettings.system 111,125-130
did -b roomsettings.system 114
did -e roomsettings.system 113,115
}
on *:dialog:Roomsettings.System:sclick:115:{
did -h roomsettings.system 111,118-124,131
did -v roomsettings.system 125-130
did -b roomsettings.system 115
did -e roomsettings.system 113-114
}
on *:dialog:Roomsettings.System:sclick:120:{
.set %addnick Sop
}
on *:dialog:Roomsettings.System:sclick:121:{
.set %addnick Aop
}
on *:dialog:Roomsettings.System:sclick:122:{
.set %addnick Vop
}
on *:dialog:Roomsettings.System:sclick:123:{
.set %addnick Mem
}
on *:dialog:Roomsettings.System:sclick:124: {
if (%addnick == Sop) { .services Sop $active add $did(118).text
}
if (%addnick == Aop) { .services Aop $active add $did(118).text
}
if (%addnick == Vop) { .services Vop $active add $did(118).text
}
if (%addnick == Mem) { .services Mem $active add $did(118).text
}
else { if (!$did(118).text) {
if (%addnick == Sop) { .services Sop $active add $did(131).seltext
}
if (%addnick == Aop) { .services Aop $active add $did(131).seltext
}
if (%addnick == Vop) { .services Vop $active add $did(131).seltext
}
if (%addnick == Mem) { .services Mem $active add $did(131).seltext
}
}
}
getinfo
}
on *:dialog:Roomsettings.System:sclick:215: {
if (!$did(216).text) {
ban -k $active $did(218).seltext 3
}
else {
ban $active $did(216).text
}
did -r roomsettings.system 201
.timer 1 1 bans
}
on *:dialog:Roomsettings.System:sclick:219: {
if (!$did(201).seltext) {
ban -ku $+ $calc($did(220).text * 60) $active $did(218).seltext
}
else {
ban -ku $+ $calc($did(220).text * 60) $active $did(201).seltext
}
did -r roomsettings.system 201
.timer 1 1 bans
}
on *:dialog:Roomsettings.System:sclick:129: {
.services set $active SopPass $did(125).text
getinfo
}
on *:dialog:Roomsettings.System:sclick:130: {
.services set $active AopPass $did(127).text
getinfo
}
on *:dialog:Roomsettings.System:close:*: {
.unset %line1
.unset %line2
.unset %line3
.unset %line4
.unset %line5
.unset %line6
.unset %line7
}
alias getinfo {
did -r roomsettings.system 202
did -r roomsettings.system 111
.timer 1 3 .services info $active
}
on *:dialog:Roomsettings.System:sclick:203:{
if ($did(203).state == 0) { .mode $active -u }
elseif ($did(203).state == 1) { .mode $active +u }
}
on *:dialog:Roomsettings.System:sclick:204:{
if ($did(204).state == 0) { .mode $active -s }
elseif ($did(204).state == 1) { .mode $active +s }
}
on *:dialog:Roomsettings.System:sclick:205:{
if ($did(205).state == 0) { .mode $active -c }
elseif ($did(205).state == 1) { .mode $active +c }
}
on *:dialog:Roomsettings.System:sclick:206:{
if ($did(206).state == 0) { .mode $active -j }
elseif ($did(206).state == 1) { .mode $active +j }
}
on *:dialog:Roomsettings.System:sclick:207:{
if ($did(207).state == 0) { .mode $active -m }
elseif ($did(207).state == 1) { .mode $active +m }
}
on *:dialog:Roomsettings.System:sclick:208:{
if ($did(208).state == 0) { .mode $active -t }
elseif ($did(208).state == 1) { .mode $active +t }
}
on *:dialog:Roomsettings.System:sclick:209:{
if ($did(209).state == 0) { .mode $active -n }
elseif ($did(209).state == 1) { .mode $active +n }
}
on *:dialog:Roomsettings.System:sclick:210:{
if ($did(210).state == 0) { .mode $active -i }
elseif ($did(210).state == 1) { .mode $active +i }
}
on *:dialog:Roomsettings.System:sclick:211:{
if ($did(211).state == 0) { .mode $active -k }
elseif ($did(211).state == 1) { .mode $active +k $did(213).text }
}
on *:dialog:Roomsettings.System:sclick:212:{
if ($did(212).state == 0) { .mode $active -l }
elseif ($did(212).state == 1) { .mode $active +l $did(214).text }
}
on *:dialog:Roomsettings.system:dclick:301: {
.unkline $gettok($did(301).seltext ,2,32)
did -r roomsettings.system 301
.timer 1 2 klinelist
}
on *:dialog:Roomsettings.system:sclick:302: {
if (!$did(322).seltext) {
.kline $address($did(303).text ,4)
}
else { .kline $address($did(322).seltext ,4)
}
did -r roomsettings.system 301
.timer 1 4 klinelist
}
on *:dialog:Roomsettings.system:sclick:304: {
did -r roomsettings.system 301
did -r roomsettings.system 311
.timer 1 4 klinelist
}
on *:dialog:Roomsettings.system:sclick:309: {
did -r roomsettings.system 306
shunlist
}
on *:dialog:Roomsettings.system:sclick:307: {
if (!$did(323).seltext) {
.shun $address($did(308).text ,4)
}
else { .shun $address($did(323).seltext ,4)
}
did -r roomsettings.system 306
.timer 1 4 shunlist
}
on *:dialog:Roomsettings.system:dclick:306: {
.shun - $gettok($did(306).seltext ,1,32)
did -r roomsettings.system 306
.timer 1 4 shunlist
}
on *:dialog:Roomsettings.system:dclick:311: {
.rakill $gettok($did(311).seltext ,2,32)
did -r roomsettings.system 311
.timer 1 4 klinelist
}
on *:dialog:Roomsettings.system:sclick:312: {
if (!$did(324).seltext) {
.akill $address($did(313).text ,4)
}
else { .akill $address($did(324).seltext ,4)
}
did -r roomsettings.system 306
.timer 1 4 shunlist
did -r roomsettings.system 311
.timer 1 4klinelist
}
on *:dialog:Roomsettings.system:sclick:316: {
.services register $active
.timer 1 1 .services set $active greet 12* 4t3h13e 6c7o3l12o6r13s 12a7r4e 12* 1,0 0 0,1 1 0,2 2 0,3 3 0,4 4 0,5 5 0,6 6 0,7 7 0,8 8 0,9 9 0,10 10 0,11 11 0,12 12 0,13 13 0,14 14 0,15 15
}
on *:dialog:Roomsettings.system:sclick:317: {
.services drop $active
}
on *:dialog:Roomsettings.system:sclick:318: {
.notice $ $did(319).text
}
on *:dialog:Roomsettings.system:sclick:320: {
.globops $did(321).text
}
on *:NOTICE:*:*: { if ($dialog(Roomsettings.System)) {
if ($nick == $me) && (Welcome isin $$1-) { did -r roomsettings.system 108
.timer 1 1 did -az Roomsettings.System 108 $$2-
}
}
}
on 1:TEXT:*:?: { if ( $nick == SERVICES ) && ($dialog(Roomsettings.System)) {
if (created isin $$1-) { did -ra roomsettings.system 109 $1 $2 $3
var %x = $5 | .set %testage $asctime($ctime(%x 1/1/1), h:nn:ss TT)
did -ra roomsettings.system 110 $4 %testage $6
did -r roomsettings.system 111
}
if ($1 == sop) && (passwd !isin $2) { did -a roomsettings.system 111 $2 $1
}
if ($1 == aop) && (passwd !isin $2) { did -a roomsettings.system 111 $2 $1
}
if ($3 == sop) && (passwd isin $4) { did -a roomsettings.system 125 $remove($4,passwd,:)
}
if ($1 == aop) && (passwd isin $2) { did -a roomsettings.system 127 $remove($2,passwd,:)
}
if ($1 == vop) { did -a roomsettings.system 111 $2 $1
}
if ($1 == mem) { did -a roomsettings.system 111 $2 $1
}
if (mode isin $1) && (u isin $2) {
did -c roomsettings.system 203
}
if (mode isin $1) && (s isin $2) {
did -c roomsettings.system 204
}
if (mode isin $1) && (c isin $2) {
did -c roomsettings.system 205
}
if (mode isin $1) && (j isin $2) {
did -c roomsettings.system 206
}
if (mode isin $1) && (m isin $2) {
did -c roomsettings.system 207
}
if (mode isin $1) && (t isin $2) {
did -c roomsettings.system 208
}
if (mode isin $1) && (n isin $2) {
did -c roomsettings.system 209
}
if (mode isin $1) && (i isin $2) {
did -c roomsettings.system 210
}
if (mode isin $1) && (k isin $2) && (l !isin $2) {
did -c roomsettings.system 211
did -ra roomsettings.system 213 $3
}
if (mode isin $1) && (k isin $2) && (l isin $2) {
did -c roomsettings.system 211
did -ra roomsettings.system 213 $4
did -c roomsettings.system 212
did -ra roomsettings.system 214 $3
}
if (mode isin $1) && (l isin $2) && (k !isin $2) {
did -c roomsettings.system 212
did -ra roomsettings.system 214 $3
}
if (topic isin $1-) && (k !isin $2) && (l !isin $2) { did -a roomsettings.system 202 $3-
}
if (topic isin $1-) && (k isin $2) && (l isin $2) { did -a roomsettings.system 202 $6-
}
.timer 1 30 close -m services
}
}
alias nickzz2 {
var -s %curr 1, %nick $nick($active,0)
did -r roomsettings.system 131
while (%curr <= %nick) {
did -az roomsettings.system 131 $nick($active,%curr)
did -az roomsettings.system 218 $nick($active,%curr)
did -az roomsettings.system 233 $nick($active,%curr)
inc %curr
}
}
alias klinelist {
.stats k
}
alias shunlist {
shun
}
raw 216 :*: { if ($dialog(Roomsettings.System)) {
if ($2 == k) { did -az roomsettings.system 301 $2 $3 set by $5 on $6 $7
}
if ($2 == a) { did -az roomsettings.system 311 $2 $3 set by $5 on $6 $7
}
}
}
raw 291 :*: { if ($dialog(Roomsettings.System)) {
did -az roomsettings.system 306 $2 set by
}
}
raw 352 :*: { if ($dialog(Roomsettings.System)) {
did -az roomsettings.system 322 $6
did -az roomsettings.system 323 $6
did -az roomsettings.system 324 $6
}
}
raw 377 :*: { if ($dialog(Roomsettings.System)) {
did -az roomsettings.system 230 $3
}
}
raw 221 :*: { if ($dialog(Roomsettings.System)) {
if (o isin $2) && (g isin $2) && (a isin $2) && (c isin $2) {
did -v roomsettings.system 301-313,316-324
.klinelist
}
}
}
raw 368 :*: { .disable #banchecker }
#banchecker off
raw 367 :*: {
did -az roomsettings.system 201 $3 set by $4
}
#banchecker nd
Im going to try this later on the weekend, looks interesting. I have to say blackvenomm666 I like the stuff your making, and the fact your finding your buggs and your fixing it right away!! and that you except help and suggestions. Thats great and shows that your not judgemental on your own snippets and willing to take criticism. and great work and keep it up, I look forward to your snippets (Y) And forgot like that you explain what the snippet dose in full details!
ok there is a slight problem that idk how to fix haha. sometimes when you go to ban/klin/shun/akill/add people to auto op list/quiet if your using the drop down combo menu that auto lists nicks. it won't work. the way to fix it is to go to the edit box where you can type the nick/ip in to mess with and click in it so you get the flashing bar so you can type and hit backspace. for some reason it is auto adding a space into the edit boxes at times and its counting that space as you having typed in there so it tries to use that instead of the nick you click in the drop down menu
Wouldn't it be easier if you used $replace() to cut down the repetitive if conditions:
if (mode isin $1) {
did -c roomsettings.system $replacexcs($2,u,203,s,204,c,205,j,206,m,207,t,208,n,209,i,210,t,225)
}
and for $2 $3, you can use
$2-3
Same for $6 $7,
$6-7
and
on *:dialog:Roomsettings.System:close:*: {
var %i = 1
while (%i <= 7) {
unset $+(%,line,%i)
inc %i
}
}
mode $active $replace($did(204),0,-s,1,+s) etc...
Nice effort though and keep up the good work.