Strona 3 z 3

Re: Funkcja "jeżeli"

: 02 lip 2020, 13:18
autor: reticulan
Co znaczy nie został ustawiony?? Trzeba ustawić w programie gdzieś active train czy active train to lok który jest aktualne podświetlony na panelu lokomotyw?

Właśnie tego wyrażenia active train nie rozumiem. Nie wiem co ono określa. Jaki obiekt w jakim stanie.

PS. Przydała by się jeszcze funkcja która sprawdza czy lok zmienił kierunek.

Re: Funkcja "jeżeli"

: 02 lip 2020, 14:18
autor: gbbsoft
A gdzie definiujesz zdarzenie? Jeżeli w "urządzeniach", to tam ActiveTrain nie jest ustawiony.

Re: Funkcja "jeżeli"

: 02 lip 2020, 14:59
autor: reticulan
Tak, definiuję dokładnie w urządzeniu przycisk. Pod przyciskami ustawiam sobie coś w rodzaju ciągu wydarzeń.

Np. zawrócenie lokomotywy podczas manewrowania.

Przykład:

Jedzie lok powiedzmy z prędkością 60km/h.... naciskam przycisk urządzenia i pociąg zaczyna zwalniać, gdy się zatrzyma zmienia kierunek, potem krótka trąbka i rozpędza się do np 25km/h, można dodać np załączenie świateł manewrowych i wiele innych, jestem w fazie testowania.
Taki przydatny przycisk przy manewrowaniu, czasami lok nawraca wielokrotnie a z tym przyciskiem można troszkę to zautomatyzować i uczynić bardziej realnym dodając dźwięki itp.

Póki co tak jak wspominałem uruchamiam zdarzenia nie będąc połączonym z DCC (na sucho) stąd może błąd z funkcją active train.

Re: Funkcja "jeżeli"

: 02 lip 2020, 15:26
autor: gbbsoft
Nie, to nie jest błąd. W zdarzeniach pod urządzeniem zmienna ActiveTrain nie jest ustawiona, bo przycisk nie ma aktywnej lokomotywy.

Re: Funkcja "jeżeli"

: 02 lip 2020, 15:45
autor: reticulan
A jaka funkcja mogę sprawdzić czy lok zmienił kierunek?
Chciałem zastosować w przycisku.

I czy da się jakoś spytać czy dana fuknkcja loka o adresie 3 albo o danej nazwie jest włączona. Także zastosowanie w urządzeniu przycisk.

Re: Funkcja "jeżeli"

: 02 lip 2020, 16:39
autor: gbbsoft
A co to znaczy "zmienił kierunek"? Można sprawdzić jego aktualny kierunek.

W tym wątku (pierwszy przyczepiony): https://www.gbbkolejka.pl/!forum/viewto ... f=42&t=431 w pierwszym poście jest dokument WORDowski, w którym kolega ToTom spisał wiele ciekawych funkcji zdarzeń.

Jest i kierunek jazdy, i sprawdzanie funkcji.
Polecam... :-)

Re: Funkcja "jeżeli"

: 02 lip 2020, 17:17
autor: reticulan
Tak, widziałem wcześniej ten plik. Ale tam jest tyko czy jedzie do przodu albo do tyłu.

A ja che użyć funkcji:
- jeśli lok zmieni kierunek to wykonaj to i tamto.

Bez względu na to w którą stronę aktualnie porusza się lok.

Hmm. Może nie da się tak

Re: Funkcja "jeżeli"

: 02 lip 2020, 18:34
autor: gbbsoft
A co to znaczy "zmienił kierunek"? Każdy lok kiedyś zmienia kierunek... Od czasu pierwszej zmiany kierunku cecha "zmianiono kierunek" byłaby zawsze "true"...

Może spróbuj zapamiętać gdzieś na boku aktualny kierunek loka, a potem porównaj, czy bieżący kierunek jest taki sam jak ten zapamiętany. Jak inny, to znaczy, że lok zmienił kierunek.

Możesz:
- w oknie definiowania zdarzeń jest menu "Parametry" i tam tworzy się "Zmienne globalne" (typu 'tak/nie')
Potem:
- wrzucić operację "Wyrażenie_... " (które służy m.in. do sumowania wielu wartości danego typu)
Aby pobrać wartość możesz:
- w "Wyrażenie - ustawienia" w "ActiveTrain" wpisać nazwę lokomotywy
- wtedy w "Argument1" możesz wskazać cechę "ActiveTrain.DriveForward" (ona jest typu 'tak/nie')
Aby wynik zapisać
- w polu "Zapisz wynik do" wskazać zmienną globalną

Re: Funkcja "jeżeli"

: 02 lip 2020, 20:47
autor: reticulan
ok, muszę pokombinować, dziękuję za podpowiedzi.