17/12/2007, 17:07
Voila ce que tu fais:
Je présume que $faire et $ou sont des listes.
Erreur N°1
tu affectes un élément de $faire(msgs) à $faire, donc $faire n'est plus une liste mais une chaîne.
Et tu fais idem avec $ou
Erreur N°2
Tu essayes d'aller chercher un élément aléatoire d'une de ces chaines en imaginant que ce sont encore des listes.
En fait, tes 2 lignes "set faire" et "set ou" ne servent à rien.
tcl
proc pub_descoquins {nick uhost handle channel arg} {
global faire ou
set who [lindex $arg 0]
set faire [lindex $faire(msgs) [rand [llength $faire(msgs)]]]
set ou [lindex $ou(msgs) [rand [llength $ou(msgs)]]]
putserv "PRIVMSG $channel :$nick tu dois [lindex $faire(msgs) [rand [llength $faire(msgs)]]] $who [lindex $ou(msgs) [rand [llength $ou(msgs)]]]"
}
Je présume que $faire et $ou sont des listes.
Erreur N°1
tcl
set faire [lindex $faire(msgs) [rand [llength $faire(msgs)]]]
tu affectes un élément de $faire(msgs) à $faire, donc $faire n'est plus une liste mais une chaîne.
Et tu fais idem avec $ou
Erreur N°2
tcl
putserv "PRIVMSG $channel :$nick tu dois [lindex $faire(msgs) [rand [llength $faire(msgs)]]] $who [lindex $ou(msgs) [rand [llength $ou(msgs)]]]"
Tu essayes d'aller chercher un élément aléatoire d'une de ces chaines en imaginant que ce sont encore des listes.
En fait, tes 2 lignes "set faire" et "set ou" ne servent à rien.