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
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.