Fő menüBejelentkezésKi van itt? |
Küldetés1., 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ó
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 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
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
|