ofс, можно.
К препроцессорам:
PHP код:
#if !defined isnull
#define isnull(%0) \
(strcmp(%0,"NULL",false) == 0)
#endif
PHP код:
/*! Конвертирует время для AFK
* \param [in] number − время (в секундах)
* \param [out] output − преобразованое значение
* \param [in] length − размер массива output
*/
stock ConvertTimeForAFK(number, output[], length = sizeof(output))
{
if(!isnull(output))
{
output[0] = '\0';
}
new string[18];
if(number > 3599) format(string, sizeof(string), "Íà ïàóçå %d:%02d:%02d", number / 3600, number % 3600/60, number % 3600 % 60);
else if(number > 59) format(string, sizeof(string), "Íà ïàóçå %d:%02d", number / 60, number % 60);
else format(string, sizeof(string), "Íà ïàóçå %d ñåê.", number);
strins(output, string, 0, length);
}
PHP код:
main()
{
new result[18];
ConvertTimeForAFK(6000, result);
print(result);
}
Вариант с 1 массивом:
PHP код:
main()
{
new result[18];
ConvertTimeForAFK(84000, result);
print(result);
}
PHP код:
stock ConvertTimeForAFK(number, output[], length = sizeof(output))
{
if(!isnull(output))
{
output[0] = '\0';
}
if(number > 3599) format(output, length, "На паузе %d:%02d:%02d", number / 3600, number % 3600/60, number % 3600 % 60);
else if(number > 59) format(output, length, "На паузе %d:%02d", number / 60, number % 60);
else format(output, length, "На паузе %d сек.", number);
}
Скрин