UoKit.com Форумы > Кликер > UO Pilot
Fors1k
Нужно что бы скрипт всегда знал сегодняшний день месяца и день недели.
Код
set $a dayfromdate(datenow)
set $b dayofweek(datenow)
log $a
log $b
end_script


В лог день месяца выдает, а день недели - пустая строка.
Вверх
cirus
dayofweek старая функция, принимает дату как 3 отдельных параметра, т. е. вместо 28.05.2019 надо передать 28 05 2019.
Код
set $date string_replace(datenow, ".", " ", "all")  // заменить точки на пробел
set $b dayofweek($date)
log $b
end_script

Вверх
Fors1k
Цитата(cirus @ 28.4.2019, 10:40)

Код
set $date string_replace(datenow, ".", " ", "all")  // заменить точки на пробел
set $b dayofweek($date)
log $b
end_script


Запустил этот скрипт. В логе единица, но сегодня не понедельник.
Вверх
Cockney
Верно. Так и должно быть. Счет идет с воскресенья.
Вверх
Fors1k
Цитата(Cockney @ 28.4.2019, 14:08)

Верно. Так и должно быть. Счет идет с воскресенья.

Это по Вьетнамскому календарю?=)
WKnight, А можно бы пофиксить обе эти проблемы?
Что бы
Код
set $b dayofweek(datenow)
log $b
end_script

возвращал в среду "3", и работал без танцев со string_replace, как работают и все другие команды с datenow ( например dayfromdate(datenow) ) , заранее благодарю.
Вверх
cirus
Там ещё и год вначале
Цитата
dayofweek (<Year> <Month> <Day>)

Так что так:
Код
set $date string_replace(datenow, ".", " ", "all")  // заменить точки на пробел
init_arr %a $date
set $b dayofweek(%a[3] %a[2] %a[1])
log $b
end_script

0 - воскресенье
1 - понедельник
и т. д.
Вверх
Invision Power Board © 2001-2024 Invision Power Services, Inc.
Version for Pocket PC © 2006-2024, IPBest Studio.