Topic Protector v 1.0

By |MELIORITE| on Jan 23, 2007

Once you have it in your remotes section, simply right click in an open channel and choose Topic Protector. Then Add the topic for the corresponding channel that has been added. Saves up to 8 channel topics. Other scripts seem to protect individual channels. Do not use where there are current topic protctions (for example if topic is protected by Q). If a person attempts to change the topic, the script will revert the topic and message the channel that the topic is protected.

;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;@      TOPIC PROTECTION            @
;@                                  @
;@          v 1.0                   @
;@                                  @
;@       by |MELIORITE|             @
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

;Protects 8 channels and corresponding topics.
;Ensure the channel has no other topic protections on.

menu status,channel,nicklist {
  .-
  *!*Topic_Protection*!*:/tp
}
dialog topic_pro {
  title "Topic_Protector v 1.0 by MELIORITE"
  size -1 -1 235 140
  option dbu
  text "Topic Protector v 1.0 -by MELIORITE", 1, 8 120 160 8, disable center
  box "Topic Record", 3, 1 1 114 120
  box "Channel List", 4, 118 1 114 120
  edit "", 5, 130 9 47 10, disable
  edit "", 6, 130 21 47 10, disable
  edit "", 7, 130 33 47 10, disable
  edit "", 8, 130 45 47 10, disable
  edit "", 9, 130 57 47 10, disable
  edit "", 10, 130 69 47 10, disable
  edit "", 11, 130 81 47 10, disable
  edit "", 12, 130 93 47 10, disable
  button "Add", 13, 178 9 15 10, flat
  button "Add", 14, 178 21 15 10, flat
  button "Add", 15, 178 33 15 10, flat
  button "Add", 16, 178 45 15 10, flat
  button "Add", 17, 178 57 15 10, flat
  button "Add", 18, 178 69 15 10, flat
  button "Add", 19, 178 81 15 10, flat
  button "Add", 20, 178 93 15 10, flat
  button "Remove", 21, 195 9 30 10, flat
  button "Remove", 22, 195 21 30 10, flat 
  button "Remove", 23, 195 33 30 10, flat
  button "Remove", 24, 195 45 30 10, flat
  button "Remove", 25, 195 57 30 10, flat
  button "Remove", 26, 195 69 30 10, flat
  button "Remove", 27, 195 81 30 10, flat
  button "Remove", 28, 195 93 30 10, flat
  edit "", 30, 3 9 47 10, disable
  edit "", 31, 3 21 47 10, disable
  edit "", 32, 3 33 47 10, disable
  edit "", 33, 3 45 47 10, disable
  edit "", 34, 3 57 47 10, disable
  edit "", 35, 3 69 47 10, disable
  edit "", 36, 3 81 47 10, disable
  edit "", 37, 3 93 47 10, disable
  button "Add", 38, 50 9 15 10, flat
  button "Add", 39, 50 21 15 10, flat
  button "Add", 40, 50 33 15 10, flat
  button "Add", 41, 50 45 15 10, flat
  button "Add", 42, 50 57 15 10, flat
  button "Add", 43, 50 69 15 10, flat
  button "Add", 44, 50 81 15 10, flat
  button "Add", 45, 50 93 15 10, flat
  button "Remove", 46, 65 9 30 10, flat
  button "Remove", 47, 65 21 30 10, flat
  button "Remove", 48, 65 33 30 10, flat
  button "Remove", 49, 65 45 30 10, flat
  button "Remove", 50, 65 57 30 10, flat
  button "Remove", 51, 65 69 30 10, flat
  button "Remove", 52, 65 81 30 10, flat
  button "Remove", 53, 65 93 30 10, flat
  button "OK", 54, 3 122 37 12, flat, ok
}
;ALIAS
alias tp {
  dialog -dm topic_pro topic_pro
}
on *:dialog:topic_pro:sclick:13: {
  set %tpchan1 $$?="Enter Channel Name"
  did -a topic_pro 5 %tpchan1
}
on *:dialog:topic_pro:sclick:14: {
  set %tpchan2 $$?="Enter Channel Name"
  did -a topic_pro 6 %tpchan2
}
on *:dialog:topic_pro:sclick:15: {
  set %tpchan3 $$?="Enter Channel Name"
  did -a topic_pro 7 %tpchan3
}
on *:dialog:topic_pro:sclick:16: {
  set %tpchan4 $$?="Enter Channel Name"
  did -a topic_pro 8 %tpchan4
}
on *:dialog:topic_pro:sclick:17: {
  set %tpchan5 $$?="Enter Channel Name"
  did -a topic_pro 9 %tpchan5
}
on *:dialog:topic_pro:sclick:18: {
  set %tpchan6 $$?="Enter Channel Name"
  did -a topic_pro 10 %tpchan6
}
on *:dialog:topic_pro:sclick:19: {
  set %tpchan7 $$?="Enter Channel Name"
  did -a topic_pro 11 %tpchan7
}
on *:dialog:topic_pro:sclick:20: {
  set %tpchan8 $$?="Enter Channel Name"
  did -a topic_pro 12 %tpchan8
}
on *:dialog:topic_pro:sclick:21: {
  unset %tpchan1
  did -r topic_pro 5 %tpchan1
}
on *:dialog:topic_pro:sclick:22: {
  unset %tpchan2
  did -r topic_pro 6 %tpchan2
}
on *:dialog:topic_pro:sclick:23: {
  unset %tpchan3
  did -r topic_pro 7 %tpchan3
}
on *:dialog:topic_pro:sclick:24: {
  unset %tpchan4
  did -r topic_pro 8 %tpchan4
}
on *:dialog:topic_pro:sclick:25: {
  unset %tpchan4
  did -r topic_pro 9 %tpchan5
}
on *:dialog:topic_pro:sclick:26: {
  unset %tpchan6
  did -r topic_pro 10 %tpchan6
}
on *:dialog:topic_pro:sclick:27: {
  unset %tpchan7
  did -r topic_pro 11 %tpchan7
}
on *:dialog:topic_pro:sclick:28: {
  unset %tpchan8
  did -r topic_pro 12 %tpchan8
}
on *:dialog:Topic_Pro:init:*: {
  did -a topic_pro 5 %tpchan1
  did -a topic_pro 6 %tpchan2
  did -a topic_pro 7 %tpchan3
  did -a topic_pro 8 %tpchan4
  did -a topic_pro 9 %tpchan5
  did -a topic_pro 10 %tpchan6
  did -a topic_pro 11 %tpchan7
  did -a topic_pro 12 %tpchan8
}
alias tp_topic {
  dialog -dm topic_pro topic_pro
}
on *:dialog:topic_pro:sclick:38: {
  set %tptopic1 $$?="Enter Channel Topic"
  did -a topic_pro 30 %tptopic1
}
on *:dialog:topic_pro:sclick:39: {
  set %tptopic2 $$?="Enter Channel Topic"
  did -a topic_pro 31 %tptopic2
}
on *:dialog:topic_pro:sclick:40: {
  set %tptopic3 $$?="Enter Channel Topic"
  did -a topic_pro 32 %tptopic3
}
on *:dialog:topic_pro:sclick:41: {
  set %tptopic4 $$?="Enter Channel Topic"
  did -a topic_pro 33 %tptopic4
}
on *:dialog:topic_pro:sclick:42: {
  set %tptopic5 $$?="Enter Channel Topic"
  did -a topic_pro 34 %tptopic5
}
on *:dialog:topic_pro:sclick:43: {
  set %tptopic6 $$?="Enter Channel Topic"
  did -a topic_pro 35 %tptopic6
}
on *:dialog:topic_pro:sclick:44: {
  set %tptopic7 $$?="Enter Channel Topic"
  did -a topic_pro 36 %tptopic7
}
on *:dialog:topic_pro:sclick:45: {
  set %tptopic8 $$?="Enter Channel Topic"
  did -a topic_pro 37 %tptopic8
}
on *:dialog:topic_pro:sclick:46: {
  unset %tptopic1
  did -r topic_pro 30 %tptopic1
}
on *:dialog:topic_pro:sclick:47: {
  unset %tptopic2
  did -r topic_pro 31 %tptopic2
}
on *:dialog:topic_pro:sclick:48: {
  unset %tptopic3
  did -r topic_pro 32 %tptopic3
}
on *:dialog:topic_pro:sclick:49: {
  unset %tptopic4
  did -r topic_pro 33 %tptopic4
}
on *:dialog:topic_pro:sclick:50: {
  unset %tptopic5
  did -r topic_pro 34 %tptopic5
}
on *:dialog:topic_pro:sclick:51: {
  unset %tptopic6
  did -r topic_pro 35 %tptopic6
}
on *:dialog:topic_pro:sclick:52: {
  unset %tptopic7
  did -r topic_pro 36 %tptopic7
}
on *:dialog:topic_pro:sclick:53: {
  unset %tptopic8
  did -r topic_pro 37 %tptopic8
}
on *:dialog:Topic_Pro:init:*: {
  did -a topic_pro 30 %tptopic1
  did -a topic_pro 31 %tptopic2
  did -a topic_pro 32 %tptopic3
  did -a topic_pro 33 %tptopic4
  did -a topic_pro 34 %tptopic5
  did -a topic_pro 35 %tptopic6
  did -a topic_pro 36 %tptopic7
  did -a topic_pro 37 %tptopic8
}
;TOPIC PROTECT

on !*:topic:*: {
  if ($chan == %tpchan1) { topic %tpchan1 %tptopic1 | msg $chan The Topic is Protected }
  if ($chan == %tpchan2) { topic %tpchan2 %tptopic2 | msg $chan The Topic is Protected }
  if ($chan == %tpchan3) { topic %tpchan3 %tptopic3 | msg $chan The Topic is Protected }
  if ($chan == %tpchan4) { topic %tpchan4 %tptopic4 | msg $chan The Topic is Protected }
  if ($chan == %tpchan5) { topic %tpchan5 %tptopic5 | msg $chan The Topic is Protected }
  if ($chan == %tpchan6) { topic %tpchan6 %tptopic6 | msg $chan The Topic is Protected }
  if ($chan == %tpchan7) { topic %tpchan7 %tptopic7 | msg $chan The Topic is Protected }
  if ($chan == %tpchan8) { topic %tpchan8 %tptopic8 | msg $chan The Topic is Protected }
}

Comments

Sign in to comment.
guest598594   -  Mar 06, 2008

^^

alias tp {
  dialog -dm topic_pro topic_pro
}

should be

alias tp {
  dialog $iif($dialog(topic_pro),-v,-dm) topic_pro topic_pro
}
 Respond  
sith_   -  Mar 06, 2008
  • /dialog: \'topic_pro\' name in use (line 75, script1.txt)
 Respond  
Lindrian   -  Jan 24, 2007

not bad, although, the server im on supports a topic lock through the services ;) so ill use that one for now :P

 Respond  
|MELIORITE|   -  Jan 24, 2007

I like the ini/ hash table idea! Hmmm... next project :)

...and yes... developed to stop annoying ops playing about rather than deop or bans... :D

 Respond  
Aaron   -  Jan 24, 2007

its pretty nice to have if you have annoying people oped in channel :)

 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.