Tak, to co obserwujecie wynika z tego że "przebijacie" północ i potem jest tak jak napisał @klew, że pierwsza w nocy jest "mniejsza" od siedemnastej. Ot, ułomność tego mechanizmu.
Jeśli macie wątpliwość co jest zwracane ze składowych warunku to wpiszcie sobie to w pole "odpowiedź" - dostaniecie wydrukowane to co jest brane pod uwagę w logice i będzie łatwiej dojść dlaczego coś nie działa albo co jest nieintuicyjne.
Rzeczywiście w przykładach pomyliłem plusy z minusami.
Warunki w SUPLA Scripts - pomysły
-
wsosniak
- Posts: 764
- Joined: Sat Jun 02, 2018 8:02 am
- Been thanked: 1 time
to nie ma prawa działać.Xoggo wrote: Wed Oct 14, 2020 7:04 pm @fracz, jedyne co mi działa to:.............Code: Select all
{{ time() > sunsetTime() }} {{ time() < sunriseTime() }}
Jesli chcesz aby cos się wykonywało tylko kiedy jest ciemno (czyli przed wschodem słońca albo po jego zachodzie) to musi to wyglądać tak ( tam musi być "or" zamiast nawiasów
{{ time() > sunsetTime() or time() < sunriseTime() }}
a jeśli chcesz aby coś się wykonywało tylko wtedy kiedy jest jasno to ( "and" ) i odwrotnie znaki większości i mniejszości:
{{ time() < sunsetTime() and time() > sunriseTime() }}
jesli chcesz dodatowo zastosowac przesuniecie czasowe to PO oznacza - a PRZED to +. Przykład :
time("-120 minutes") > sunriseTime()
oznacza ze spełniony będzie warunek dopiero 2 h PO wschodzie słońca.
Zachęcam do przypomnienia sobie działu matematyki "Zbiory i podzbiory" (klasa 1 liceum) . Wiem , pamietam
-
Xoggo
- Posts: 182
- Joined: Sun Mar 29, 2020 10:03 pm
- Location: Zbąszynek
Jak to się mówi, człowiek uczy się przez całe życie, za wyjątkiem lat szkolnych.
wsosniak, czyli 2h przed zachodem i 1h po wschodzie to poprawnie będzie tak
wsosniak, czyli 2h przed zachodem i 1h po wschodzie to poprawnie będzie tak
Code: Select all
{{ time('-180 minutes') > sunsetTime() or time('+120 minutes') < sunriseTime() }}-
Zibi
- Posts: 646
- Joined: Wed Jul 31, 2019 9:20 am
- Location: Białogard
@klew i tak wpisałem jak zalecileś i zmieniając czas po zachodzie słońca kiedy ma się coś wykonać widać jak podświetla się warunek spełniony lub nie w zależności jaki czas wpiszemy. Tylko nie wiem dlaczego scena nie wykonuje się mimo że warunek został spełniony mogę ją tylko wykonać ręcznie z poziomu skryptu "wykonaj scenę" tylko działa.klew wrote: Wed Oct 14, 2020 8:34 pmWydaje mi się, że: metody time(), sunsetTime(), sunriseTime() zwracają tylko godzinę, np. aktualnie:PuteR wrote: Wed Oct 14, 2020 8:13 pmDzięki za pomoc, ale daje coś nie tak z tym warunkiem. Pisząc ten post o godzinie 22:00 warunek jest nie spełniony a przecież jest już po zachodzie słońca.Xoggo wrote: Tue Oct 13, 2020 7:24 am
180 minut przed zachodemCode: Select all
{{ time('+180 minutes') > sunsetTime() }} {{ time('-120 minutes') < sunriseTime() }}
120 minut po wschodzie
![]()
![]()
time('+180 minutes') -> 01:30
sunsetTime() -> 17:42
Czy 01:30 > 17:42? NIE
Te metody musiałby zwracać czas z datą, aby dało się to porównywać.
Druga sprawa, jeśli chcesz zrobić "180 minut po zachodzie słońca", to to powinno wyglądać tak {{ time('-180 minutes') > sunsetTime() }}
Jeśli dodasz 180 minut, to warunek powinien być spełniony 180 minut przed zachodem.
-
Xoggo
- Posts: 182
- Joined: Sun Mar 29, 2020 10:03 pm
- Location: Zbąszynek
Zibi, spróbuj tak
You do not have the required permissions to view the files attached to this post.
-
wsosniak
- Posts: 764
- Joined: Sat Jun 02, 2018 8:02 am
- Been thanked: 1 time
1 godzina to 60 min a dwie to 120minXoggo wrote: Wed Oct 14, 2020 9:27 pm Jak to się mówi, człowiek uczy się przez całe życie, za wyjątkiem lat szkolnych.![]()
wsosniak, czyli 2h przed zachodem i 1h po wschodzie to poprawnie będzie tak![]()
Code: Select all
{{ time('-180 minutes') > sunsetTime() or time('+120 minutes') < sunriseTime() }}
- i + pomyliłeś
jak stosujesz takie duze przesuniecia czasowe to jeszcze taką korekte trzeba zastowować bo inaczej po 22:00 i przed 1:00 warunek nie byłby spełniony
Code: Select all
{{ time("+120 minutes") > sunsetTime() or time() > '22:00' or time("-60 minutes") < sunriseTime() or time() < '01:00' }}-
wsosniak
- Posts: 764
- Joined: Sat Jun 02, 2018 8:02 am
- Been thanked: 1 time
wyzwalacz w oparciu o taki czas nie zadziała . moje pytanie viewtopic.php?p=76391#p76391
i dalej odpowiedź @fracz-a
-
Xoggo
- Posts: 182
- Joined: Sun Mar 29, 2020 10:03 pm
- Location: Zbąszynek
No tak siedząc po ciemaku i na zmęczeniu to te minuty jakoś szybciej lecą
wsosniak, dzięki, biorę na przetestowanie.
wsosniak, dzięki, biorę na przetestowanie.
-
wsosniak
- Posts: 764
- Joined: Sat Jun 02, 2018 8:02 am
- Been thanked: 1 time
viewtopic.php?p=76397#p76397
ale moze to byc tez fizyczny przycisk
u mnie to chodzi super od kilku dni
