Hivatalos 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
-
#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.