Страница 5 из 6

Re: [Сценарий] Фазы луны.

Добавлено: Пн мар 30, 2020 12:27 pm
newz20
Nail писал(а):
Пн мар 30, 2020 12:23 pm
Так примеры код на сцене , у кого какие варианты я не нашел :(
У меня банальный вывод информации, никаких изяществ. Тупа элемен хтмл

Код: Выделить всё

<div style="font-size:14px; padding:2px;">
<img src="/img/moon/%Moon.MoonPhaseimg%" align="right" width="40" height="40">
Дата следующего полнолуния: %Moon.fullNewMoon%<br/>
Дата следующего новолуния:  %Moon.nextNewMoon%<br/>
Фаза:     %Moon.MoonPhaseName%
  </div>

Re: [Сценарий] Фазы луны.

Добавлено: Пн мар 30, 2020 12:58 pm
Nail
newz20 писал(а):
Пн мар 30, 2020 12:00 pm
buba911 писал(а):
Пн мар 30, 2020 11:55 am
newz20 писал(а):
Пн мар 30, 2020 8:37 am

include("./MoonPhase.php"); вот в этой строчке указывается путь,
Спасибо, как я понял, файл MoonPhase.php надо скопировать в какое нибудь место(например в домашнюю папку)
А дальше? Где вызывать и как, что означает include(""); ? Как можно использовать эту команду? Примерчик бы ...
я так понимаю в данной строке указано .

Код: Выделить всё

require_once('lib/MoonPhase.php'); //пака majordomo / подпапка lib/сам файл  MoonPhase.php

Re: [Сценарий] Фазы луны.

Добавлено: Пн мар 30, 2020 6:16 pm
buba911
Тогда ещё вопрос. Необходимо создавать объект Moon самому
моон.PNG
моон.PNG (28.31 КБ) 4849 просмотров
или он создастся сам после выполнения скрипта?

Re: [Сценарий] Фазы луны.

Добавлено: Пн мар 30, 2020 8:53 pm
Divan
Ставим модуль через восстановление системы. Скачайте ниже. Как нажали восстановить через обновление системы, после этого создаем сценарий и вставляем код ниже, после чего запускаем сценарии и они создадут в ThisComputers свойства луны. Запускать сценарий раз в сутки, либо через крон, либо через метод Day. как вам удобно.

Код: Выделить всё

include("./MoonPhase.php");
// create an instance of the class, and use the current time
$moon = new MoonPhase();
//$age = round( $moon->age(), 1 );
$age = round( $moon->age(), 0 );
$stage = $moon->phase() < 0.5 ? 'растущая' : 'убывающая';
$distance = round( $moon->distance(), 2 );
$nextnewtime = gmdate( 'G:i:s', $moon->next_new_moon() );
$nextnewdate = gmdate( 'd.m.Y', $moon->next_new_moon() );
$nextfulltime = gmdate( 'G:i:s', $moon->next_full_moon() );
$nextfulldate = gmdate( 'd.m.Y', $moon->next_full_moon() );
$phasename = $moon->phase_name();
sg('MoonAge',$age); //Возраст луны (лунный день)
sg('MoonStage',$stage); //Стадия луны
sg('MoonDistance',$distance); //Дистанция до луны
sg('MoonNextNewTime',$nextnewtime); //Время следующего полнолуния 
sg('MoonNextNewDate',$nextnewdate); //Новолуние
sg('MoonNextFullTime',$nextfulltime); //Длительность лунного дня
sg('MoonNextFullDate',$nextfulldate); //Дата следующего полнолуния
sg('MoonPhaseName',$phasename); //Фаза луны
Как выглядит фаза луны у меня
СпойлерПоказать
Снимок.JPG
Снимок.JPG (89.82 КБ) 4826 просмотров

В вашей сцене создайте HTML блок и вставьте этот код

Код: Выделить всё

<style>
.squaremoon {
 width: 500px; \\ ширина
 height: 250px; \\ высота
 border-radius: 5%; \\скругление краев
 border: 4px solid #FF7F50; \\цвет рамки
 padding:20px 10px 20px 10px;
 background-color: rgba(0, 0, 0, .4); \\фон
 }
</style>
<div class="squaremoon"><br/>
<div style="font-size:25px; color:#FFFFFF">Фаза луны</div>&nbsp;
<div style="font-size:20px; color:#FFFFFF">Фаза луны:&nbsp%ThisComputer.MoonPhaseName%</div>
<div style="font-size:20px; color:#FFFFFF">Возраст луны (лунный день):&nbsp%ThisComputer.MoonAge%</div>
<div style="font-size:20px; color:#FFFFFF">Длительность лунного дня:&nbsp%ThisComputer.MoonNextFullTime%</div>
<div style="font-size:20px; color:#FFFFFF">Дата следующего полнолуния:&nbsp%ThisComputer.MoonNextFullDate%</div>
<div style="font-size:20px; color:#FFFFFF">Время следующего полнолуния:&nbsp%ThisComputer.MoonNextNewTime%</div>
<div style="font-size:20px; color:#FFFFFF">Дистанция до луны:&nbsp%ThisComputer.MoonDistance%</div>
</div>

Re: [Сценарий] Фазы луны.

Добавлено: Пн апр 13, 2020 11:19 am
Nail
newz20 писал(а):
Ср дек 05, 2018 3:29 pm
Я банально вывожу даты и фазу в текстовом формате в 3 строки, рядом справа картинку с луной :) 2018-12-05_15-28-42.png
Подскажите какой путь должен быть к картинкам( или какой папке должны лежать картинки)?

Re: [Сценарий] Фазы луны.

Добавлено: Пн апр 13, 2020 1:51 pm
Divan
Nail писал(а):
Пн апр 13, 2020 11:19 am
newz20 писал(а):
Ср дек 05, 2018 3:29 pm
Я банально вывожу даты и фазу в текстовом формате в 3 строки, рядом справа картинку с луной :) 2018-12-05_15-28-42.png
Подскажите какой путь должен быть к картинкам( или какой папке должны лежать картинки)?
Создаете в "Изображении" папку с любым именем, например moonPhase
СпойлерПоказать
загрузить изображение 01.jpg
загрузить изображение 01.jpg (51.55 КБ) 4679 просмотров
загрузить изображение 02.jpg
загрузить изображение 02.jpg (72.1 КБ) 4679 просмотров
Здесь вы увидите полученный путь к изображению
СпойлерПоказать
Получили путь.jpg
Получили путь.jpg (50.16 КБ) 4679 просмотров
<img src="/cms/scenes/styles/MoonPhase/%MoonPhase05%.png" align="absmiddle" width="220" height="220" alt=""></img>

/cms/scenes/styles/MoonPhase/ - это путь к изображению
%MoonPhase05%.png - это значение берется из объекта moon, который вы создали сами. %% ставится перед форматом png, это нужно для отображения иконки, если имя значении будет соответствовать иконке.
width="220" height="220" - ширина и высотка изображения, если это не нужно, то просто не указываете их
alt="" если имя значении не соответствует иконке, то будет значок "нет изображения", чтобы этого не было, нужно прописать alt=""

Re: [Сценарий] Фазы луны.

Добавлено: Пт янв 15, 2021 12:30 pm
AndrewStick
Здравствуйте. Недавно открыл для себя MD. Разбираюсь потихоньку...
Вот мой вариант Луны
СпойлерПоказать
QIP Shot - Screen 537.jpg
QIP Shot - Screen 537.jpg (70.46 КБ) 3617 просмотров
Сделал 30 картинок, на каждый лунный день. Там же картинки слева от текста.

Код: Выделить всё

/moon620/moon%ThisComputer.MoonAge%.png
Архив великоват, на форум не влезает.
Поэтому Я.Диск

Re: [Сценарий] Фазы луны.

Добавлено: Пт янв 15, 2021 1:23 pm
newz20
AndrewStick писал(а):
Пт янв 15, 2021 12:30 pm
Здравствуйте. Недавно открыл для себя MD. Разбираюсь потихоньку...
Вот мой вариант Луны
СпойлерПоказать
QIP Shot - Screen 537.jpg
Сделал 30 картинок, на каждый лунный день. Там же картинки слева от текста.

Код: Выделить всё

/moon620/moon%ThisComputer.MoonAge%.png
Архив великоват, на форум не влезает.
Поэтому Я.Диск
молодца, очень хорошо смотрится

Re: [Сценарий] Фазы луны.

Добавлено: Сб янв 30, 2021 5:47 pm
AndrewStick
Так, на всякий случай.
Разобрался с правильным отображением новолуний и полнолуний.
Всегда теперь показывает следующее ближайшее. Т.е. Если ново/полно луние уже прошло, будет выводиться дата-время в следующем месяце.
Если еще нет, то ближайшая в этом месяце.

Код: Выделить всё

include("./MoonPhase.php");
// create an instance of the class, and use the current time
$moon = new MoonPhase();
//$age = round( $moon->age(), 1 );
$age = round( $moon->age(), 0 );
$stage = $moon->phase() < 0.5 ? 'растущая' : 'убывающая';
$distance = round( $moon->distance(), 2 );

if($moon->new_moon()>time()){
$nextnewtime = date( 'G:i:s', $moon->new_moon() ); // gmdate - по Гринвичу, date - местное время
$nextnewdate = date( 'd.m.Y', $moon->new_moon() );
}else{
$nextnewtime = date( 'G:i:s', $moon->next_new_moon() ); // new_moon текущая, next_new_moon следующая
$nextnewdate = date( 'd.m.Y', $moon->next_new_moon() );
}

if($moon->full_moon()>time()){
$nextfulltime = date( 'G:i:s', $moon->full_moon() );  // full_moon текущая, next_full_moon следующая
$nextfulldate = date( 'd.m.Y', $moon->full_moon() );
}else{
$nextfulltime = date( 'G:i:s', $moon->next_full_moon() );
$nextfulldate = date( 'd.m.Y', $moon->next_full_moon() );
}

$phasename = $moon->phase_name(); // Название фазы 
sg('MoonAge',$age); //Возраст луны (лунный день)
sg('MoonStage',$stage); //Стадия луны (растущая/убывающая)
sg('MoonDistance',$distance); //Дистанция до луны
sg('MoonNextNewTime',$nextnewtime); //Время следующего новолуния
sg('MoonNextNewDate',$nextnewdate); //Дата следующего новолуния
sg('MoonNextFullTime',$nextfulltime); //Время следующего полнолуния
sg('MoonNextFullDate',$nextfulldate); //Дата следующего полнолуния
sg('MoonPhaseName',$phasename); //Фаза луны
sg('SysInfo.MoonPhaseName',$phasename);//Передача значении в класс ScenePurple
За это отвечают вон те 2 IF в середине. Если уже было, сорри. Не заметил.

Re: [Сценарий] Фазы луны.

Добавлено: Ср фев 10, 2021 4:50 pm
pasha413
Здравствуйте. что-то у меня луна не меняется. постоянно так. с погодой пока не разобрался еще,да и иконки комнат пропали..