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
AddValues
Działa podobnie jak event::UpdateValues, jednak zamiast zastępować poprzednie wartości komórki pamięci nowymi, dodaje je do siebie. Tekst jest dołączany na końcu tego w komórce pamięci, a liczby są dodawane jako zmiennoprzecinkowe.
event nazwa addvalues 0 komorka wartosci condition warunki randomdelay opoznienie_losowe endevent
Nazwa parametru | Znaczenie parametru | Typ wartości | Uwagi |
---|---|---|---|
komorka | Komórka pamięci, do której dodane zostaną wartości | Nazwa obiektu node::memcell | |
wartosci | Dodawane wartości. | Tekst, Liczba, Liczba | Można nie podawać wartości, wstawiając w jej miejsce znak * |
warunki | Specyfikacja warunkow dla ktorych event zostanie wykonany | Parametr opcjonalny | |
opoznienie_losowe | Zwiekszenie opoznienia o losowa wielkosc z zakresu 0-podana wartosc | Liczba | Parametr opcjonalny |
CopyValues
Umożliwia przekopiowanie zawartości jednej komórki do innej.
event nazwa copyvalues 0 komorka1 komorka2 flaga endevent
Nazwa parametru | Znaczenie parametru | Typ wartości | Uwagi |
---|---|---|---|
komorka1 | Komórka pamięci, do której kopiowane są wartości. | Nazwa obiektu node::memcell | |
komorka2 | Komórka pamięci, z której kopiowane są wartości. | Nazwa obiektu node::memcell | |
flaga | Suma liczb określająca, które wartości mają być skopiowane. | Liczba | 1 - kopiowanie pierwszej wartości
2 - kopiowanie drugiej wartości 4 - kopiowanie trzeciej wartości Przykład: Aby skopiować wartość pierwszą i trzecią, należy wpisać liczbę 5 (bo 1 + 4 = 5). |
GetValues
Pobiera informacje z komórki pamięci i wysyła do pojazdu stojącego na torze.
event nazwa getvalues 0 komorka endevent
LogValues
Jeśli nie istnieje dana komórka pamięci to zostanie wypisana do logu zawartość wszystkich komórek w scenerii.
PutValues
Wysyła informacje do pojazdu stojącego na torze z pominięciem komórki pamięci.
UpdateValues
Ładuje informacje do komórki pamięci.
event nazwa updatevalues 0 komorka wartosci condition warunki randomdelay opoznienie_losowe endevent
Nazwa parametru | Znaczenie parametru | Typ wartości | Uwagi |
---|---|---|---|
komorka | Komórka pamięci, do której dodane zostaną wartości | Nazwa obiektu node::memcell | |
wartosci | Wartości do ustawienia w komórce. | Tekst, Liczba, Liczba | Można nie podawać wartości, wstawiając w jej miejsce znak * |
warunki | Specyfikacja warunkow dla ktorych event zostanie wykonany | Parametr opcjonalny | |
opoznienie_losowe | Zwiekszenie opoznienia o losowa wielkosc z zakresu 0-podana wartosc | Liczba | Parametr opcjonalny |
animation
Pozwala animować model przez zmianę jego położenia lub kąta obrotu.
event nazwa animation 0 model typ_animacji submodel wektor tempo endevent
Nazwa parametru | Znaczenie parametru | Typ wartości | Uwagi |
---|---|---|---|
model | Model, którego submodel będzie animowany. | Nazwa obiektu node::model | |
typ_animacji | Typ animacji submodelu. | Słowo kluczowe | rotate - obrót
translate - przemieszczenie |
submodel | Submodel, który będzie animowany. | Nazwa submodelu z modelu T3D | |
wektor | Docelowe przesunięcie [m] lub obrót [deg] submodelu. | Liczby | |
tempo | Tempo przesunięcia w [j/s] | Liczba | W przypadku podania ujemnej prędkości animacji dla typu rotate animowany element wykona tylko obrót o podana wartość, bez zapętlania. |
lights
Zmienia stan świateł modelu.
event nazwa lights 0 model stany_lampek endevent
Nazwa parametru | Znaczenie parametru | Typ wartości | Uwagi |
---|---|---|---|
model | Model, któremu zostaną ustawione stany świateł. | Nazwa obiektu node::model | |
stany_lampek | W zależności od ilości zdefiniowanych lampek w modelu, znaleźć tu się muszą liczby opisujące ich stan. | Liczby | Dowiedz się więcej o lampkach |
trackvel
Umożliwia zmianę prędkości szlakowej toru.
event nazwa trackvel 0 tor predkosc endevent
Nazwa parametru | Znaczenie parametru | Typ wartości | Uwagi |
---|---|---|---|
tor | Tor, któremu zostanie zmieniona prędkość szlakowa. | Nazwa obiektu node::track | |
predkosc | Wartość prędkości szlakowej [km/h]. | Liczba |
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.