#define plural_singular(%0,%1,%2) ((%0) == 1)?((#%1)):((#%2))
new string[144], second = GetPlayerConnectedTime(playerid), minute, hour, day, week, month, year;
format(string, sizeof(string), ">> Tiempo online: %s.", ConvertToTime(second, minute, hour, day, week, month, year));
SendClientMessage(playerid, -1, string);
stock GetPlayerConnectedTime(playerid) return NetStats_GetConnectedTime(playerid) / 1000;
stock ConvertToTime(&second, &minute = -1, &hour = -1, &day = -1, &week = -1, &month = -1, &year = -1)
{
#define seconds_in_year 31536000
#define seconds_in_month 2628000
#define seconds_in_week 604800
#define seconds_in_day 86400
#define seconds_in_hour 3600
#define seconds_in_minute 60
#define convert_seconds(%1) %1 = second / seconds_in_%1; second %= seconds_in_%1
new string[128];
if(year != -1 && (second / seconds_in_year))
{
convert_seconds(year); convert_seconds(month); convert_seconds(week); convert_seconds(day); convert_seconds(hour); convert_seconds(minute);
format(string, sizeof(string), "%d %s, %d %s, %d %s, %d %s, %d %s, %d %s, and %d %s", year, plural_singular(year, "year", "years"), month, plural_singular(month, "month", "months"), \
week, plural_singular(week, "week", "weeks"), day, plural_singular(day, "day", "days"), hour, plural_singular(hour, "hour", "hours"), minute, plural_singular(minute, "minute", "minutes"), \
second, plural_singular(second, "second", "seconds"));
return string;
}
if(month != -1 && (second / seconds_in_month))
{
year = 0; convert_seconds(month); convert_seconds(week); convert_seconds(day); convert_seconds(hour); convert_seconds(minute);
format(string, sizeof(string), "%d %s, %d %s, %d %s, %d %s, %d %s, and %d %s", month, plural_singular(month, "month", "months"), week, plural_singular(week, "week", "weeks"), \
day, plural_singular(day, "day", "days"), hour, plural_singular(hour, "hour", "hours"), minute, plural_singular(minute, "minute", "minutes"), second, plural_singular(second, "second", "seconds"));
return string;
}
if(week != -1 && (second / seconds_in_week))
{
year = 0, month = 0; convert_seconds(week); convert_seconds(day); convert_seconds(hour); convert_seconds(minute);
format(string, sizeof(string), "%d %s, %d %s, %d %s, %d %s, and %d %s", week, plural_singular(week, "week", "weeks"), day, plural_singular(day, "day", "days"), \
hour, plural_singular(hour, "hour", "hours"), minute, plural_singular(minute, "minute", "minutes"), second, plural_singular(second, "second", "seconds"));
return string;
}
if(day != -1 && (second / seconds_in_day))
{
year = 0, month = 0, week = 0; convert_seconds(day); convert_seconds(hour); convert_seconds(minute);
format(string, sizeof(string), "%d %s, %d %s, %d %s, and %d %s", day, plural_singular(day, "day", "days"), hour, plural_singular(hour, "hour", "hours"), \
minute, plural_singular(minute, "minute", "minutes"), second, plural_singular(second, "second", "seconds"));
return string;
}
if(hour != -1 && (second / seconds_in_hour))
{
year = 0, month = 0, week = 0, day = 0; convert_seconds(hour); convert_seconds(minute);
format(string, sizeof(string), "%d %s, %d %s, and %d %s", hour, plural_singular(hour, "hour", "hours"), minute, plural_singular(minute, "minute", "minutes"), \
second, plural_singular(second, "second", "seconds"));
return string;
}
if(minute != -1 && (second / seconds_in_minute))
{
year = 0, month = 0, week = 0, day = 0, hour = 0; convert_seconds(minute);
format(string, sizeof(string), "%d %s, and %d %s", minute, plural_singular(minute, "minute", "minutes"), second, plural_singular(second, "second", "seconds"));
return string;
}
year = 0, month = 0, week = 0, day = 0, hour = 0, minute = 0;
format(string, sizeof(string), "%d %s", second, plural_singular(second, "second", "seconds"));
return string;
}
Aquн esta todo lo que necesitas, nomas creas el textdraw y lo actualizas con la info.
pawn Код:
|
Hmm se ve bueno, pero eso de aсos meses and etc, yo lo que quiero es solo un textdraw que cuente el tiempo online que llevas en una sola partida, no en todo el tiempo, osea...
Entro y saber cuanto tiempo llevo jugando. |