Fabfranck
Messages postés22Date d'inscriptionvendredi 17 mars 2006StatutMembreDernière intervention19 avril 2007
-
19 juin 2006 à 04:36
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 2010
-
20 juin 2006 à 02:08
Bon voilà jai fait un bout de code, je vous explique mon problème par la suite :
on *:mode:#tatatata: {
if (+b isin $1-) { /kick #tatatata ***Ici est mon problème*** ...
En faite ce que je veux faire est simple ... lorsque un op fait un ban sans kickban, je veux simplement que mon remote kick l'usager qui a été banni. $nick ne fonctionne évidement pas puisque il va kicker celui qui a banni .... $banmask ne fonctionne pas plus puisque non valide dans un /kick!
cs_ISoKa
Messages postés435Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention17 octobre 2008 19 juin 2006 à 23:19
ha oki je savai pas j'ai fai ca à la volée sans verif en faite dj328i merci c'est bon à savoir :)
dans ce cas il faut modif comme suis :
alias verifban {
Var %a 1 , %c
While ($nick($1,%a)) {
If ($2 iswm $address($ifmatch,5)) { var %c = $addtok(%c,$nick($1,%a),32) }
Inc %a
}
return $iif(%c,%c,0)
}
on *:ban:#tatata:{
if ($nick != x) {
var %t $verifban(#tatata,$banmask)
if (%t != 0) {
tokenize 32 %t
/kick # $*
}
}
}
comme ca ca devrai resoudre le prob soulevé par dj328i, merci encore pour cette info je savai pas :)
ISoKa
DeMoNiaK33
Messages postés24Date d'inscriptionvendredi 21 octobre 2005StatutMembreDernière intervention23 avril 2008 19 juin 2006 à 07:29
Hello jverrai plutot la chose comme ça (enfin je m'y connais pas trop mais bon) :
on 1:ban:#: {
if ($me isop $chan) kick $chan $bnick La sortie est par là
}
(j'ai essayé avec $banmask mais ça marche pas avec $bnick si).
cs_ISoKa
Messages postés435Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention17 octobre 2008 19 juin 2006 à 07:40
grosso modo, ce que tu cherches c'est un verificateur de ban, c'est à dire connaitre les gens touchés par un ban, il n'esxiste pas d'identifieur direct à ce que je sache pour ce genre de choses, la seule solution ke je connaise, c'est de faire une boucle sur la nicklist et verifié un par un si la personnes est affectée par le ban ou pas. Alors par contre un souci non négligeable, si un op pose un ban en carton genre : *!*@* ( oui oui ca arrive souvent ce genre de choses) tu vas kick toute la nicklist et excess flood bien sur. sinon ca pourait etre un truc de ce genre là :
alias verifban {
Var %a 1 , %c
While ($nick($1,%a)) {
If ($2 iswm $address($ifmatch,5)) { var %c = $addtok(%c,$nick($1,%a),32) }
Inc %a
}
return $iif(%c,%c,$null)
}
tu fais sur ton "on ban" $verifban(salon,mask) et ca devrai te renvoyé la liste des pseudos touché par le ban séparés d'un espace. aprés te suffit de bouclé sur cette variable et ca devrai etre bon mais j'insiste bien sur le "attention aux bans en carton" :)
ISoKa
cs_tofu
Messages postés1726Date d'inscriptionvendredi 12 septembre 2003StatutMembreDernière intervention13 juin 20091 19 juin 2006 à 11:30
inclus un 'if $nick isin $chan' histoire d'avoir dans ta variable que les pseudos des gens présents. (si un op ban plusieurs mecs, et les kick pas tous derrière)
GenerationNoNNoN
Messages postés10Date d'inscriptiondimanche 18 juin 2006StatutMembreDernière intervention23 juin 2006 19 juin 2006 à 14:14
je te conseille une boucle dans la liste des pseudos (et les différents formats de host/mask) un peu comme IsoKa l'a fait plus haut, sa me parait une des meilleures solutions :)
cs_ISoKa
Messages postés435Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention17 octobre 2008 19 juin 2006 à 22:10
bin ton truc pour kick me semble bizar essayes plutot queque chose de ce genre je pense :
on *:ban:#tatata:{
if ($nick != x) {
tokenize 32 $verifban(#tatata,$banmask)
/kick # $*
}
}
ca me semblerai plus correct .
ISoKa
dj328i
Messages postés312Date d'inscriptiondimanche 23 février 2003StatutMembreDernière intervention14 mars 2022 19 juin 2006 à 23:05
Bonjour
[auteurdetail.aspx?ID=758969 ISoKa]. Je me suis loggé pour te faire remarqué un petit truc que j'ai constasté dans t'es lignes a propos de $iif. Malheureusement $null ne fonctionne pas l'intérieur de cette idenfieur parce que du moment qu'il l'intercepte , c'est comme si il n'y avais aucune valeur , donc comme aucun identifieur, comme si $iif N'étais pas la. Voila , ca te permettras d'évitée a avoir a cherché l'erreur un jour dans t'es futurs scripts.
Fabfranck
Messages postés22Date d'inscriptionvendredi 17 mars 2006StatutMembreDernière intervention19 avril 2007 19 juin 2006 à 23:06
Absolument rien qui marche ... autant iSoKa que wims
jva essayer avec un systeme du genre :
<ol><li>on *:ban:#tatata:{
</li><li>if ($nick != x) {
</li><li> var %i 1, %x #tatata | if (!$gettok($banmask,1,$asc(*))) { halt }
</li><li> while (%i <= $nick($chan,0)) {
</li><li> $iif($gettok($banmask,1,$asc(*)) isin $nick($chan,%i),kick $chan $nick($chan,%i) Pseudo Banni Merci de le changer ! )
</li><li> inc %i
</li><li> }
</li><li> }
</li><li>}</li></ol>Sauf que ça c seulement pour les banmask de type Nick*!*@* si ne me trompes pas...