Simple Private Protection

By mfk on Aug 08, 2005

It`s simple, just paste the code on remote ( Alt + R ) and press OK, for any setings just see the Prv.Protect from the menubar. For any bugs and errors contact me at mail: mfkworld@yahoo.com or on undernet with nick mfk. enjoy

on *:load:{
  if ($version < 6.01) { echo -a Download a new version of mIRC and then try to install this system. www.mirc.com | halt }
  else {
    echo -a =========================
    echo -a Simple Private Protection Install
    echo -a For any bugs and errors pls mail me: mfkworld@yahoo.com
    echo -a If you like join #mfk on UnderNet.
    echo -a Enjoy.
    echo -a Copyright (c) mfk 2005 ;)
    echo -a =========================
    set %flood.private.text.max.lines 3
    set %flood.private.text.max.sec 2
    set %flood.private.notice.max.lines 3
    set %flood.private.notice.max.sec 2
    set %flood.private.action.max.lines 3
    set %flood.private.action.max.sec 2
    set %flood.private.invite.max.lines 3
    set %flood.private.invite.max.sec 2
    set %flood.private.ctcp.max.lines 3
    set %flood.private.ctcp.max.sec 2
    set %flood.private.dcc.max.lines 3
    set %flood.private.dcc.max.sec 2
    set %flood.private.ignore.sec 20
    set %flood.private.text on
    set %flood.private.notice on
    set %flood.private.action on
    set %flood.private.invite on
    set %flood.private.ctcp on
    set %flood.private.dcc on
    set %flood.ignore.tmp on
    set %flood.ignore.per off
    ignore on
  }
}
on *:unload:{
  echo -a =========================
  echo -a Simple Private Protection uninstall.
  echo -a Copyright (c) mfk 2005 ;)
  echo -a =========================
  unset %flood.private.text.max.lines
  unset %flood.private.text.max.sec
  unset %flood.private.notice.max.lines
  unset %flood.private.notice.max.sec
  unset %flood.private.action.max.lines
  unset %flood.private.action.max.sec
  unset %flood.private.invite.max.lines
  unset %flood.private.invite.max.sec
  unset %flood.private.ctcp.max.lines
  unset %flood.private.ctcp.max.sec
  unset %flood.private.dcc.max.lines
  unset %flood.private.dcc.max.sec
  unset %flood.private.ignore.sec
  unset %flood.private.text
  unset %flood.private.notice
  unset %flood.private.action
  unset %flood.private.invite
  unset %flood.private.ctcp
  unset %flood.private.dcc
  unset %flood.ignore.tmp
  unset %flood.ignore.per
  unset %flood.count
}
menu menubar {
  Prv.Protection:/prvprot
}
alias prvprot { dialog -m prvprotect prvprotect }
dialog prvprotect {
  title "Private Protection"
  size -1 -1 114 152
  option dbu
  box "Private Protection", 1, 1 1 112 133
  check "Message", 2, 4 13 32 10
  edit "", 3, 54 13 17 10
  text "Max", 4, 39 14 11 8
  text "in sec", 5, 75 14 15 8
  edit "", 6, 92 13 17 10
  check "Notice", 7, 4 27 25 10
  text "Max", 8, 39 28 11 8
  edit "", 9, 54 27 17 10
  text "in sec", 10, 75 28 15 8
  edit "", 11, 92 27 17 10
  check "Action", 12, 4 41 26 10
  text "Max", 13, 39 42 11 8
  edit "", 14, 54 41 17 10
  text "in sec", 15, 75 42 15 8
  edit "", 16, 92 41 17 10
  check "Invite", 17, 4 56 25 10
  text "Max", 18, 39 57 11 8
  edit "", 19, 54 56 17 10
  text "in sec", 20, 75 57 15 8
  edit "", 21, 92 56 17 10
  check "CTCP", 22, 4 70 24 10
  edit "", 24, 54 70 17 10
  text "in sec", 25, 75 71 15 8
  edit "", 26, 92 70 17 10
  check "DCC", 27, 4 84 22 10
  text "Max", 23, 39 71 11 8
  text "Max", 28, 39 85 11 8
  edit "", 29, 54 84 17 10
  text "in sec", 30, 75 85 15 8
  edit "", 31, 92 84 17 10
  link "www.IRC-mfk.dap.ro", 32, 55 110 53 8, http://www.irc-mfk.dap.ro
  text "Ignore for:", 33, 4 98 28 8
  radio "Sec.", 34, 4 110 21 10
  edit "", 35, 30 110 15 10
  radio "Permanent", 36, 4 122 37 10
  button "Ok", 37, 1 137 37 12, ok
  button "Cancel", 38, 76 137 37 12, cancel
}
on 1:dialog:prvprotect:sclick:37:{
  set %flood.private.text.max.lines $did(prvprotect,3).text
  set %flood.private.text.max.sec $did(prvprotect,6).text
  set %flood.private.notice.max.lines $did(prvprotect,9).text
  set %flood.private.notice.max.sec $did(prvprotect,11).text
  set %flood.private.action.max.lines $did(prvprotect,14).text
  set %flood.private.action.max.sec $did(prvprotect,16).text
  set %flood.private.invite.max.lines $did(prvprotect,19).text
  set %flood.private.invite.max.sec $did(prvprotect,21).text
  set %flood.private.ctcp.max.lines $did(prvprotect,24).text
  set %flood.private.ctcp.max.sec $did(prvprotect,26).text
  set %flood.private.dcc.max.lines $did(prvprotect,29).text
  set %flood.private.dcc.max.sec $did(prvprotect,31).text
  set %flood.private.ignore.sec $did(prvprotect,35).text
}
on 1:dialog:prvprotect:sclick:2:{
  if (%flood.private.text == on) {
    set %flood.private.text off
  }
  else {
    set %flood.private.text on
  }
}
on 1:dialog:prvprotect:sclick:7:{
  if (%flood.private.notice == on) {
    set %flood.private.notice off
  }
  else {
    set %flood.private.notice on
  }
}
on 1:dialog:prvprotect:sclick:12:{
  if (%flood.private.action == on) {
    set %flood.private.action off
  }
  else {
    set %flood.private.action on
  }
}
on 1:dialog:prvprotect:sclick:17:{
  if (%flood.private.invite == on) {
    set %flood.private.invite off
  }
  else {
    set %flood.private.invite on
  }
}
on 1:dialog:prvprotect:sclick:22:{
  if (%flood.private.ctcp == on) {
    set %flood.private.ctcp off
  }
  else {
    set %flood.private.ctcp on
  }
}
on 1:dialog:prvprotect:sclick:27:{
  if (%flood.private.dcc == on) {
    set %flood.private.dcc off
  }
  else {
    set %flood.private.dcc on
  }
}
on 1:dialog:prvprotect:sclick:34:set %flood.ignore.tmp on | set %flood.ignore.per off
on 1:dialog:prvprotect:sclick:36:set %flood.ignore.per on | set %flood.ignore.tmp off
on 1:DIALOG:prvprotect:init:0:{
  set %flood.count 1
  .did -a prvprotect 3 %flood.private.text.max.lines
  while ( $gettok(%flood.count,%flood.count,32) != $null ) {
    .inc %flood.count 
  }
  set %flood.count 1
  .did -a prvprotect 6 %flood.private.text.max.sec
  while ( $gettok(%flood.count,%flood.count,32) != $null ) {
    .inc %flood.count
  }
  set %flood.count 1
  .did -a prvprotect 9 %flood.private.notice.max.lines
  while ( $gettok(%flood.count,%flood.count,32) != $null ) {
    .inc %flood.count
  }
  set %flood.count 1
  .did -a prvprotect 11 %flood.private.notice.max.sec
  while ( $gettok(%flood.count,%flood.count,32) != $null ) {
    .inc %flood.count
  }
  set %flood.count 1
  .did -a prvprotect 19 %flood.private.invite.max.lines
  while ( $gettok(%flood.count,%flood.count,32) != $null ) {
    .inc %flood.count
  }
  set %flood.count 1
  .did -a prvprotect 21 %flood.private.invite.max.sec
  while ( $gettok(%flood.count,%flood.count,32) != $null ) {
    .inc %flood.count
  }
  set %flood.count 1
  .did -a prvprotect 14 %flood.private.action.max.lines
  while ( $gettok(%flood.count,%flood.count,32) != $null ) {
    .inc %flood.count
  }
  set %flood.count 1
  .did -a prvprotect 16 %flood.private.action.max.sec
  while ( $gettok(%flood.count,%flood.count,32) != $null ) {
    .inc %flood.count
  }
  set %flood.count 1
  .did -a prvprotect 24 %flood.private.ctcp.max.lines
  while ( $gettok(%flood.count,%flood.count,32) != $null ) {
    .inc %flood.count
  }
  set %flood.count 1
  .did -a prvprotect 26 %flood.private.ctcp.max.sec
  while ( $gettok(%flood.count,%flood.count,32) != $null ) {
    .inc %flood.count
  }
  set %flood.count 1
  .did -a prvprotect 29 %flood.private.dcc.max.lines
  while ( $gettok(%flood.count,%flood.count,32) != $null ) {
    .inc %flood.count
  }
  set %flood.count 1
  .did -a prvprotect 31 %flood.private.dcc.max.sec
  while ( $gettok(%flood.count,%flood.count,32) != $null ) {
    .inc %flood.count
  }
  if (%flood.private.text == on) {
    did -c prvprotect 2
  }
  if (%flood.private.text == off) {
    did -u prvprotect 2
  }
  if (%flood.private.notice == on) {
    did -c prvprotect 7
  }
  if (%flood.private.notice == off) {
    did -u prvprotect 7
  }
  if (%flood.private.action == on) {
    did -c prvprotect 12
  }
  if (%flood.private.action == off) {
    did -u prvprotect 12
  }
  if (%flood.private.invite == on) {
    did -c prvprotect 17
  }
  if (%flood.private.invite == off) {
    did -u prvprotect 17
  }
  if (%flood.private.ctcp == on) {
    did -c prvprotect 22
  }
  if (%flood.private.ctcp == off) {
    did -u prvprotect 22
  }
  if (%flood.private.dcc == on) {
    did -c prvprotect 27
  }
  if (%flood.private.dcc == off) {
    did -u prvprotect 27
  }
  if (%flood.ignore.tmp == on) {
    did -c prvprotect 34
  }
  if (%flood.ignore.per == on) {
    did -c prvprotect 36
  }
  set %flood.count 1
  .did -a prvprotect 35 %flood.private.ignore.sec
  while ( $gettok(%flood.count,%flood.count,32) != $null ) {
    .inc %flood.count
  }
}
on 1:text:*:?:{
  if (%flood.private.text == $null) { halt }
  elseif (%flood.private.text.max.lines == $null) { halt }
  elseif (%flood.private.text.max.sec == $null) { halt }
  elseif ($nick == $me) { halt }
  elseif ($nick == -psyBNC) { halt }
  elseif ($nick == X) { halt }
  else {
    inc -u [ $+ [ %flood.private.text.max.sec ] ] %flood.private.text.lines. [ $+ [ $nick ] ] 1
    if (%flood.private.text.lines. [ $+ [ $nick ] ] > %flood.private.text.max.lines) {
      if (%flood.ignore.tmp == on) { ignore -u [ $+ [ %flood.private.ignore.sec ] ] $nick 1 | closemsg $nick }
      elseif (%flood.ignore.per == on) { ignore $nick 1 | closemsg $nick }
      notice $nick You are Ignored for PRV. FLOOD.
      unset %flood.private.text.lines. [ $+ [ $nick ] ]
    }
    else { halt }
  }
}
on 1:notice:*:?:{
  if (%flood.private.notice == $null) { halt }
  elseif (%flood.private.notice.max.lines == $null) { halt }
  elseif (%flood.private.notice.max.sec == $null) { halt }
  elseif ($nick == $me) { halt }
  elseif ($nick == -psyBNC) { halt }
  elseif ($nick == X) { halt }
  else {
    inc -u [ $+ [ %flood.private.notice.max.sec ] ] %flood.private.notice.lines. [ $+ [ $nick ] ] 1
    if (%flood.private.notice.lines. [ $+ [ $nick ] ] > %flood.private.notice.max.lines) {
      if (%flood.ignore.tmp == on) { ignore -u [ $+ [ %flood.private.ignore.sec ] ] $nick 1 | closemsg $nick }
      elseif (%flood.ignore.per == on) { ignore $nick 1 | closemsg $nick }
      notice $nick You are Ignored for NOTICE FLOOD.
      unset %flood.private.notice.lines. [ $+ [ $nick ] ]
    }
    else { halt }
  }
}
on 1:action:*:?:{
  if (%flood.private.action == $null) { halt }
  elseif (%flood.private.action.max.lines == $null) { halt }
  elseif (%flood.private.action.max.sec == $null) { halt }
  elseif ($nick == $me) { halt }
  elseif ($nick == -psyBNC) { halt }
  elseif ($nick == X) { halt }
  else {
    inc -u [ $+ [ %flood.private.action.max.sec ] ] %flood.private.action.lines. [ $+ [ $nick ] ] 1
    if (%flood.private.action.lines. [ $+ [ $nick ] ] > %flood.private.action.max.lines) {
      if (%flood.ignore.tmp == on) { ignore -u [ $+ [ %flood.private.ignore.sec ] ] $nick 1 | closemsg $nick }
      elseif (%flood.ignore.per == on) { ignore $nick 1 | closemsg $nick }
      notice $nick You are Ignored for ACTION FLOOD.
      unset %flood.private.notice.lines. [ $+ [ $nick ] ]
    }
    else { halt }
  }
}
on 1:invite:*:{
  if (%flood.private.invite == $null) { halt }
  elseif (%flood.private.invite.max.lines == $null) { halt }
  elseif (%flood.private.invite.max.sec == $null) { halt }
  elseif ($nick == $me) { halt }
  elseif ($nick == -psyBNC) { halt }
  elseif ($nick == X) { halt }
  else {
    inc -u [ $+ [ %flood.private.invite.max.sec ] ] %flood.private.invite.lines. [ $+ [ $nick ] ] 1
    if (%flood.private.invite.lines. [ $+ [ $nick ] ] > %flood.private.invite.max.lines) {
      if (%flood.ignore.tmp == on) { ignore -u [ $+ [ %flood.private.ignore.sec ] ] $nick 1 | closemsg $nick }
      elseif (%flood.ignore.per == on) { ignore $nick 1 | closemsg $nick }
      notice $nick You are Ignored for INVITE FLOOD.
      unset %flood.private.invite.lines. [ $+ [ $nick ] ]
    }
    else { halt }
  }
}
ctcp *:*:?:{
  if (%flood.private.ctcp == $null) { halt }
  elseif (%flood.private.ctcp.max.lines == $null) { halt }
  elseif (%flood.private.ctcp.max.sec == $null) { halt }
  elseif ($nick == $me) { halt }
  elseif ($nick == -psyBNC) { halt }
  elseif ($nick == X) { halt }
  else {
    inc -u [ $+ [ %flood.private.ctcp.max.sec ] ] %flood.private.ctcp.lines. [ $+ [ $nick ] ] 1
    if (%flood.private.ctcp.lines. [ $+ [ $nick ] ] > %flood.private.ctcp.max.lines) {
      if (%flood.ignore.tmp == on) { ignore -u [ $+ [ %flood.private.ignore.sec ] ] $nick 1 | closemsg $nick }
      elseif (%flood.ignore.per == on) { ignore $nick 1 | closemsg $nick }
      notice $nick You are Ignored for CTCP FLOOD.
      unset %flood.private.ctcp.lines. [ $+ [ $nick ] ]
    }
    else { halt }
  }
}
ctcp *:dcc*:?:{
  if (%flood.private.dcc == $null) { halt }
  elseif (%flood.private.dcc.max.lines == $null) { halt }
  elseif (%flood.private.dcc.max.sec == $null) { halt }
  elseif ($nick == $me) { halt }
  elseif ($nick == -psyBNC) { halt }
  elseif ($nick == X) { halt }
  else {
    inc -u [ $+ [ %flood.private.dcc.max.sec ] ] %flood.private.dcc.lines. [ $+ [ $nick ] ] 1
    if (%flood.private.dcc.lines. [ $+ [ $nick ] ] > %flood.private.dcc.max.lines) {
      if (%flood.ignore.tmp == on) { ignore -u [ $+ [ %flood.private.ignore.sec ] ] $nick 1 | closemsg $nick }
      elseif (%flood.ignore.per == on) { ignore $nick 1 | closemsg $nick }
      notice $nick You are Ignored for DCC FLOOD.
      unset %flood.private.dcc.lines. [ $+ [ $nick ] ]
    }
    else { halt }
  }
}

Comments

Sign in to comment.
Anti   -  Jul 06, 2007

Yeahh neat script dood :D i like i really love the PM spam ignore that\'s helpful ! :D Find me at irc.aXpi2.net #Goodeh :D

 Respond  
mfk   -  Aug 09, 2005

yeah, i will make an update of this script soon, now i must finish some web sites, after i will work at it. 10x for your comments ^^

 Respond  
Corne   -  Aug 09, 2005

You could also use ini files instead of %vars so you wont see in your variables section so many variables

 Respond  
mfk   -  Aug 09, 2005

i`m happy i can help you with this script ^^

 Respond  
DeathRyder082   -  Aug 09, 2005

looks good, and i needed this too

 Respond  
DarthReven   -  Aug 08, 2005

use: unset %flood.* rather then unsetting each variable on its own

 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.