Probleme de mots

Résolu
J4Gu4R Messages postés 385 Date d'inscription samedi 7 août 2004 Statut Membre Dernière intervention 3 juillet 2007 - 24 nov. 2004 à 22:19
cs_maaars Messages postés 111 Date d'inscription dimanche 31 août 2003 Statut Membre Dernière intervention 14 août 2005 - 29 nov. 2004 à 13:18
bon en gros voila le dialog avec le code :

"""""""""""""""""""""""" édition mots """"""""""""""""""""""""
menu menubar {
réponses_auto_insultes:/auto_insult
}

alias auto_insult { dialog -m auto_insult auto_insult }
dialog auto_insult {
title "auto_réponses"
size -1 -1 90 130
option dbu
box "AnTi-inSuLTeS", 8, 5 5 80 87
text "LiSt DeS MoTs :", 1, 10 15 70 15
combo 2, 10 25 70 40, size vsbar drop
text "RajOuTeR Un MoT :", 4, 10 40 70 15
edit "", 5, 10 50 70 10
button "Ajouter", 6, 10 65 24 12
button "Effacer", 7, 35 65 24 12
check "ACTiV", 3, 60 65 30 12
text "éditeur de réponses :", 9, 10 80 70 15
button "GO", 10, 65 79 15 10
box "FeRmeR PV", 11, 5 93 80 20
text "ceci fermera les pv insult :", 12, 10 101 70 15
check "", 13, 76 98 20 15
button "OK", 1000, 5 116 80 10, flat ok
}

Alias foundtxt {
If (!$1) { halt } Var %a 0, %aa $lines(auto_insultes\insultes\insluts.txt)
While (%aa > %a) {
InC %a
If ($read(auto_insultes\insultes\insluts.txt,%a) == $1) { return yes }
}
}

on *:INPUT:*: {
if ( $1 == !insluts.txt ) { write auto_insultes\insultes\insluts.txt $2- }
}

on *:dialog:auto_insult:*:*: {
if ($devent == init) {
loadbuf -o auto_insult 2 auto_insultes\insultes\insluts.txt
$iif($group(#auto_insult) == on,did -c $dname 3,did -u $dname 3)
$iif($group(#ferme_insult) == on,did -c $dname 13,did -u $dname 13)
}
if ($devent == sclick) {
if ($did == 1000) { .timer -mh 1 50 .dialog -x auto_insult | halt } if ($did 6) { var %z $did(5) | write auto_insultes\insultes\insluts.txt %z | did -a auto_insult 2 %z }
if ($did == 7) { write -dl $+ $did(2).sel auto_insultes\insultes\insluts.txt | did -d auto_insult 2 $did(2).sel }
$iif($did(3).state == 1,.enable #auto_insult,.disable #auto_insult)
$iif($did(13).state == 1,.enable #ferme_insult,.disable #ferme_insult)
}
}

#auto_insult off
On *:text:*:?:{
If ($foundtxt($1-) == yes) {
msg $nick $read $mircdir\auto_insultes\insultes.txt $+
}
}
#auto_insult end

#ferme_insult on
On *:text:*:?:{
If ($foundtxt($1-) == yes) {
echo -s 4----------» 7 iNSuLTe De 4 $nick ... 3Le PV est fermé à $time «----------
close -m $nick
}
}
#ferme_insult end

dans ma boite on peut configurer des mots "button 6" qui s'enregistre dans "auto_insultes\insultes\insluts.txt"

bon le but étant biensur de repérer les mots interdits et de réagir de manière automatique.
le code est pas complet la réaction se fait sois en répondant automatiquement grace à un editeur de phrases en "button 10" mais l'on peut aussi choisir le fait de ne pas répondre mais de fermer automatiquement un pv ayant un mot interdit grace au #group "#ferme_insulte".
bon tout cela marche. le gros probleme et ce pourquoi je demande votre aide parce ke je n'arrive pas à faire autrement sans que ça beugue ou que ça ne fonctionne pas du tout.

probleme :
actuellement tel que c'est il faut que dans le pv la personne écrit exactement le mot et tout seul (aucun autre mot) pour que le code réagisse
par exemple le mot configuré est "bla" si j'écrit blabla ça réagi pas de meme que si j'ecrit "tu es un gros "bla" ça réagi pas non plus.
or
moi je voudrais ke le code réagisse dans le style :

on *:text:*:?:{
if ( blabla isin $1- ) { /msg $nick blablabla }
if ( chaud isin $1- ) { /msg $nick c'est cool j'aime la chaleur }
}

ou la au moin si une personne écrit chaudasse par exemple ben ça réagi meme si c'est dans une phrase et à n'importe quel endroit et meme si d'autres lettres sont rattaché à ce mot.

voila si jme suis mal expimé hésitez pas à me poser des questions
merci d'avance à ceux et celles qui pourraient m'aider :))

-J4Gu4R-

21 réponses

cs_maaars Messages postés 111 Date d'inscription dimanche 31 août 2003 Statut Membre Dernière intervention 14 août 2005
29 nov. 2004 à 13:18
lol pour une fois que c'est qui aide qqn :)

('' )
0
Rejoignez-nous