Script for mIRC

Discussion in 'PHP' started by bogger, 27 May 2009.

  1. bogger

    bogger Elder - Старейшина

    Joined:
    20 Apr 2008
    Messages:
    54
    Likes Received:
    19
    Reputations:
    0
    Предлагаю выкладывать нужные скрипты для программы mIRC.
    Начну я....

    Что бы скрипты работали их надо загрузить командой /load -rs <name script> либо сохранять вписывая в Раздел скрипты или alt+r там скрипты.

    Скрипт Анти-бана
    Создать файл antiban.mrc в папке mIRC в писать в него код ниже будет, потом загрузить его написав любом канале /load -rs antiban.mrc. Или alt+r там в скрипты вставить скрипт и сохранить просто..

    Код скрипта.
    Code:
    menu menubar {
      A N T I B A N:aban
    
    }
    dialog ban {
      size 280 180 240 180
      title "A N T I B A N"
      box "Опции", 1, 10 10 220 130
      check "Вкл", 2, 25 30 70 15
      radio "предупредить, при повторе кик/бан", 3, 15 50 205 15, disable
      radio "анбан и кик", 4, 15 70 140 15, disable 
      radio "анбан и кик/бан", 5, 15 90 120 15, disable 
      text "Сообщение:", 6, 14 110 60 15
      edit "", 7, 75 107 150 20
      button "Применить", 8, 15 150 65 20, disable 
      button "Отмена", 9, 95 150 50 20, cancel 
      button "Выход", 10, 175 150 50 20, ok
      text "", 17, 330 95 80 15
    
    }
    
    alias aban dialog -m ban ban
    
    on *:dialog:ban:*:*:{
      if $devent == sclick {
        if $did == 2 && $did(2).state == 1 { did -e ban 8,3,4,5 | did -n ban 7  }
        elseif $did == 2 && $did(2).state != 1 { did -b ban 3,4,5 | did -e ban 8 | did -m ban 7  }
        if $did == 3 { did -e ban 8 }
        if $did == 4 { did -e ban 8 }
        if $did == 5 { did -e ban 8 }
        if $did == 8 {
          if $did(2).state == 1 { set %antiban on }
          else { set %antiban off }   
    
          if $did(3).state == 1 { set %modeb 1 }
          if $did(4).state == 1 { set %modeb 2 }
          if $did(5).state == 1 { set %modeb 3 }
          if $did(7).text != $null { set %banpr $did(7).text }
          elseif $did(7).text == $null { set %banpr A N T I (+b) 
          }
          did -b ban 8
        }  
        if $did == 12 { did -e ban 8 }
    
      }
      if $devent == edit { did -e ban 8 }
      if $devent == init { 
        if %antiban == off { did -m ban 7  }
        else {
          did -e ban 3,4,5
          did -c ban 2
        }
        if %banpr == $null { did -a ban 7 A N T I (+b) 
        }
        else { did -a ban 7 %banpr }
        if %modeb == 1 { did -c ban 3 }
        if %modeb == 2 { did -c ban 4 }
        if %modeb == 3 { did -c ban 5 }
      }
    }
    on *:ban:#:{
      if %antiban == on {
        if ($nick == $me) && ($banmask !isin %bm) { set %bm %bm $banmask }    
        if ($nick == chanserv) && ($banmask iswm $address($me,5)) { set %akik $banmask }
        if ($nick != $me) && ($banmask iswm $address($me,5)) && ($nick != Chanserv) {
          .raw -q kick # $nick      
          .raw -q mode # -b $banmask
          if (%modeb == 1) && ($nick != Chanserv) { if ($nick != %banner) { .notice $nick Не бань меня парамоша!! | set -u60 %banner $nick } | else { .raw mode # -oeI+b %banner %banner %banner $address(%banner,2)  | .raw kick # %banner %banpr | unset %banner } }
          if (%modeb == 2) && ($nick != Chanserv) { .raw kick # $nick %banpr }
          if (%modeb == 3) && ($nick != Chanserv) { .raw mode # -o+b $nick $nick | .raw kick # $nick %banpr }
        }
        halt
      }
    }
    
    on *:UNBAN:#:{
      if ($banmask isin %bm) {
        if ($nick != $me) .raw -q mode # +b $banmask
        else set %bm $remove(%bm,$banmask)
      }
    }
    
    raw 474:*: {
      .msg ChanServ unban $2
    }
    
    on *:notice:*:*:{ 
      if ($nick == ChanServ) && ((cleared isin $1-) || (Вы были разбанены на канале isin $1-)) { raw -q join $chr(35) $+ $gettok($1-,2,35) }
    }
    
    По первому примеру делайте так же и другие.
    Скрипт antideop.mrc защита от деопа ( Что бы op не отобрали ao or @)

    Код
    Code:
    menu menubar {
      A N T I D E O P:/adeop
    }
    
    dialog adeop {
      size 280 180 240 180
      title "A N T I  D E O P"
      box "Опции", 1, 10 10 220 130
      check "Вкл", 2, 25 30 70 15
      radio "предупредить, при повторе кик/бан", 3, 15 50 205 15, disable
      radio "кик", 4, 15 70 140 15, disable 
      radio "кик/бан", 5, 15 90 120 15, disable 
      text "Сообщение:", 6, 14 110 60 15
      edit "", 7, 75 107 150 20
      button "Применить", 8, 15 150 65 20, disable 
      button "Отмена", 9, 95 150 50 20, cancel 
      button "Выход", 10, 175 150 50 20, ok
      text "", 17, 330 95 80 15
    
    }
    
    alias adeop dialog -m adeop adeop
    
    on *:dialog:adeop:*:*:{
      if $devent == sclick {
        if $did == 2 && $did(2).state == 1 { did -e adeop 8,3,4,5 | did -n adeop 7  }
        elseif $did == 2 && $did(2).state != 1 { did -b adeop 3,4,5 | did -e adeop 8 | did -m adeop 7  }
        if $did == 3 { did -e adeop 8 }
        if $did == 4 { did -e adeop 8 }
        if $did == 5 { did -e adeop 8 }
        if $did == 8 {
          if $did(2).state == 1 { set %antideop on }
          else { set %antideop off }   
    
          if $did(3).state == 1 { set %modea 1 }
          if $did(4).state == 1 { set %modea 2 }
          if $did(5).state == 1 { set %modea 3 }
          if $did(7).text != $null { set %deopr $did(7).text }
          elseif $did(7).text == $null { set %deopr ANTIDEOP 
          }
          did -b adeop 8
        }  
        if $did == 12 { did -e adeop 8 }
    
      }
      if $devent == edit { did -e adeop 8 }
      if $devent == init { 
        if %antideop == off { did -m adeop 7  }
        else {
          did -e adeop 3,4,5
          did -c adeop 2
        }
        if %deopr == $null { did -a adeop 7 ANTIDEOP 
        }
        else { did -a adeop 7 %deopr }
        if %modea == 1 { did -c adeop 3 }
        if %modea == 2 { did -c adeop 4 }
        if %modea == 3 { did -c adeop 5 }
      }
    }
    on !*:deop:#:{
      if %antideop == on {
        if ($opnick == $me) {
          .msg chanserv op # $me
          if (%modea == 1) && ($nick != Chanserv) { if ($nick != %deoper) { .notice $nick Не деопь меня парамоша!! | .msg chanserv deop # $nick | set -u60 %deoper $nick } | else { .raw -q mode # -o+b %deoper $address(%deoper,2) | .raw -q kick # %deoper %deopr | unset %deoper } }
          if (%modea == 2) && ($nick != Chanserv) { .raw -q kick # $nick %deopr }
          if (%modea == 3) && ($nick != Chanserv) { .raw -q mode # -o+b $nick $nick | .raw -q kick # $nick %deopr }
        }
        halt
      }
    }
    
    Все работает на quakenet.org еще я изменил с легка меню [lpopup]
    Ну вот еще пару команд для quakenet.org будут работать точно. Для более продвинутых пользователей кто знает что я написал...
    Code:
    n19=Дать права через Q
    n20=.Дать +ao:/msg Q CHANLEV $chan $$1 +ao
    n21=.Забрать ao:/msg Q CHANLEV $chan $$1 -ao
    n22=.Дать +av:/msg Q CHANLEV $chan $$1 +av
    n23=.Забрать av:/msg Q CHANLEV $chan $$1 -av
    n24=.Забанить +b:/msg Q CHANLEV $chan $$1 +b
    
    Еще при нажатии на канал [cpopup] тоже немного улучшил.
    Code:
    n0=Информация о канале:/channel
    n1=Права пользователей через Q:/msg Q CHANLEV $chan
    n2=Забанить на этом канале по маске:/ban $chan $$?="Введите маску пользователя"
    
    Пока все но очень буду рад если кто найдет более лучше скрипты на антибан деоп. Видел лучше только там шли сразу с миркой , а там скрипты спрятаны были и достать не смог.

    Делитесь своими скриптами какие вы используете и тп.
     
    1 person likes this.
  2. bogger

    bogger Elder - Старейшина

    Joined:
    20 Apr 2008
    Messages:
    54
    Likes Received:
    19
    Reputations:
    0
    Вот еще скрипт mass invite на канал с задержкой 5 сек
    Скрипт приглашает на канал каторый вы введете.
    Использование: Напишите /inv1 на том канале с каторого приглашаете...
    Code:
    alias inv1 {
      set %i 1
      set %invchan $?="Введите канал"
      set %chan $chan
      /inv2
    }
    alias inv2 {
      /invite $nick(%chan,%i) %invchan
      inc %i
      if %i <= $nick(%chan,0) /timer 1 5 /inv2 
    }
    raw 439:*:{
      %i = %i - 1
      /timers off
      %time = $10
      /timer 1 %time /inv2 
    }
    
    Поидеи его можно передалать так же что бы в меню был но я решил что так удобнее будет.
    И поповоду продедущих скриптов они появится в командах там будет настройка анти бана и диопа.
     
  3. bogger

    bogger Elder - Старейшина

    Joined:
    20 Apr 2008
    Messages:
    54
    Likes Received:
    19
    Reputations:
    0
    Похожий скрипт на инвайт только этот спамит сообщениями в приват с задержкой 10 сек но все равно если на канале человек сто то на quakenet.org не отправляет сообщения там ошибка типо быстро отправляете сообщения....
    Code:
    alias spam {
    set %i 1
    set %vop $?="Ваше сообщение"
    timer1 1 10 /spam2 #
    }
    alias spam2 {
    set %nick $nick(#,%i)
    f %nick == $null goto done
    /msg $nick(#,%i) %vop
    nc %i
    /timer2 1 10 /spam2 #
    :done
    halt
    =}
    
    Забыл для использования на канале пишите /spam
     
    #3 bogger, 27 May 2009
    Last edited: 27 May 2009
    2 people like this.
  4. CrazyStudentS_Mi}{

    CrazyStudentS_Mi}{ Elder - Старейшина

    Joined:
    4 Jul 2007
    Messages:
    424
    Likes Received:
    296
    Reputations:
    92
    Spam Script v2.3 by ScorpLeX
    PHP:
    on *:start:echo --== Spam Script v2.3 by ScorpLeX (icq 875880) ] ==--
    menu status {
      
    Спам:
      .
    Запустить:set %spam 0 set %ktxt kanal.txt set %ntxt nick.txt | /list -min 100 remove %ktxt | if ($?!="Начать сбор ников и спам?") { set %kt2 $read(%ktxt1) | join %kt2 }
      .
    Текст сообщения:set %msgf $?="Введите текст сообщения:"
      
    .Отключить:set %spam 1
    }
    raw 322:*:{
      
    write %ktxt $2
      
    /write -ds #admin %ktxt
      
    /write -ds #* %ktxt

    }
    on *:join:%kt2:{
      if (
    $nick == $me && %spam == 0) {
        .
    timerkt2 1 2 part %kt2
        
    /write -ds %kt2 %ktxt
      
    }
    }
    on *:part:%kt2:{
      if (
    $nick == $me && %spam == 0) {
        
    set %snick 1
        
    :next
        
    if ($nhnick(%kt2, %snicka) == $null) goto done
        
    if ($nhnick(%kt2, %snicka) != $me) { write -ds $nhnick(%kt2, %snicka) %ntxt write %ntxt $nhnick(%kt2, %snicka) }
        
    inc %snick
        
    goto next
        
    :done
        
    unset %kt2
        set 
    %kt2 $read(%ktxt1)
        if ( %
    kt2 != null ) { join %kt2 } else {
          
    set %linz 1
          
    :n1
          
    if ($read(%ntxt, %linz) == $null) goto f1
          
    if ( %msgf != null ) { .timer $+ $read(%ntxt, %linz1 $calc(%linz 15msg $read(%ntxt, %linz) %msgf }
          
    inc %linz
          
    goto n1
          
    :f1
        
    }
      }
    }