Miliseconds to seconds, minutes and hours - problem - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Miliseconds to seconds, minutes and hours - problem (
/showthread.php?tid=645080)
Miliseconds to seconds, minutes and hours - problem -
Saddin - 19.11.2017
I'm using Emmet callbacks include so I can get function for player being paused and count his time.
Now I'm trying to convert miliseconds to seconds and later to minutes and hours but I keep getting same ammount of miliseconds ingame.
PHP код:
public OnPlayerPause(playerid)
{
new ps, pms;
pms = GetPlayerPausedTime(playerid);
ps = pms / 1000;
new Text3D:label = Create3DTextLabel("PAUSED", 0x888888FF, 30.0, 40.0, 50.0, 40.0, 0);
Attach3DTextLabelToPlayer(label, playerid, 0.0, 0.0, 0.7);
format(string, 100, "* %s was afk (%dseconds).", GetName(playerid), ps);
SendClientMessageToAll(COLOR_DEBUGMSG, string);
return 1;
}
public OnPlayerResume(playerid, time)
{
new ps, pms;
pms = GetPlayerPausedTime(playerid);
ps = pms / 1000;
if(!IsPlayerPaused(playerid))
Delete3DTextLabel(pausedlabel[playerid]);
new string[100];
format(string, 100, "* %s was afk (%dseconds).", GetName(playerid), ps);
SendClientMessageToAll(COLOR_DEBUGMSG, string);
return 1;
}
Re: Miliseconds to seconds, minutes and hours - problem -
PremiumGamer - 19.11.2017
PHP код:
stock ConvertMillisecondsToTime(milliseconds, &minute, &second, &millisecond)
{
minute = milliseconds / 60000;
milliseconds -= minute * 60000;
second = milliseconds / 1000;
milliseconds -= second * 1000;
millisecond = floatround(59 * milliseconds / 999);
return 1;
}
public OnPlayerPause(playerid)
{
new pms;
pms = GetPlayerPausedTime(playerid);
new minute, second, millisecond;
ConvertMillisecondsToTime(GetTickCount() - minute, second, millisecond);
new Text3D:label = Create3DTextLabel("PAUSED", 0x888888FF, 30.0, 40.0, 50.0, 40.0, 0);
Attach3DTextLabelToPlayer(label, playerid, 0.0, 0.0, 0.7);
format(string, 100, "* %s was afk (%dminute %dseconds %dmilliseconds).", GetName(playerid), minute, second, milliseconds);
SendClientMessageToAll(COLOR_DEBUGMSG, string);
return 1;
}
public OnPlayerResume(playerid, time)
{
new ps, pms;
pms = GetPlayerPausedTime(playerid);
new minute, second, millisecond;
ConvertMillisecondsToTime(GetTickCount() - minute, second, millisecond);
if(!IsPlayerPaused(playerid))
Delete3DTextLabel(pausedlabel[playerid]);
new string[100];
format(string, 100, "* %s was afk (%dminute %dseconds %dmilliseconds).", GetName(playerid), minute, second, milliseconds);
SendClientMessageToAll(COLOR_DEBUGMSG, string);
return 1;
}
i hope this can work