PDA

Просмотр полной версии : [Мануал] Часы и дата в одном текстдраве



L0ndl3m
16.11.2013, 20:07
Ко всем new:



new
Text: date_and_clock_TD;


В public OnGameModeInit:



date_and_clock_TD = TextDrawCreate(578.000000, 18.000000, "_");
TextDrawAlignment(date_and_clock_TD, 2);
TextDrawColor(date_and_clock_TD, 0xFF9900FF);
TextDrawFont(date_and_clock_TD, 3);
TextDrawLetterSize(date_and_clock_TD, 0.370000, 1.000000);
TextDrawSetOutline(date_and_clock_TD, 1);
SetTimer("@__DateTimer", 1000, 1);


В public OnPlayerConnect:

TextDrawShowForPlayer(playerid, date_and_clock_TD);

Далее в конец мода:


@__DateTimer();
@__DateTimer()
{
new
str[31],
l_year,
l_month,
l_day,
l_hour,
l_minute;

getdate(l_year, l_month, l_day);
gettime(l_hour, l_minute);

new
l_year2 = l_year,
l_month2 = l_month,
l_day2 = l_day;

static const
DayNames[][] =
{
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
};

if(l_month2 < 3)
l_month2 += 12,
l_day2--;

format(str, sizeof(str), "%s~n~%02d.%02d.%04d~n~%02d:%02d", DayNames[((13 * l_month2 + 3) / 5 + l_year2 + l_day2 + l_day2 / 4 - l_day2 / 100 + l_day2 / 400) % 7], l_day, l_month, l_year, l_hour, l_minute);
TextDrawSetString(date_and_clock_TD, str);
}


http://ihost.pro-pawn.ru/image.php?di=YHT0

Автор: Londlem (http://pro-pawn.ru/member.php?2057-Londlem)

Специально для: Pro-Pawn.Ru (http://pro-pawn.ru)

Копирование данной статьи без разрешения автора запрещено!

Salvacore
16.11.2013, 20:08
Супер!

#Vito
17.11.2013, 03:25
Гы, лол :D
Чётко)

[ForD]
17.11.2013, 23:19
Nice

"Volk"
25.12.2013, 13:45
ЧЁТ ДОБАВИЛ ЕГО НЕТУ

L0ndl3m
30.12.2013, 01:00
Обновлено, в текстдрав добавлен день недели, теперь текстдрав выглядит так:

http://ihost.pro-pawn.ru/image.php?di=YHT0

TWIX
30.12.2013, 10:38
new str[40];

Как хорошо вот это видеть!! P.S new str[256]; :rofl:

TWIX
30.12.2013, 10:39
ЧЁТ ДОБАВИЛ ЕГО НЕТУ

Ты всё по мануалу сделал? В скайп добавляйся pawn-vlad106033 может помогу

Merlin
30.12.2013, 21:33
Можно такое мой пример http://www.samp-ru.org/_ld/1/64183055.png

L0ndl3m
30.12.2013, 23:30
Можно такое мой пример

А как же день недели? Дата?

MR_BEN
01.07.2014, 18:02
Удаление TD можно добавить ещё, а то новички не знают :)

L0ndl3m
01.07.2014, 18:05
Удаление TD можно добавить ещё, а то новички не знают :)
Зачем удалять?

ALIT13
01.07.2014, 21:59
Работы конечно не плохие у тебя , ну то ко для чего ты делаешь

new
Text: date_and_clock_TD
;
для чего new сверху если можно чтоб было параллельно.

L0ndl3m
01.07.2014, 22:03
Работы конечно не плохие у тебя , ну то ко для чего ты делаешь

new
Text: date_and_clock_TD
;
для чего new сверху если можно чтоб было параллельно.

Мне так удобнее код оформлять, я не всегда такой стиль кодинга использую.

OKStyle
02.07.2014, 15:33
@__DateTimer();
@__DateTimer()
{
....
}

И не выводит сообщения, что олреди дефайнед? И как быть, если в воде игрок - индикатора воздуха не будет видно...

DeimoS
02.07.2014, 15:55
И как быть, если в воде игрок - индикатора воздуха не будет видно...

Для RP серверов само то. Нырнул в воду и сам задержал дыхание. Начал сам задыхаться - пора всплывать :lol:

**_**
08.07.2014, 17:54
Нормально.

Flime
17.07.2014, 04:49
Код неверен!
Ошибка:
1)
l_day, l_month, l_day Нужно год :)
И еще я не понимаю зачем такой код делать? Если можно проще!
Вот вся начинка сек. таймера


new hours,minutes,seconds;
gettime(hours, minutes, seconds);
new str[30],l_year,l_month,l_day;
getdate(l_year, l_month, l_day);
static const DayNames[][] = {"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};
format(str, sizeof(str), "%s~n~%02d.%02d.%04d~n~%02d:%02d", DayNames[((13*l_month + 3)/5+l_year+l_day+l_day/4-l_day/100+l_day/400)%7],l_day,l_month,l_year,hours,minutes);
TextDrawSetString(date_and_clock, str);

Spectrum
17.07.2014, 12:07
И еще я не понимаю зачем такой код делать? Если можно проще!
Вот вся начинка сек. таймера


new hours,minutes,seconds;
gettime(hours, minutes, seconds);
new str[30],l_year,l_month,l_day;
getdate(l_year, l_month, l_day);
static const DayNames[][] = {"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};
format(str, sizeof(str), "%s~n~%02d.%02d.%04d~n~%02d:%02d", DayNames[((13*l_month + 3)/5+l_year+l_day+l_day/4-l_day/100+l_day/400)%7],l_day,l_month,l_year,hours,minutes);
TextDrawSetString(date_and_clock, str);


и что ты тут "упростил"?

MR_BEN
17.07.2014, 12:30
и что ты тут "упростил"?

кол-во строчек уменьшил, это такое упрощение, хотя читать данный код куда труднее, чем у Londlem.
Flime, это стиль кодинга Londlem.