08.02.2015, 16:52
pawn Code:
cell AMX_NATIVE_CALL Natives::GetTickCount(AMX *amx, cell *params)
{
return (int) (GetMsTime() % MAX_INT);
//> #define MAX_INT 2147483647 ( Max int. value )
}
pawn Code:
unsigned long long GetMsTime()
{
#ifdef WIN32
LARGE_INTEGER t;
QueryPerformanceCounter(&t);
return (t.QuadPart - startTime.QuadPart) / freq;
#else
struct timespec t;
clock_gettime(CLOCK_MONOTONIC, &t);
t.tv_sec -= startTime.tv_sec;
t.tv_nsec -= startTime.tv_nsec;
if (t.tv_nsec < 0)
{
t.tv_sec -= 1;
t.tv_nsec += 1000000000;
}
return t.tv_sec * 1000 + t.tv_nsec / 1000000;
#endif
}

