GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Bayshore le 26 Avril 2009, 21:37:12
-
Salut,
sachant que les fonctions GetTickCount() et tickcount() ne fonctionnent pas sous Linux, j'avais entendu qu'il fallait simler ces fonctions, ma question est : Comment ?
Avec un timer comme dans PEN1 ? C'est pas super précis...
-
La fonction tickcount fonctionne sous Linux. Mais il semblerait qu'elle aie quelques bugs.
A tester car je ne l'ai jamais utilisée.
Il existe peut-être un plugin pour Linux qui fourni cette fonction (je n'en ai pas trouvé).
++
Syg
-
Salut,
effectivement, il existe un plugin qui règle cette fonction, à chercher : xtime (de Boylett)
++Sim++
-
Celui là, je l'ai trouvé Sim mais il semblerait qu'il ne soit pas très intéressant au niveau de la fonction tickcount.
Voici le lien : http://forum.sa-mp.com/index.php?topic=76793.0 (http://forum.sa-mp.com/index.php?topic=76793.0)
++
Syg
-
En effet, il y a déjà une fonction qui retourne le timestamp dans Dutils...
-
Salut,
en ouvrant le fichier, on obtient tout de même cette fonction:
static cell AMX_NATIVE_CALL n_ticks(AMX* amx, cell* params )
{
long ticks, usec, sec;
struct timeval tempo;
gettimeofday(&tempo, NULL);
usec = tempo.tv_usec;
sec = tempo.tv_sec;
ticks = (1000 * sec) + (usec / 1000);
logprintf("return %d - %d",ticks,start_tick);
ticks -= start_tick;
return (int)ticks;
}
on y voit que les microsecondes sont divisées par 1000 puis ajoutées... par contre je ne suis pas certains de la qualité, Syg pourrait tu confirmer s'il te plait?
++Sim++
-
C'est normal, on divise les microsecondes (10-6) par 1000 pour avoir de millisecondes (10-3).
Si la fonction Linux gettimeofday retourne correctement le nombre de microsecondes alors ce plugin fonctionnera parfaitement.
Cette fonction retourne le nombre de millisecondes écoulées depuis le lancement du serveur SA-MP (pas depuis le lancement de la machine). Mais ceci n'est pas un problème.
++
Syg