• На проекте открылась регистрация только для продавцов. Для обычных пользователей будет открыта позже. Подробнее.
    P.S. Не надо скидывать ссылки на форумы, где у вас ноль сообщений. Подобные заявки будут отклонятся.

Скриптинг Одеваем голЫй mIRC

ddd

(•̪̀●́)=o/̵͇̿̿/'̿̿ ̿ ̿̿
Команда форума
WebOwner
WebVoice
Не хочешь скачивать готовЫе скриптЫ? Хочешь сделать все сам? Тогда скачивай голЫй mIRC (локал) (мир)
Сначало сделаем удобное общение, чтобЫ при щелчке по нику в списке ников, он вставляся в строку ввода. Жмем Alt+O, лезем в меню мЫшь, в списке ников пиши:
Код:
 [COLOR=SeaGreen]/sayto $1[/COLOR]
в приватЫ, уведомления, сообщения пиши:
Код:
 [COLOR=SeaGreen]/whois $$1 $1[/COLOR]
теперь жми Alt+R, и жми вкладку алиасЫ, и там пеши это:
Код:
 [COLOR=SeaGreen]sayto {
  if ( %sayto-option == nick ) {
    if ( $editbox($chan) == $null ) { editbox -pf $1 $+ %sayto }
    else { editbox -f | query $1 }
  }
  else { query $1 }
}[/COLOR]
а в кладке переменЫе пиши ето:
Код:
 [COLOR=SeaGreen]%sayto :
%sayto-option nick[/COLOR]
Все теперь по двойному щелчку по нику, он вставится в строку ввода, если еще раз щелкнуть по нику, то откроется приват с этим человеком.

Общаться стало удобней, теперь расскажу как сделать чтобЫ можно бЫло показЫвать что тЫ в даннЫй момент слушаешь :)
Для этого нам понадобится библиотека amplink.dll, сохраняем её в корневой папке mIRC-а. Потом открЫваем мирк, жмем Alt+R, вЫбираем вкладку Менюшки(Popups) потом жми Вид -> Канал и там пишем:
Код:
Mp3:{
  if ( $chan == #help ) { echo -a ***На канале #help запрещенЫ плугинЫ | halt }
  if ( $dll(amplink.dll,track,) != $null ) { describe $chan 14,1сейчас мой магнитафон жует12,1 :::=>10,1 $remove($dll(amplink.dll,track,), - Winamp) $+([,$asctime($dll(amplink.dll,leng,a),nn:ss),/,$dll(amplink.dll,bit,a),Kbps,]) }
  else { describe $chan 14,1слушает утюг епть =) }
}
Все сохраняем, и потом шелкаем в окне канала правой кнопкой мЫши, и вЫбираем mp3.

ЗЫ: попожа напешу как сделать чтоб показЫвать системную инфу.
 

M03r

8айтовый
WebVoice
зачетно, ddd! давно хотел себе такие скрипты нарыть, а тут ты сам все сделал за меня! спс! ;)
 

ddd

(•̪̀●́)=o/̵͇̿̿/'̿̿ ̿ ̿̿
Команда форума
WebOwner
WebVoice
Сейчас, как и обещал расскажу как сделать показ системной инфЫ :)

Для этого нам понадобиться библиотека moo.dll и немного терпения. Сохраняем её в корневую папку mIRC-a, после чего открЫваем мирк, жмем зоветную комбинацию клавиш Alt+R и в сриптах сохраняем:

Код:
 ;####################################Системная Инфа#################################
alias stat {
  set %rb_size 10
  rambar
  say 12На моем компе стоит 4[ $+ $dll(moo.dll,osinfo,_) $+ ]  12Комп уже работает 4[ $+ $uptime(system,1) $+ ]  12Камень 4[ $+ $dll(moo.dll,cpuinfo,_) $+ ] 12Оперативки 4[ $+ $dll(moo.dll,meminfo,_) $+ $result $+ ]
}

alias connstat { say 12ЙА_онлайн 4[ $+ $dll(moo.dll,connection,_) $+ ] }
alias connstatself { echo -a *** 12ЙА_онлайн 4[ $+ $dll(moo.dll,connection,_) $+ ] }
alias screenstat { say 12ЙА_пялюсь в монег 4[ $+ $dll(moo.dll,screeninfo,_) $+ ] }
alias screenstatself { echo -a *** 12ЙА_пялюсь в монитор 4[ $+ $dll(moo.dll,screeninfo,_) $+ ] }

alias statself {
  set %rb_size 10
  rambar
  echo -a *** 12На моем компе стоит 4[ $+ $dll(moo.dll,osinfo,_) $+ ]  12Комп уже работает 4[ $+ $uptime(system,1) $+ ]  12Камень 4[ $+ $dll(moo.dll,cpuinfo,_) $+ ] 12Оперативки [ $+ $dll(moo.dll,meminfo,_) $+ $result $+ ]
}
alias uptime say 12ЙА_сижу под4 :: $+ $dll(moo.dll,osinfo,_) 12И мой комп не вЫрубаетцо4 - $uptime(system,1)
alias uptimeself echo -a *** 12ЙА_сижу под4 :: $+ $dll(moo.dll,osinfo,_) 12И мой комп не вЫрубаетцо4 - $uptime(system,1)

alias rambar {
  if ( %rb_size == 0 ) { return }
  set %rb_used $round($calc($dll(moo.dll,rambar,_) / 100 * %rb_size),0)
  set %rb_unused $round($calc(%rb_size - %rb_used),0)
  set %rb_usedstr $str(|,%rb_used)
  set %rb_unusedstr $str(-,%rb_unused)
  return  [ $+ %rb_usedstr $+ %rb_unusedstr $+ ]
}
alias gfx {
  if ($dll(moo.dll,gfxinfo,_) == -1) {
    moodll.error Could not find GFX card info in registry
  }
  else {
    say 12Видяхо 4[ $+ $dll(moo.dll,gfxinfo,_) $+ ]
  }
}
alias ni {
  say 12СетевЫе подключения 4[ $+ $dll(moo.dll,interfaceinfo,_) $+ ]
}
alias niself {
  echo -a *** 12СетевЫе подключения 4[ $+ $dll(moo.dll,interfaceinfo,_) $+ ]
}
alias hdd {
  :count
  inc %hdd.num
  if ( %hdd.num == $disk(0) )  { say 12Жоский диск: $replace(%hdd.total,GB,$+(GB,4,|,)) Total: $bytes(%hdd.total.size) $+ / $+ $bytes(%hdd.total.free).suf | unset %hdd.total | unset %hdd.total.size | unset %hdd.total.free | unset %hdd.num | halt }
  elseif ( $disk(%hdd.num).type != fixed ) { goto count | halt }
  else { set %hdd.total %hdd.total $+ $remove($disk(%hdd.num).path,\) $+ $bytes($disk(%hdd.num).size) $+ / $+ $bytes($disk(%hdd.num).free).suf  | set %hdd.total.free $calc(%hdd.total.free + $disk(%hdd.num).free ) | set %hdd.total.size $calc(%hdd.total.size + $disk(%hdd.num).size ) | goto count }
}

alias hddself {
  unset %hdd.*
  :count
  inc %hdd.num
  if ( %hdd.num == $disk(0) )  { echo -a 12Жоский диск: $replace(%hdd.total,GB,$+(GB,4,|,)) Total: $bytes(%hdd.total.size) $+ / $+ $bytes(%hdd.total.free).suf | unset %hdd.* | halt }
  elseif ( $disk(%hdd.num).type != fixed ) { goto count | halt }
  else { set %hdd.total %hdd.total $+ $remove($disk(%hdd.num).path,\) $+ $bytes($disk(%hdd.num).size) $+ / $+ $bytes($disk(%hdd.num).free).suf  | set %hdd.total.free $calc(%hdd.total.free + $disk(%hdd.num).free ) | set %hdd.total.size $calc(%hdd.total.size + $disk(%hdd.num).size ) | goto count }
}


alias gfxself {
  if ($dll(moo.dll,gfxinfo,_) == -1) {
    moodll.error Could not find GFX card info in registry
  }
  else {
    echo -a *** 12Видяхо [ $+ $dll(moo.dll,gfxinfo,_) $+ ]
  }
}
Потом лезем во вкладку Менюшки, жмем Вид-Канал и там пишем:
Код:
 Систем.инфа
.Сказать всем
..OS,CPU,MEM:stat
..Онлайн стат:connstat
..Монитор:screenstat
..ОС аптайм:uptime
..Видяха:gfx
..Подключения:ni
..Жоский:hdd
.Сказать себе
..OS,CPU,MEM:statself
..Онлайн стат:connstatself
..Монитор:screenstatself
..ОС аптайм:uptimeself
..Видяха:gfxself
..Подключения:niself
..Жоский:hddself
Все это дело сохраняем. После чего по каналу щелкаем правой кнопкой мЫшки и вЫбираем Систем.инфа и там щелкаем по тому что хочем показать :)
 

ddd

(•̪̀●́)=o/̵͇̿̿/'̿̿ ̿ ̿̿
Команда форума
WebOwner
WebVoice
Скрипт подсчета. Нужен для того чтобЫ узнать скоко осталось времени до определенной датЫ, например до Нового Года :)

Код:
menu menubar {
  Подсчет времени:/calctime
}
alias calctime { dialog -m calctime calctime | cl.add }
dialog calctime {
  title ".: Подсчет времени :."
  size -1 -1 388 204
  option pixels
  box "Настройка:", 1, 5 5 375 52,
  combo 2, 15 25 105 164,  drop size
  combo 3, 130 25 75 164,  drop size
  combo 4, 215 25 55 164,  drop size
  edit "00", 5, 280 25 25 20,
  edit "00", 6, 312 25 25 20,
  edit "00", 7, 345 25 25 20,
  text ":", 8, 307 27 5 14,
  text ":", 9, 340 27 5 14,
  box "Статус:", 10, 5 60 375 90,
  edit "", 11, 15 80 355 60,  read multi autovs vsbar
  button "П О Д С Ч Е Т   В Р Е М Е Н И", 12, 5 155 375 22,
  text "Copyright © 2007 by ToMMu", 13, 235 185 145 14,
}
alias r.inf1 { return $did(calctime,2).text }
alias r.inf2 { return $did(calctime,3).text }
alias r.inf3 { return $did(calctime,4).text }
alias t.a { return $did(calctime,5).text }
alias t.b { return $did(calctime,6).text }
alias t.c { return $did(calctime,7).text }
alias repcl return $replace($$1,wks, нед.,wk, нед.,days, дн.,day, дн.,hrs, ч.,hr, ч.,mins, мин.,min, мин.,secs, сек.,sec, сек.)
alias cl.add {
  %i = 1
  while (%i <= 31) { didtok calctime 3 C %i | inc %i }
  %i = 2007
  while (%i <= 2020) { didtok calctime 4 C %i | inc %i }
  didtok calctime 2 C Январь
  didtok calctime 2 C Февраль
  didtok calctime 2 C Март
  didtok calctime 2 C Апрель
  didtok calctime 2 C Май
  didtok calctime 2 C Июнь
  didtok calctime 2 C Июль
  didtok calctime 2 C Август
  didtok calctime 2 C Сентябрь
  didtok calctime 2 C Октябрь
  didtok calctime 2 C Ноябрь
  didtok calctime 2 C Декабрь
  did -c calctime 2,3,4 1
}
on *:DIALOG:calctime:sclick:12:{
  if ($r.inf1 == Январь) { %cl.year = 1 }
  if ($r.inf1 == Февраль) { %cl.year = 2 }
  if ($r.inf1 == Март) { %cl.year = 3 }
  if ($r.inf1 == Апрель) { %cl.year = 4 }
  if ($r.inf1 == Май) { %cl.year = 5 }
  if ($r.inf1 == Июнь) { %cl.year = 6 }
  if ($r.inf1 == Июль) { %cl.year = 7 }
  if ($r.inf1 == Август) { %cl.year = 8 }
  if ($r.inf1 == Сентябрь) { %cl.year = 9 }
  if ($r.inf1 == Октябрь) { %cl.year = 10 }
  if ($r.inf1 == Ноябрь) { %cl.year = 11 }
  if ($r.inf1 == Декабрь) { %cl.year = 12 }
  did -ri calctime 11 1 До $r.inf2 $r.inf1 $r.inf3 осталось:
  did -i calctime 11 2 $repcl($duration($calc($ctime($r.inf2 $+ / $+ %cl.year $+ / $+ $r.inf3 $t.a $+ : $+ $t.b $+ : $+ $t.c) - $ctime)))
}

До 1 Январь 2008 осталось:
1нед. 1дн. 3ч. 53мин. 45сек.
 

ddd

(•̪̀●́)=o/̵͇̿̿/'̿̿ ̿ ̿̿
Команда форума
WebOwner
WebVoice
Счетчик приватов:
Код:
on *:OPEN:?:*:{
if (!%query.count) { set %query.count 0 }
inc %query.count
msg $nick 10Здраствуй, здраствуй3 $nick 10мордастЫй
msg $nick 10Не надо мне писать 3"Привет как дела" 10и т.п., обращайся только по делу.
msg $nick 10Твой приват у меня по счету4 $query(0)
msg $nick 10тЫ уже4 %query.count 10кто лезет сюда.
}

Жмем Alt+R и кидаем в скриптЫ :)
 

ddd

(•̪̀●́)=o/̵͇̿̿/'̿̿ ̿ ̿̿
Команда форума
WebOwner
WebVoice
Того кто подключается через разнЫе серваки к сети, порой не устраивает встроенное автовЫполнение в мирке. Поэтому сделаем свое, с добавлением серваков и т.п.

Пихаем этот код в блокнот либо сразу в скриптах создаете новЫй, кому как удобнее:
Код:
dialog avto {
  title "АвтовЫполнение"
  size -1 -1 86 110
  option dbu
  check "Включить", 6, 2 6 35 10
  text "Сервер:", 3, 2 20 21 7
  combo 2, 24 18 60 52, sort size hsbar drop
  button "New", 1, 39 4 18 12
  button "Delete", 7, 60 4 23 12
  edit "", 4, 2 32 82 60, disable multi return autohs autovs vsbar
  button "Сохранить", 8, 3 95 38 12
  button "Готово", 5, 44 95 39 12, ok
}

alias -l oc.path { return aircavto.ini }
on *:connect: {
  if (%con.com) {
    var %i 1,%serv $server,%line $ini($oc.path, $+ %serv,0)
    if (%line == 0 || %line == $null) { var %serv other, %line $ini($oc.path, $+ %serv,0) }
    while (%i <= %line) {  $readini $oc.path %serv %i |  inc %i 1  }
  }
}

alias -l oc.did {
  var %i 1,%l $ini($oc.path,$iif($did($1,2) == ...ОстальнЫе,other,$did($1,2)),0)
  while (%i <= %l) { did -i $dname 4 $did($1,4).lines $readini $oc.path $iif($did($1,2) ==  ...ОстальнЫе,other,$did($1,2)) %i  |  inc %i 1 }
}
on *:dialog:avto:*:*: {
  if ($devent == init) {
    if (!$exists($oc.path)) { write $oc.path $chr(91) $+ other $+ $chr(93) }
    if (!%con.com) { /did -b $dname 1,2,4,7,8 } | else {   did -b $dname 4,7,8 | did -c $dname 6 }
    var %i 1,%t $ini($oc.path,0) |  while (%i <= %t) { /did -i $dname 2 $calc($did(2).lines + 1)  $iif($ini($oc.path, $+ %i) == other,...ОстальнЫе,$ini($oc.path, $+ %i)) | inc %i 1 }
  }
  if ($devent == sclick) {
    if ($did == 2) {
      /did -e $dname 4,7 | /did -r $dname 4 |  $oc.did($dname)
      $iif($did(2) == ...ОстальнЫе,/did -b $dname 7,/did -e $dname 7)
    }
    var %serv $iif($did(2) == ...ОстальнЫе,other,$did(2))
    if ($did == 6) { if (%con.com) { unset %con.com | did -b $dname 1,2,4,7 } | else { set %con.com on | did -e  $dname 1,2,4,7  }
    }
    if ($did == 1) {
      var %ns $$?="Введите адрес сервера."
      :next
      if (%ns == $null) { halt } | if ($chr(32) isin %ns) {  var %ns $$?="Недопустимое значение." | goto next  }
      if ($ini($oc.path,$+ %ns)) {  var %ns $$?="Такой сервер есть в списке." | goto next }
      /did -i $dname 2 $did(2).lines %ns | /write $oc.path $chr(91) $+ %ns $+ $chr(93)
      /did -c $dname 2 $calc($did(2).lines - 1) | did -r $dname 4
    }
    if ($did == 7) { remini $oc.path %serv| did -d $dname 2 $did(2).sel | did -r $dname 4 | did -c $dname 2  $did(2).lines | $oc.did($dname) }
    if ($did == 8) {
      var %i 1,%l $did(4).lines  |   remini $oc.path %serv
    while (%i <= %l) {  if ($did(4,%i)) {  /writeini $oc.path %serv %i  $did(4,%i)   } | inc %i 1 }  | did -b  $dname 8 }
  }
  if ($devent == edit) { if ($did == 4) { /did -e $dname 8 } }
}

menu channel,menubar,status {
  АвтовЫполнение:/dialog -m avto avto
}

Сохраняете как avto.mrc в папке с мирк.exe, а потом пишите в клиенте:
/load -rs avto.mrc
После чего лезим КомандЫ - АвтовЫполнение. В появившемся окне жмем на кнопку New добавляем сервер, после чего список команд и жмем Сохранить, галочку напротив Включить, а потом Готово.
Все должно работать )
 

ddd

(•̪̀●́)=o/̵͇̿̿/'̿̿ ̿ ̿̿
Команда форума
WebOwner
WebVoice
Часто приходится видеть у себя в привате сообщения рекламного характера, аля посетите наш канал и т.п. Вот решил накатать скрипт аля Анти-Спам как у ICQ клиентов. Этот скрипт позволит предотвратить получение сообщений, содержащих спам. Бот будет спрашивать у пользователя указаннЫй вами простой вопрос, ожидая правильного ответа. И только после правильного ответа, пользователь сможет с вами общаться. Это касается только пользователей не из вашего списка контактов.

ОткрЫваем блокнот и копируем в него:
Код:
on ^1:OPEN:?:*: {
  if (!%query.count) { set %query.count 0 }
  inc %query.count
  if ($nick == $read(asc.txt, w, $nick)) query $nick
  if ($nick == $read(asc.txt, w, $nick)) { .echo $nick $time < $+ $nick $+ > $1 } | { /timerOPENQUERY 1 1 /splay -cwmpq openquery.mp3 }
  if ($nick == $read(asc.txt, w, $nick)) halt
  if ($1- === $read(asc.txt, 2)) .msg $nick 14Ответ правильнЫй:3 $read(asc.txt, 2) $+ 14. Спасибо, приват открЫт! Можешь говорить :)
  if ($1- === $read(asc.txt, 2)) .timerSTATS 1 1 ./msg $nick 14Статистика: открЫто приватов3 $query(0) $+ 14, приватов за все время3 %query.count $+ 14.
  if ($1- === $read(asc.txt, 2)) .timerASC 1 3 /query $nick
  if ($1- === $read(asc.txt, 2)) halt
  .msg $nick 14:: 3Anti-Spam Control 14[30.114] :: Здраствуйте, у меня стоит защита от рассЫлки спама в приват. А так как вЫ не в моем списке контактов, пройдите пожалуйста проверку, ответив на вопрос.
  .timerQUESTION 1 2 ./msg $nick 3Вопрос:15 $read(asc.txt, 1) $+ . 3Если вЫ не спам бот, напишите:15 $read(asc.txt, 2) $+ 14. НеправельнЫе ответЫ игнорируются!
  halt
}
Сохраняем все как asc.mrc в папке с mirc.exe, после чего загружаем /load -rs asc.mrc
Кидаем в папку какуе-нить мелодию, в моем случае это openquery.mp3, чтоб она проигрЫвалась, когда кто-то обойдет антиспам, и напишет вам в приват.
Там же в папке с миркой создаем файл asc.txt со следующим содержанием:
Текст вопроса
Текст ответа
Ник1
Ник2
...
Так теперь автоматизируем добавление ников. Жмем Alt+R вЫбираем вкладку Менюшки -> Вид -> Приват и в самЫй низ добавляем:
Код:
Anti-Spam
.Добавить пользователя:/write asc.txt $1-
.Добавить нового:/write asc.txt $?="Напишите ник"
Теперь чтобЫ добавить человека с которЫм общаешься в список, достаточно щелкнуть правой кнопкой по окну привата, вЫбрать Anti-Spam -> Добавить пользователя.

Все, радуемся :)
 

SrDEN

IPv6
Команда форума
WebVoice
Скрипт для любителей команд /amsg, /ame и т.п.

Возможности:
  1. Писать и делать действия во все каналЫ
  2. Писать во все открЫтЫе приватЫ
  3. Писать в избраннЫе каналЫ
  4. Делать действия в избраннЫе каналЫ
  5. Добавлять удалять избраннЫе каналЫ

Как ставить:
  1. ОткрЫваем мирку, жмем Alt+R
  2. ОткрЫваем вкладку контекстнЫе меню
  3. Вид -> Канал
  4. И в самЫй низ пишем:
Код:
Write All
.Сказать:/amsg $?="Сказать на всех каналах где вЫ сидите:"
.Действие:/ame $?="Сделать действие на всех каналах где вЫ сидите:"
.Во все приватЫ:/qmsg $?="Написать во все ваши приватЫ:"
Elected Write
.Сказать в избраннЫе:{
  set %izbchan $chan(0)
  set %izbtext $?
  :next
  if ((%izbchan > 0) && ($chr(49) $+ $right($chan(%izbchan),$calc($len($chan(%izbchan)) - 1)) == $read(izb.txt, w, $chr(49) $+ $right($chan(%izbchan),$calc($len($chan(%izbchan)) - 1))))) msg $chan(%izbchan) %izbtext
  if %izbchan == 0 goto done
  dec %izbchan
  goto next
  :done
  unset %izb*
}
.Сделать действие в избраннЫе:{
  set %izbchan $chan(0)
  set %izbtext $?
  :next
  if ((%izbchan > 0) && ($chr(49) $+ $right($chan(%izbchan),$calc($len($chan(%izbchan)) - 1)) == $read(izb.txt, w, $chr(49) $+ $right($chan(%izbchan),$calc($len($chan(%izbchan)) - 1))))) describe $chan(%izbchan) %izbtext
  if %izbchan == 0 goto done
  dec %izbchan
  goto next
  :done
  unset %izb*
}
.Добавить вЫделеннЫй канал:if ($replace($left($chan,1),$chr(35),$chr(49)) $+ $right($chan,$calc($len($chan)-1)) != $read(izb.txt, w, $replace($left($chan,1),$chr(35),$chr(49)) $+ $right($chan,$calc($len($chan)-1)))) /write izb.txt $replace($left($chan,1),$chr(35),$chr(49)) $+ $right($chan,$calc($len($chan)-1))
.Удалить
..Удалить последний добавленЫй:/write -d izb.txt
..Удалить все избраннЫе:/write -c izb.txt

Скрипт писался на скорую руку, можно много чего надбавлять, и чего-то по упрощать, но время пока что нету :)
 
Последнее редактирование:

ddd

(•̪̀●́)=o/̵͇̿̿/'̿̿ ̿ ̿̿
Команда форума
WebOwner
WebVoice
Усовершенствовал скрипт из этого поста: http://www.webcriminal.ru/forum/showpost.php?p=18989&postcount=7

Теперь он не только от спама защищает, но и от флуда в приват, нотисами и инвайтами. Проверялся на 1000 ботах.

Жмем Alt+R и открываем вкладку скрипты, и заменяем старый этим:
Код:
on ^1:OPEN:?:*: {
  if (!%query.count) { set %query.count 0 }
  inc %query.count
  if ($var(%queryn*) >= 20) .timerAXTYNGP 1 3 echo 4Вас пытаются зафлудить в приват! Стучится $var(%queryn*) ботов!
  if ($1- !=  $eval($+(%, randreply, $nick),2)) { inc -u180 $+(%, queryn., $nick) 1 }
  if ($eval($+(%, queryn., $nick),2) >= 30) { ignore -pniu180 $site | unset $+(%, queryn., $nick) }
  if (($var(%queryn*) >= 20) && ($eval($+(%, queryn., $nick),2) >= 3)) { ignore -pniu180 $site | unset $+(%, queryn., $nick) }
  if (($var(%queryn*) >= 20) && ($eval($+(%, queryn., $nick),2) >= 3) && ($network == Dogm-Network)) { /shun $+(+, $remove($address,*!*)) 600 :PrivetFlood }
  if ($1- !=  $eval($+(%, randreply, $nick),2) && ($eval($+(%, queryn., $nick),2) == 1)) { set -u80 $+(%, randreply, $nick) $rand(100,999) }
  if ($nick == $read(asc.txt, w, $nick)) query $nick
  if ($nick == $read(asc.txt, w, $nick)) { .echo $nick $time < $+ $nick $+ > $1- }
  if ($nick == $read(asc.txt, w, $nick)) halt
  if ($1- == $eval($+(%, randreply, $nick),2)) .msg $nick 14Ответ правильный:3 $eval($+(%, randreply, $nick),2) 14. Спасибо, приват открыт! Можешь говорить :)
  if ($1- == $eval($+(%, randreply, $nick),2)) .timerSTATS 1 1 .msg $nick 14Статистика: открыто приватов3 $query(0) $+ 14, приватов за все время3 %query.count $+ 14.
  if ($1- == $eval($+(%, randreply, $nick),2)) query $nick
  if ($1- == $eval($+(%, randreply, $nick),2)) halt
  if ($eval($+(%, queryn., $nick),2) == 1) .timerQUESTION1 1 2 .msg $nick 14:: 3Anti-Spam\Flood Control 14[31.214] :: Здраствуйте, у меня стоит защита от спама\флуда в приват. А так как вы не в моем списке контактов, пройдите пожалуйста проверку. написав заданное число. Напишите:1,15 $+(%, randreply, $nick) 14. Неправельные ответы игнорируются!
  if (($var(%queryn*) >= 20) && ($eval($+(%, queryn., $nick),2) == 1)) .timerQUESTION2 1 6 .msg $nick 3В данный момент меня флудят, если ответите 3 раза неправильно, то попадете в игнор на 3 минуты.
  halt
}

on ^1:NOTICE:*:?: {
  if (services isin $address) goto nextnotice
  inc -u80 %asnotice 1
  inc -u80 $+(%, noticen., $nick) 1
  :nextnotice
  if ($var(%noticen.*) >= 20) .timerAXTYNGN 1 3 echo 4Вас пытаются зафлудить нотисами! Стучится $var(%noticen.*) ботов!
  if (($eval($+(%, noticen., $nick),2) >= 3) && (%asnotice >= 10)) { ignore -nu300 $site | dec -u80 %asnotice 1 }
  if (($eval($+(%, noticen., $nick),2) >= 3) && (%asnotice >= 10) && ($network == Dogm-Network)) { /shun $+(+, $remove($address,*!*)) 600 :NoticeFlood }
  if ((%asnotice >= 15) && ($eval($+(%, noticen., $nick),2) >= 2)) halt
  if ((%asnotice >= 10) && ($eval($+(%, noticen., $nick),2) == 1)) notice $nick 3С вами говорит автоответчик, в данный момент меня флудят, все попросы через приват.
}

on ^1:INVITE:#: {
  inc -u80 %asinvite 1
  inc -u80 $+(%, inviten., $nick) 1
  if (%asinvite >= 20) .timerAXTYNGN 1 3 echo 4Вас пытаются зафлудить инвайтами! Уже %asinvite приглашений!
  if ($eval($+(%, inviten., $nick),2) >= 10) { ignore -iu600 $site | dec %asinvite 1 }
  if (($eval($+(%, inviten., $nick),2) >= 10) && ($network == Dogm-Network)) { /shun $+(+, $remove($address,*!*)) 600 :InviteFlood }
  if (%asinvite >= 10) halt
}
Если до этого у вас не было подобного скрипта, то создаете там новый Файл - Создать и вставляете в новое окно данный скрипт и сохраняете.

Так теперь автоматизируем добавление ников. Жмем Alt+R выбираем вкладку Менюшки - Вид - Приват и в самый низ добавляем:

Код:
Anti-S\F
.Добавить пользователя:/write asc.txt $1-
.Добавить нового:/write asc.txt $?="Напишите ник"

Теперь чтобы добавить человека с которым общаешься в список, достаточно щелкнуть правой кнопкой по окну привата, выбрать Anti-S\F - Добавить пользователя.


Функции скрипта:
  1. Если пользователя нету в списке доверенных пользователей, то при попытке что-нибудь написать Вам в приват получит сообщение с кодом которое ему надо ввести. Если в данный момент вас флудят то его оповестит о том, что если он ошибется 3 раза, его добавит в список игнорируемых.
  2. Если вы получите в течении минуты больше 15 нотисов, то включается защита, и любой пользователь отправивший больше 3 нотисов попадет в игнор.
  3. Если в течении минуты вас приглашает 1 пользователь более чем на 10 каналов, то он попадает в игнор.
 

ddd

(•̪̀●́)=o/̵͇̿̿/'̿̿ ̿ ̿̿
Команда форума
WebOwner
WebVoice
Че то я про сервисы и забыл :)
* Добавлен *!*@services.dogm.net в список игнорирования на 300 сек.
-
[02:11:56] -hub1.dogm.net- *** Shun added for services@services.dogm.net on Sat Feb 19 23:09:56 2011 GMT (from ddd!ddd@92.72.54.53 to expire at Sat Feb 19 23:19:56 2011 GMT: NoticeFlood)

Верхний пост обновил, теперь за нотисы сервисы игнорить не будет.

Ах да добавил для ирцопов еще и шан, теперь флудботы еще и в шане сидеть будут )
Для работы команды замените $network == Dogm-Network на сеть где у вас есть права.
 

ddd

(•̪̀●́)=o/̵͇̿̿/'̿̿ ̿ ̿̿
Команда форума
WebOwner
WebVoice
Для тех кто сидит в разных сетях с одного IRC клиента, и использует разные пароли к своему нику.

Жмем Alr+R в скриптах создаем новый файл и в него вставляем:
Код:
;begin---------СерверКонектор-скрипт ddd-------------------------
dialog servcon {
  title "ServConnector v.0.1 © webcriminal.ru"
  size -1 -1 172 60
  option dbu
  edit "", 1, 11 14 79 10, %serv1
  edit "", 2, 11 25 79 10, %serv2
  edit "", 3, 11 36 79 10, %serv3
  edit "", 4, 11 47 79 10, %serv4
  check "Выбрать", 5, 138 14 34 10
  check "Выбрать", 6, 138 25 34 10
  check "Выбрать", 7, 138 36 34 10
  check "Выбрать", 8, 138 47 34 10
  text "Сервер порт пароль", 9, 13 5 53 8
  text "№1", 10, 1 15 10 8
  text "№2", 11, 1 25 10 8
  text "№3", 12, 1 36 10 8
  text "№4", 13, 1 47 10 8
  button "ОК", 15, 142 2 25 10, ok
  edit "", 17, 91 14 44 10, %pass1
  edit "", 18, 91 25 44 10, %pass2
  edit "", 19, 91 36 44 10, %pass3
  edit "", 20, 91 47 44 10, %pass4
  text "Пароль от ника", 21, 92 5 45 8
}

on *:dialog:servcon:*:*: {
  if ($devent == init) {
    if (!%servcon1) { /did -b $dname 1,17 } | else { did -b $dname 1,17 | did -c $dname 5 } 
    if (!%servcon2) { /did -b $dname 2,18 } | else { did -b $dname 2,18 | did -c $dname 6 } 
    if (!%servcon3) { /did -b $dname 3,19 } | else { did -b $dname 3,19 | did -c $dname 7 } 
    if (!%servcon4) { /did -b $dname 4,20 } | else { did -b $dname 4,20 | did -c $dname 8 }
  }
  if ($devent == sclick) {
    if ($did == 5) { if (%servcon1) { unset %servcon1 | did -b $dname 1,17 } | else { set %servcon1 on | did -e  $dname 1,17  } }
    if ($did == 6) { if (%servcon2) { unset %servcon2 | did -b $dname 2,18 } | else { set %servcon2 on | did -e  $dname 2,18  } }
    if ($did == 7) { if (%servcon3) { unset %servcon3 | did -b $dname 3,19 } | else { set %servcon3 on | did -e  $dname 3,19  } }
    if ($did == 8) { if (%servcon4) { unset %servcon4 | did -b $dname 4,20 } | else { set %servcon4 on | did -e  $dname 4,20  } }
    if ($did == 15) { 
      set %serv1 $did(servcon,1,text)
      set %serv2 $did(servcon,2,text)
      set %serv3 $did(servcon,3,text) 
      set %serv4 $did(servcon,4,text)
      set %pass1 $did(servcon,17,text)
      set %pass2 $did(servcon,18,text)
      set %pass3 $did(servcon,19,text)
      set %pass4 $did(servcon,20,text)
    }
  }
}

on 1:start: { 
  if (%servcon1 == on) { timerSERV1 1 2 server -m %serv1 }
  if (%servcon2 == on) { timerSERV2 1 4 server -m %serv2 }
  if (%servcon3 == on) { timerSERV3 1 6 server -m %serv3 }
  if (%servcon4 == on) { timerSERV4 1 8 8server -m %serv4 }
}

on 1:notice:*IDENTIFY*:?: { 
  if ((%servcon1 == on) && ($nick == nickserv) && ($server == %serv1)) /identify %pass1 
  if ((%servcon2 == on) && ($nick == nickserv) && ($server == %serv2)) /identify %pass2 
  if ((%servcon3 == on) && ($nick == nickserv) && ($server == %serv3)) /identify %pass3 
  if ((%servcon4 == on) && ($nick == nickserv) && ($server == %serv4)) /identify %pass4 
}

menu menubar,channel,status {
  ServConnector:$iif($dialog(servcon),/dialog -v servcon,/dialog -m servcon servcon) 
}
;end---------СерверКонектор-скрипт ddd-------------------------

Сохраняем, после чего щелкаем правой кнопкой в окне статуса и выбираем ServConnector. И далее заполняем формы, выбираем сколько надо серверов. Пишем адрес сервера порт если надо и пароль если надо, примеры:
  1. irc.dogm.net
  2. irc.prioz.ru 6667
  3. irc.myserv.ru 6667 serverpass
В поле пароль, пароль от ника на этом сервере.
После чего жмем Ok. Перезапускаем mIRC и забываем что надо вводить сервера и идентифицироваться:)

PS: скрипт писал на скорую руку, так что возможно много косяков, но он работает :)
 
Сверху