voice devoice
#10
Bonjour,

Je remonte ce sujet car il m'interesse, c'est pour faire un systeme avec trivia pour qu'il voice en automatique dés qu'une réponse est trouvé (résolu, car il marche bien) mais il faudrait aussi qu'il devoice en automatique si la personne ne joue plus au quizz aprés xx secondes ou minutes, j'ai suivi votre conversation et j'ai ajouté ceci dans mon Trivia:

tcl
proc unvoice { $nick } {
     putserv "mode $::tgchan -v $nick"
}
 
proc tgcorrectanswer {nick} {
	global tgcurrentanswer tghinttimer tgtimenext tgchan tgnextqtimer tgstreak tgstreakmin
	global tgscoresbyname tgranksbyname tgranksbynum tgcongrats tgscorestotal tgmissed
	global tgtimestart tgshowallscores tgrealnames tgscoresbyrank tgtimeanswer
	tggetscores
	if {![info exists tgranksbyname([strlwr $nick])]} {
		set _oldrank 0
	} else {
		set _oldrank $tgranksbyname([strlwr $nick])

#pour voicer en automatique si une réponse est trouvé
putserv "mode $::tgchan +v $nick"

#pour devoicer - ne marche pas
#if {[timerexists $::timerunvoice($nick)]!=""} {killtimer $::timerunvoice($nick)}
#set $::timerunvoice($nick) [timer 5 unvoice $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 nicknaame [lindex [split $nick "|"] 0]
 
	set _msg "[tgcolmisc1][lindex $tgcongrats [rand [llength $tgcongrats]]] [tgcolmisc2][lindex $nicknaame][tgcolmisc1] La réponse était [tgcolmisc2]$tgcurrentanswer[tgcolmisc1].[expr $tgtimeanswer==1?" Vous l'avez obtenu en [tgcolmisc2]$_timetoanswer[tgcolmisc1] secondes.":""]"
	if {$_newrank<$_oldrank} {
		if {$_newrank==1} {
			append _msg " Vous êtes en première place !!!"
		} else {
			if {$tgshowallscores==0} {
				append _msg " Vous vous êtes relevé dans le rang !!!"
			} else {
				append _msg " Vous êtes maintenant à la place [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] a beaucoup de chance [tgcolmisc2][lindex [split $tgstreak ,] 1] [tgcolstrk]"
			}
		} 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]
 
 
}



Le script ci-dessus il marche bien on dirait car si on donne une réponse il y a un voice automatique, c'est super ! mais je sais pas si il re-voice une personne si il y a eu un dévoice...

le probleme maintenant pour pas qu'il y a 60 personnes de voicé, il faudrait que trivia fasse un dévoice automatique aprés xx secondes ou minutes d'inactivité. Comment il faudrait faire pour qu'il dévoice en auto?

Merci.
Répondre Avertir


Messages dans ce sujet
voice devoice - par Romu83 - 06/08/2009, 08:40
RE: voice devoice - par MenzAgitat - 06/08/2009, 12:59
RE: voice devoice - par Romu83 - 06/08/2009, 16:23
RE: voice devoice - par CrazyCat - 07/08/2009, 00:12
RE: voice devoice - par Romu83 - 07/08/2009, 09:38
RE: voice devoice - par CrazyCat - 07/08/2009, 13:17
RE: voice devoice - par BdS - 07/08/2009, 13:50
RE: voice devoice - par MenzAgitat - 07/08/2009, 14:10
RE: voice devoice - par BdS - 08/08/2009, 11:12
RE: voice devoice - par mecmec - 23/02/2012, 12:50
RE: voice devoice - par BdS - 23/02/2012, 13:16
RE: voice devoice - par mecmec - 23/02/2012, 12:53

Atteindre :


Utilisateur(s) parcourant ce sujet : 3 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté