H-Maszyna

Advanced search

Fő menü

Home Hírek Letöltések Maszyna Lexikon Submit Fórum Linkek

Bejelentkezés

Felhasználónév:

Jelszó:

Remember me



Lost Password?

Register now!

Ki van itt?

1 online (1 felhasználó nézi Maszyna Lexikon)

Tagok: 0
Vendégek: 1

tovább...
Home » Maszyna Lexikon » Pálya építés

Küldetés

1., Mi ez a program?

 

Ez a program azért jött létre, hogy megkönnyítse a küldetések készítését a szimulátorhoz. Sokan nem tudják, hogy hogyan kell event-eket létrehozni a Maszynában. Ez a program lehetővé teszi, hogy küldetéseket generáljunk a bevitt adatok alapján. A kész küldetéseket meg lehet nyitni, lehet szerkeszteni.

 

2., A program funciói:

 

- Eseménygenerálás include-ba (.inc fájlok)

- Legenerált események szerkesztése

- Többszörös események generálása (multiple event)

  8 eseményt lehet szerkeszteni:

     - 3 alaptípus: jelzések, átjárók, és az egyéb esemény.

     - Aktiválható események szerkesztése (SHIFT+...)

     - .scm fájlban történő szerkesztés (event0/1/2...)

     - Lehetőség van arra, hogy végrehajtassuk a feltételeket (gondolom itt az AI vonatokról van szó, vagy pedig arról, hogy pl egy jelző        visszaáll alapba, miután meghaladtuk)

     - Események késleltetett végrehajtása

 

- Figyelmeztető hang létrehozása:

     - Bejegyzést lehet készíteni, hogy megszólaljanak a hangok (node-ban event sound)

     - Egy hangotfájlt fel lehet használni több alkalommal (valami olyasmi, hogy egy hangot használunk, és azt akárhányszor fel akarjuk        használni, a program automatikusan másolja, és átnevezi azt, hogy minden alkalomra jó legyen)

     - Maximális távolság beállítása (ahonnan hallható a hang)

     - Késleltetés kiválasztása

     - Koordinált hangforrás

 

- Memcell létrehozása és szerkesztése

- Memcell node generálása:

     - Név

     - Koordináta

     - Érték

 

- Updatevalue szerkesztése:

     - Név

     - Memcell név

     - Késleltetés

     - Memcell értékek megváltoztatása

 

3., A program alapkövetelményei:

 

A megfelelő működéshez .NET framework-re van szükség!

 

4., Egy egyszerű esemény létrehozása - Multiple event

 

Egyszerűen megfogalmazva a  jelző jelzésképének, és az útátjáró jelzésének megváltoztatása, hang lejátszása. Ez így egy multiple event (többszörös esemény). Minden eseménynek külön nevet kell adni! Ezzel az esemény fajtával készíthetünk közlekedő AI vonatot, SHIFT+... billenytyűkombinációval induló, vagy bár bármilyen más eseményt. Ide tartozik a fentebb említett 8 fajta esemény (pl. vonatközlekedés, jelzők jelzésének megváltoztatása, a pályán hallható hangok, stb.)

Létrehozáskor csak egy multiple eseményt kell létrehozni, ha több van, az csak bonyolítja a pályát (valami ilyesmit lehet belőle megérteni). A kötelező mezőket ne felejtsük el kitölteni. Ha csak egy mező nincs kitöltve, akkor már érvénytelen lesz az esemény. A leírás további része foglalkozik azzal, hogy melyik mezőket kell kitölteni, és melyiket nem.

 

KEZDJÜK! :-)

 

Kezdésként indítsuk el a programot, majd menjünk rá a Multiple fülre. Ha minden jól megy, akkor a következőket állíthatjuk be a különböző sorokban egymás alatt:

 

Nazwa (Név): - a névnek minden eseménynél egyedinek kell lennie (magyarul nem lehet két egyforma nevű event).

             - az eseményen belül egyik "cselekménynek" sem lehet azonos a neve

             - a név nem tartalmazhat szóközt, vagy lengyel szavakat (gondolom a lengyel szavak összeakadhatnak a progival).

             KÖTELEZŐ MEZŐ

 

Opóźnienie (késleltetés): - a lényege, hogy annyival később fog megtörténni az esemény, amennyivel késleltetjük

                          - a késleltetés idejét másodpercben kell megadni!

                          KÖTELEZŐ MEZŐ

 

Warunek (állapot): - az esemény akkor kerül csak végrehajtásra, ha az itt megadott feltétel teljesül!

                   NEM KÖTELEZŐ MEZŐ Ha akarod használni akkor használod!

 

4 féle állapot közül lehet választani (Warunek nevű lenyitható fül):

 

- tor wolny (trackfree)(szabad úthossz, szabad vágány): az esemény csak akkor következik be, ha a beállított hossz, vagy vágányszakasz szabaddá válik (pl.: ha lehalad róla az előttünk lévő AI vonat, akkor szabadra vált a jelző)

 

- tor zajęty (trackoccupied)(foglalt vágány): az előző feltétel fordítottja. Az esemény csak akkor indul el, ha az adott szakasz foglalttá válik!

 

- prawdopodobieństwo (propability)(valószínűség): az esemény csak akkor történik meg, ha a valószínűség száma (tartomány 0...1) kevesebb, mint amit mi megadtunk. Pl. ha a valószínűséget 50%-ra szeretnénk állítani, akkor 0.5-öt kell megyadni. Ha 10%-ra, akkor 0.1-et, és így tovább.

 

- komórka pamięci (memcompare)(memriacella): az esemény csak akkor történik meg, ha az érték megegyezik a memcell értékkel. A memcell maximum 3 értéket tud:

- Szöveges érték

- Numerikus érték 1

- Numerikus érték 2

Ha nem akarod, hogy ellenőrizze a program az értéket, akkor válaszd a „pomiń sprawdzanie

wartości”-t. A feltétel természetesen csak akkor használható, ha a memcell egyezik, de erről bővebben majd a memcell résznél olvashatsz!

 

- Wyzwolenie (engedély) (2. sorban a jobb oldali lenyitható fül): ezt az eseményt ki lehet hagyni, ilyenkor az érték 0 lesz, mintha azt állítottuk volna be, hogy az esemény soha nem következhet be. Itt kell kiválasztani, ha pl. valamilyen billentyű lenyomásához szeretnénk kötni az adott esemény indulását. Ha az első 3-ból választjuk ki az egyiket (1., jármű állt a pályán, 2., belépő jármű a pálya adott pontján 1, 3., belépő jármű a pálya adott pontján 2), akkor meg kell keresnünk az adott vágányszakasz nevét, hogy a játék tudja, hogy hol kell végrehajtani az eseményt. Ehhez a pályának azon fájljára van szükség, amelyikben a "táj leírása" van (.scn, vagy .scm). Ezek nevét legegyszerűbben a Rainsted.exe-t megnyitva tudjuk megnézni (a pályákon található küldetéseket ahol kiválasztjuk, azok a nevek megegyeznek a pálya .scm fájljainak nevével).

Ebben  leírásban kell megkeresnünk az adott vágány "definícióját", és azon belül a nevét, hogy meg tudjuk adni az eseménynek hogy hol kell indulnia. Itt egy példa egy vágányra:

 

node 1500 0 tor337 track normal 34.0134 1.435 0.25 25.0 20 0 flat vis

rail_screw_used1 4 tpbps-new2 0.2 0.5 1.1

-96.386 0.2 507.117 0.0 //point 1

-2.93693 0.0 -10.9508 //control vector 1

1.67839 0.0 11.2129 //control vector 2

-103.32 0.2 473.818 0.0 //point 2

0 endtrack

 

tor337 >>> ez a vágány neve, ez kell nekünk!!!

 

Ha megvan ez a név, akkor megcsinálhatjuk az eseményt az adott vágányhoz. Itt egy példasor: event2 Event_wjazd-AI-EN57

Ezt kell beilleszteni a vágány "definíciója" után, de de az endtrack sor elé! Itt a példa, hogy hogyan is kell kinéznie a hozzáadott event után:

 

node 1500 0 tor337 track normal 34.0134 1.435 0.25 25.0 20 0 flat vis

rail_screw_used1 4 tpbps-new2 0.2 0.5 1.1

-96.386 0.2 507.117 0.0 //point 1

-2.93693 0.0 -10.9508 //control vector 1

1.67839 0.0 11.2129 //control vector 2

-103.32 0.2 473.818 0.0 //point 2

0 event2 Event_wjazd-AI-EN57

endtrack

 

Ha SHIFT+... -ot szeretnél használni, akkor nem kell "kézzel" módosítani a pálya sorait!

 

Zdarzenia (események)(ez a cím, alatta 8 db Zdarzenie lenyitható fül):

 

Ebben a csoportban lehet kiválasztani, hogy milyen típusú események történjenek. 3 közül lehet választani:

− sygnalizator (jelző)

− rozjazd (váltó

− inne (egyéb)

Ha a sygnalizator-t (jelző) választod, meg kell adni a jelzés kódját (ez alapján "tudja a jelző, hogy mit csináljon")(pl.: S10, SZ1, MS2) a kód, és a jelentés megtalálható az utasításban (???)

Ha a rozjazd-ot (váltó választod, itt tudod megadni, hogy hol található az adott váltó. Ha angol váltót választasz ki akkor meg kell adni, hogy az "a", vagy a "b" felét akarod "mozgatni". Az inne-t választa egyéb eseményt lehet megadni. Pl.: egy hangot kezdjen el lejátszani, vagy itt lehet megadni az updatevalues-t (memcell).

 

5., Hangok a küldetésben

 

Minden jó küldetésnek kell tartalmaznia rádióbeszélgetést (ezt miből gondolják nem tudom, biztos szeretnek cb-zni! ). A hangok beiktatásával realisztikusabbá lehet tenni a küldetést. Ez a fejezet bemutatja, hogy hogyan csináljuk. Először is a hawsznáélni kívánt hangokat be kell másolni a játék sounds mappájába. Ezután a küldetésszerkesztőben csak a használni kívánt hang nevét kell megadni (legfelső sor a sound fül alatt: "nazwa pliku .wav z katalogu sounds bez rozszerzenia". Csak a hangfájl neve kell, a kiterjesztése nem)

A saját hangok használatakor kérlek vedd figyelembe az alábbiakat:

- A hangfájl formátuma .wav kell, hogy legyen.

- A névnek így kell kinéznie: 2193_runningnoise-en57_1.wav (a lényeg, hogy szóköz pl ne legyen benne)

- A játék által használt standard minőség: . WAV PCM 22 kHz, 8 bit, mono. Kivéve a modulált hangok, pl ami függenek a sebességtől.

Az "ujednolicone nazwy"-nál (2. sor a sound fül alatt) ki kell venni a pipát, ha több eseményhez szeretnéd használni ugyanazt a hangot, majd a megjelenő szövegdobozba beírni a másik nevet.

A következő lépés az, hogy beállítjuk azt a távolságot, ahonnan szeretnénk hogy a hang hallható legyen. Meg kell adni a hang "helyét" az X,Y,Z koordináták segítségével, az opóźnienie mellett pedig a késleltetést lehet megadni. Ha ezek megvannak, akkor "generuj"-ra katt. Ekkor kerül mentésre az adott hang a készülő küldetésben (vagy elmentjük, vagy a főablakba kerül az eventek közé.

 

Choć mamy zadeklarowany dźwięk, trzeba go jeszcze wywołać. Można to uczynić wywołując

przy okazji inne zdarzenie. W „Multiple” jako typ zdarzenia wybieramy „inne” i podajemy jako

nazwę, nazwę pliku *.wav wcześniej zadeklarowanego dźwięku. Możemy przy okazji wywołać też

7 innych zdarzeń, niekoniecznie związanych z dźwiękami.

 

FIGYELEM!

Oda kell figyelni, hogy hogyan állítjuk be a hang esemény indulását, ha áll a vonatunk, és ha halad! (valami olyasmit akar kihozni belőle, hogy ami akkor szólal meg,  amikor állunk, azt nem fogjuk hallani haladás közben).

Ezt a problémát meg lehet oldani memcell-el, majd a későbbiekben lesz róla szó!

 

6., Memcell - nem olyan nehéz, mint amilyennek hangzik

 

A memóriát már többször említettük. A memóriacellák hasonlítanak egymásra. Mindegyikben a három fő rész található meg: egy szöveg, és két alak! Itt van pl. ez: Podaj_rp 2 3. Minden egyes memcell-nek rendelkeznie kell updatevalues eseménnyel, ami képes megváltoztatni az értékeit. Mi értelme van létrehozni egy Memcell-t, ha már van egy működő küldetésünk? (fogalmam sincs, mert nem értem, a fordítást! )

 

Otóż po pierwsze, dzięki

komórkom pamięci możemy uzależnić wykonanie eventu od wartości tej komórki.

Załóżmy, że zdefiniowaliśmy komórkę pamięci o wartościach komorka 1 2. Stworzyliśmy także

event multiple, którego wykonanie uzależniliśmy od wartości komórki. Aby event się „odpalił”

podana komórka pamięci musi mieć wartości komorka 1 2. W takim wypadku event się wykona,

ponieważ wartość zdefiniowana w warunku jest taka sama jak wartość komórki pamięci.

 

Valami olyasmit akar jelenteni, hogy ha csak sima eventek vannak a küldetésben, akkor ha valami miatt 1s eltérés van, akkor a memcell késve is megcsinálja az adott "feladatot". De az is lehet, hogy rohadtul félreértelmeztem ezt a részt!

 

Mi értelme olyan feltételt létrehozni, ami mindenképpen "igaz" lesz (1-es érték)?

 

Nem feltétlenül lesz mindig "igaz". AI vonatoknál jöhet jól. Ha pl. valamiért a küldetésben megváltozik a forgalmi helyzet (pl. ameddig tölt a küldetésünk, elmegyünk rágyújtani, mert nincs kedvünk várni, de mire visszaérünk, már rég betöltötte és van kijárat, ez miatt pedig késve indulunk >>> saját példa ), akkor az AI vonatnál meg tudjuk csinálni, hogy vészfékezzen, mert pl szembe megyünk vele.

 

Hogyan hozzunk létre egy Memcell-t a küldetésszerkesztővel?

 

Menjünk a Memcell fülre. Bal oldalon legfelül (Unikalna nazwa komórki pamieci) lehet megadni a memcell egyedi nevét. A név nem tartalmazhat lengyel diakritikus karaktert vagy szóközt. Ezután adjuk meg a cella koordinátáit (X,Y,Z). Ha AI nem közlekedik a küldetésben, akkor mindegy, hogy milyen számot írunk be. Ha van, akkor adjuk meg a memcell adatait!

Ezután rákattinthatunk a "Generuj"-ra. Létrejön a memcell. Jobb oldalon az even updatevalues alatt megadhatjuk az egyedi nevét az event-nek, alatta nem tudom mit, és a 3. ablaknál a késleltetést! Ezek után megváltoznak a memcell adatai. Ezután generáljuk le az egyedi kódját (az a sor, amit be kell illeszteni a pálya .scm fájljában a megfelelő helyre). Ez ugyebár egy többszörös esemény, egy egyéb esemény. Tehát a multiple-nél ha szeretnénk használni, akkor a "warunek" legördülő ablakában a komórka pamieci-t kell választani, ekkor tőle jobbra meg tudjuk adni a memcell nevét, és ezután használni is tudjuk.

Ezt a részt pedig nem tudom, hogy mi akar lenni:

 Aby uruchomić ten event,

należy go wywołać jako event multiple, gdzie jako zdarzenie podajemy „Inne” i wpisujemy nazwę

eventu updatevalues. Jeśli chcemy skorzystać z komend do AI, tworzymy je tak jak było to do tej

pory ustalone, z tym że zaznaczamy kwadracik „Komenda do AI”, jako komendę początkową

podajemy Wait_For_Orders (czekaj na rozkazy) i domyślne wartości pozostałych komórek, a w

updatevalues wpisujemy nazwę komendy i wartości zgodnie z wykazem komend do AI

znajdującym się w pliku „RFC.doc”.

 

7., A Rainsted, mint előnézet

 

Gyakran emítettük már, hogy koordinátákat kell megadni (X,Y,Z). Számos módja van, hogy ellenőrizzük ezeket a koordinátákat, de a legegyszerűbb módszer, ha a Rainstedben nézzük meg. Indítsuk el, és válasszuk ki a beállításokban a haladó, vagy magasabb szintet (Rainsted > Settings > User mode) Ezután az első fülnél (Choose Scenery) válasszuk ki az általunk készített küldetést, majd menjünk a Debugger fülre, majd ott a Scenery prewiev gomb (lengyelül azt írja, hogy Podglad terenu-ra, de ott csak Podglad trasy van). Ha rámentünk, akkor megnyílik egy újabb ablak, amin belül jobb oldalon a punkty-ra kell kattintani. Ekkor azt látjuk, hogy a megjelenő térképen ahogy mozgatjuk a kurzort, az X és Z koordinátákat változtatja folyamatosan, ahogy mozgatjuk az egeret. Ebből látszik, hogy a térkép csak 2D-s, és nem 3D megjelenítésű. Ha kattintgatunk a térképen, mindig ki tudunk jelölni egy vágányrészt. A fejlécben a zárójeles részben meg tudjuk nézni a kijelölt rész nevét. Ez akkor jöhet jól, ha küldetést készítünk a pályához (meg tudjuk nézni az események elhelyezéséhez, hogy melyik vágánynak mi a neve.

 

8., Kész megoldások

 

A Maszynában létrehozható események nagyon nagy lehetőségeket adnak a kezünkbe, sokkal többet, mint amit eddig említettünk. Érdemes néha véletlenszerű eseményeket létrehozni, hogy vigyünk egy kis változatosságot a küldetésbe! Ennek nincs egy konkrét módja, nagyon sokféle lehetőség áll rendelkezésre, hogy elérjük a kívánt hatást (meg gondolom sokat is kell szenvedni vele, hogy elérjük a kívánt hatást! >>> Saját gondolat). A véletlenszerű eseményekhez "algoritmusokat" kell írni. Ez nem könnyű feladat, ezért néhány "gyakoribbat" megosztok a haladó felhasználókkal:

 

(ezt fordítani részemről esélytelen, csak akkor lehetne leírni, ha végigpróbálgatná az ember a lengyel leírás alapján)

 

 

Published: 2013.07.24. 19:08

Related contents

  • Küldetés

    Mrcell (Read all) • 2013.07.24. 19:08 • 1015 Reads
  • Site Index
Powered by H-Maszyna © 2012