qK0ZIKA.jpgHivatalos Honlap | Hivatalos Fórum | Aerosoft | OMSI 2 Steam-en | OMSI SDK | OMSI+
Spoiler használat | Linkek beillesztése | Videó beszúrása | Képek beszúrása

OMSI The Bus Simulator 1 & 2 Topik


SZABÁLYZAT

Warez, vagy OMSI-hoz szorosan nem kapcsolódó témában látogass el ide:
OMSI 1 & 2 OFF, WAREZ TOPIC

  • MineHeadHun
    #53760
    És a O305 standard rollband_m.osc-je:
    SPOILER! Kattints ide a szöveg elolvasásához!
    '##############
    'Rollband Script
    '##############

    'Rollbandanimation für ein O305-Rollband (Drei Ziffern und Ziel manuell)

    '(c) 20.02.2009 Rüdiger Hülsmann
    '(c) 26.06.2011 Marcel Kuhnt

    'Script Version: 1.6
    'Omsi release: 1.0

    'Needs:
    '- none


    'Revision History:
    '- Marcel Kuhnt 10.08.2009 Added Revision History
    '- Marcel Kuhnt 13.04.2010 Added Line List Script
    '- Rüdiger Hülsmann 11.10.2010 New AI Scheduled trigger
    '- Rüdiger Hülsmann 17.10.2010 line offset added
    '- Marcel Kuhnt 25.01.2011 Reduced error offset
    '- Marcel Kuhnt 03.02.2011 /^\ corrected
    '- Marcel Kuhnt 26.06.2011 Komplettmanuelles Rollband
    '- Marcel Kuhnt 10.09.2011 Rollband-Menüfunktion angepasst
    '- Rüdiger Hülsmann 22.12.2013 Funktionen für Steck- und Seitenschild
    '- Marcel Kuhnt 09.01.2014 Einführung von Unterordnern über Hofdatei-Globalstring 1

    '------------------------------------------------------------------------------------------

    {trigger:bus_rollband_up}
    (L.L.rlbnd_activekurbel) 1 =
    {if}
    (L.L.rlbnd_ln1) (L.S.timegap) 1 / + (S.L.rlbnd_ln1)
    (M.L.rollband_actu)
    {else}
    (L.L.rlbnd_activekurbel) 2 =
    {if}
    (L.L.rlbnd_ln2) (L.S.timegap) 1 / + (S.L.rlbnd_ln2)
    (M.L.rollband_actu)
    {else}
    (L.L.rlbnd_activekurbel) 3 =
    {if}
    (L.L.rlbnd_ln3) (L.S.timegap) 1 / + (S.L.rlbnd_ln3)
    (M.L.rollband_actu)
    {else}
    (L.L.rlbnd_activekurbel) 4 =
    {if}
    (L.L.rlbnd_ziel) (L.S.timegap) 1 / + (S.L.rlbnd_ziel)
    (M.L.rollband_actu)
    {endif}
    {endif}
    {endif}
    {endif}
    {end}

    {trigger:bus_rollband_dn}
    (L.L.rlbnd_activekurbel) 1 =
    {if}
    (L.L.rlbnd_ln1) (L.S.timegap) 1 / - (S.L.rlbnd_ln1)
    (M.L.rollband_actu)
    {else}
    (L.L.rlbnd_activekurbel) 2 =
    {if}
    (L.L.rlbnd_ln2) (L.S.timegap) 1 / - (S.L.rlbnd_ln2)
    (M.L.rollband_actu)
    {else}
    (L.L.rlbnd_activekurbel) 3 =
    {if}
    (L.L.rlbnd_ln3) (L.S.timegap) 1 / - (S.L.rlbnd_ln3)
    (M.L.rollband_actu)
    {else}
    (L.L.rlbnd_activekurbel) 4 =
    {if}
    (L.L.rlbnd_ziel) (L.S.timegap) 1 / - (S.L.rlbnd_ziel)
    (M.L.rollband_actu)
    {endif}
    {endif}
    {endif}
    {endif}
    {end}


    {trigger:bus_rollband_setL1}
    1 (S.L.rlbnd_activekurbel)
    {end}

    {trigger:bus_rollband_setL2}
    2 (S.L.rlbnd_activekurbel)
    {end}

    {trigger:bus_rollband_setL3}
    3 (S.L.rlbnd_activekurbel)
    {end}

    {trigger:bus_rollband_setT}
    4 (S.L.rlbnd_activekurbel)
    {end}


    '****************************************************************
    '** MCQ 24.5.2009 - Trigger für AI-Scheduled-Initialisierung: **
    '****************************************************************

    {trigger:ai_scheduled_settarget}

    'Hier wird das automatische Rollband eingestellt:
    (L.L.AI_target_index) s0 (M.V.GetTerminusCode) s1
    'Wenn der Terminus-Code größer als 1000 ist, dann bitte Steckschild verwenden:
    1000 >
    {if}
    l1 1000 - (S.L.rlbnd_steckschild_index)
    l0 (S.L.rlbnd_steckschild_Termindex)
    'Rollband auf 0:
    0 (S.L.rlbnd_ziel)
    {else}
    l0 (S.L.rlbnd_ziel)
    -1 (S.L.rlbnd_steckschild_Termindex)

    'Wenn der Bitmap-String in Verwendung ist, dann den als Integer interpretieren und Steckschild zusätzlich setzen:
    l0 6 (M.V.GetTerminusString) $StrToFloat s1
    l1 1000 >
    {if}
    l1 1000 - (S.L.rlbnd_steckschild_index)
    l0 (S.L.rlbnd_steckschild_Termindex)
    {endif}

    {endif}
    (M.L.rollband_setsteckschild)


    'Hier werden die Nummernrollbänder eingestellt:

    'Nummern-String holen:


    'Vorgehensweise pro Ziffer: zunächst wird die Ziffer "ausgeschnitten", dann jeweils dubliziert, damit
    'jeweils ein Exemplar der ausgeschnittenen Ziffer im Cache bleibt (die andere geht beim $= verloren)

    '1. Ziffer:

    (L.$.SetLineTo) 1 $SetLengthL $d

    " " $= {if} 1 (S.L.rlbnd_ln1) {endif} $d
    "0" $= {if} 2 (S.L.rlbnd_ln1) {endif} $d
    "1" $= {if} 3 (S.L.rlbnd_ln1) {endif} $d
    "2" $= {if} 4 (S.L.rlbnd_ln1) {endif} $d
    "3" $= {if} 5 (S.L.rlbnd_ln1) {endif} $d
    "4" $= {if} 6 (S.L.rlbnd_ln1) {endif} $d
    "5" $= {if} 7 (S.L.rlbnd_ln1) {endif} $d
    "6" $= {if} 8 (S.L.rlbnd_ln1) {endif} $d
    "7" $= {if} 9 (S.L.rlbnd_ln1) {endif} $d
    "8" $= {if} 10 (S.L.rlbnd_ln1) {endif} $d
    "9" $= {if} 11 (S.L.rlbnd_ln1) {endif} $d
    "/" $= {if} 12.5 (S.L.rlbnd_ln1) {endif} $d
    "E" $= {if} 14 (S.L.rlbnd_ln1) {endif} $d
    "A" $= {if} 15 (S.L.rlbnd_ln1) {endif}
    '2. Ziffer:

    (L.$.SetLineTo) 2 $SetLengthL 1 $SetLengthR $d

    "^" $= {if} 0.5 (S.L.rlbnd_ln2) {endif} $d
    " " $= {if} 1 (S.L.rlbnd_ln2) {endif} $d
    "0" $= {if} 2 (S.L.rlbnd_ln2) {endif} $d
    "1" $= {if} 3 (S.L.rlbnd_ln2) {endif} $d
    "2" $= {if} 4 (S.L.rlbnd_ln2) {endif} $d
    "3" $= {if} 5 (S.L.rlbnd_ln2) {endif} $d
    "4" $= {if} 6 (S.L.rlbnd_ln2) {endif} $d
    "5" $= {if} 7 (S.L.rlbnd_ln2) {endif} $d
    "6" $= {if} 8 (S.L.rlbnd_ln2) {endif} $d
    "7" $= {if} 9 (S.L.rlbnd_ln2) {endif} $d
    "8" $= {if} 10 (S.L.rlbnd_ln2) {endif} $d
    "9" $= {if} 11 (S.L.rlbnd_ln2) {endif} $d
    "E" $= {if} 14 (S.L.rlbnd_ln2) {endif} $d
    "A" $= {if} 15 (S.L.rlbnd_ln2) {endif}
    '3. Ziffer:

    (L.$.SetLineTo) 3 $SetLengthL 1 $SetLengthR $d

    " " $= {if} 1 (S.L.rlbnd_ln3) {endif} $d
    "0" $= {if} 2 (S.L.rlbnd_ln3) {endif} $d
    "1" $= {if} 3 (S.L.rlbnd_ln3) {endif} $d
    "2" $= {if} 4 (S.L.rlbnd_ln3) {endif} $d
    "3" $= {if} 5 (S.L.rlbnd_ln3) {endif} $d
    "4" $= {if} 6 (S.L.rlbnd_ln3) {endif} $d
    "5" $= {if} 7 (S.L.rlbnd_ln3) {endif} $d
    "6" $= {if} 8 (S.L.rlbnd_ln3) {endif} $d
    "7" $= {if} 9 (S.L.rlbnd_ln3) {endif} $d
    "8" $= {if} 10 (S.L.rlbnd_ln3) {endif} $d
    "9" $= {if} 11 (S.L.rlbnd_ln3) {endif} $d
    "\" $= {if} 12.5 (S.L.rlbnd_ln3) {endif} $d
    "E" $= {if} 14 (S.L.rlbnd_ln3) {endif} $d
    "A" $= {if} 15 (S.L.rlbnd_ln3) {endif}


    ' Das ultimative Sahnehäubchen: die drei Rollbänder werden noch zufällig verrutscht...! *ggg*

    11 random 5 - 75 / (L.L.rlbnd_ln1) + (S.L.rlbnd_ln1)
    11 random 5 - 75 / (L.L.rlbnd_ln2) + (S.L.rlbnd_ln2)
    11 random 5 - 75 / (L.L.rlbnd_ln3) + (S.L.rlbnd_ln3)
    11 random 5 - 75 / (L.L.rlbnd_ziel) + (S.L.rlbnd_ziel)

    (M.L.rollband_actu)


    1 (S.L.rlbnd_refresh_seitenschild)

    {end}

    '********************************************************************
    '** MCQ 24.5.2009 - Ende Trigger für AI-Scheduled-Initialisierung **
    '********************************************************************



    '*******************************************
    ' Trigger für Seitenschild

    {trigger:rlbnd_seitenschildklemme_drag}
    (L.S.mouse_y) -300 / (L.L.rlbnd_seitenschildklemme) + (S.L.rlbnd_seitenschildklemme) s0
    l0 0 <
    {if}
    0 (S.L.rlbnd_seitenschildklemme)
    {endif}
    l0 0.7 >
    {if}
    (L.L.rlbnd_seitenschild_refresh) 0 =
    {if}
    1 (S.L.rlbnd_seitenschild_refresh)
    (T.L.ev_fahrertuer_auf)
    (L.$.Rollband_Seitenschild) "" $=
    {if}
    1 (S.L.rlbnd_refresh_seitenschild)
    {else}
    "" (S.$.Rollband_Seitenschild)
    {endif}
    {endif}
    {endif}
    l0 1 >
    {if}
    1 (S.L.rlbnd_seitenschildklemme)
    {endif}
    {end}

    {trigger:rlbnd_seitenschildklemme_off}
    (L.L.rlbnd_seitenschildklemme)
    0.3 >
    {if}
    (T.L.ev_fahrertuer_zu)
    {endif}
    0 (S.L.rlbnd_seitenschildklemme)
    (S.L.rlbnd_seitenschild_refresh)
    {end}

    '*******************************************
    ' Trigger für Steckschild

    {trigger:bus_rollband_change_steckschild}
    (L.L.rlbnd_steckschild_index) 1 + (S.L.rlbnd_steckschild_index)
    1000 + (M.V.GetTerminusIndex) (S.L.rlbnd_steckschild_Termindex)

    (M.L.rollband_setsteckschild)
    (M.L.rollband_refreshIntIndex)
    {end}

    {macro:rollband_setsteckschild}
    (L.L.rlbnd_steckschild_Termindex) s0
    0 >=
    {if}
    l0 6 (M.V.GetTerminusString) (S.$.Rollband_SchildFrnt)
    1 $SetLengthL $StrToFloat 1 max (S.L.rlbnd_steckschild_vis)
    "..\..\Anzeigen\SteckSchilder\" (L.$.Rollband_SchildFrnt) $+ (S.$.Rollband_SchildFrnt)
    {else}
    0 (S.L.rlbnd_steckschild_index) (S.L.rlbnd_steckschild_vis)
    "" (S.$.Rollband_SchildFrnt)
    {endif}
    {end}



    '----------------------
    ' Init
    '----------------------

    {macro:rollband_init}
    0
    (S.L.rlbnd_ln1) (S.L.rlbnd_ln2) (S.L.rlbnd_ln3) (S.L.rlbnd_ziel)
    1 (S.L.rlbnd_activekurbel)
    (M.L.rollband_actu)
    {end}

    {macro:rollband_frame}

    'Aktualisierung der Code-Tafel:

    "Linienlisten\" (L.$.yard) "_RLB.jpg" $+ $+ (S.$.Rollband_Linelist)

    (L.L.rlbnd_refresh_seitenschild)
    {if}
    "..\..\Anzeigen\Seitenschilder\" 2 (M.V.GetDepotStringGlobal) $+ "\" $+ (L.$.SetLineTo) $RemoveSpaces $+ ".bmp" $+ (S.$.Rollband_Seitenschild)
    0 (S.L.rlbnd_refresh_seitenschild)
    {endif}
    {end}


    {macro:rollband_refreshIntIndex}
    (L.L.rlbnd_steckschild_Termindex) s0 0 >=
    l0 0 (M.V.GetTerminusString) "" $= ! &&
    {if}
    l0
    {else}
    (L.L.rlbnd_ziel)
    {endif}
    (S.L.target_index_int)
    {end}

    {macro:rollband_actu}
    (L.L.rlbnd_ln1) trunc 0.001 + (S.L.rlbnd_ln1_bmp)
    /-/ (L.L.rlbnd_ln1) + 2 / (S.L.rlbnd_ln1_trans)

    (L.L.rlbnd_ln2) trunc 0.001 + (S.L.rlbnd_ln2_bmp)
    /-/ (L.L.rlbnd_ln2) + 2 / (S.L.rlbnd_ln2_trans)

    (L.L.rlbnd_ln3) trunc 0.001 + (S.L.rlbnd_ln3_bmp)
    /-/ (L.L.rlbnd_ln3) + 2 / (S.L.rlbnd_ln3_trans)

    (L.L.rlbnd_ziel) (S.L.target_index_int) trunc
    /-/ (L.L.rlbnd_ziel) + (S.L.rlbnd_ziel_trans) 1 - (S.L.rlbnd_ziel_trans_2)

    'Aktualisierung der Strings für das Austauschen der Texturen:
    (L.L.rlbnd_ziel) trunc s0
    "..\..\Anzeigen\Rollband_SD79\" 1 (M.V.GetDepotStringGlobal) $+ "\" $+ (S.$.Rollband_Tex_H)
    l0 4 (M.V.GetTerminusString) $+ (S.$.Rollband_Tex_V)
    (L.$.Rollband_Tex_H) l0 1 + 4 (M.V.GetTerminusString) $+ (S.$.Rollband_Tex_H)
    {end}


    A chtex_rollband.cfg-jébe nem nyúltam bele, mivel olyan mint az SD200-asénak.