TOPlist

Písmena na panelech

Návody týkající se veškeré tvorby do OMSI.

Písmena na panelech

Příspěvekod Dalibor » 14 zář 2015 14:00

Během poslední doby vyšlo několik map (např. Bowdenham, Städtedereick), na kterých jsou vytvořeny linky s písmeny, které nelze v základu přes palubní počítač zobrazit na panelech. V případě Bowdenhamu se jedná např. o linky 52A, 52B, S52, X1, X2... Zde se pokusím vysvětlit jak si upravit scripty, tak aby bylo možné tyto linky zadat přímo přes palubní počítač.

K tomu budeme potřebovat upravit script, který je za toto zodpovědný. Jedná se o soubor Matrix, Matrix_D, Vollmatrix... Pojmenování se může lišit dle konkrétního modelu. Zde se pokusím vysvětlit postup u modelu MAN NL/NG z OMSI 2. K tomu si otevřeme soubor Vollmatrix.osc a najdeme si následující kód:

Kód: Vybrat vše
l4 1 =
{if}
   "E" (L.$.Matrix_Nr) 2 $SetLengthR $+
{endif}
l4 2 =
{if}
   "/^\"
{endif}
...

l4 32 =
{if}
   (L.$.Matrix_Nr) "M" $+
{endif}


Linku vždy zadáváte ve tvaru xxxyy, kde x je číslo linky a y je prefix, který vám zobrazí doplňující písmeno(a). V této části kódu je definováno, který prefix zobrazí jaké písmeno, případně zda je zobrazeno před číslem nebo za ním. Tento kód je tvořen řadou podmínek, kdy se zadaný prefix porovnává s jednotlivými čísly.

Princip se pokusím vysvětlit na následující části kódu:

l4 32 =
{if}
(L.$.Matrix_Nr) "M" $+
{endif}

l4: Toto je proměnná ve které je uložen prefix, který jste zadali do palubního počítače
{if},{endif}: Klíčová slova, vytváří podmínku v kódu
32: Číslo s kterým kód porovnává proměnnou l4, tedy pokud jste zadali do palubního počítače číslo 32, bude script provádět kód uvnitř klíčových slov {if},{endif}

(L.$.Matrix_Nr) "M" $+
Uvnitř {if},{endif} je uvedeno co se zobrazí na panelu
(L.$.Matrix_Nr): Samotné číslo linky, které jste zadali do počítače
"M": Textový řetězec, který se který se přidá k číslu
$+: Příkaz, který spojí poslední dva textové řetězce
Takže v tomto případě se na panelu zobrazí: číslo linky a za ním písmeno M

Takže například po zadání čísla 12332 bude na panelech zobrazena linka 123M
------------------------------------------------------------------------------------------------------
Pokud chcete přidat vlastní písmeno pod některým z prefixů, musíte přidat novou podmínku do kódu. Ve scriptu u MANu NL/NG jsou všechny podmínky pod sebou, takže si najděte poslední a za posledním {endif} vložte následující kód:

l4 # =
{if}
...
{endif}

Kdy za křížek doplňte číslo prefixu, pod nímž se bude písmeno zadávat (takové, které není obsazeno).
Za ... doplňte text, který se zobrazí na panelu.

Pokud chcete mít písmeno za číslem tak bude vypadat následovně (písmeno v uvozovkách si upravte podle potřeby):
(L.$.Matrix_Nr) "A" $+

Pokud chcete mít písmeno před číslem tak následovně:
"A" (L.$.Matrix_Nr) $+

Snad vám tento návod pomůže
Uživatelský avatar
Dalibor
Zasloužilý tvůrce addonů
Zasloužilý tvůrce addonů
 
Příspěvky: 263
Registrován: 12 dub 2011 16:26

Zpět na Návody

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 19 návštevníků

cron