SA-MP Forums Archive
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 
pspms;
    
pms GetPlayerPausedTime(playerid);
    
ps pms 1000;
    new 
Text3D:label Create3DTextLabel("PAUSED"0x888888FF30.040.050.040.00);
    
Attach3DTextLabelToPlayer(labelplayerid0.00.00.7);
    
format(string100"* %s was afk (%dseconds)."GetName(playerid), ps);
        
SendClientMessageToAll(COLOR_DEBUGMSGstring);
    return 
1;
}
public 
OnPlayerResume(playeridtime)
{
    new 
pspms;
    
pms GetPlayerPausedTime(playerid);
    
ps pms 1000;
    if(!
IsPlayerPaused(playerid))
        
Delete3DTextLabel(pausedlabel[playerid]);
        new 
string[100];
        
format(string100"* %s was afk (%dseconds)."GetName(playerid), ps);
        
SendClientMessageToAll(COLOR_DEBUGMSGstring);
    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 
minutesecondmillisecond;
    
ConvertMillisecondsToTime(GetTickCount() - minutesecondmillisecond);

    new 
Text3D:label Create3DTextLabel("PAUSED"0x888888FF30.040.050.040.00);
    
Attach3DTextLabelToPlayer(labelplayerid0.00.00.7);

    
format(string100"* %s was afk (%dminute %dseconds %dmilliseconds)."GetName(playerid), minutesecondmilliseconds);
        
SendClientMessageToAll(COLOR_DEBUGMSGstring);

    return 
1;
}
public 
OnPlayerResume(playeridtime)
{
    new 
pspms;
    
pms GetPlayerPausedTime(playerid);
    new 
minutesecondmillisecond;
    
ConvertMillisecondsToTime(GetTickCount() - minutesecondmillisecond);
    if(!
IsPlayerPaused(playerid))
        
Delete3DTextLabel(pausedlabel[playerid]);
        new 
string[100];
        
format(string100"* %s was afk (%dminute %dseconds %dmilliseconds)."GetName(playerid), minutesecondmilliseconds);
        
SendClientMessageToAll(COLOR_DEBUGMSGstring);

    return 
1;

i hope this can work