Meine Zeitrechnung spinnt irgendwie.
Sie rechnet richtig, solange der Minuten Wert nicht höher als 59 Minuten ist.
Gehen wir davon aus, das man 180 Minuten im "Knast" ist, dann rechnet er aus, 3 Stunden, 180 Minuten & 0 Sekunden.
Wobei er dann mir 3 Stunden, 0 Minuten & 0 Sekunden ausgeben sollte.
Bei einem Timestamp der 59 beträgt, rechnet er auch richtig.
Quellcode:
//Funktionen
stock MathTime(atime, &days, &hours, &mins)
{
new restzeit= atime -gettime();
days = floatround(restzeit / 86400,floatround_floor),
hours = restzeit - (days * 86400),
hours = floatround(hours / 3600,floatround_floor),
mins = restzeit - ( (days * 86400) + (hours * 3600) ),
mins = floatround(mins / 60,floatround_floor);
return 1;
}
stock MathTimeSeconds(atime, &mins, &secs)
{
mins = (atime-gettime())/60;
secs = atime-gettime() - (mins*60);
return 1;
}
//Anwendung
if(pInfo[playerid][pMute])
{
new day, hour, mins, secs, mutetime = pInfo[playerid][pMutetime];
MathTime(mutetime, day, hour, mins),
MathTimeSeconds(mutetime, mins, secs);
SCMF(playerid, COLOR_LESSRED, "Du bist noch für %02d:%02d:%02d Stunden gemuted.", hour, mins, secs);
return 0;
}