GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Nikko™ 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
-
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
-
Quand tu dit "Tempsdebuttimer" cest a l'heure ou il commence ? ???
++
nikko