bonjour CrazyCat et aux autres
j'ai mis le code que tu m'a proposer ici:
mais j'ai ce message d'erreur :
Tcl error [tgcheckanswer]: can't read "::timerunvoice(SianDaqui_)": no such variable
ensuite, je l'ai mis ici:
j'ai le meme message d'erreur et ca ne valide pas la réponse
si quelqu'un sais pourquoi
merci
Romu83
j'ai mis le code que tu m'a proposer ici:
tcl
#vérifie si n'importe qui a indiqué la réponse correcte sur le canal.
proc tgcheckanswer {nick host hand chan text} {
global tgcurrentanswer
putlog [tgstripcodes $text]
if {[strlwr [no_accent $tgcurrentanswer]] == [tgstripcodes [strlwr [string trim [no_accent $text]]]]} {
tgcorrectanswer $nick
pushmode $::tgchan +v $nick
killtimer $::timerunvoice($nick)
set $::timerunvoice($nick) [timer 5 unvoice $nick]
proc unvoice { $nick } {
pushmode $::tgchan -v $nick
}
}
}
mais j'ai ce message d'erreur :
Tcl error [tgcheckanswer]: can't read "::timerunvoice(SianDaqui_)": no such variable
ensuite, je l'ai mis ici:
tcl
#déclenché quand quelqu'un dit la réponse correcte.
proc tgcorrectanswer {nick} {
global tgcurrentanswer tghinttimer tgtimenext tgchan tgnextqtimer tgstreak tgstreakmin
global tgscoresbyname tgranksbyname tgranksbynum tgcongrats tgscorestotal tgmissed
global tgtimestart tgshowallscores tgrealnames tgscoresbyrank tgtimeanswer tgmulti
tggetscores
if {![info exists tgranksbyname([strlwr $nick])]} {
set _oldrank 0
} else {
set _oldrank $tgranksbyname([strlwr $nick])
pushmode $::tgchan +v $nick
killtimer $::timerunvoice($nick)
set $::timerunvoice($nick) [timer 5 unvoice $nick]
proc unvoice { $nick } {
pushmode $::tgchan -v $nick
}
}
tgincrscore $nick
tggetscores
set _newrank $tgranksbyname([strlwr $nick])
set _timetoanswer ""
if {$tgtimeanswer==1} {
set _timetoanswer [expr [expr [clock clicks -milliseconds]-$tgtimestart]/1000.00]
}
set _msg "[tgcolmisc1][lindex $tgcongrats [rand [llength $tgcongrats]]] [tgcolmisc2]$nick[tgcolmisc1]! La réponse était [tgcolmisc2]$tgcurrentanswer[tgcolmisc1].[expr $tgtimeanswer==1?" Tu l'as trouvé en [tgcolmisc2]$_timetoanswer[tgcolmisc1] seconds.":""]"
if {$_newrank<$_oldrank} {
if {$_newrank==1} {
append _msg " Tu es maintenant en 1er position!"
} else {
if {$tgshowallscores==0} {
append _msg " Tu as changé de place!"
} else {
append _msg " Tu est maintenant classé [tgcolmisc2][ordnumber $tgranksbyname([strlwr $nick])][tgcolmisc1] sur [tgcolmisc2]$tgscorestotal[tgcolmisc1], derrière [tgcolmisc2]$tgrealnames($tgranksbynum([expr $_newrank-1]))[tgcolmisc1] avec [tgcolmisc2]$tgscoresbyrank([expr $_newrank-1])[tgcolmisc1]."
}
}
}
tggamemsg "$_msg"
if {$tgstreak!=0} {
if {[lindex [split $tgstreak ,] 0]==[strlwr $nick]} {
set tgstreak [strlwr $nick],[expr [lindex [split $tgstreak ,] 1]+1]
if {$tgstreakmin>0&&[lindex [split $tgstreak ,] 1]>=$tgstreakmin} {
tggamemsg "[tgcolstrk][tgcolmisc2]$nick[tgcolstrk] [lindex $tgmulti [rand [llength $tgmulti]]] [tgcolmisc2][lindex [split $tgstreak ,] 1] [tgcolstrk]réponses consécutives!"
}
} else {
if {$tgstreakmin>0&&[lindex [split $tgstreak ,] 1]>=$tgstreakmin} { tgstreakend }
set tgstreak [strlwr $nick],1
}
} else {
set tgstreak [strlwr $nick],1
}
set tgmissed 0
tgshowscores $nick
catch {unbind pubm -|- "$tgchan *" tgcheckanswer}
killutimer $tghinttimer
set tgnextqtimer [utimer $tgtimenext tgnextq]
}
j'ai le meme message d'erreur et ca ne valide pas la réponse
si quelqu'un sais pourquoi
merci
Romu83