01/11/2012, 22:54
Récapitulatif et solution
On commence par la solution de CrazyCat donné ici : http://forum.eggdrop.fr/Triviatcl-Points...ml#pid2860
Ce qui donne dans le script les modifications suivante :
Début de script ajouter :
Puis une modification de la proc tgcorrectanswer de cette façon :
Puis la modification donné par BdS ici : http://forum.eggdrop.fr/Triviatcl-Points...ml#pid9378
Ce qui donne pour l'incrément des points de la personne
Voilà les modifications a apporter pour avoir les points variable sur le Trivia.tcl
Solution testé sans aucun problème donc le sujet peux être mis sur résolu je pense par un admin :)
( Merci CrazyCat et BdS )
On commence par la solution de CrazyCat donné ici : http://forum.eggdrop.fr/Triviatcl-Points...ml#pid2860
Ce qui donne dans le script les modifications suivante :
Début de script ajouter :
tcl
# Réglages des points variables ici 5 Points sans indice 3 avec 1 indice 2 avec 2 indices puis 1 avec 3 indices.
set tganswscore {5 3 2 1}
Puis une modification de la proc tgcorrectanswer de cette façon :
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])
}
tgincrscore $nick [lindex $::tganswscore $::tghintnum]
tggetscores
set _newrank $tgranksbyname([strlwr $nick])
set _timetoanswer ""
if {$tgtimeanswer==1} {
set _timetoanswer [expr [expr [clock clicks -milliseconds]-$tgtimestart]/1000.00]
}
Puis la modification donné par BdS ici : http://forum.eggdrop.fr/Triviatcl-Points...ml#pid9378
Ce qui donne pour l'incrément des points de la personne
tcl
#incrément les points de la personne points.
proc tgincrscore {who tgpoints} {
global tgscores tgscf tgpointsperanswer tgscorestotal tgscoresbyname tghintnum
tggetscores
if {$tgscorestotal>0} {
set i 0
if {![info exists tgscoresbyname([strlwr $who])]} {
#append _newscores "[expr $tgpointsperanswer-$tghintnum],[expr 1000000000000.0/[unixtime]],$who,[strlwr $who] "
append _newscores "$tgpoints,[expr 1000000000000.0/[unixtime]],$who,[strlwr $who] "
}
while {$i<[llength $tgscores]} {
set _item [lindex $tgscores $i]
set _nick [lindex [split $_item ,] 2]
set _time [lindex [split $_item ,] 1]
set _score [lindex [split $_item ,] 0]
if {[strlwr $who]==[strlwr $_nick]} {
#append _newscores "[expr $_score+$tgpointsperanswer-$tghintnum],[expr 1000000000000.0/[unixtime]],$who,[strlwr $who][expr [expr [llength $tgscores]-$i]==1?"":"\ "]"
append _newscores "[expr $_score+$tgpoints],[expr 1000000000000.0/[unixtime]],$who,[strlwr $who][expr [expr [llength $tgscores]-$i]==1?"":"\ "]"
} else {
append _newscores "$_score,$_time,$_nick,[strlwr $_nick][expr [expr [llength $tgscores]-$i]==1?"":"\ "]"
}
incr i
}
} else {
#append _newscores "[expr $tgpointsperanswer-$tghintnum],[expr 1000000000000.0/[unixtime]],$who,[strlwr $who]"
append _newscores "$tgpoints,[expr 1000000000000.0/[unixtime]],$who,[strlwr $who]"
}
set _sfile [open $tgscf w]
puts $_sfile "$_newscores"
close $_sfile
return
}
Voilà les modifications a apporter pour avoir les points variable sur le Trivia.tcl
Solution testé sans aucun problème donc le sujet peux être mis sur résolu je pense par un admin :)
( Merci CrazyCat et BdS )