Obiekt event: Różnice pomiędzy wersjami

Z MaSzyna
Skocz do: nawigacja, szukaj
(texture)
 
(Nie pokazano 29 wersji utworzonych przez 3 użytkowników)
Linia 1: Linia 1:
Każdy wpis '''event''' zaczyna się od tych samych parametrów:
+
Dostępne typy zostały opisane poniżej.
    <span style="color:tomato;font-weight:bold">event</span> ''nazwa typ opoznienie obiekt''
 
  
{| class="wikitable"
+
* [[Obiekt event::AddValues|AddValues]]
|+ Opis parametrów
+
* [[Obiekt event::CopyValues|CopyValues]]
! Nazwa parametru
+
* [[Obiekt event::GetValues|GetValues]]
! Znaczenie parametru
+
* [[Obiekt event::LogValues|LogValues]]
! Typ wartości
+
* [[Obiekt event::PutValues|PutValues]]
! Uwagi
+
* [[Obiekt event::UpdateValues|UpdateValues]]
|-
 
| nazwa
 
| Nazwa zdarzenia
 
| Tekst
 
|
 
|-
 
| typ
 
| Typ zdarzenia.
 
| Słowo kluczowe
 
| Dostępne typy zostały opisane poniżej.
 
|-
 
| opoznienie
 
| Opóźnienie wykonania zdarzenia [s].
 
| Liczba
 
| Można wpisać -1, wtedy zdarzenie będzie wykonywać się cyklicznie.
 
|-
 
| obiekt
 
| Obiekt, na rzecz którego zostanie wywołane zdarzenie.
 
| Nazwa obiektu / Nazwy objektów
 
| Typ obiektu zależy od typu zdarzenia. Można podać więcej niż jeden.
 
|}
 
Można dodać więcej niż jeden objekt, używając | jako separatora, oraz bez spacji. Np ObjA|ObjB
 
  
== AddValues ==
+
* [[Obiekt event::animation|animation]]
Działa podobnie jak [[Obiekt_event#UpdateValues|'''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.
+
* [[Obiekt event::lights|lights]]
    <span style="color:tomato;font-weight:bold">event</span> nazwa <span style="color:orange;font-weight:bold">addvalues</span> 0 ''komorka wartosci'' <span style="color:orange;font-weight:bold">condition</span> ''warunki'' <span style="color:orange;font-weight:bold">randomdelay</span> ''opoznienie_losowe'' <span style="color:tomato;font-weight:bold">endevent</span>
+
* [[Obiekt event::trackvel|trackvel]]
 +
* [[Obiekt event::visible|visible]]
 +
* [[Obiekt event::voltage|voltage]]
 +
* [[Obiekt event::whois|whois]]
 +
* [[Obiekt event::friction|friction]]
 +
* [[Obiekt event::multiple|multiple]]
 +
* [[Obiekt event::switch|switch]]
 +
* [[Obiekt event::sound|sound]]
 +
* [[Obiekt event::texture|texture]]
 +
* <s>message</s>
  
{| class="wikitable"
+
[[Kategoria:Scenerie]]
|+ Opis parametrów
 
! Nazwa parametru
 
! Znaczenie parametru
 
! Typ wartości
 
! Uwagi
 
|-
 
| komorka
 
| Komórka pamięci, do której dodane zostaną wartości
 
| Nazwa obiektu [[Obiekt_node#memcell|'''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.
 
    <span style="color:tomato;font-weight:bold">event</span> nazwa <span style="color:orange;font-weight:bold">copyvalues</span> 0 ''komorka1 komorka2 flaga'' <span style="color:tomato;font-weight:bold">endevent</span>
 
 
 
{| class="wikitable"
 
|+ Opis parametrów
 
! Nazwa parametru
 
! Znaczenie parametru
 
! Typ wartości
 
! Uwagi
 
|-
 
| komorka1
 
| Komórka pamięci, do której kopiowane są wartości.
 
| Nazwa obiektu [[Obiekt_node#memcell|'''node::memcell''']]
 
|
 
|-
 
| komorka2
 
| Komórka pamięci, z której kopiowane są wartości.
 
| Nazwa obiektu [[Obiekt_node#memcell|'''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.
 
    <span style="color:tomato;font-weight:bold">event</span> nazwa <span style="color:orange;font-weight:bold">getvalues</span> 0 ''komorka'' <span style="color:tomato;font-weight:bold">endevent</span>
 
 
 
== 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.
 
    <span style="color:tomato;font-weight:bold">event</span> nazwa <span style="color:orange;font-weight:bold">updatevalues</span> 0 ''komorka wartosci'' <span style="color:orange;font-weight:bold">condition</span> ''warunki'' <span style="color:orange;font-weight:bold">randomdelay</span> ''opoznienie_losowe'' <span style="color:tomato;font-weight:bold">endevent</span>
 
 
 
{| class="wikitable"
 
|+ Opis parametrów
 
! Nazwa parametru
 
! Znaczenie parametru
 
! Typ wartości
 
! Uwagi
 
|-
 
| komorka
 
| Komórka pamięci, do której dodane zostaną wartości
 
| Nazwa obiektu [[Obiekt_node#memcell|'''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.
 
    <span style="color:tomato;font-weight:bold">event</span> nazwa <span style="color:orange;font-weight:bold">animation</span> 0 ''model typ_animacji submodel wektor tempo'' <span style="color:tomato;font-weight:bold">endevent</span>
 
 
 
{| class="wikitable"
 
|+ Opis parametrów
 
! Nazwa parametru
 
! Znaczenie parametru
 
! Typ wartości
 
! Uwagi
 
|-
 
| model
 
| Model, którego submodel będzie animowany.
 
| Nazwa obiektu [[Obiekt_node#model|'''node::model''']]
 
|
 
|-
 
| typ_animacji
 
| Typ animacji submodelu.
 
| Słowo kluczowe
 
| <span style="color:orange;font-weight:bold">rotate</span> - obrót
 
 
 
<span style="color:orange;font-weight:bold">translate</span> - przemieszczenie
 
|-
 
| submodel
 
| Submodel, który będzie animowany.
 
| Nazwa submodelu z modelu [[Format T3D|T3D]]
 
|
 
|-
 
| wektor
 
| Wektor przesunięcia [m] lub obrotu [deg] modelu.
 
| Liczby
 
|
 
|-
 
| tempo
 
| Tempo przesunięcia w [j/s]
 
| Liczba
 
| Jednostka zależy od typu animacji.
 
|}
 
 
 
== lights ==
 
Zmienia stan świateł modelu.
 
    <span style="color:tomato;font-weight:bold">event</span> nazwa <span style="color:orange;font-weight:bold">lights</span> 0 ''model stany_lampek'' <span style="color:tomato;font-weight:bold">endevent</span>
 
 
 
{| class="wikitable"
 
|+ Opis parametrów
 
! Nazwa parametru
 
! Znaczenie parametru
 
! Typ wartości
 
! Uwagi
 
|-
 
| model
 
| Model, któremu zostaną ustawione stany świateł.
 
| Nazwa obiektu [[Obiekt_node#model|'''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
 
| [[Lampki_w_modelach|Dowiedz się więcej o lampkach]]
 
|}
 
 
 
== trackvel ==
 
Umożliwia zmianę prędkości szlakowej toru.
 
    <span style="color:tomato;font-weight:bold">event</span> nazwa <span style="color:orange;font-weight:bold">trackvel</span> 0 ''tor predkosc'' <span style="color:tomato;font-weight:bold">endevent</span>
 
 
 
{| class="wikitable"
 
|+ Opis parametrów
 
! Nazwa parametru
 
! Znaczenie parametru
 
! Typ wartości
 
! Uwagi
 
|-
 
| tor
 
| Tor, któremu zostanie zmieniona prędkość szlakowa.
 
| Nazwa obiektu [[Obiekt_node#track|'''node::track''']]
 
|
 
|-
 
| predkosc
 
| Wartość prędkości szlakowej [km/h].
 
| Liczba
 
|
 
|}
 
 
 
== visible ==
 
Umożliwia zmianę widoczności obiektu.
 
    <span style="color:tomato;font-weight:bold">event</span> nazwa <span style="color:orange;font-weight:bold">visible</span> 0 ''obiekt widocznosc'' <span style="color:tomato;font-weight:bold">endevent</span>
 
 
 
{| class="wikitable"
 
|+ Opis parametrów
 
! Nazwa parametru
 
! Znaczenie parametru
 
! Typ wartości
 
! Uwagi
 
|-
 
| obiekt
 
| Obiekt typu node.
 
| Nazwa obiektu [[Obiekt_node|'''node''']]
 
|
 
|-
 
| widocznosc
 
| Stan widoczności obiektu
 
| Liczba
 
| 0 - obiekt niewidoczny
 
 
 
1 - obiekt widoczny
 
|}
 
 
 
== voltage ==
 
Umożliwia zmianę wartości napięcia podstacji.
 
    <span style="color:tomato;font-weight:bold">event</span> nazwa <span style="color:orange;font-weight:bold">voltage</span> 0 ''zrodlo_zasilania napiecie'' <span style="color:tomato;font-weight:bold">endevent</span>
 
 
 
{| class="wikitable"
 
|+ Opis parametrów
 
! Nazwa parametru
 
! Znaczenie parametru
 
! Typ wartości
 
! Uwagi
 
|-
 
| zrodlo_zasilania
 
| Źródło zasilania, któremu zmieniane jest napięcie.
 
| Nazwa obiektu [[Obiekt_node#tractionpowersource|'''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.
 
    <span style="color:tomato;font-weight:bold">event</span> nazwa <span style="color:orange;font-weight:bold">whois</span> 0 ''komorka jakie_dane'' <span style="color:tomato;font-weight:bold">endevent</span>
 
 
 
{| class="wikitable"
 
! 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
 
| -
 
| -
 
|}
 
 
 
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.
 
    <span style="color:tomato;font-weight:bold">event</span> nazwa <span style="color:orange;font-weight:bold">friction</span> 0 none ''tarcie'' <span style="color:tomato;font-weight:bold">endevent</span>
 
 
 
{| class="wikitable"
 
|+ Opis parametrów
 
! 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ń jendocześnie.
 
    <span style="color:tomato;font-weight:bold">event</span> nazwa <span style="color:orange;font-weight:bold">multiple</span> 0 ''komorka'' ''zdarzenia'' <span style="color:orange;font-weight:bold">else</span> ''zdarzenia'' <span style="color:orange;font-weight:bold">condition</span> ''warunki'' <span style="color:orange;font-weight:bold">randomdelay</span> ''opoznienie_losowe'' <span style="color:tomato;font-weight:bold">endevent</span>
 
 
 
{| class="wikitable"
 
|+ Opis parametrów
 
! Nazwa parametru
 
! Znaczenie parametru
 
! Typ wartości
 
! Uwagi
 
|-
 
| komorka
 
| Komórka piamięci testowana przy warunku. Przy braku wpisać 'none'.
 
| Nazwa komorki [[Obiekt_node#memcell|'''memcell''']]
 
|
 
|-
 
| zdarzenia
 
| Zdarzenia, które mają zostać wywołane.
 
| Nazwy obiektów '''event'''
 
|
 
|-
 
| 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
 
|}
 
 
 
== switch ==
 
Umożliwia przestawienie zwrotnicy.
 
    <span style="color:tomato;font-weight:bold">event</span> nazwa <span style="color:orange;font-weight:bold">switch</span> 0 ''zwrotnica przelozenie predkosc_ruchu ruch_dodatkowy'' <span style="color:tomato;font-weight:bold">endevent</span>
 
{| class="wikitable"
 
|+ Opis parametrów
 
! Nazwa parametru
 
! Znaczenie parametru
 
! Typ wartości
 
! Uwagi
 
|-
 
| zwrotnica
 
| Zwrotnica, której stan ma być zmieniony.
 
| Nazwa obiektu [[Obiekt_node#switch|'''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 [[Obiekt_event#multiple|'''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 [[Obiekt_node::sound|'''node::sound''']]
 
    <span style="color:tomato;font-weight:bold">event</span> nazwa <span style="color:orange;font-weight:bold">sound</span> 0 ''node_sound playstatus radiochannel'' <span style="color:tomato;font-weight:bold">endevent</span>
 
{| class="wikitable"
 
|+ Opis parametrów
 
! Nazwa parametru
 
! Znaczenie parametru
 
! Typ wartości
 
! Uwagi
 
|-
 
| node_sound
 
| Nazwa node dźwięku, który ma zostać odegrany.
 
| Nazwa obiektu [[Obiekt_node::sound|'''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
 
|}
 
 
 
== <s>disable</s> ==
 
Występuje w kodzie źródłowym, ale nie jest używany.
 
    <span style="color:tomato;font-weight:bold">event</span> nazwa <span style="color:orange;font-weight:bold">disable</span> 0 ? <span style="color:tomato;font-weight:bold">endevent</span>
 
 
 
== <s>dynvel</s> ==
 
Występuje w kodzie źródłowym, ale nie jest używany.
 
    <span style="color:tomato;font-weight:bold">event</span> nazwa <span style="color:orange;font-weight:bold">dynvel</span> 0 ? <span style="color:tomato;font-weight:bold">endevent</span>
 
 
 
== <s>message</s> ==
 
Występuje w kodzie źródłowym, ale nie jest używany.
 
    <span style="color:tomato;font-weight:bold">event</span> nazwa <span style="color:orange;font-weight:bold">message</span> 0 ? <span style="color:tomato;font-weight:bold">endevent</span>
 
 
 
== texture ==
 
Zmienia teksturę wymienną modelu lub grupy modeli [[Obiekt_node::model|'''node::model''']]
 
    <span style="color:tomato;font-weight:bold">event</span> nazwa <span style="color:orange;font-weight:bold">texture</span> 0 ''model1|model2|model3|etc skinindex skinfile inputcell'' <span style="color:tomato;font-weight:bold">endevent</span>
 
{| class="wikitable"
 
|+ Opis parametrów
 
! Nazwa parametru
 
! Znaczenie parametru
 
! Typ wartości
 
! Uwagi
 
|-
 
| <nowiki>model1|model2|etc</nowiki>
 
| <nowiki>lista modeli które otrzymają nowa teksturą, rozdzielonych znakiem |</nowiki>
 
| Nazwa obiektu [[Obiekt_node::model|'''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ły_-_Pliki_.mat|'''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 [[Obiekt_node::memcell|'''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''.
 

Aktualna wersja na dzień 09:51, 31 mar 2023

Dostępne typy zostały opisane poniżej.