KICK si certains mots sont écrits en NOTICE

Résolu
cs_Miho Messages postés 3 Date d'inscription mercredi 11 janvier 2006 Statut Membre Dernière intervention 25 janvier 2006 - 22 janv. 2006 à 20:39
cs_Miho Messages postés 3 Date d'inscription mercredi 11 janvier 2006 Statut Membre Dernière intervention 25 janvier 2006 - 25 janv. 2006 à 01:59
Je n'y connais rien en script, mais je bidouille en modifiant des addons déjà écrits...
Je cherche à ajouter un remote à un bot afin de kicker toute personne prononçant tel ou tel mot en notice...
J'ai mis ça au point mais bien entendu ça ne marche pas lol ^^
Si un vrai scripteur pouvait corriger les erreurs ou me filer un truc qui marche, ce serait bien cool !
Merci par avance :)

on *:notice:*:*:{
if ($me isop $chan) {
;les mots interdits sont mot1 et mot2 par ex
if ((mot1 isin $1-) || (mot2 isin $1-)) {
;si celui qui a envoyé la notice est op sur le chan il est déopé et reçoit un averto
if ($nick isop $chan) {
.mode $chan -o $nick | /msg $chan 14Pas ce genre de mots en notice $nick !
}
else {
inc %motsinterdits $+ $nick
;sinon la première fois il est kické
if (%motsinterdits [ $+ [ $nick ] ] = 1) {
.kick $chan $nick 14C'est ça $nick | /notice $nick 4Pas de ça ici !
.timer 120 .unset %motsinterdits [ $+ [ $nick ] ]
}
else {
;et la seconde fois il est kickban
if (%motsinterdits [ $+ [ $nick ] ] = 2) {
/mode $chan +b $nick 1
.kick $chan $nick 14Dégage $nick ! | /notice $nick Dégage !
.timer 1 120 /mode $chan -b $nick 1
}
halt
}
}
}
}

4 réponses

COOLMAN002 Messages postés 969 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 1 juillet 2012 1
22 janv. 2006 à 20:54
Bonsoir,

Dans ton event NOTICE tu vérifies pas si $chan a une valeur, une personne peut te /notice salut sans pour autant /notice #chan salut.

Utilise $istok( plutot que plusieurs if.

Donc, si $nick t'envoi une notice contenant "mot1" ou "mot2", tu veux le deop (si il est op) ou le kick des salons que tu as un en commun avec lui ? fais une while sur $comchan($nick,0).

Plutot que de mettre un timer pour unset la variable, fais un /inc -u120.
Idem pour le ban/unban (/ban -ku120 $chan $nick 1 Dégage $nick !)

Ps:$comchan($nick,1) pas $chan
3
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
22 janv. 2006 à 20:57
utilise $+(%motsinterdits,$nick) au lieu de %motsinterdits $+ etc
utilise les '==' au lieu du simple '='
un else et un if juste apres donnent un elseif
(pas regardé le problème à part ça)
3
J4Gu4R Messages postés 385 Date d'inscription samedi 7 août 2004 Statut Membre Dernière intervention 3 juillet 2007
22 janv. 2006 à 21:23
donnez à COOLMAN002 un sac plastique et du scotch et il vous fabrique un pc
(dsl pas très instructif comme poste).
0
cs_Miho Messages postés 3 Date d'inscription mercredi 11 janvier 2006 Statut Membre Dernière intervention 25 janvier 2006
25 janv. 2006 à 01:59
J'ai résolu le problème :)
Merci bcp de votre aide à tous deux
0
Rejoignez-nous