Aide pour code quizz

Résolu
cs_djdadou Messages postés 50 Date d'inscription jeudi 2 août 2007 Statut Membre Dernière intervention 22 septembre 2008 - 2 août 2007 à 15:04
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 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,14avec�3;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,14avec�3;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
}


   

9 réponses

cs_djdadou Messages postés 50 Date d'inscription jeudi 2 août 2007 Statut Membre Dernière intervention 22 septembre 2008
19 août 2007 à 20:48
mdr fallais preciser qu'il fallait convertir ptdrrrrrrrrrrrrrrr merci sa doit etre bon
3
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
19 août 2007 à 21:35
$regsubex($gettok($read(quizz.txt,%ligne),2,92),/[^\s']/g,*)
3
cs_ISoKa Messages postés 435 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 17 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.

ISoKa
0
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
2 août 2007 à 15:53
$ticks n'est pas très précis par contre, si tu veux améliorer cette précision, il te faut une DLL :
http://picwin.scriptsdb.org/comments.php?id=23
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_djdadou Messages postés 50 Date d'inscription jeudi 2 août 2007 Statut Membre Dernière intervention 22 septembre 2008
2 août 2007 à 15:58
merci mais sa marche pas sa donne sa XXXX mais pas en secondes :o
0
cs_djdadou Messages postés 50 Date d'inscription jeudi 2 août 2007 Statut Membre Dernière intervention 22 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)..... ;)
0
cs_ISoKa Messages postés 435 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 17 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.

ISoKa
0
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
2 août 2007 à 16:27
divise par 1000 pour l'avoir en secondes, là tu l'as en ms
0
cs_djdadou Messages postés 50 Date d'inscription jeudi 2 août 2007 Statut Membre Dernière intervention 22 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
 
0
Rejoignez-nous