Obiekt event: Różnice pomiędzy wersjami

Z MaSzyna
Skocz do: nawigacja, szukaj
 
(Nie pokazano 9 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 1: Linia 1:
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:
 
    <span style="color:tomato;font-weight:bold">event</span> ''name type delay object''
 
 
{| class="wikitable"
 
|+ Opis parametrów
 
! Parametr
 
! Interpretacja
 
|-
 
| name
 
| Nazwa zdarzenia
 
|-
 
| type
 
| Typ zdarzenia.
 
 
 
Dostępne typy zostały opisane poniżej.
 
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 |
 
|}
 
  
 
* [[Obiekt event::AddValues|AddValues]]
 
* [[Obiekt event::AddValues|AddValues]]
Linia 42: Linia 15:
 
* [[Obiekt event::whois|whois]]
 
* [[Obiekt event::whois|whois]]
 
* [[Obiekt event::friction|friction]]
 
* [[Obiekt event::friction|friction]]
 
+
* [[Obiekt event::multiple|multiple]]
 
+
* [[Obiekt event::switch|switch]]
== multiple ==
+
* [[Obiekt event::sound|sound]]
Umożliwia wywołanie kilku zdarzeń jednocześnie oraz uzależnianie ich wykonania od określonych warunków.
+
* [[Obiekt event::texture|texture]]
    <span style="color:tomato;font-weight:bold">event</span> nazwa <span style="color:orange;font-weight:bold">multiple</span> 0 ''memcell'' ''events'' <span style="color:orange;font-weight:bold">else</span> ''events'' <span style="color:orange;font-weight:bold">condition</span> ''conditions'' <span style="color:orange;font-weight:bold">randomdelay</span> ''randomDelay'' <span style="color:tomato;font-weight:bold">endevent</span>
+
* <s>message</s>
 
 
{| class="wikitable"
 
|+ Opis parametrów
 
! Parametr
 
! Interpretacja
 
|-
 
| memcell
 
| [[Obiekt_node#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 ===
 
{| class="wikitable"
 
! 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:'''
 
:''comparator'' - słowo-klucz określające czy do spełnienia warunku wymagane jest:
 
::zaliczenie porównań wszystkich zdefiniowanych elementów komórki pamięci <tt>all</tt>'''
 
::przynajmniej jednego ze zdefiniowanych elementów komórki pamięci <tt>any</tt>
 
::żadnego ze zdefiniowanych elementów komórki pamięci <tt>none</tt>
 
:''*Dotychczasowy sposób działania warunku <tt>memcompare</tt> jest odpowiednikiem trybu <tt>all</tt>''
 
 
 
:''operator'' - metoda porównania elementu komórki pamięci ze zdefiniowaną wartością. Dostępne metody to:
 
::<tt>==</tt> - równy
 
::<tt>!=</tt> - nierówny
 
::<tt><</tt> - mniejszy
 
::<tt>></tt> - większy
 
::<tt><=</tt> - mniejszy lub równy
 
::<tt>>=</tt> - większy lub równy
 
:''*Dotychczasowy sposób działania warunku <tt>memcompare</tt> jest odpowiednikiem operatora <tt>==</tt>''
 
 
 
:''text, value1, value2'' - wartości z jakimi porównywane będą poszczególne elementy komórki pamięci.
 
:''*użycie klucza <tt>*</tt> zamiast pary: operator i wartość, powoduje pominięcie testu danego elementu.''
 
--------------------------------------------------------------------
 
 
''- - - !!! - - -  Uruchomienie eventu warunkowanego może zależeć od więcej niż jednego czynnika. Poszczególne warunki wpisujemy po kolei po słowie kluczowym <tt>condition</tt> - - - !!! - - -''
 
 
 
--------------------------------------------------------------------
 
|}
 
 
 
== 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''.
 
  
 
[[Kategoria:Scenerie]]
 
[[Kategoria:Scenerie]]

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

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