Название: Send Massive Messages v1.2
Скрипт: SendMM.mrc
Программа: mIRC
Автор: Epic
Описание: Создаёт управляемое диалоговое окно для массовой рассылки важной информации среди пользователей сети. Все настройки производятся в диалоговом окне панели управления, которое вызывается через всплывающее меню окон при нажатии правой кнопки мыши.

Требования: Обязательно заполните все необходимые поля и не выставляйте время отправки слишком маленьким, чтобы сервер не воспринял это как флуд.

Скриншоты:
[indent=0.8,0.5] https://i.ibb.co/PWCN6XV/Send-MM-v1-2.jpg

Установка:

  • Откройте редактор скриптов вашего клиента при помощи комбинации клавиш "ALT+R".

  • Далее через верхнее меню "File/New" откройте новый файл и разместите там код.

  • Далее через верхнее меню "File/Save As..." сохраните код как скрипт под названием "SendMM.mrc".

  • Если у вас уже установлена предыдущая версия этого скрипта, то замените его новым кодом. Не оставляйте предыдущие версии скриптов во избежании конфликтов.

Скачать: 💾 SendMM_v1.2.rar

Код:
#####################################################################
#   Название: Send Massive Messages v1.2
#   Автор: Epic (epicnet@mail.ru, http://epicnet.ru)
#   Описание: Создаёт управляемое диалоговое окно для массовой рассылки важной информации среди пользователей сети.
#   Управление: Все настройки производятся в диалоговом окне панели управления, которое вызывается через всплывающее меню окон при нажатии правой кнопки мыши.
#####################################################################

menu status,channel {
  -
  ✉ Массовая рассылка сообщений:{
    if ($dialog(massmsg) != $null) .dialog -x massmsg | .dialog -admr massmsg massmsg | if (!%massmsg-on) || (%massmsg-on == 1) { .did -c massmsg 1 }
    if (%massmsg-on == 2) { .did -c massmsg 2 } | if (%massmsg-on == 3) { .did -c massmsg 4 } | if (%massmsg-on == 4) { .did -c massmsg 5 }
    if (!%massmsg-sec) { %massmsg-sec = 5 | .did -a massmsg 11 %massmsg-sec }
    if (!%massmsgp && !%massmsgn && !%massmsgc) || (%massmsgp == on) { %massmsgp = on | .did -c massmsg 14 }
    if (%massmsgn == on) { .did -c massmsg 15 } | if (%massmsgc == on) { .did -c massmsg 16 }
  }
} 
dialog massmsg {
  title "Send Massive Messages"
  size -1 -1 220 400
  option pixels
  icon $mircexe,41
  radio "Только выделенным никам", 1, 12 15 190 15
  radio "Всем на канале:", 2, 12 40 100 15
  edit %massmsg-chan, 3, 115 38 90 20, autohs
  radio "Всем на всех открытых каналах", 4, 12 65 190 15
  radio "Всем никам в списке:", 5, 12 90 120 15
  button "Ники", 6, 138 87 60 22
  box "Текст рассылки", 7, 12 125 195 120
  edit %massmsg-text, 8, 18 140 183 100, autovs, multi, limit 250  
  box "Тип сообщения", 13, 12 255 195 50
  check "приват", 14, 30 276 50 15
  check "нотис", 15, 95 276 50 15
  check "ctcp", 16, 154 276 50 15
  text "Каждому нику через сек:", 10, 18 315 135 15
  edit %massmsg-sec, 11, 153 312 45 20, autohs
  button "Отправить", 9, 50 355 120 25
  text "", 12, 12 382 190 15
}
on *:dialog:massmsg:sclick:1: %massmsg-on = 1
on *:dialog:massmsg:sclick:2: %massmsg-on = 2
on *:dialog:massmsg:edit:3: %massmsg-chan = $did($dname,$did)
on *:dialog:massmsg:sclick:4: %massmsg-on = 3
on *:dialog:massmsg:sclick:5: %massmsg-on = 4
on *:dialog:massmsg:sclick:6: if ($exists(massmsg-nicks.txt) == $false) .write massmsg-nicks.txt | .run $mircdir $+ massmsg-nicks.txt
on *:dialog:massmsg:edit:8: unset %massmsg-text | var %q 1 | while (%q <= $did($dname,$did).lines) { %massmsg-text = %massmsg-text $did($dname,$did,%q) | inc %q }
on *:dialog:massmsg:edit:11: %massmsg-sec = $did($dname,$did)
on *:dialog:massmsg:sclick:14: if (!%massmsgp) { %massmsgp = on | halt } | unset %massmsgp
on *:dialog:massmsg:sclick:15: if (!%massmsgn) { %massmsgn = on | halt } | unset %massmsgn
on *:dialog:massmsg:sclick:16: if (!%massmsgc) { %massmsgc = on | halt } | unset %massmsgc
on *:dialog:massmsg:sclick:9: if (!%hs) mass-msg
---------------------------------------------------------------------
alias mass-msg {
  if (%massmsg-on == 1) {
    inc %hs | if (%hs >= $sline(#EpicNet,0)) { unset %hs %hc | .did -a massmsg 12 готово | halt }
    if (%massmsgp == on) .msg $sline(#EpicNet,%hs) %massmsg-text
    if (%massmsgn == on) .notice $sline(#EpicNet,%hs) %massmsg-text
    if (%massmsgc == on) .ctcp $sline(#EpicNet,%hs) %massmsg-text
    .did -a massmsg 12 %hs $sline(#EpicNet,%hs) | .timerMASST 1 %massmsg-sec mass-msg
  }
  if (%massmsg-on == 2) {
    inc %hs | if (%massmsgp == on) .msg $nick(%massmsg-chan,%hs) %massmsg-text
    if (%massmsgn == on) .notice $nick(%massmsg-chan,%hs) %massmsg-text
    if (%massmsgc == on) .ctcp $nick(%massmsg-chan,%hs) %massmsg-text
    .did -a massmsg 12 %hs $nick(%massmsg-chan,%hs)
    if (%hs >= $nick(%massmsg-chan,0)) { unset %hs %hc | .did -a massmsg 12 готово | halt } | .timerMASST 1 %massmsg-sec mass-msg
  }
  if (%massmsg-on == 3) {
    inc %hn | if (!%hc) inc %hc | inc %hs
    if (!$read(massmsg.txt, -w, $nick($chan(%hc),%hs))) {
      if (%massmsgp == on) .msg $nick($chan(%hc),%hs) %massmsg-text
      if (%massmsgn == on) .notice $nick($chan(%hc),%hs) %massmsg-text
      if (%massmsgc == on) .ctcp $nick($chan(%hc),%hs) %massmsg-text
      .did -a massmsg 12 %hn $nick($chan(%hc),%hs) $chan(%hc) | .write -i massmsg.txt $nick($chan(%hc),%hs)
    }
    if (%hs >= $nick($chan(%hc),0)) { unset %hs | inc %hc }
    if (%hc >= $chan(0)) { unset %hs %hc %hn | .remove massmsg.txt | .did -a massmsg 12 готово | halt } | .timerMASST 1 %massmsg-sec mass-msg
  }
  if (%massmsg-on == 4) {
    if ($lines(massmsg-nicks.txt) == 0) halt
    inc %hs | if (%massmsgp == on) .msg $read(massmsg-nicks.txt,%hs) %massmsg-text
    if (%massmsgn == on) .notice $read(massmsg-nicks.txt,%hs) %massmsg-text
    if (%massmsgc == on) .ctcp $read(massmsg-nicks.txt,%hs) %massmsg-text
    .did -a massmsg 12 %hs $read(massmsg-nicks.txt,%hs)
    if (%hs >= $lines(massmsg-nicks.txt)) { unset %hs %hc %hn | .did -a massmsg 12 готово | halt } | .timerMASST 1 %massmsg-sec mass-msg
  }
}

P.S. Если у вас возникли вопросы, вы столкнулись с трудностями по установке скрипта, или вы обнаружили ошибки, а может быть у вас появились новые идеи по модификации данного скрипта, то обязательно напишите здесь об этом.

Подпись автора

[html]<style>img {vertical-align:middle;}.hnet{color:#FFFFFF;}.hstar{color:#DE0000;}.htext{font-family:Verdana;font-size:13px;color:#6E1E00;}.heading{font-family:Verdana;font-size:13px;font-weight:bold;background-color:#4897E7;}.stitle{font-family:Verdana;font-size:12px;}.dot{color:#808000;}.desc{color:#ADADAD;}a .curl{font-family:Verdana;font-size:13px;color:#3A92CD;}</style><table><tr><td width="20px" height="20px"><img src="http://forumstatic.ru/files/000d/c9/8c/34681.jpg"></td><td><a href="http://forum.epicnet.ru/viewtopic.php?id=234"><span class="heading"> <span class="hstar">★</span> <span class="hnet">EpicNet.Ru</span> <span class="hstar">★</span> </span><span class="htext"> - IRC Чат © 2008</span></a></td></tr><tr><td></td><td><div class="stitle"><span class="dot">•</span> <span class="desc">Вход через вебгейт:</span> <a href="http://irc.epicnet.ru"><span class="curl">http://irc.epicnet.ru</span></a><br><span class="dot">•</span> <span class="desc">Сервер:</span> irc.epicnet.ru <span class="desc">Порты:</span> 6667, 6668 (ssl)<br><div></td></tr></table>[/html]