Anti flood simple

Soyez le premier à donner votre avis sur cette source.

Snippet vu 10 697 fois - Téléchargée 26 fois

Contenu du snippet

voila si qqn envoi plus de 5 lignes en moin de 3 sec, il se fait bannir une minute du chan !

Source / Exemple :


on *:TEXT:*:#: {
if ($nick isop $chan) {
/notice $nick euh fé gaffe au flood stp
;si le gars est op sur le chan
}
else {
  inc $+(%,flood,$address,$chan) 1
;met ajoute 1 a la variable
  if ($eval($+(%,flood,$address,$chan),2) <= 4) {
    timer $+ $address 1 3 unset $+(%,flood,$host,$chan)
;si il dit rien, au bout de 3 sec, la variable est effacée
  }
  else {
;si il dit plus de 5 lign sans que la variable a été éffacée
    /mode $chan +b $host
    timer 1 60 /mode $chan -b $host
;banni une minute
    unset $+(%,flood,$address,$chan)
;enlève la variable
    /msg $chan $nick a été banni 1 min du chan $chan ! (AntiFlood)
  }
}
}

Conclusion :


voila je cori que c bon !
note: le if ($nick == $me) {... est inutile
bon voila tout !

bon scripting

A voir également

Ajouter un commentaire

Commentaires

Messages postés
3
Date d'inscription
samedi 22 mai 2004
Statut
Membre
Dernière intervention
2 août 2006

Et excuser moi pour satisfaire lebaronrouge, j'ai ajouter unset $+(%,flood,.,$nick) :

on *:TEXT:*:#: {
if ($me isop $chan && $nick !isop $chan && $nick !ishop $chan) {
inc -u3 $+(%,flood,.,$nick) 1
if ($eval($+(%,flood,.,$nick),2) > 4) {
notice $me $nick a floodé.
ban -u120 $chan $address($nick,2)
kick $chan $nick Arretez d'envoyer autant de messages $nick. Vous étes bannie 2min de $chan.
unset $+(%,flood,.,$nick)
}
}
}
Messages postés
3
Date d'inscription
samedi 22 mai 2004
Statut
Membre
Dernière intervention
2 août 2006

Lol, mais pour l'amour de dieu testez vos scripts. Vous fait des truc et vous les posté alors qu'il marche pas lol.
Delirium, tu dit "a wi merde" mais tu corrige pas. Il n'y a meme pas verification de si tu est op ou hop ou pas. Moi je met 0/10.

rugbymen : 7/10 a oue quand meme pour un truc qui marche pas c pas mal.

bobjay : tu connais bien la prog en générale ? Et bien pour un script qui contient des kilomètres de lignes superflues ou avec des trucs inutiles il est reussi la ton script ^^

Bon biensur je vous donne le truc qui marche et testé par MOI :

on *:TEXT:*:#: {
if ($me isop $chan && $nick !isop $chan && $nick !ishop $chan) {
inc -u3 $+(%,flood,.,$nick) 1
if ($eval($+(%,flood,.,$nick),2) > 4) {
notice $me $nick a floodé.
ban -u120 $chan $address($nick,2)
kick $chan $nick Arretez d'envoyer autant de messages $nick. Vous étes bannie 2min de $chan.
}
}
}
Messages postés
289
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
14 février 2009

Delirium passé le delai la variable n'est pas éffacé :

timer $+ $address 1 3 unset $+(%,flood,$host,$chan)
;si il dit rien, au bout de 3 sec, la variable est effacée

je verifie elle conserve la variable ainsi que le nombre de on text tapé par l'user , ce qui fait que si il retape un text a un moment ou l'autre il atteint le nombre qui le fera jarter , en gros le unset est ok que lorsque il aura été ban et la ok ca l'efface de la variable.
pb entre le :

/timer $+ $address 1 3 /unset $+(%,flood,$host,$chan)
et le
/unset $+(%,flood,$address,$chan)

qui on l'air d'être considéré comme variables diférentes (due certainement au : /timer $+ $address )
Messages postés
142
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
8 juin 2006

* /if: '<=' Opérateur inconnu (ligne 6, script16.ini) ^^
Messages postés
35
Date d'inscription
lundi 31 janvier 2005
Statut
Membre
Dernière intervention
13 février 2005

bon 7/10
Afficher les 11 commentaires

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.