Anti flood

Contenu du snippet

Voila, je l'ai modifier ;)

Source / Exemple :


;;;; Anti Flood ;;;;

menu menubar {
  Anti Flood:.dialog -m Tom_mlkj.antiflood Tom_mlkj.antiflood
}

dialog Tom_mlkj.antiflood {
  title .:: Anti Flood :: Tom_mlkj ::.
  size -1 -1 145 113
  option dbu
  tab "Canaux", 7, 0 2 144 95
  text "Kicker la personne après", 8, 4 32 60 8, tab 7
  edit "", 9, 64 32 12 10, tab 7 autohs
  text "lignes en", 10, 77 32 24 8, tab 7
  edit "", 11, 99 32 12 10, tab 7 autohs
  text "secondes", 12, 111 32 25 8, tab 7
  check "Activer", 13, 4 44 28 10, tab 7
  box "Action", 23, 2 57 140 34, tab 7
  text "Kicker la personne après", 24, 4 66 59 8, tab 7
  edit "", 25, 64 66 12 10, tab 7 autohs
  text "lignes en", 26, 77 66 23 8, tab 7
  edit "", 27, 99 66 12 10, tab 7 autohs
  text "secondes", 28, 111 66 25 8, tab 7
  check "Activer", 29, 4 77 29 10, tab 7
  box "Texte", 22, 2 23 140 34, tab 7
  edit "", 42, 73 44 66 10, tab 7 autohs center
  text "Raison du kick :", 43, 34 45 40 8, tab 7
  text "Raison du kick :", 44, 34 78 40 8, tab 7
  edit "", 45, 73 77 66 10, tab 7 autohs center
  tab "PV", 14
  box "Texte", 15, 2 23 140 34, tab 14
  text "Ignoré la personne après", 16, 4 32 60 8, tab 14
  edit "", 17, 64 32 12 10, tab 14 autohs
  text "lignes en", 18, 77 32 24 8, tab 14
  edit "", 19, 99 32 12 10, tab 14 autohs
  text "secondes", 20, 111 32 25 8, tab 14
  check "Activer", 30, 4 44 50 10, tab 14
  box "Action", 31, 2 57 140 34, tab 14
  text "Ignoré la personne après", 32, 4 66 59 8, tab 14
  edit "", 33, 64 66 12 10, tab 14 autohs
  text "lignes en", 34, 77 66 23 8, tab 14
  edit "", 35, 99 66 12 10, tab 14 autohs
  text "secondes", 1, 111 66 25 8, tab 14
  check "Activer", 2, 4 77 29 10, tab 14
  text "Message a lui envoyer :", 46, 33 46 57 8, tab 14
  edit "", 47, 90 45 49 10, tab 14 autohs center
  text "Message a lui envoyer :", 48, 33 79 57 8, tab 14
  edit "", 49, 90 78 49 10, tab 14 autohs center
  tab "Notices", 21
  box "Notices", 3, 2 37 140 34, tab 21
  text "Ignoré la personne après", 4, 4 47 60 8, tab 21
  edit "", 5, 64 47 12 10, tab 21 autohs
  text "notices en", 6, 77 47 25 8, tab 21
  edit "", 36, 102 47 12 10, tab 21 autohs
  text "secondes", 37, 114 48 24 8, tab 21
  check "Activer", 38, 4 58 28 10, tab 21
  text "Message a lui envoyer :", 50, 33 59 58 8, tab 21
  edit "", 51, 90 58 49 10, tab 21 autohs center
  button "ok", 39, 43 101 25 9, ok
  button "Note", 40, 72 101 25 9
}
On *:dialog:Tom_mlkj.antiflood:init:*:{
  if ( $group(#Tom_mlkj.flood.chan.texte) = on ) { did -c Tom_mlkj.antiflood 13 }
  if ( $group(#Tom_mlkj.flood.chan.texte) = off ) { did -u Tom_mlkj.antiflood 13 }
  if ( $group(#Tom_mlkj.flood.chan.action) = on ) { did -c Tom_mlkj.antiflood 29 }
  if ( $group(#Tom_mlkj.flood.chan.action) = off ) { did -u Tom_mlkj.antiflood 29 }
  if ( $group(#Tom_mlkj.flood.pv.texte) = on ) { did -c Tom_mlkj.antiflood 30 }
  if ( $group(#Tom_mlkj.flood.pv.texte) = off ) { did -u Tom_mlkj.antiflood 30 }
  if ( $group(#Tom_mlkj.flood.pv.action) = on ) { did -c Tom_mlkj.antiflood 2 }
  if ( $group(#Tom_mlkj.flood.pv.action) = off ) { did -u Tom_mlkj.antiflood 2 }
  if ( $group(#Tom_mlkj.flood.notice) = on ) { did -c Tom_mlkj.antiflood 38 }
  if ( $group(#Tom_mlkj.flood.notice) = off ) { did -u Tom_mlkj.antiflood 38 }
  if ( %tps.flood.text != $null ) { did -a Tom_mlkj.antiflood 11 %tps.flood.text }
  if ( %ligne.flood.text != $null ) { did -a Tom_mlkj.antiflood 9 %ligne.flood.text }
  if ( %ligne.flood.action != $null ) { did -a Tom_mlkj.antiflood 25 %ligne.flood.action }
  if ( %tps.flood.action != $null ) { did -a Tom_mlkj.antiflood 27 %tps.flood.action }
  if ( %Tom_mlkj.flood.chan.text != $null ) { did -a Tom_mlkj.antiflood 42 %Tom_mlkj.flood.chan.text }
  if ( %Tom_mlkj.flood.chan.action != $null ) { did -a Tom_mlkj.antiflood 45 %Tom_mlkj.flood.chan.action }
  if ( %ligne.flood.pv.text != $null ) { did -a Tom_mlkj.antiflood 17 %ligne.flood.pv.text }
  if ( %tps.flood.pv.text != $null ) { did -a Tom_mlkj.antiflood 19 %tps.flood.pv.text }
  if ( %ligne.flood.pv.action != $null ) { did -a Tom_mlkj.antiflood 33 %ligne.flood.pv.action }
  if ( %tps.flood.pv.action != $null ) { did -a Tom_mlkj.antiflood 35 %tps.flood.pv.action  }
  if ( %raison.ignor.pv.text != $null ) { did -a Tom_mlkj.antiflood 47 %raison.ignor.pv.text }
  if ( %raison.ignor.pv.action != $null ) { did -a Tom_mlkj.antiflood 49 %raison.ignor.pv.action }
  if ( %tps.flood.notice != $null ) { did -a Tom_mlkj.antiflood 36 %tps.flood.notice }
  if ( %ligne.flood.notice != $null ) { did -a Tom_mlkj.antiflood 5 %ligne.flood.notice }
  if ( %raison.ignor.notice != $null ) { did -a Tom_mlkj.antiflood 51 %raison.ignor.notice  }

}
On *:dialog:Tom_mlkj.antiflood:sclick:13:{
  if ($did(13).state = 1 ) { .enable #Tom_mlkj.flood.chan.texte }
  else { .disable #Tom_mlkj.flood.chan.texte }
}
On *:dialog:Tom_mlkj.antiflood:sclick:29:{
  if ($did(29).state = 1 ) { .enable #Tom_mlkj.flood.chan.action }
  else { .disable #Tom_mlkj.flood.chan.action }
}
On *:dialog:Tom_mlkj.antiflood:sclick:30:{
  if ($did(30).state = 1 ) { .enable #Tom_mlkj.flood.pv.texte }
  else { .disable #Tom_mlkj.flood.pv.texte }
}
On *:dialog:Tom_mlkj.antiflood:sclick:2:{
  if ($did(2).state = 1 ) { .enable #Tom_mlkj.flood.pv.action }
  else { .disable #Tom_mlkj.flood.pv.action }
}
On *:dialog:Tom_mlkj.antiflood:sclick:38:{
  if ($did(38).state = 1 ) { .enable #Tom_mlkj.flood.notice }
  else { .disable #Tom_mlkj.flood.notice }
}
On *:dialog:Tom_mlkj.antiflood:sclick:39:{
  if ( $did(11) != $null ) { .set %tps.flood.text $did(11) }
  if ( $did(9) != $null ) { .set %ligne.flood.text $did(9) }
  if ( $did(25) != $null ) { .set %ligne.flood.action $did(25) }
  if ( $did(27) != $null ) { .set %tps.flood.action $did(27) }
  if ( $did(42) != $null ) { .set %Tom_mlkj.flood.chan.text $did(42) }
  if ( $did(45) != $null ) { .set %Tom_mlkj.flood.chan.action $did(45) }
  if ( $did(17) != $null ) { .set %ligne.flood.pv.text $did(17) }
  if ( $did(19) != $null ) { .set %tps.flood.pv.text $did(19) }
  if ( $did(33) != $null ) { .set %ligne.flood.pv.action $did(33) }
  if ( $did(35) != $null ) { .set %tps.flood.pv.action $did(35) }
  if ( $did(47) != $null ) { .set %raison.ignor.pv.text $did(47) }
  if ( $did(49) != $null ) { .set %raison.ignor.pv.action $did(49) }
  if ( $did(36) != $null ) { .set %tps.flood.notice  $did(36) }
  if ( $did(5) != $null ) { .set %ligne.flood.notice  $did(5) }
  if ( $did(51) != $null ) { .set %raison.ignor.notice  $did(51) }
}
On *:dialog:Tom_mlkj.antiflood:sclick:40:{
  dialog -m Tom_mlkj.flood.note Tom_mlkj.flood.note
}

#Tom_mlkj.flood.chan.texte off

on *:text:*:#: {
  /inc %flood-chan-text [ $+ [ $nick ] ]
  if ((%flood-chan-text [ $+ [ $nick ] ] == %ligne.flood.text ) && ( $me isop $chan )) { kick $chan $nick %Tom_mlkj.flood.chan.text | /unset %flood-chan-text [ $+ [ $nick ] ] }
  if (%flood-chan-text [ $+ [ $nick ] ] == 1) { /.timer 1 %tps.flood.action /unset %flood-chan-text [ $+ [ $nick ] ] }
}

#Tom_mlkj.flood.chan.texte end

#Tom_mlkj.flood.chan.action off

on *:action:*:#: {
  /inc %flood-chan-action [ $+ [ $nick ] ]
  if ((%flood-chan-action [ $+ [ $nick ] ] == %ligne.flood.action ) && ( $me isop $chan )) { kick $chan $nick %Tom_mlkj.flood.chan.action | /unset %flood-chan-action [ $+ [ $nick ] ] }
  if (%flood-chan-action [ $+ [ $nick ] ] == 1) { /.timer 1 %tps.flood.action /unset %flood-chan-action [ $+ [ $nick ] ] }
}

#Tom_mlkj.flood.chan.action end

#Tom_mlkj.flood.pv.texte off

on *!:text:*:?: {
  /inc %flood-pv-text [ $+ [ $nick ] ]
  if (%flood-pv-text [ $+ [ $nick ] ] == %ligne.flood.pv.text ) { /.ignore -pu $+ %timer $nick | echo -a - | echo -a T12u peux maintenant fermée ce PV. | echo -a - | .notice $nick %raison.ignor.pv.text 12( Anti Flood Par Tom_mlkj ) | /unset %flood-pv-text [ $+ [ $nick ] ] }
  if (%flood-pv-text [ $+ [ $nick ] ] == 1) { /.timer 1 %tps.flood.pv.text /unset %flood-pv-text [ $+ [ $nick ] ] }
}

#Tom_mlkj.flood.pv.texte end

#Tom_mlkj.flood.pv.action off

on *!:text:*:?: {
  /inc %flood-pv-text [ $+ [ $nick ] ]
  if (%flood-pv-text [ $+ [ $nick ] ] == %ligne.flood.pv.action ) { /.ignore -pu $+ %timer $nick | echo -a - | echo -a T12u peux maintenant fermée ce PV. | echo -a - | .notice $nick %raison.ignor.pv.action 12( Anti Flood Par Tom_mlkj ) | /unset %flood-pv-text [ $+ [ $nick ] ] }
  if (%flood-pv-text [ $+ [ $nick ] ] == 1) { /.timer 1 %tps.flood.pv.action /unset %flood-pv-text [ $+ [ $nick ] ] }
}

#Tom_mlkj.flood.pv.action end

#Tom_mlkj.flood.notice off

On *:notice:*:*:{
  if (( $nick == chanserv ) || ( $nick == botserv ) || ( $nick == nickserv )) { halt }
  /inc %noticefloodtext [ $+ [ $nick ] ]
  if (%noticefloodtext [ $+ [ $nick ] ] == %ligne.flood.notice ) { /.ignore -nu $+ %timer $nick | echo -a - | echo -a 12 $+ $nick a été ignoré : FLOOD Par NOTICE | echo -a - | .notice $nick %raison.ignor.notice 12( Anti Flood Par Tom_mlkj ) | /unset %%noticefloodtext [ $+ [ $nick ] ] }
  if (%noticefloodtext [ $+ [ $nick ] ] == 1) { /.timer 1 %tps.flood.notice /unset %%noticefloodtext [ $+ [ $nick ] ] }
}

#Tom_mlkj.flood.notice end

dialog Tom_mlkj.flood.note {
  title .:: Anti Flood ::.
  size -1 -1 103 88
  option dbu
  text "Ignorer les pv des floodeurs", 1, 1 7 67 8
  edit "", 2, 68 7 12 10, autohs
  text "secondes", 3, 79 7 24 8
  box "Note", 4, 0 24 103 52
  text "Créer par", 5, 7 33 23 8
  text "Tom_mlkj", 6, 40 33 25 8
  text "Email", 7, 7 46 14 8
  link "Tom_mlkj@hotmail.com", 8, 40 46 58 8
  text "S'il y a des problémes, mailez moi", 9, 10 61 79 8
  button "ok", 10, 38 79 25 8, ok
}
On *:dialog:Tom_mlkj.flood.note:init:*:{
  if ( %timer != $null ) { did -a Tom_mlkj.flood.note 2 %timer }
}
On *:dialog:Tom_mlkj.flood.note:sclick:10:{
  if ( $did(2) != $null ) { .set %timer $did(2) }
  else { halt }
}

Conclusion :


Merci de m'avoir donner des idées Sorn_drixer

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.