• 04 Juin 2026, 19:51:37


Auteur Sujet: Temps restant avec un timer  (Lu 1311 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Temps restant avec un timer
« le: 27 Avril 2009, 21:37:51 »
Bonsoir tout le monde,

Voila, j'ai besoin de votre aide, j'ai un timer qui se déclenche lors d'un commande.
Lors d'une autre commande, je voudrais bien que ça affiche le temps restant "dans" le timer. Est-ce possible ? Si oui comment faire ?
Merci beaucoup d'avance.

++
nikko

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Temps restant avec un timer
« Réponse #1 le: 27 Avril 2009, 22:08:47 »
Si tu es sous Windows, il suffit d'utiliser la fonction GetTickCount.

Exemple :
new TempsDebutTimer;

public Montimer ()
{
   TempsDebutTimer = GetTickCount ();
}

// Quelque part dans le script
SetTimer ("MonTimer", TempsTotalTimer, 0);

public OnPlayerCommandText (...)
{

   if (strcmp ("/Combien", ...)
   {
      new TempsRestant = TempsDebutTimer + TempsTotalTimer - GetTickCount ();
      printf ("Temps restant pour le timer : %d ms (%d s)", TempsRestant, TempsRestant/1000);
   }
}

NB : La fontion GetTickCount renvoie le nombre de millisecondes écoulées depuis le démarrage de la machine. Ce nombre repasse à 0 tous les 49 jours (la machine ne doit pas être arrêtée entre temps). Il y a donc très peu de chance de tomber dans le cas du passage à 0 de GetTickCount mais si c'est la cas, le calcul précédent sera erroné.

Sous Linux, il faut remplacer les appels à GetTickCount par des appels à tickcount mais je ne sais pas si cette fonction marche correctement.

++
Syg
Courtesy of GtaManiac

Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Re : Temps restant avec un timer
« Réponse #2 le: 27 Avril 2009, 22:12:17 »
Quand tu dit "Tempsdebuttimer" cest a l'heure ou il commence ?  ???

++
nikko