De l'aide svp !!

Résolu
Fabfranck Messages postés 22 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 19 avril 2007 - 19 juin 2006 à 04:36
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Derniè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!

Merci de votre aide !!!

Merci d'avance, François

12 réponses

cs_ISoKa Messages postés 435 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 17 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
3
DeMoNiaK33 Messages postés 24 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 23 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).

voilou =)

enfin j'ai testé et ça a l'air de marché
0
cs_ISoKa Messages postés 435 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 17 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
0
DeMoNiaK33 Messages postés 24 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 23 avril 2008
19 juin 2006 à 08:06
bon finalement j'ai fait d'autres tests et ça réagis que sur un ban sur nick, j'avais pas pensé a ça :/

donc la solution d'isoka jpense est bien mieux :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_tofu Messages postés 1726 Date d'inscription vendredi 12 septembre 2003 Statut Membre Dernière intervention 13 juin 2009 1
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)

    

<hr size="2" width="100%" />
0
GenerationNoNNoN Messages postés 10 Date d'inscription dimanche 18 juin 2006 Statut Membre Dernière intervention 23 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 :)
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
19 juin 2006 à 17:07
http://www.codyx.org/snippet_savoir-est-banni-irc_122.aspx


Déjà on *:ban a la place de on *:mode

ensuite tu tokenize et tu kick si le type est sur le salon


on @*:ban:#:{

tokenize 32 $AQuiEstCeMask(
$1-)

kick $chan $*

}
0
Fabfranck Messages postés 22 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 19 avril 2007
19 juin 2006 à 20:21
J'ai fait ce qui suit selon ce que iSoKa m'a dit de faire mais ça marche pas ... :

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)
}


on *:ban:#tatata:{
  if ($nick != x) {
    $verifban(#tatata,$banmask)
    /kick #450 $*
  }
}

Même chose pour ce que tu m'as dit de faire wims .. pas l'air de fonctionner =(

Merci d'avance, François
0
cs_ISoKa Messages postés 435 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 17 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
0
dj328i Messages postés 312 Date d'inscription dimanche 23 février 2003 Statut Membre Dernière intervention 14 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.
0
Fabfranck Messages postés 22 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 19 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...

Merci de continuer a m'aider

Merci d'avance, François
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
20 juin 2006 à 02:08
Le code de Isoka est bon mais je te donne quand meme celui-ci qui
utilise le snippet de Coolman002 ( le lien dans mon dernier poste ) et
donc l'$ial


alias AQuiEstCeMask {

  var %i 0 ,%iii $1 ,%ii = $ial(%iii,0) | while %ii > %i {

 inc %i | var %d = %d $ial(%iii,%i).nick } | return $iif(%d,$v1,$null)

}

on *:ban:#:{

  var %a $2- | tokenize 32 %a  | var %c 1 ,%d = $0

  while (%c <%d) { var %n %n $aquiestcemask($($+($chr(36),%c),2)) | inc %c }

  var %t = $replace(%n,inconnu,$null) | tokenize 32 %t | kick $chan $*

}


:)
0
Rejoignez-nous