-
/time
PHP код:
CMD:time(playerid, params[])
{
new string[2 + 2 + 2 + 2 + 2 + 4]; // [Как правильно рассчитать, чтобы в диалоге все корректно показывалось]
new year, month, day, hour, minute, second;
gmtime(gettime(), year, month, day, hour, minute, second);
format(string, sizeof(string), "%02d:%02d:%02d %02d.%02d.%04d", hour, minute, second, day, month, year);
SD(playerid, dTime, DIALOG_STYLE_MSGBOX, "{FF6600}Служба точного времени", string, "Закрыть", "");
return 1;
}
-
-
Вроде так
PHP код:
CMD:time(playerid)
{
new year, month, day, hour, minute, second;
gmtime(gettime(), year, month, day, hour, minute, second);
static const fmt_str[] = "%02d:%02d:%02d %02d.%02d.%04d";
new string[sizeof(fmt_str)-4+2-4+2-4+2-4+2-4+2-4+4]; // итого -10
//new string[sizeof(fmt_str)-10]; // или так
format(string, sizeof(string), fmt_str, hour, minute, second, day, month, year);
SD(playerid, dTime, 0, "{FF6600}Служба точного времени", string, "Закрыть", "");
return 1;
}
-
Цитата:
Сообщение от
StevenH
Вроде так
PHP код:
CMD:time(playerid)
{
new year, month, day, hour, minute, second;
gmtime(gettime(), year, month, day, hour, minute, second);
static const fmt_str[] = "%02d:%02d:%02d %02d.%02d.%04d";
new string[sizeof(fmt_str)-4+2-4+2-4+2-4+2-4+2-4+4]; // итого -10
//new string[sizeof(fmt_str)-10]; // или так
format(string, sizeof(string), fmt_str, hour, minute, second, day, month, year);
SD(playerid, dTime, 0, "{FF6600}Служба точного времени", string, "Закрыть", "");
return 1;
}
PHP код:
CMD:time(playerid)
{
static const fmt_str[] = "%02d:%02d:%02d %02d.%02d.%04d";
new year, month, day, hour, minute, second,
buffer[sizeof fmt_str + ((-4 + 2) * 5) + (-4 + 4)];
gmtime(gettime(), year, month, day, hour, minute, second);
format(
buffer, sizeof buffer, fmt_str,
hour, minute, second, day, month, year
);
SD(playerid, dTime, 0, !"{FF6600}Служба точного времени", string,
!"Закрыть", !"");
return 1;
}
-
Цитата:
Сообщение от
vovandolg
Daniel Cortez написал отличный урок и теперь все им всюду тыкают))
-
Я ленивая жопа и пользуюсь StrLen.exe))
На этом же форуме и скачал, когда доделаю мод тогда и пошлефую вручную эти цифры с помощью урока DC..
-
PHP код:
static const t_time[] = "%02d:%02d:%02d %04d.%02d.%02d";
new len_time[sizeof t_time + (2*5+4) - (4*6)];
//sizeof t_time - автоподсчет символов в статической константе t_time. Их 29.
//(2*5+4) - выделаем память для вывода часов, минут, секунд, далее дня, месяца и года.
// - (4*6) - отнимаем кол-во символов на месте которых будет отображаться время и дата.
Автоматический автоподсчет, от тебя требуется прибавить кол-во символов НЕОБХОДИМЫХ ДЛЯ ВЫВОДА форматированной строки и отнять..., хз как их назвать, покажу лучше: %d(-2 символа), %02d(-4 символа).
редакт: пока напишу, тут уже 10000000 ответов. )
//DeimoS: Это называется "спецификатор". Хотя более подробнее можно прочесть в статье о printf (хоть и не всё написанное там можно отнести к Pawn)
-