Скрипт же запускается в полночь и все say в нём тоже тогда же отработают.Yashalta писал(а): ↑Вс мар 03, 2019 2:40 pmПонравился ваш скрипт, но, не могу сделать что бы проговаривал "Солнце в зените!" думал, что здесьxor писал(а): ↑Ср фев 07, 2018 2:47 amУбрал из минутного цикла проверку на наступление темноты/рассвет
После полуночи (0:0) запускается скрипт (ещё и в методе StartUp на всякий случай)Сейчас проверяю, наверное, надо при старте скрипта принудительно устанавливать текущее состояние DarknessModeРаз в суткиПоказатьКод: Выделить всё
$lat=gg('ThisComputer.latitude'); // широта $long=gg('ThisComputer.longitude'); // долгота $sun_info = date_sun_info(time(), $lat, $long); foreach ($sun_info as $key => $val) { if ($key == 'sunrise') { $sunrise = $val; //echo 'Восход: '.date("H:i", $sunrise).'<br>'; } if ($key == 'sunset') { $sunset = $val; $day_length = $sunset - $sunrise; //echo 'Заход: '.date("H:i", $sunset).'<br>'; //echo 'Долгота дня: '.gmdate("H:i", $day_length).'<br>'; AddScheduledJob("job_SunSet","cm('DarknessMode.activate');say('Закат',2);", $sunset); } if ($key == 'transit') { //echo 'В зените: '.date("H:i", $val).'<br>'; } if ($key == 'civil_twilight_begin') { //echo 'Начало утренних сумерек: '.date("H:i", $val).'<br>'; AddScheduledJob("job_civil_twilight_begin","cm('DarknessMode.deactivate');", $val); // чуть раньше рассвета, мне так больше нравится } if ($key == 'civil_twilight_end') { //echo 'Конец вечерних сумерек: '.date("H:i", $val).'<br>'; AddScheduledJob("job_civil_twilight_end","say('Сумерки',2);", $val); } }
А нет, это с точностью до наоборот - это середина ночи!Код: Выделить всё
... } if ($key == 'transit') { //echo 'В зените: '.date("H:i", $val).'<br>'; say('Середина ночи (script)!',2); } ...
И смысл его только в определении времён и создании заданий на эти времена. Ваш случай должен выглядеть так:
Код: Выделить всё
if ($key == 'transit') {
//echo 'В зените: '.date("H:i", $val).'<br>';
AddScheduledJob("job_transit","say('Солнце в зените!',2);", $val); //добавим задание сказать Солнце в зените!
}