cs_djdadou
Messages postés50Date d'inscriptionjeudi 2 août 2007StatutMembreDernière intervention22 septembre 2008
-
2 août 2007 à 15:04
RCA ArKanis
Messages postés1287Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention21 février 2009
-
19 août 2007 à 21:35
voila j'ai commencer un quizz, et je voudrai savoir comment faire pour donner le temps en "secondes,centieme de seconde" quand un nick trouve la reponse à la question... voila le code
ps: le top10 c'est du copier coller .... si vous pouvez m'aide j'aimerai svp une explication ;;;; merci d'avance ;) bye......
on *:text:*:#djs: { if ($1 !quizz) && (%quizz on) { notice $nick le quizz est déja lancer }
if ($1 == !quizz) && (%quizz != on) {
set %quizz on
msg #djs DJ QUIZZ démarrera dans 10 secondes préparez-vous !!
timer 1 5 msg #djs début du quizz dans 5 secondes .
timer 1 10 question
} if ($1 !stop) && (%quizz on) {
unset %quizz
timers off
msg #djs le quizz a été arreté par $nick
} if ($1- %r) && (%quizz on) {
set %pts $gettok($read(classement.txt,w,$+(*,$nick,*)),2,32)
if (%pts == $null) {
inc %pts $+ $nick %p
/write classement.txt $nick %pts [ $+ [ $nick ] ]
}
else {
inc %pts $+ $nick %p
/write -ds $+ $nick classement.txt
/write classement.txt $nick %pts [ $+ [ $nick ] ]
}
set %pts %p
reponse
}
}
alias question {
set %ligne $rand(1,$lines(quizz.txt))
set %q $gettok($read(quizz.txt,%ligne),1,92)
set %r $gettok($read(quizz.txt,%ligne),2,92)
if (%i == %b) {
set %p $calc($len(%r)*100)
msg #djs Question BONUS : %q pour %p points
}
else {
set %p $calc($len(%r)*10)
msg #djs Question : %q pour %p points
}
indice
timer 1 60 msg #djs Dommage pour %dernier la reponse était : %r !! | timer reponse off
timer 1 62 msg #djs prochaine question dans 5 secondes
timer 1 67 question
halt
}
alias reponse {
msg #djs Bravo $nick la réponse était : %r tu gagnes : %pts et tu possèdes : %pts [ $+ [ $nick ] ] !!
timers off
if (%dernier == $nick) {
msg #djs Avec %i réponses d'affilées !!
inc %i
}
else { set %i 1 | set %dernier $nick | msg #djs Avec %i réponse d'affilée !!
}
top10
timer 1 2 msg #djs prochaine question dans 5 secondes !!
timer 1 7 question
}
alias top10 {
set %lines $lines(classement.txt)
unset %list
var %v = 1
while (%v <= %lines) {
set %list %list $gettok($read(classement.txt,%v),2,32)
inc %v
}
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
set %listordre $sorttok(%list,32,nr)
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
unset %top
var %c = 1
while (%c <= %v) {
if (%veri == $gettok(%listordre,%c,32)) {
set %top %top $findtok(%list,$gettok(%listordre,%c,32),2,32)
}
else {
set %top %top $findtok(%list,$gettok(%listordre,%c,32),1,32)
}
set %veri $gettok(%listordre,%c,32)
inc %c
}
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
unset %vtop
var %t = 1
set %vtop 3;15,14Le classement top10 est:
;$numtok(%top,32)
while (%t <= 10) {
set %oko $gettok(%top,%t,32)
if ($gettok($read(classement.txt,%oko),1,32) == $null) {
set %vtop %vtop $chr(32) 3;1,14 %t $+ . 3;0,14 Personne 3;15,14avec3;0,14 0 3;15,14pts,
}
else {
set %vtop %vtop $chr(32) 3;1,14 %t $+ . 3;0,14 $gettok($read(classement.txt,%oko),1,32) 3;15,14avec3;0,14 $gettok($read(classement.txt,%oko),2,32) 3;15,14pts,
}
inc %t
}
/msg #djs %vtop
unset %vtop
}
alias indice {
set %indice $regsubex($gettok($read(quizz.txt,%ligne),2,92),/\S/g,*)
msg #djs un petit aide : %indice .
set %indice2 $regsubex($gettok($read(quizz.txt,%ligne),2,92),/[bcdfghjklmopqrstuvyz2356780]/g,*)
timer 1 30 msg #djs un deuxième petit aide : %indice1
}
cs_ISoKa
Messages postés435Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention17 octobre 2008 2 août 2007 à 15:31
Bonjour,
$ticks
Retourne le nombre de ticks écoulés (centaines de millisecondes écoulées) depuis que votre système d'exploitation a démarré.
donc au moment de poser ta question tu enregistre le $ticks courant et au moment ou on trouve tu prend le $ticks et tu fait la soustraction des 2 ca te donnera le temps.
cs_djdadou
Messages postés50Date d'inscriptionjeudi 2 août 2007StatutMembreDernière intervention22 septembre 2008 2 août 2007 à 16:08
je veux dire que c'est pas sous cette forme ex: 22,234 secondes c'est comme sa ex : 7896 si je mets le $ticks a mon alias question ex: set %t $ticks et le deuxieme dans la partie reponse %t1 $ticks et que le calcul cad $calc(%t1 -%t) sa donne sa ex: 7654
voila le bleme ;) merci encore pour ta reponse (rapide en plus)..... ;)
cs_ISoKa
Messages postés435Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention17 octobre 2008 2 août 2007 à 16:26
bin $ticks
Retourne le nombre de ticks écoulés (centaines de millisecondes écoulées) depuis que votre système d'exploitation a démarré.
1 ticks = 1 centaine de milliseconde
te suffi de convertir ca en seconde... je voi pas ou est le probleme.
cs_djdadou
Messages postés50Date d'inscriptionjeudi 2 août 2007StatutMembreDernière intervention22 septembre 2008 19 août 2007 à 21:22
voila mon deuxieme probleme je sais remplace tt les lettres de la reponse par *****
j'uilise sa :alias indice {
set %indice $regsubex($gettok($read(quizz.txt,%ligne),2,92),/\S/g,*)
msg #djs 3;8,2 un petit aide : 2;3;15 %indice .
}
code que j'ai trouvé sur se site m ...... ceci evite de remplace l'espace
,mais je voudrais savoir si y a pas moyen de pas remplace ( ' ) par (*) en utilisant $regsubex et avec le m code .... merci