Accueil > > > ANTI INSULTES EN HASHTABLE
ANTI INSULTES EN HASHTABLE
Information sur la source
Description
Salut.
Je propose ma premiere source issue de moi-même et de mon ami came boy pour le citer.Apres en avoir testé un paquets ayants tous des bugs ou problèmes de reconnaissance réelle des mots,on a tenté de faire un bon anti insulte qui fasse vraiment la diférence entre une insulte et non pas un mot comme "con" reperé dans "connaitre" par exemple,et devant aussi prendre en compte les diférences de codes compris dans l'écriture d'un script utilisant la couleur dans l'écriture. c'est pourquoi nous avons utilisé les tokens,de plus ce code fonctionne en hashtable.Il suffit d'entrer sois-même tous les mots et insultes dans la liste,modifiable à volonté biensur.Il est activable ou non,avec choix de protections des ops,voice,choix des sentence : avertir,kick ou kickban et choix du canal d'action (# pour tous les chans ou l'on est op).Ce code tourne depuis longtemps sur mon salon et fonctionne parfaitement et fait vraiment son boulot.Puisse-t-il servir à d'autre, enjoy ;o)
Source
- dialog badwords {
- title "© •anti-insultes•"
- size -1 -1 152 190
- option dbu
- list 2, 21 44 110 125, size
- button "Nouveau", 1, 22 27 37 12
- button "Supprimer", 3, 93 27 37 12
- button "OK", 5, 57 176 37 12, ok
- text "choisis le canal d'action", 8, 48 5 55 8
- edit "", 9, 51 12 50 10
- box "", 10, 18 39 116 133
- menu "activation", 24
- item "on", 25, 24
- item "off", 27, 24
- menu "protection", 28
- item "op", 29, 28
- item "halfop", 13, 28
- item "voice", 30, 28
- menu "sentence", 31
- item "avertir", 34, 31
- item "kick", 35, 31
- item "kickban", 36, 31
- }
-
-
-
- alias badwords { dialog -m badwords badwords }
-
- alias ap {
- if ($isid) return $hget(badwords,$1)
- else hadd badwords $1-
- }
-
- on *:text:*:%wordchan:{
- if ((($nick isop #) && ($ap(op) == on)) || (($nick isvoice #) && ($ap(voice) == on)) || (($nick($chan,$nick,h)) && ($ap(halfop))) || ($ap(actif) != on) || ($me !isop #)) { halt }
- else {
- var %i 1
- while (%i <= $0) {
- if ($istok($ap(list),$strip($gettok($1-,%i,32)),182) == $true) && ($ap(sent) == a) { /msg # Le mot $gettok($1-,%i,32) est interdit | .halt }
- if ($istok($ap(list),$strip($gettok($1-,%i,32)),182) == $true) && ($ap(sent) == k) { /msg # Le mot $gettok($1-,%i,32) est interdit | /kick # $nick | .halt }
- if ($istok($ap(list),$strip($gettok($1-,%i,32)),182) == $true) && ($ap(sent) == kb) { /msg # Le mot $gettok($1-,%i,32) est interdit | ban # $nick 2 | /kick # $nick | .halt }
- inc %i
- }
- }
- }
-
-
- on *:action:*:%wordchan:{
- if ((($nick isop #) && ($ap(op) == on)) || (($nick isvoice #) && ($ap(voice) == on)) || (($nick($chan,$nick,h)) && ($ap(halfop))) || ($ap(actif) != on) || ($me !isop #)) { halt }
- else {
- var %i 1
- while (%i <= $0) {
- if ($istok($ap(list),$strip($gettok($1-,%i,32)),182) == $true) && ($ap(sent) == a) { /msg # Le mot $gettok($1-,%i,32) est interdit | .halt }
- if ($istok($ap(list),$strip($gettok($1-,%i,32)),182) == $true) && ($ap(sent) == k) { /msg # Le mot $gettok($1-,%i,32) est interdit | /kick # $nick | .halt }
- if ($istok($ap(list),$strip($gettok($1-,%i,32)),182) == $true) && ($ap(sent) == kb) { /msg # Le mot $gettok($1-,%i,32) est interdit | ban # $nick 2 | /kick # $nick | .halt }
- inc %i
- }
- }
- }
-
- on *:exit:{ hsave -o badwords badwords }
-
- on *:start:{
- if ($ap(badwords)) .hfree badwords | hmake badwords 200
- if ($exists(badwords) = $true) .hload badwords badwords
- else { ap badwords off }
- }
-
- on *:DIALOG:badwords:*:*:{
- if ($devent == init) {
- did -r $dname 2
- if ($ap(actif) == on) { did -c $dname 25 | did -u $dname 27 }
- else { did -c $dname 27 | did -u $dname 25 }
- didtok $dname 2 182 $ap(list)
- did -a $dname 9 %wordchan
- $iif($ap(op) == on,did -c $dname 29,did -u $dname 29)
- $iif($ap(halfop),did -c $dname 13,did -u $dname 13)
- $iif($ap(voice) == on,did -c $dname 30,did -u $dname 30)
- if ($ap(sent) == a) { did -c $dname 34 | did -u $dname 35 | did -u $dname 36 }
- elseif ($ap(sent) == k) { did -u $dname 34 | did -c $dname 35 | did -u $dname 36 }
- else { did -u $dname 34 | did -u $dname 35 | did -c $dname 36 }
- }
- elseif ($devent == sclick) {
- if ($did == 1) {
- var %tps = $$?="Entrer le mot a kicker"
- if (%tps == $null) halt
- elseif ($count(%z,¶) != 0) { var %tps = $input(Ne peut pas contenir ce caractaire : ¶,-o,ERREUR) | halt }
- elseif ($istok($ap(list),%tps,182) == $true) { var %tps = $input(Désolé mais ce mot est déjà dans la liste !,-o,ERREUR) | halt }
- ap list $addtok($ap(list),%tps,182)
- did -r $dname 2
- didtok $dname 2 182 $ap(list)
- }
- elseif ($did == 3) {
- ap list $deltok($ap(list),$did(2).sel,182)
- did -r $dname 2
- didtok $dname 2 182 $ap(list)
- }
- elseif ($did == 9) { $did($dname,9) badwords %wordchan }
- elseif ($did == 5) { set %wordchan $did($dname,9) }
- }
- elseif ($devent == menu) {
- if ($did == 25) { ap actif on
- did -c $dname 25
- did -u $dname 27
- }
- elseif ($did == 27) { ap actif off
- did -c $dname 27
- did -u $dname 25
- }
- elseif ($did = 29) { $iif($ap(op) == off,ap op on,ap op off)
- $iif($ap(op) == on,did -c $dname 29,did -u $dname 29)
- }
- elseif ($did = 13) { $iif($ap(halfop) == 0,ap halfop 1,ap halfop 0)
- $iif($ap(halfop),did -c $dname 13,did -u $dname 13)
- }
- elseif ($did = 30) { $iif($ap(voice) == off,ap voice on,ap voice off)
- $iif($ap(voice) == on,did -c $dname 30,did -u $dname 30)
- }
- elseif ($did = 34) { ap sent a
- did -c $dname 34 | did -u $dname 35 | did -u $dname 36
- }
- elseif ($did = 35) { ap sent k
- did -u $dname 34 | did -c $dname 35 | did -u $dname 34
- }
- elseif ($did = 36) { ap sent kb
- did -u $dname 34 | did -u $dname 35 | did -c $dname 36
- }
- }
- }
dialog badwords {
title "© •anti-insultes•"
size -1 -1 152 190
option dbu
list 2, 21 44 110 125, size
button "Nouveau", 1, 22 27 37 12
button "Supprimer", 3, 93 27 37 12
button "OK", 5, 57 176 37 12, ok
text "choisis le canal d'action", 8, 48 5 55 8
edit "", 9, 51 12 50 10
box "", 10, 18 39 116 133
menu "activation", 24
item "on", 25, 24
item "off", 27, 24
menu "protection", 28
item "op", 29, 28
item "halfop", 13, 28
item "voice", 30, 28
menu "sentence", 31
item "avertir", 34, 31
item "kick", 35, 31
item "kickban", 36, 31
}
alias badwords { dialog -m badwords badwords }
alias ap {
if ($isid) return $hget(badwords,$1)
else hadd badwords $1-
}
on *:text:*:%wordchan:{
if ((($nick isop #) && ($ap(op) == on)) || (($nick isvoice #) && ($ap(voice) == on)) || (($nick($chan,$nick,h)) && ($ap(halfop))) || ($ap(actif) != on) || ($me !isop #)) { halt }
else {
var %i 1
while (%i <= $0) {
if ($istok($ap(list),$strip($gettok($1-,%i,32)),182) == $true) && ($ap(sent) == a) { /msg # Le mot $gettok($1-,%i,32) est interdit | .halt }
if ($istok($ap(list),$strip($gettok($1-,%i,32)),182) == $true) && ($ap(sent) == k) { /msg # Le mot $gettok($1-,%i,32) est interdit | /kick # $nick | .halt }
if ($istok($ap(list),$strip($gettok($1-,%i,32)),182) == $true) && ($ap(sent) == kb) { /msg # Le mot $gettok($1-,%i,32) est interdit | ban # $nick 2 | /kick # $nick | .halt }
inc %i
}
}
}
on *:action:*:%wordchan:{
if ((($nick isop #) && ($ap(op) == on)) || (($nick isvoice #) && ($ap(voice) == on)) || (($nick($chan,$nick,h)) && ($ap(halfop))) || ($ap(actif) != on) || ($me !isop #)) { halt }
else {
var %i 1
while (%i <= $0) {
if ($istok($ap(list),$strip($gettok($1-,%i,32)),182) == $true) && ($ap(sent) == a) { /msg # Le mot $gettok($1-,%i,32) est interdit | .halt }
if ($istok($ap(list),$strip($gettok($1-,%i,32)),182) == $true) && ($ap(sent) == k) { /msg # Le mot $gettok($1-,%i,32) est interdit | /kick # $nick | .halt }
if ($istok($ap(list),$strip($gettok($1-,%i,32)),182) == $true) && ($ap(sent) == kb) { /msg # Le mot $gettok($1-,%i,32) est interdit | ban # $nick 2 | /kick # $nick | .halt }
inc %i
}
}
}
on *:exit:{ hsave -o badwords badwords }
on *:start:{
if ($ap(badwords)) .hfree badwords | hmake badwords 200
if ($exists(badwords) = $true) .hload badwords badwords
else { ap badwords off }
}
on *:DIALOG:badwords:*:*:{
if ($devent == init) {
did -r $dname 2
if ($ap(actif) == on) { did -c $dname 25 | did -u $dname 27 }
else { did -c $dname 27 | did -u $dname 25 }
didtok $dname 2 182 $ap(list)
did -a $dname 9 %wordchan
$iif($ap(op) == on,did -c $dname 29,did -u $dname 29)
$iif($ap(halfop),did -c $dname 13,did -u $dname 13)
$iif($ap(voice) == on,did -c $dname 30,did -u $dname 30)
if ($ap(sent) == a) { did -c $dname 34 | did -u $dname 35 | did -u $dname 36 }
elseif ($ap(sent) == k) { did -u $dname 34 | did -c $dname 35 | did -u $dname 36 }
else { did -u $dname 34 | did -u $dname 35 | did -c $dname 36 }
}
elseif ($devent == sclick) {
if ($did == 1) {
var %tps = $$?="Entrer le mot a kicker"
if (%tps == $null) halt
elseif ($count(%z,¶) != 0) { var %tps = $input(Ne peut pas contenir ce caractaire : ¶,-o,ERREUR) | halt }
elseif ($istok($ap(list),%tps,182) == $true) { var %tps = $input(Désolé mais ce mot est déjà dans la liste !,-o,ERREUR) | halt }
ap list $addtok($ap(list),%tps,182)
did -r $dname 2
didtok $dname 2 182 $ap(list)
}
elseif ($did == 3) {
ap list $deltok($ap(list),$did(2).sel,182)
did -r $dname 2
didtok $dname 2 182 $ap(list)
}
elseif ($did == 9) { $did($dname,9) badwords %wordchan }
elseif ($did == 5) { set %wordchan $did($dname,9) }
}
elseif ($devent == menu) {
if ($did == 25) { ap actif on
did -c $dname 25
did -u $dname 27
}
elseif ($did == 27) { ap actif off
did -c $dname 27
did -u $dname 25
}
elseif ($did = 29) { $iif($ap(op) == off,ap op on,ap op off)
$iif($ap(op) == on,did -c $dname 29,did -u $dname 29)
}
elseif ($did = 13) { $iif($ap(halfop) == 0,ap halfop 1,ap halfop 0)
$iif($ap(halfop),did -c $dname 13,did -u $dname 13)
}
elseif ($did = 30) { $iif($ap(voice) == off,ap voice on,ap voice off)
$iif($ap(voice) == on,did -c $dname 30,did -u $dname 30)
}
elseif ($did = 34) { ap sent a
did -c $dname 34 | did -u $dname 35 | did -u $dname 36
}
elseif ($did = 35) { ap sent k
did -u $dname 34 | did -c $dname 35 | did -u $dname 34
}
elseif ($did = 36) { ap sent kb
did -u $dname 34 | did -u $dname 35 | did -c $dname 36
}
}
}
Historique
- 04 novembre 2006 16:23:42 :
- Ajout de l'option de protection des halfops activable à volonté
- 05 novembre 2006 16:42:46 :
- Ajout de l'option de protection des halfops fonctionnelle (merci rca arkanis)
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Anti Insulte [ par Crazy KiD ]
oui je cherche un anti-insulte mais qui qu'on peux configurer pour pas que je kick mon ami ché pas si vous comprenez :P
probleme de hashtables [ par kishkaya ]
ben j'ai cherché dans l'aide mais j'ai pas trouvéje crés un systeme de log de membres avec une hashtablej'ai deux problemes : if ($hget(log) != lo
modification de hashtable des que quelqu'un quit un salon [ par kishkaya ]
Voila j'ai essayé plein de syntax mais ca a rien donnéj'aimerai que l'on supprime l'insertion $gettok($nick,1,124) de la hashtable 'authen' quand $nic
Afficher le contenu d'une hashtable [ par kishkaya ]
voila le contenu d'une hashtable est sous cette forme :$nick|logincela est geré par un bot et j'aimerai rajouter une fenetre, une windows dans ce bot
Anti insulte aide [ par Adnim_Sonic ]
bonjour je sais comment faire mon anti insulte mais je voudrais passe o stade avec un avertisement avent kick mais un fois que je la fait je l active
hashtable et pixel [ par ranny ]
Bonsoir tout le monde,Voila j'ai 2 petites questions.1/ Comment intervertir les valeurs d'une variable $hget.Par exemple comment donner la valeur de $
problème de hashtable [ par doob666 ]
Bonjour,J'aimerais savoir comment on peut récupérer des données commençant par le même item dans une hashtable en une seule fois ? Je m'explique, j'ai
|
Derniers Blogs
L'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIESL'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIES par odewit
La tendance est aux interfaces naturelles (NUI), et le keynote de Bill Buxton au MIX l'a bien souligné.
La charte graphique et ergonomique de Windows Phone 7 a donc été entièrement repensée en vue d'obtenir un maximum d'efficacité sur ce point. En re...
Cliquez pour lire la suite de l'article par odewit COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
Comparez les prix

HTC Magic
Entre 429€ et 429€
|