EpicNet.Ru - Форум IRC Чата

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Messenger for notices

Сообщений 1 страница 2 из 2

1

Код:
on *:NOTICE:*:?:{
  if !$window(@noticia) { set %nnick $nick | set %text $1 | not %text } 
}

alias -l not {
  .window -lke-b+d @noticia 400 200 500 300
  .aline 4 @noticia $date $time Notice < $+ $nick $+ > %text
}

i want made a messenger when the user send me a notice, works fine, but i want answer i keep on the same window ?

any help thnx

2

1233,351 написал(а):

i want made a messenger when the user send me a notice, works fine, but i want answer i keep on the same window ?

Для перехвата отправляемых сообщений набранных в "Editbox" вы можете воспользоваться обработчиком событий "ON INPUT".
Подробнее здесь: https://en.wikichip.org/wiki/mirc/on_events/on_input

Кроме того в вашем коде есть ошибка: "[mark=#FFFDD9].window -lke-b+d @noticia 400 200 500 300[/mark]" - флаги со знаком "-" и со знаком "+" должны быть разделены пробелом друг от друга, их нельзя смешивать. Иначе это может привести к непредсказуемому поведению окна или даже вызвать ошибки в его работе. Эти флаги отличаются разными свойствами присваиваемыми создаваемому окну. Флаги, которые устанавливаются со знаком "-" работают со внутренними свойствами окна, а флаги, которые устанавливаются со знаком "+" работают с внешней границей окна. Это важно знать.
Вы можете ознакомиться с этим подробнее здесь: https://en.wikichip.org/wiki/mirc/commands/window


Я значительно усилил ваш скрипт Мессенджера для общения через "NOTICE" (систему уведомлений) и дополнил новыми идеями. Добавлена поддержка списка ников для участников общения.
Чтобы отправить сообщение необходимо выделить мышкой один или сразу несколько ников (зажав клавишу "CTRL") в списке окна @MNotice.

Попробуйте использовать этот скрипт:

Код:
on ^*:NOTICE:*:?:{ 
  if ($istok(NickServ ChanServ HostServ MemoServ BotServ OperServ,$nick,32)) { return }
  mnotice $nick $1- | halt
}
on *:APPACTIVE:{
  if ($appactive == $false && $window(@mirc).state != normal) { if ($window(@MNotice)) .window -n @MNotice }
  if ($appactive == $true && $window(@mirc).state == normal) { if ($window(@MNotice)) .window @MNotice $window(@mdi).dx $window(@mdi).dy 500 200 }
}
on *:ACTIVE:@MNotice: .flash -c @MNotice
alias mnotice {
  if (!$window(@MNotice)) {
    if ($window(@mirc).state == minimized) var %mn_key -bdek0l7n | else var %mn_key -bdek0l7
    .window %mn_key @MNotice $window(@mdi).dx $window(@mdi).dy 500 200 $mircexe 24
  }
  if ($1 && $2) {
    if (!$fline(@MNotice,$1,0,1,1)) .aline -l 14 @MNotice $1
    .sline -r @MNotice | .sline -l @MNotice $fline(@MNotice,$1,1,1,1)
    .aline -p 4 @MNotice $+(05,$date $time,) $+(14<,$1,>) $2-
    .flash @MNotice | .window -g1 @MNotice
  }
}
menu @MNotice {
  lbclick:{ .editbox -f @MNotice }
  Add:{ .aline -l 14 @MNotice $?="What nickname add?" | .editbox -f @MNotice }
  Delete:{ .dline -l @MNotice $+($sline(@MNotice,1).ln,-,$sline(@MNotice,$sline(@MNotice,0)).ln) | .editbox -f @MNotice }
}
on *:INPUT:@MNotice:{
  if (!$sline(@MNotice,0)) { /echo @MNotice No nicknames selected in the nickname list. | halt }
  var %i 1 | while (%i <= $sline(@MNotice,0)) { %mn_snick = %mn_snick $sline(@MNotice,%i) | inc %i }
  %mn_snick = $replace(%mn_snick,$chr(32),$chr(44))
  .aline -p 3 @MNotice $+(05,$date $time,) $+(14<,$me,>) 05-> $+(14<,%mn_snick,>) $remove($1-,%mn_snick)
  .notice %mn_snick $remove($1-,%mn_snick) | unset %mn_snick
}

Чтобы открыть пустое окно для начала работы, наберите команду: "/mnotice" и нажмите правой кнопкой мыши для выбора в меню пункта "Add", чтобы добавить новые ники.

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

[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:#4898CD;}.stitle{font-family:Verdana;font-size:12px;}.dot{color:#808000;}.desc{color:#B5B5B5;}a .curl{font-family:Verdana;font-size:12px;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="https://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 Чат © 2009</span></a></td></tr><tr><td></td><td><div class="stitle"><span class="dot">•</span> <span class="desc">Онлайн:</span> <a href="http://chat.epicnet.ru"><span class="curl">http://chat.epicnet.ru</span></a><br><span class="dot">•</span> <span class="desc">Сервер:</span> irc.epicnet.ru <span class="desc">Порты:</span> 6667, 6668 (ssl) <span class="desc">Кодировка:</span> UTF-8<br><span class="dot">•</span> <span class="desc">Сайт:</span> <a href="http://epicnet.ru"><span class="curl">http://epicnet.ru</span></a> <span class="dot">•</span> <span class="desc">ВКонтакте:</span> <a href="https://vk.com/irc_epicnet"><span class="curl">https://vk.com/irc_epicnet</span></a><br><div></td></tr></table>[/html]

Быстрый ответ

Напишите ваше сообщение и нажмите «Отправить»