Tvorba misí


Tento dokument se zabývá tvorbou nových misí do existujících tratí (standardních i uživatelských).

Základem je mít nějaký nápad, znát trať a ovládat editor.

Abyste mohli využít následující text, musíte mít nainstalován DeveloperTools, který je po registraci zdarma dostupný na stránkách RailSimulátoru.

Takže jdeme na to:

Předpokládejme, že pohotovostní lokomotiva umístěná ve Victorville (trať Cajon Pass z Expansion packu) dostala za úkol dopravit dělníky do stanice Hesperia na opravu kolejí.


Nejprve přes Routes vybereme trať (zde Barstow to San Bernardino)

Zvolíme Free Play. Tím se načte trať v režimu volné jízdy.

Pomocí ikony zeměkoule na dolním panelu se přepneme do world editoru. Já osobně ve volbě Display ještě vypínám AmbientSound a AreaMarkers.

V horní nabídce klikneme na RouteMarkers (kolečko vpravo) a vybereme stanici či místo, kde budeme začínat (zde Victorville). V horním menu klikneme na Go (šipka) a editor se přesune na vybrané místo. Může se stát že jsme pod povrchem a musíme se "vykrtkovat" nahoru.


Dříve než začneme, povíme si o principu.

Základem mise je lokomotiva, která je označena narozdíl od AI lokomotiv jako hráčská (ovládaná hráčem). Na lokomotivu se přidávají úkoly/instrukce, které musí být postupně plněny. Objevují se ve formě koleček, může se jednat o zastavení v určité lokaci, zastavení a naložení/vyložení zboží, zastavení a nástup/výstup pasažérů, tankování, připojení a odpojení vagónů. Pokud lokomotiva má určen cíl (Destination) a dosáhne jej, je mise zakončena a zobrazeny statistiky o plnění.

Postupně kolečka na obrázku znamenají (zprava):

  • Definice aktivní lokomotivy - ve vlastnostech je určena jako hráčská a definován její konečný cíl
  • Zobrazení textu (hned po startu) vysvětlujícího úkol mise
  • Připojení vozů v East Victorville
  • Zastavení na koleji v Hesperia
  • Odpojení vozů v Hesperia
  • Zastavení na koleji ve Victorville

A nyní jak na to.


Přepneme se v levé horní nabídce do režimu ScenarioTools, na dotaz o uložení potvrdíme YES.

Vybereme StandardScenarioMarker a umístíme jej na vhodné místo vedle tratě.


Na náš nový ScenarioMarker (vlevo vedle trati) dvakrát klikneme, vpravo se otevře okno vlastností. Texty zadáváme obecně bez diakritiky.

Do SupplyName dáme jméno scénáře "Servisni zasah" - toto jméno se bude zobrazovat v seznamu scénářů dané tratě.

Do SupplyDescription dáme obecný popis mise. Ten se bude zobrazovat po výběru scénaře v pravém velkém okně.

Do SupplyBriefing dáme popíšeme, jaký je úkol mise. Ten se bude zobrazovat po spuštění scénaře (okno F1). Nepřišel jsem na to jak třeba odřádkovat či jinak formátovat.

Do Date zadáme datum mise. Kromě informační hodnoty to nemá jiný význam.

Do Rating zadáme stupeň obtížnosti, zde 2 (standardně je 1 tj jednoduché).

Do Duration vložíme odhadovanou dobu mise v minutách, zde 60 tj jednu hodinu.

Do StartTime nastavíme čas startu mise. Ovlivňuje den/noc.

Ve Weather vybereme některý z přednastavených stylů počasí. Zde jediný možný - "US Weather 01".

Do Season zadáme roční dobu, zde Summer (léto).


Přepneme se do East Victorville (RouteMarkers, místo, Go).

Na kolej "East Victorville Siding 8" přidáme vůz pro servisní četu Caboose (menu Rolling stock).

Před něj připojíme vůz s "náhradními díly" typu BoxCar2 (menu Rolling stock).

Další vozy můžeme umístit dle libosti, pokud nám nebo případnému AI vlaku nebudou blokovat cestu. Budou mít funkci statického obsahu. Platí i pro lokomotivy. Aby byla lokomotiva "živá", musí totiž mít na sobě ikonu "Driver" - jinak stojí na místě.


Přepneme se do Victorville (RouteMarkers, místo, Go).

Přes Engines přidáme na kolej označenou "Victorville Siding 3" lokomotivu "SD40-2 Black".

Otočíme ji (kliknutím) na horní šipku tak, aby kabina ukazovala ve směru převažující jízdy vlaku.

Klikneme na Driver a na lokomotivu. Na lokomotivě se objeví ikona strojvůdce.

Dvakrát klikneme na ikonu strojvůdce - vlevo se objeví vlastnosti.

V DriverName zadáme "Hrac".

Zaškrtneme PlayerConsist symbolizující že se jedná o lokomotivu, která je ovládána hráčem (jinak by ji řídil počítač).

V položce Destination klikneme na modrý obdélník a následně klikneme na marker VictorvilleSiding3. Toto znamená, že mise skončí až se lokomotiva vrátí na daný marker (po splnění úkolů). Tato položka je nutná u AI vlaků. Pokud ji nezadáte u hráčského vlaku pak po skončení úkolů je zobrazen závěrečný text ale mise není vyskočena do statistiky a hráč si tak teoreticky může pokračovat. Pokud cíl zadáte, pak se hláška SuccesfullMessage zobrazí při úspěchu dvakrát - při splnění posledního úkolu (třeba odpojení vagónu) a při dosažení cíle (před vyskočením do statistiky).

Položku StartTime necháme na původní hodnotě.

Položku ServiceClass necháme také na původní hodnotě (Special je speciální hodnota upřednostňující hráčský vlak).


Nyní zajistíme zobrazení okna které se objeví po startu mise (spolu se standardním oknem F1).

Vybereme TriggerInstruction a umístíme kliknutím na lokomotivu. Dvojklikem otevřeme vlastnosti vpravo.

Do TriggerMessages vložíme text oznamující:

Z duvodu udrzby stanicnich koleji Hesperia je treba tam dopravit servisní vozy. Tyto vozy jsou odstavené v East Victorville na koleji Siding 8 a je třeba je odstavit v Hesperia na Siding 3. Pote je mozne se vratit na puvodni misto.

Ostatní položky nevyplňujeme.

Je asi věc názoru zda to takto dělat nebo ne. On stejný popis může být v okně F1 které se po startu zobrazí automaticky. Jenže tam je těch informací hodně a leckdo jej zavře aniž by si to přečetl.

Položka StopTrainTrigger aktivuje rychlobrzdu - je možné tak simulovat stržení záchranné brzdy pasažérem.

Poslední položka umožňuje zadat zpoždění od poslední instrukce v sekundách před aktivací triggeru - je tak možné částečně znáhodnit zobrazení okna či stržení brzdy.


Vybereme ConsistOperationInstruction a umístíme kliknutím na lokomotivu. Dvojklikem otevřeme vlastnosti vpravo.

Klikneme na AddToFront (vagóny budeme připojovat dopředu - záleží na směru lokomotivy), zobrazíme 2D Mapu (9) a přesuneme se do EastVictroville, klikneme nejprve na skříňový vůz a pak na caboose. Dole se objeví informace "XXX added." Nakonec klikneme na siding (žlutou čáru)/marker, kde oba stojí (East Victorville Siding 8). Do okna přibudou čísla obou vagónů.

Zaškrtávací políčko HandleOffPath určuje, zda má vlakovou cestu postavit počítač nebo si ji bude hráč stavět sám. Nezaškrtnuté znamená, že staví počítač.

Do DisplayMessage zadáme:

Vyborne, pripojili jste servisni vozy. Nyni pokracujte do Hesperia a zastavte na Siding2.

To, zda budete uživateli potvrzovat každý úkol je opět na Vás. Někomu to vyhovuje, jiného to ruší. Seznam úkolů je ostatně patrný z F1.

Stalo se mi (pravda jednou), že klikání na 2D mapě dávalo nesmyslná čísla a musel jsem najet na místo a "klikat" vagóny.


Vybereme StopAtDestinationInstruction a umístíme kliknutím na lokomotivu. Dvojklikem otevřeme vlastnosti vpravo.

Stiskneme Add (zelené plus), přesuneme se (zase nejlépe přes 2D mapu) a vybereme HesperiaSiding2.

Do DisplayMessage zadáme:

Fajn. Provedte posun na HesperiaSiding3 a odpojte vagóny.

Do UnsuccesfullMessage zadáme pro případ že vlak nezastaví a přejede:

Plneni rozkazu je predpoklad spravne cinnosti zeleznice. Takhle byste taky mohl prodavat listky ve Victorville!


Vybereme ConsistOperationInstruction a umístíme kliknutím na lokomotivu. Dvojklikem otevřeme vlastnosti vpravo.

Klikneme na DropOff, přesuneme se do EastVictorville, klikneme na caboose a skříňový vůz následně (po přesunu) na marker kde vozy odpojíme (Hesperia Siding 3).

Do DisplayMessage zadáme:

Dobre, odpojili jste vogony, delnici mohou zacit pracovat. Vratte se zpet do Victorville na Siding3.


Vybereme StopAtDestinationInstruction a umístíme kliknutím na lokomotivu. Dvojklikem otevřeme vlastnosti vpravo.

Stiskneme Add (zelené plus), přesuneme se a vybereme VictorvilleSiding3.

Do DisplayMessage zadáme:

Vratili jste se zpet na zakladnu a odstavili lokomotivu.

Protože se jedná o poslední úkol hráče tak do SuccesfullMessage zadáme text:

Gratulujeme. Ukol byl splnen.

Uvedený text se zobrazí jen pokud bylo všechno splněno.

Protože se jedná o poslední úkol hráče tak do UnsuccesfullMessage zadáme text:

No, mohlo to byt lepsi.


Za East Victorville přidáme AI vlak (řízený počítačem) ve složení 2x ES44AC a několik kontejnerových vagónů.

Jedná se o klasický vlak s ikonou Driver, která má nezaškrtnutou volbu PlayerConsist.

Má vybrán cíl Destination na Thorn Siding 2 (připomeňme že AI vlaky musí mít Destination).

Počátek jízdy je na 10:00.

Typ vlaku je Standard Cargo (určuje upřednostňování při stavění vlakové cesty počítačem).

Vlaky řízené počítačem je třeba pečlivě promyšlet. Pokud do sebe AI vlaky narazí (stačí poslat dva vlaky do stejného cíle) tak mise končí. Oblíbeným cílem AI mohou být portály, tam vlaky mizí a může jich tam směřovat více za sebou.

Vlak AI neumí připojovat a odpojovat vagóny - lokomotiva zastaví, nic se neprovede a pokračuje - je to hlášená chyba v RS.


Následná úprava mise je možná přes volbu Edit v sekci Scenario.

Volba Play pak misi spustí a volba Continue umožní pokračovat v pozastavené (a uložené) misi.

Pokud se na vybrané misi stiskne DELETE je po potvrzení mise smazána.


Nyní tedy máme misi hotovou, potřebujeme ji ale vyexportovat z našeho vývojového počítače, aby si ji mohli zahrát i jiní.

K tomu potřebujeme vědět unikátní identifátor tratě a mise. Já postupoval tak, že jsem v souboru routes.xml našel text "San Bernardino" a nad ním byl UUID pro trať Cajon Pass. V adresáři routes jsem pak v adresáři odpovídajícímu danému UUID v podadresáři "scenarios" našel časově poslední adresář. A to bylo UUID mise.

Možná existuje jednodušší postup.

V Pack Creatoru (součást DeveloperTools v menu pod Tools) se totiž vybírá trať a mise v levém okně právě přes UUID. Vybraná mise se přenese stiskem Add do pravého okna a následně se soubor pojmenuje (bez přípony) a zvolí se místo uložení (např. plocha). Výsledkem je "rpk" soubor, který je možné umístit například na web.


Tady je výsledek ServisniZasah-CajonPass.rpk (9kB). Protože se ale jedná o americkou misi, k jeho provozu ale musíte mít buď Official Expansion Pack nebo RailSimulator US Edition.


(c) 2008 Leoš Urban