2013-04-25 2 views
0

Я ищу способ использовать пользователей для наводнения. Идея такова:MIRC сценарий против наводнения

on [lessthanhalfop]:text:*:#chan: { 
    If [timer$nick] !== 0 { 
    set %kickstate$nick +1 
    if %kickstate$nick < 4 { 
     kick $nick #chan [reason:flood] 
     echo > kickedlist.txt 
     delete [timer$nick] 
    delete [timer$nick] 
    makenew timer with 4 seconds 
    } 
    Set timer$nick 5seconds 
} 

Может кто-нибудь помочь мне с этим, так что это выполнимо с уникальными таймерами для каждого $ ники так, чтобы они не overide для каждого пользователя. Все, что я хочу сделать, это ударить людей, которые наводняют чат, введя в течение определенного периода времени (в данном случае 2 сек.). Может ли кто-нибудь помочь мне решить эту проблему?

Я использую mIRC, но канал находится в сети swiftirc, если кто-то хочет знать.

ответ

1

Решение:
A. Мы устанавливаем переменные и инкрементные (с живым промежутком в 2 секунды) в следующем формате «cTxtFlood.USER-АДРЕС». это позволяет нам отслеживать каждый новый флудер в нашей системе +, он будет чистить людей, которые говорили, но не наводнения.

В. Мы проверяем, если переменная счетчика превышает X строка (5 в примере)

C. Если флудеры, то мы запрещающие рук и ногах пользователя с запретом промежутком 300 секунд.

Немного информации:

чан - канал, который вы хотите защитить

@ * - только если я оп на канале
-u2 = снята с охраны переменная в 2 секунды
запрет - ku300 = удар и запрет на 300 секунд

Полный код (не тестировалось)

on @*:text:*:#chan: { 
    inc -u2 % [ $+ [ $+(cTxtFlood.,$wildsite) ] ] 
    if (% [ $+ [ $+(cTxtFlood.,$wildsite) ] ] == 5) { 
    echo -ag ban -ku300 # $nick 2 Channel Flood Protection (5 lines at 2 sec's) 
    } 
} 
+1

Помните, что этот скрипт будет делать определенные вещи, когда места в файле с другими скриптами. Если он помещен над любым другим триггером 'on *: text: ...', это предотвратит выход другого триггера. Причиной этого является то, что mIRC выполняет поиск каждого файла до тех пор, пока не найдет скрипт, который будет запускаться, а затем прекратит его использование. 'on *: text: *: # chan ...' будет вызывать на _any_ текст в канале и, следовательно, всегда совпадать. Решение для этого было бы поместить это в отдельный файл или по крайней мере разместить это в нижней части файла. Два из этих триггеров никогда не могут быть в одном файле. – melwil

+0

@melwil, я получил немного ленивое написанное, так что спасибо :) –

 Смежные вопросы

  • Нет связанных вопросов^_^