Add month and year support to get_time_length() (#969)
* Add RU * Add EN * Add DE * Add SR * Add BP * Add HU * Add SECONDS_IN_MONTH & timeunit_months * Add months for API description * Add SECONDS_IN_YEAR & timeunit_years * fix typo * Add FR
This commit is contained in:
parent
c58daeafca
commit
2e5e3ce060
|
@ -24,6 +24,8 @@ enum
|
||||||
timeunit_hours,
|
timeunit_hours,
|
||||||
timeunit_days,
|
timeunit_days,
|
||||||
timeunit_weeks,
|
timeunit_weeks,
|
||||||
|
timeunit_months,
|
||||||
|
timeunit_years,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Seconds in each time unit */
|
/* Seconds in each time unit */
|
||||||
|
@ -31,6 +33,8 @@ enum
|
||||||
#define SECONDS_IN_HOUR 3600
|
#define SECONDS_IN_HOUR 3600
|
||||||
#define SECONDS_IN_DAY 86400
|
#define SECONDS_IN_DAY 86400
|
||||||
#define SECONDS_IN_WEEK 604800
|
#define SECONDS_IN_WEEK 604800
|
||||||
|
#define SECONDS_IN_MONTH 2592000
|
||||||
|
#define SECONDS_IN_YEAR 31536000
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Stock by Brad.
|
* Stock by Brad.
|
||||||
|
@ -39,7 +43,7 @@ enum
|
||||||
*
|
*
|
||||||
* @param id The player whose language the length should be translated to
|
* @param id The player whose language the length should be translated to
|
||||||
* @param unitCnt The number of time units you want translated into verbose text
|
* @param unitCnt The number of time units you want translated into verbose text
|
||||||
* @param type The type of unit (i.e. seconds, minutes, hours, days, weeks) that you are passing in
|
* @param type The type of unit (i.e. seconds, minutes, hours, days, weeks, months, years) that you are passing in
|
||||||
* @param output The variable you want the verbose text to be placed in
|
* @param output The variable you want the verbose text to be placed in
|
||||||
* @param outputLen The length of the output variable
|
* @param outputLen The length of the output variable
|
||||||
*
|
*
|
||||||
|
@ -50,7 +54,7 @@ stock get_time_length(id, unitCnt, type, output[], outputLen)
|
||||||
if (unitCnt > 0)
|
if (unitCnt > 0)
|
||||||
{
|
{
|
||||||
// determine the number of each time unit there are
|
// determine the number of each time unit there are
|
||||||
new weekCnt = 0, dayCnt = 0, hourCnt = 0, minuteCnt = 0, secondCnt = 0;
|
new yearCnt = 0, monthCnt = 0, weekCnt = 0, dayCnt = 0, hourCnt = 0, minuteCnt = 0, secondCnt = 0;
|
||||||
|
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
|
@ -59,8 +63,16 @@ stock get_time_length(id, unitCnt, type, output[], outputLen)
|
||||||
case timeunit_hours: secondCnt = unitCnt * SECONDS_IN_HOUR;
|
case timeunit_hours: secondCnt = unitCnt * SECONDS_IN_HOUR;
|
||||||
case timeunit_days: secondCnt = unitCnt * SECONDS_IN_DAY;
|
case timeunit_days: secondCnt = unitCnt * SECONDS_IN_DAY;
|
||||||
case timeunit_weeks: secondCnt = unitCnt * SECONDS_IN_WEEK;
|
case timeunit_weeks: secondCnt = unitCnt * SECONDS_IN_WEEK;
|
||||||
|
case timeunit_months: secondCnt = unitCnt * SECONDS_IN_MONTH;
|
||||||
|
case timeunit_years: secondCnt = unitCnt * SECONDS_IN_YEAR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
yearCnt = secondCnt / SECONDS_IN_YEAR;
|
||||||
|
secondCnt -= (yearCnt * SECONDS_IN_YEAR);
|
||||||
|
|
||||||
|
monthCnt = secondCnt / SECONDS_IN_MONTH;
|
||||||
|
secondCnt -= (monthCnt * SECONDS_IN_MONTH);
|
||||||
|
|
||||||
weekCnt = secondCnt / SECONDS_IN_WEEK;
|
weekCnt = secondCnt / SECONDS_IN_WEEK;
|
||||||
secondCnt -= (weekCnt * SECONDS_IN_WEEK);
|
secondCnt -= (weekCnt * SECONDS_IN_WEEK);
|
||||||
|
|
||||||
|
@ -75,8 +87,12 @@ stock get_time_length(id, unitCnt, type, output[], outputLen)
|
||||||
|
|
||||||
// translate the unit counts into verbose text
|
// translate the unit counts into verbose text
|
||||||
new maxElementIdx = -1;
|
new maxElementIdx = -1;
|
||||||
new timeElement[5][33];
|
new timeElement[7][33];
|
||||||
|
|
||||||
|
if (yearCnt > 0)
|
||||||
|
format(timeElement[++maxElementIdx], charsmax(timeElement[]), "%i %L", yearCnt, id, (yearCnt == 1) ? "TIME_ELEMENT_YEAR" : "TIME_ELEMENT_YEARS");
|
||||||
|
if (monthCnt > 0)
|
||||||
|
format(timeElement[++maxElementIdx], charsmax(timeElement[]), "%i %L", monthCnt, id, (monthCnt == 1) ? "TIME_ELEMENT_MONTH" : "TIME_ELEMENT_MONTHS");
|
||||||
if (weekCnt > 0)
|
if (weekCnt > 0)
|
||||||
format(timeElement[++maxElementIdx], charsmax(timeElement[]), "%i %L", weekCnt, id, (weekCnt == 1) ? "TIME_ELEMENT_WEEK" : "TIME_ELEMENT_WEEKS");
|
format(timeElement[++maxElementIdx], charsmax(timeElement[]), "%i %L", weekCnt, id, (weekCnt == 1) ? "TIME_ELEMENT_WEEK" : "TIME_ELEMENT_WEEKS");
|
||||||
if (dayCnt > 0)
|
if (dayCnt > 0)
|
||||||
|
@ -95,6 +111,8 @@ stock get_time_length(id, unitCnt, type, output[], outputLen)
|
||||||
case 2: formatex(output, outputLen, "%s, %s %L %s", timeElement[0], timeElement[1], id, "TIME_ELEMENT_AND", timeElement[2]);
|
case 2: formatex(output, outputLen, "%s, %s %L %s", timeElement[0], timeElement[1], id, "TIME_ELEMENT_AND", timeElement[2]);
|
||||||
case 3: formatex(output, outputLen, "%s, %s, %s %L %s", timeElement[0], timeElement[1], timeElement[2], id, "TIME_ELEMENT_AND", timeElement[3]);
|
case 3: formatex(output, outputLen, "%s, %s, %s %L %s", timeElement[0], timeElement[1], timeElement[2], id, "TIME_ELEMENT_AND", timeElement[3]);
|
||||||
case 4: formatex(output, outputLen, "%s, %s, %s, %s %L %s", timeElement[0], timeElement[1], timeElement[2], timeElement[3], id, "TIME_ELEMENT_AND", timeElement[4]);
|
case 4: formatex(output, outputLen, "%s, %s, %s, %s %L %s", timeElement[0], timeElement[1], timeElement[2], timeElement[3], id, "TIME_ELEMENT_AND", timeElement[4]);
|
||||||
|
case 5: formatex(output, outputLen, "%s, %s, %s, %s, %s %L %s", timeElement[0], timeElement[1], timeElement[2], timeElement[3], timeElement[4], id, "TIME_ELEMENT_AND", timeElement[5]);
|
||||||
|
case 6: formatex(output, outputLen, "%s, %s, %s, %s, %s, %s %L %s", timeElement[0], timeElement[1], timeElement[2], timeElement[3], timeElement[4], timeElement[5], id, "TIME_ELEMENT_AND", timeElement[6]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,10 @@ TIME_ELEMENT_DAY = day
|
||||||
TIME_ELEMENT_DAYS = days
|
TIME_ELEMENT_DAYS = days
|
||||||
TIME_ELEMENT_WEEK = week
|
TIME_ELEMENT_WEEK = week
|
||||||
TIME_ELEMENT_WEEKS = weeks
|
TIME_ELEMENT_WEEKS = weeks
|
||||||
|
TIME_ELEMENT_MONTH = month
|
||||||
|
TIME_ELEMENT_MONTHS = months
|
||||||
|
TIME_ELEMENT_YEAR = year
|
||||||
|
TIME_ELEMENT_YEARS = years
|
||||||
TIME_ELEMENT_PERMANENTLY = permanently
|
TIME_ELEMENT_PERMANENTLY = permanently
|
||||||
TIME_ELEMENT_AND = and
|
TIME_ELEMENT_AND = and
|
||||||
|
|
||||||
|
@ -23,6 +27,10 @@ TIME_ELEMENT_DAY = Tag
|
||||||
TIME_ELEMENT_DAYS = Tage
|
TIME_ELEMENT_DAYS = Tage
|
||||||
TIME_ELEMENT_WEEK = Woche
|
TIME_ELEMENT_WEEK = Woche
|
||||||
TIME_ELEMENT_WEEKS = Wochen
|
TIME_ELEMENT_WEEKS = Wochen
|
||||||
|
TIME_ELEMENT_MONTH = Monat
|
||||||
|
TIME_ELEMENT_MONTHS = Monate
|
||||||
|
TIME_ELEMENT_YEAR = Jahr
|
||||||
|
TIME_ELEMENT_YEARS = Jahre
|
||||||
TIME_ELEMENT_PERMANENTLY = permanent
|
TIME_ELEMENT_PERMANENTLY = permanent
|
||||||
TIME_ELEMENT_AND = und
|
TIME_ELEMENT_AND = und
|
||||||
|
|
||||||
|
@ -37,6 +45,10 @@ TIME_ELEMENT_DAY = dan
|
||||||
TIME_ELEMENT_DAYS = dani
|
TIME_ELEMENT_DAYS = dani
|
||||||
TIME_ELEMENT_WEEK = nedelja
|
TIME_ELEMENT_WEEK = nedelja
|
||||||
TIME_ELEMENT_WEEKS = nedelje
|
TIME_ELEMENT_WEEKS = nedelje
|
||||||
|
TIME_ELEMENT_MONTH = mesec
|
||||||
|
TIME_ELEMENT_MONTHS = meseci
|
||||||
|
TIME_ELEMENT_YEAR = godina
|
||||||
|
TIME_ELEMENT_YEARS = godine
|
||||||
TIME_ELEMENT_PERMANENTLY = za stalno
|
TIME_ELEMENT_PERMANENTLY = za stalno
|
||||||
TIME_ELEMENT_AND = i
|
TIME_ELEMENT_AND = i
|
||||||
|
|
||||||
|
@ -65,7 +77,11 @@ TIME_ELEMENT_DAY = jour
|
||||||
TIME_ELEMENT_DAYS = jours
|
TIME_ELEMENT_DAYS = jours
|
||||||
TIME_ELEMENT_WEEK = semaine
|
TIME_ELEMENT_WEEK = semaine
|
||||||
TIME_ELEMENT_WEEKS = semaines
|
TIME_ELEMENT_WEEKS = semaines
|
||||||
TIME_ELEMENT_PERMANENTLY = a vie (permanent)
|
TIME_ELEMENT_MONTH = mois
|
||||||
|
TIME_ELEMENT_MONTHS = mois
|
||||||
|
TIME_ELEMENT_YEAR = année
|
||||||
|
TIME_ELEMENT_YEARS = années
|
||||||
|
TIME_ELEMENT_PERMANENTLY = à vie (permanent)
|
||||||
TIME_ELEMENT_AND = et
|
TIME_ELEMENT_AND = et
|
||||||
|
|
||||||
[tr]
|
[tr]
|
||||||
|
@ -107,6 +123,10 @@ TIME_ELEMENT_DAY = dia
|
||||||
TIME_ELEMENT_DAYS = dias
|
TIME_ELEMENT_DAYS = dias
|
||||||
TIME_ELEMENT_WEEK = semana
|
TIME_ELEMENT_WEEK = semana
|
||||||
TIME_ELEMENT_WEEKS = semanas
|
TIME_ELEMENT_WEEKS = semanas
|
||||||
|
TIME_ELEMENT_MONTH = mês
|
||||||
|
TIME_ELEMENT_MONTHS = meses
|
||||||
|
TIME_ELEMENT_YEAR = ano
|
||||||
|
TIME_ELEMENT_YEARS = anos
|
||||||
TIME_ELEMENT_PERMANENTLY = permanentemente
|
TIME_ELEMENT_PERMANENTLY = permanentemente
|
||||||
TIME_ELEMENT_AND = e
|
TIME_ELEMENT_AND = e
|
||||||
|
|
||||||
|
@ -205,6 +225,10 @@ TIME_ELEMENT_DAY = nap
|
||||||
TIME_ELEMENT_DAYS = nap
|
TIME_ELEMENT_DAYS = nap
|
||||||
TIME_ELEMENT_WEEK = hét
|
TIME_ELEMENT_WEEK = hét
|
||||||
TIME_ELEMENT_WEEKS = hét
|
TIME_ELEMENT_WEEKS = hét
|
||||||
|
TIME_ELEMENT_MONTH = hónap
|
||||||
|
TIME_ELEMENT_MONTHS = hónapok
|
||||||
|
TIME_ELEMENT_YEAR = év
|
||||||
|
TIME_ELEMENT_YEARS = évek
|
||||||
TIME_ELEMENT_PERMANENTLY = végleges
|
TIME_ELEMENT_PERMANENTLY = végleges
|
||||||
TIME_ELEMENT_AND = és
|
TIME_ELEMENT_AND = és
|
||||||
|
|
||||||
|
@ -289,6 +313,10 @@ TIME_ELEMENT_DAY = день
|
||||||
TIME_ELEMENT_DAYS = дней
|
TIME_ELEMENT_DAYS = дней
|
||||||
TIME_ELEMENT_WEEK = неделя
|
TIME_ELEMENT_WEEK = неделя
|
||||||
TIME_ELEMENT_WEEKS = недель
|
TIME_ELEMENT_WEEKS = недель
|
||||||
|
TIME_ELEMENT_MONTH = месяц
|
||||||
|
TIME_ELEMENT_MONTHS = месяца
|
||||||
|
TIME_ELEMENT_YEAR = год
|
||||||
|
TIME_ELEMENT_YEARS = лет
|
||||||
TIME_ELEMENT_PERMANENTLY = навсегда
|
TIME_ELEMENT_PERMANENTLY = навсегда
|
||||||
TIME_ELEMENT_AND = и
|
TIME_ELEMENT_AND = и
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user