Mise en forme de code: pensez à utiliser les balises [ tcl ] et [ /tcl ] (sans les espaces bien sûr) autour de vos codes tcl afin d'avoir un meilleur rendu et une coloration syntaxique. x


problème sur un principe de tcl [résolu]
#1
bonjour tout le monde donc voilà le morceau de code qui va suivre est juste un petit exercice pour moi pour comprendre bien proprement comment fonctionne une exception dans un bind donc voilà le bind que je test de faire

principe une liste de nick admin a ne pas pouvoir kick ou meme de host
problème aucune réaction

Code:
set nadmin "Orion,systak,test"


bind pub - !xkick kick

proc kick {nick uhost hand chan arg} {
    global nadmin hadmin
    set n0 [lindex $arg 1]
    set c0 [lindex $arg 2]
        foreach nadmin $nadmin {
        if {[string match -nocase $nadmin]}  {
  putquick "kick $c0 $n0 kicked"
  }
}
}
je précise oui je débute vraiment sur ce sujet xD

merci de votre aide
#2
Le but est donc, si je comprends bien, de kicker une personne sauf si elle est dans la liste ?

Le parcours du tableau est un peu excessif alors que tu peux rechercher directement dans la liste, et en plus il est faux: tu ne compares rien dans ton "string match", et il y a un problème de logique.
Imaginons que tu fasses !xkick systak, lorsque tu vas parcourir ton tableau, le premier item rencontré sera Orion, donc rien n'interdit (à ce moment) de kicker systak, ce qui sera fait. Le second bloquera (mais trop tard) et le troisième autorisera (et un kick sera fait sur un utilisateur déjà absent).

Voici plutôt ce que j'imagine:

tcl
set nadmin "Orion,systak,test"
bind pub - !xkick kick
proc kick {nick uhost hand chan arg} {
   set n0 [string tolower [lindex $arg 0]]
   set protected [split [string tolower $::nadmin] ","]
   if {[lsearch $protected $n0] == -1} {
      putquick "kick $chan $n0 kicked"
   }
}

irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#3
merci bien pour les explications :) je vais m exerce a tout sa :)
#4
j'ai essayer avec ce que tu a mis la j'ai une réponse en pl

[19:41] Tcl error [kick]: wrong # args: no script following "{[lsearch $protected $n0] == -1}" argument

de plus en regardant le code tout a l'heure a la fin tu met

}
} tu a donc un } en trop ou bien tu a oublie il ligne xD lol et la je doit dire que je comprend pas le retour en pl :s
#5
Comme il ta dit ces comme il l'imagine donc ce n'est pas forcement un code fonctionnel juste de quoi te permettre de te debrouiller.
#6
il manque un "{" :


tcl
set nadmin "Orion,systak,test"
bind pub - !xkick kick
proc kick {nick uhost hand chan arg} {
   set n0 [string tolower [lindex $arg 0]]
   set protected [split [string tolower $::nadmin] ","]
   if {[lsearch $protected $n0] == -1} {
      putquick "kick $chan $n0 kicked"
   }
}

Toute l'actualité de mes scripts ici     (dernière mise à jour le 22/04/2020)

Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.
#7
héhé merci MenzAgitat c'est vrai que la en voyant la correction je me suis ouaaaa trop bête ^^'
#8
J'ai modifié mon exemple pour le corriger, désolé de cette bévue :)
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#9
looool CrazyCat t'inquiète c'était ironique biensure hein mon niveau reste très bas mais je bidouille on va dire xD pas toujours dans l'ordre des choses certes mais bon :p mais effectivement je suis arrive a ce que je voulais faire me reste 2 ou 3 fixe a faire sur le group de tcl mais c'est sur la bonne voix :)


Possibly Related Threads…
Thread Author Replies Views Last Post
  [Script] Probleme Resolu ! BaGrift 0 2,785 29/12/2015, 15:39
Last Post: BaGrift
  [Résolu] [Aide]Problème avec un tcl Naruto 6 5,971 17/07/2013, 20:56
Last Post: CrazyCat
  [Résolu] problème de points avec trivia kipof 8 6,952 18/09/2012, 20:09
Last Post: kipof
  [Résolu] Problème, plusieurs rand dans la même procédure Ez3kiel 2 4,296 03/07/2012, 16:20
Last Post: Ez3kiel
  [Résolu] probleme Auto Op loulou7593 7 5,780 16/12/2011, 22:16
Last Post: loulou7593
  [résolu] probleme avec le Uno lesny 13 8,893 05/03/2011, 22:01
Last Post: lesny

Forum Jump:


Users browsing this thread: 1 Guest(s)