Obiekt event
TODO: Podzielić ten artykuł - opisać każdy podtyp eventu w osobnym artykule, tak jak w przypadku node.
Każdy wpis event zaczyna się od tych samych parametrów:
event name type delay object
Parametr | Interpretacja |
---|---|
name | Nazwa zdarzenia |
type | Typ zdarzenia.
Dostępne typy zostały opisane poniżej. |
delay | Opóźnienie wykonania zdarzenia [s].
Można wpisać -1, wtedy zdarzenie będzie wykonywać się cyklicznie. |
object | Obiekt, na rzecz którego zostanie wywołane zdarzenie.
Można dodać więcej niż jeden obiekt, oddzielając ich nazwy symbolem | |
Spis treści
visible
Umożliwia zmianę widoczności obiektu.
event nazwa visible 0 obiekt widocznosc endevent
Nazwa parametru | Znaczenie parametru | Typ wartości | Uwagi |
---|---|---|---|
obiekt | Obiekt typu node. | Nazwa obiektu node | |
widocznosc | Stan widoczności obiektu | Liczba | 0 - obiekt niewidoczny
1 - obiekt widoczny |
voltage
Umożliwia zmianę wartości napięcia podstacji.
event nazwa voltage 0 zrodlo_zasilania napiecie endevent
Nazwa parametru | Znaczenie parametru | Typ wartości | Uwagi |
---|---|---|---|
zrodlo_zasilania | Źródło zasilania, któremu zmieniane jest napięcie. | Nazwa obiektu node::tractionpowersource | |
napiecie | Wartość napięcia [V]. | Liczba |
whois
Umożliwia identyfikację składu przez wpisanie do komórki pamięci danych pobranych ze składu.
event nazwa whois 0 komorka jakie_dane endevent
Parametr | Tekst (+1) | Liczba 1 (+2) | Liczba 2 (+4) |
---|---|---|---|
+0 (1..7) | Plik rozkładu | Ile stacji do końca | 1=postój, 0=przelot |
+8 (9..15) | Miejsce docelowe | Kierunek w składzie: 1 albo -1 | Moc silników (0=wagon) |
+16 (17..23) | Nazwa ładunku | Ilość ładunku | Maksymalna ilość ładunku |
+24 (25..31) | Typ pojazdu (CHK) | Stopień zahamowania | Odleglość do wykrytej przeszkody |
+32 (32..39) | Nazwa pojazdu prowadzącego skład, który wyzwolił event | - | - |
+40 (41..47) | Kolejna stacja w rozkładzie jazdy składu do którego należy pojazd, który wyzwolił event | - | Identyfikator czy na rzeczonej kolejnej stacji ma miejsce postój |
Przykład: W torze umieszczony jest wpis event2 test_whois, którego zadaniem zapisanie do komórek informacji o jadącym taborze
//komórki pamięci node -1 0 mem-typ memcell 0 0 0 none 0 0 none endmemcell node -1 0 mem-lad memcell 0 0 0 none 0 0 none endmemcell node -1 0 mem-doc memcell 0 0 0 none 0 0 none endmemcell node -1 0 mem-roz memcell 0 0 0 none 0 0 none endmemcell //eventy zgrupowane pod jedną nazwą (nie jest to wymagane) config joinduplicatedevents yes endconfig event test_whois whois 0 mem-roz 7 endevent //rozkład event test_whois whois 0 mem-doc 15 endevent //docelowość event test_whois whois 0 mem-lad 23 endevent //ładunek event test_whois whois 0 mem-typ 31 endevent //typ pojazdu event test_whois logvalues 0 none endevent //wpisz do logu config joinduplicatedevents no endconfig
friction
Umożliwia zmianę globalnego współczynnika tarcia.
event nazwa friction 0 none tarcie endevent
Nazwa parametru | Znaczenie parametru | Typ wartości | Uwagi |
---|---|---|---|
tarcie | Współczynnik tarcia | Liczba z zakresu <0-1> | Wartości poniżej 0.5 zmniejszają tarcie, a powyżej 0.5 - zwiększają. |
multiple
Umożliwia wywołanie kilku zdarzeń jednocześnie oraz uzależnianie ich wykonania od określonych warunków.
event nazwa multiple 0 memcell events else events condition conditions randomdelay randomDelay endevent
Parametr | Interpretacja |
---|---|
memcell | Komórka pamięci testowana przy warunku. Przy braku wpisać 'none'. |
events | Nazwy eventów które mają być wykonane. |
conditions | Specyfikacja warunków dla których event zostanie wykonany.
Parametr opcjonalny. |
randomDelay | Zwiększenie opóźnienia o losową wielkość z zakresu 0-podana wartość.
Parametr opcjonalny. |
Specyfikacja warunków
Warunek | Interpretacja |
---|---|
trackoccupied | Event wyzwalany w momencie gdy tor określony w ?KOMORCE PAMIECI? jest zajęty. |
trackfree | Event wyzwalany w momencie gdy tor określony w ?KOMORCE PAMIECI? jest wolny. |
probability | Event wyzwalany jest w momencie, gdy wylosowana liczba jest mniejsza niż paramter z zakresu <0;1> Akceptowany propability dla zgodności wstecznej z błędem ortograficznym. |
memcompare | Event wyzwalany jest w momencie gdy zawartość podanej komórki pamięci jest taka sama jak w komórce pamięci podanej w parametrze memcell. |
memcompareex | Rozbudowana wersja warunku memcompare. Może być definiowana w formie pozwalającej na bardziej elastyczne uruchamianie eventów. Format wygląda następująco:
memcompareex comparator operator text operator value1 operator value2 gdzie:
- - - !!! - - - Uruchomienie eventu warunkowanego może zależeć od więcej niż jednego czynnika. Poszczególne warunki wpisujemy po kolei po słowie kluczowym condition - - - !!! - - - |
switch
Umożliwia przestawienie zwrotnicy.
event nazwa switch 0 zwrotnica przelozenie predkosc_ruchu ruch_dodatkowy endevent
Nazwa parametru | Znaczenie parametru | Typ wartości | Uwagi |
---|---|---|---|
zwrotnica | Zwrotnica, której stan ma być zmieniony. | Nazwa obiektu node::track::switch | |
przelozenie | Przełożenie zwrotnicy. | Liczba | 0 - jazda na wprost, 1 - jazda na bok |
predkosc_ruchu | Prędkość liniowa ruchu iglic. | Liczba | Parametr opcjonalny; -1 - wartosc domyslna (0.1 m/sek) |
ruch_dodatkowy | Dodatkowy ruch iglicy niedolegającej. | Liczba | Parametr opcjonalny, -1 - wartość domyślna (0.05 m) |
Uwaga! Częściej spotykaną praktyką jest przekładanie zwrotnic za pomocą zdarzeń zaimplementowanych w plikach INC. Realizuje się je za pośrednictwem obiektu event::multiple, podając ich nazwy w parametrze zdarzenia i dodając do każdej z nich znak:
- + (plus) - jazda na wprost
- - (minus) - jazda na bok
sound
Odgrywa dźwięk zdefiniowany w node::sound
event nazwa sound 0 node_sound playstatus radiochannel endevent
Nazwa parametru | Znaczenie parametru | Typ wartości | Uwagi |
---|---|---|---|
node_sound | Nazwa node dźwięku, który ma zostać odegrany. | Nazwa obiektu node::sound | |
playstatus | Czy dźwięk ma być odgrywany. | Liczba | 0 - wyłączony, 1 - włączony, -1 - włączony bezkierunkowy |
radiochannel | Opcjonalny numer kanału, na którym odgrywany ma być dźwięk. Jest on wtedy pozycjonowany na radiotelefonie obsadzonego pojazdu i odgrywany tylko przy ustawionym zgodnym kanale. | Liczba | Parametr opcjonalny; 1 - 10 |
disable
Występuje w kodzie źródłowym, ale nie jest używany.
event nazwa disable 0 ? endevent
dynvel
Występuje w kodzie źródłowym, ale nie jest używany.
event nazwa dynvel 0 ? endevent
message
Występuje w kodzie źródłowym, ale nie jest używany.
event nazwa message 0 ? endevent
texture
Zmienia teksturę wymienną modelu lub grupy modeli node::model
event nazwa texture 0 model1|model2|model3|etc skinindex skinfile inputcell endevent
Nazwa parametru | Znaczenie parametru | Typ wartości | Uwagi |
---|---|---|---|
model1|model2|etc | lista modeli które otrzymają nowa teksturą, rozdzielonych znakiem | | Nazwa obiektu node::model | |
skinindex | Numer tekstury wymiennej ktora zostanie zastapiona. | Liczba | W przedziale 1-4. |
skinfile | Ścieżka do materiału, który ma zostać przypięty jako tekstura wymienna. | Ścieżka pliku materiału | Lub tekstrury, jesli linkowany bezpośrednio. |
inputcell | Nazwa opcjonalnej komórki pamięci, której wartości mogą być użyte jako parametry (p1) (p2) oraz (p3) w łancuchu skinfile. | Nazwa obiektu memcell | None jeśli skinfile nie używa parametrów. |
Przykłady:
event ... texture ... tablica1|tablica2 1 rozklad none endevent
Spowoduje zmianę wymiennej tekstury nr 1 w statycznych obiektach tablica1 i tablica2 na teksturę "rozklad".
node ... textureinput memcell 0 0 0 rozklad 2 0 none endmemcell event ... texture ... tablica1|tablica2 1 (p1)_(p2) textureinput endevent
Spowoduje zmianę textury wymiennej nr 1 w statycznych obiektach tablica1 i tablica2 na teksture "rozklad_2".
node ... whoiscell memcell 0 0 0 none 0 0 none endmemcell event whoisvehiclename whois 0 whoiscell 33 endevent event whoistexture texture 0 tablica3 2 make:scripts/wyswietlacz&$timetable=(p1) whoisvehiclename endevent event whoistexturelaunch multiple 0 none whoisvehiclename whoistexture endevent
Spowoduje po wyzwoleniu przez pojazd eventu whoistexturelaunch zapisanie w komórce pamięci jego nazwy i wywołanie skryptu scripts/wyswietlacz.py z parametrem $timetable=nazwapojazdu który to parametr powoduje przekazanie do skryptu aktualnych danych rozkładu rzeczonego pojazdu. Tekstura wygenerowana przez rzeczony skrypt zostanie przypisana jako tekstura wymienna nr 2 w statycznym obiekcie tablica3.