ehem. OMSI - Forum

Dieses Forum wurde geschlossen. Das neue Forum befindet sich auf www.omnibussimulator.de/forum !
 
StartseiteStartseite  FAQFAQ  SuchenSuchen  MitgliederMitglieder  NutzergruppenNutzergruppen  AnmeldenAnmelden  LoginLogin  

Teilen | 
 

 Uhrzeit anzeigen in dem IBIS 2

Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach unten 
AutorNachricht
Gräf&Steyr

avatar

Anzahl der Beiträge : 761
Anmeldedatum : 13.04.11
Alter : 18
Ort : Wien - Donaustadt

BeitragThema: Uhrzeit anzeigen in dem IBIS 2   Sa 23 Apr - 15:27

Hallo,
da mich das Thema, wo diskutiert wurde ob es geht die Zeit in der Innenanzeige des D92 zu zeigen, interressiert hat habe ich mich einmal am scripten ausprobiert. (auch wenn der folgenden bestimmt falsch ist, ich habe gerade so viel Ahnung vom scripten, wie ein Pinguin vom fliegen Wink )
Also was ist an diesem Script falsch, und was muss ich ändern um zu testen ob es funktioniert?
Code:
{macro:IBIS_LCD-refresh}

'Formatierung der D92-Innenanzeige

   (L.L.IBIS_LCD-zeile) 1 =
   (L.L.IBIS_busstop_index) 2 (M.V.GetBusstopString) $length 0 > &&
   {if}
      (L.L.IBIS_LCD-zeile)
      (L.L.IBIS_busstop_index) 2 (M.V.GetBusstopString)
      (S.$.IBIS_cabindisplay)   
   {else}
      (L.L.IBIS_LCD-zeile)
      (L.L.IBIS_busstop_index) 1 (M.V.GetBusstopString)
      (S.$.IBIS_cabindisplay)
       
        {else}
                (L.L.IBIS_LCD-zeile)
                (L.L.IBIS_mode) 
                (S.$.IBIS_cabindisplay)       
 
   {endif}
{end}



{macro:IBIS_Zahlentasten}
   s0
   (L.L.elec_busbar_main)
   {if}
      (L.L.IBIS_mode) 1 = (L.L.IBIS_input_count) 5 < &&
      (L.L.IBIS_mode) 2 = (L.L.IBIS_input_count) 2 < && ||
      (L.L.IBIS_mode) 3 = (L.L.IBIS_input_count) 3 < && ||
      {if}
         (L.L.IBIS_input) 10 * l0 + (S.L.IBIS_input)
         (L.L.IBIS_input_count) 1 + (S.L.IBIS_input_count)
         (T.L.ev_IBIS_piep)
      {else}
         l0 0 =
         {if}
            9 (S.L.IBIS_mode)
            (T.L.ev_IBIS_piep)
         {endif}
      {endif}
   {endif}
{end}

{macro:IBIS_SetRoute}

' Macro setzt den Routeindex auf den Wert von l1 und führt die nötigen Schritte aus

' Wenn gültig, dann übernehmen:
   l1 (S.L.IBIS_RouteIndex)
' Finden des zugehörigen Ziel-Index':
   (M.V.GetRouteTerminusIndex) (S.L.IBIS_TerminusIndex)
' Finden des zugehörigen Ziel-Codes:
   (M.V.GetTerminusCode) (S.L.IBIS_TerminusCode)
' Aktualisieren des Zielschild-Textes:
   (M.L.IBIS_RefreshTerminusText)
' Ziel anzeigen:
   8 (S.L.IBIS_mode)
' Uhrzeit anzeigen:
        9 (S.L.IBIS_mode9)

' Falls es entweder ein 500, ein 800 oder 900-Code ist, dann bitte beim Complex-Code eine 28 (M), eine 36 (X) bzw. 04 (N) verwenden:
   (L.L.IBIS_LinieKurs) s2 100 / trunc s3
   l3 5 =
   {if}
      l2 100 * 28 (S.L.IBIS_Linie_Suffix) + (S.L.IBIS_Linie_Complex)
   {endif}
   l3 8 =
   {if}
      l2 100 * 36 (S.L.IBIS_Linie_Suffix) + (S.L.IBIS_Linie_Complex)
   {endif}
   l3 9 =
   {if}
      l2 100 * 04 (S.L.IBIS_Linie_Suffix) + (S.L.IBIS_Linie_Complex)
   {endif}
   (M.L.IBIS_SetComplexLineString)

' Entwerter-Busstop-Offset festlegen (pseudo-Zufall aus Linien-Code und Route-Index):

   (L.L.IBIS_LinieKurs) 100 * (L.L.IBIS_RouteIndex) + 10000 * sin 10 * 15 + trunc (S.L.IBIS_busstop_offset)

{end}

{macro:IBIS_RefreshTerminusText}
   (L.L.IBIS_TerminusIndex) 0 (M.V.GetTerminusString) (S.$.IBIS_terminus_name)
{end}

{macro:IBIS_SetComplexLineString}
'Linie/Kurs:
   (L.L.IBIS_LinieKurs) s0 0 = !
   {if}
      l0 "03" $IntToStrEnh
   {else}
      "  "
   {endif}
'Linien-Suffix:
   (L.L.IBIS_Linie_Suffix) s0 0 = !
   {if}
      l0 "02" $IntToStrEnh $+
   {else}
           "  " $+
   {endif}
   (S.$.IBIS_Complex_Line)
{end}

{macro:IBIS_mode}
'Uhrzeit anzeigen:
        (L.L.IBIS_mode) 8 =
      {if}
         (L.$.IBIS_terminus_name) 16 $SetLengthL
      {else}
      (L.L.IBIS_mode) 9 =
      {if}
         "13.11.84  01:21"
      
         (L.S.Day) "02" $IntToStrEnh "." $+
      
         (L.S.Month) "02" $IntToStrEnh $+ "." $+
      
         (L.S.Year) $IntToStr 2 $SetLengthR $+ "  " $+
      
         (L.S.Time) 3600 / s0 trunc s1 "02" $IntToStrEnh $+ ":" $+
                       
                        (L.S.Time) 3600 / s0 trunc s1 "01" $IntToStrEnh $+
      {if}   
                        l0 l1 - 60 * trunc "02" $IntToStrEnh $+
                {endif}
                (S.$.IBIS_mode)

{end}
     



Zuletzt von NG235M18 Fan am Sa 23 Apr - 17:27 bearbeitet; insgesamt 1-mal bearbeitet
Nach oben Nach unten
Benutzerprofil anzeigen http://omnibussimulator-addon-wien.de.tl/Startseite.htm
Janniboy

avatar

Anzahl der Beiträge : 2837
Anmeldedatum : 09.02.10
Alter : 22
Ort : Koblenz

BeitragThema: Re: Uhrzeit anzeigen in dem IBIS 2   Sa 23 Apr - 16:31

Verschoben in den Skriptbereich.
Nach oben Nach unten
Benutzerprofil anzeigen http://www.jan-kiesewalter.de
Gräf&Steyr

avatar

Anzahl der Beiträge : 761
Anmeldedatum : 13.04.11
Alter : 18
Ort : Wien - Donaustadt

BeitragThema: Re: Uhrzeit anzeigen in dem IBIS 2   Sa 23 Apr - 17:42

Ich habe es geschafft wieder normal zu spielen, aber dafür wird noch immer nicht die Uhrzeit angezeigt Evil or Very Mad
Hier ein Ausschnitt aus der IBIS-2.osc (oder gehört das in die IBIS.osc?)
Code:
{macro:IBIS_Zahlentasten}
   s0
   (L.L.elec_busbar_main)
   {if}
      (L.L.IBIS_mode) 1 = (L.L.IBIS_input_count) 5 < &&
      (L.L.IBIS_mode) 2 = (L.L.IBIS_input_count) 2 < && ||
      (L.L.IBIS_mode) 3 = (L.L.IBIS_input_count) 3 < && ||
      {if}
         (L.L.IBIS_input) 10 * l0 + (S.L.IBIS_input)
         (L.L.IBIS_input_count) 1 + (S.L.IBIS_input_count)
         (T.L.ev_IBIS_piep)
      {else}
         l0 0 =
         {if}
            9 (S.L.IBIS_mode)
            (T.L.ev_IBIS_piep)
         {endif}
      {endif}
   {endif}
{end}

{macro:IBIS_SetRoute}

' Macro setzt den Routeindex auf den Wert von l1 und führt die nötigen Schritte aus

' Wenn gültig, dann übernehmen:
   l1 (S.L.IBIS_RouteIndex)
' Finden des zugehörigen Ziel-Index':
   (M.V.GetRouteTerminusIndex) (S.L.IBIS_TerminusIndex)
' Finden des zugehörigen Ziel-Codes:
   (M.V.GetTerminusCode) (S.L.IBIS_TerminusCode)
' Aktualisieren des Zielschild-Textes:
   (M.L.IBIS_RefreshTerminusText)
' Ziel anzeigen:
   8 (S.L.IBIS_mode)
' Uhrzeit anzeigen:
        9 (M.L.IBIS_mode)

' Falls es entweder ein 500, ein 800 oder 900-Code ist, dann bitte beim Complex-Code eine 28 (M), eine 36 (X) bzw. 04 (N) verwenden:
   (L.L.IBIS_LinieKurs) s2 100 / trunc s3
   l3 5 =
   {if}
      l2 100 * 28 (S.L.IBIS_Linie_Suffix) + (S.L.IBIS_Linie_Complex)
   {endif}
   l3 8 =
   {if}
      l2 100 * 36 (S.L.IBIS_Linie_Suffix) + (S.L.IBIS_Linie_Complex)
   {endif}
   l3 9 =
   {if}
      l2 100 * 04 (S.L.IBIS_Linie_Suffix) + (S.L.IBIS_Linie_Complex)
   {endif}
   (M.L.IBIS_SetComplexLineString)

' Entwerter-Busstop-Offset festlegen (pseudo-Zufall aus Linien-Code und Route-Index):

   (L.L.IBIS_LinieKurs) 100 * (L.L.IBIS_RouteIndex) + 10000 * sin 10 * 15 + trunc (S.L.IBIS_busstop_offset)

{end}

{macro:IBIS_RefreshTerminusText}
   (L.L.IBIS_TerminusIndex) 0 (M.V.GetTerminusString) (S.$.IBIS_terminus_name)
{end}

{macro:IBIS_SetComplexLineString}
'Linie/Kurs:
   (L.L.IBIS_LinieKurs) s0 0 = !
   {if}
      l0 "03" $IntToStrEnh
   {else}
      "  "
   {endif}
'Linien-Suffix:
   (L.L.IBIS_Linie_Suffix) s0 0 = !
   {if}
      l0 "02" $IntToStrEnh $+
   {else}
           "  " $+
   {endif}
   (S.$.IBIS_Complex_Line)
{end}

{macro:IBIS_mode}
'Uhrzeit anzeigen:
        9 (L.L.IBIS_mode) =
      {if}
                      l0 l1 - 60 * trunc "02" $IntToStrEnh $+
                {else}                 

                  "13.11.84  01:21"
      
         (L.S.Day) "02" $IntToStrEnh "." $+
      
         (L.S.Month) "02" $IntToStrEnh $+ "." $+
      
         (L.S.Year) $IntToStr 2 $SetLengthR $+ "  " $+
      
         (L.S.Time) 3600 / s0 trunc s1 "02" $IntToStrEnh $+ ":" $+
                       
                        (L.S.Time) 3600 / s0 trunc s1 "02" $IntToStrEnh $+
      
                {endif}
                (S.$.IBIS_terminus_name)

{end}
     

Nach oben Nach unten
Benutzerprofil anzeigen http://omnibussimulator-addon-wien.de.tl/Startseite.htm
Gräf&Steyr

avatar

Anzahl der Beiträge : 761
Anmeldedatum : 13.04.11
Alter : 18
Ort : Wien - Donaustadt

BeitragThema: Re: Uhrzeit anzeigen in dem IBIS 2   So 24 Apr - 8:29

Bitte ich brauche eure Hilfe! Crying or Very sad
Was stimmt an dem Script nicht? Es kommt nämlich immer die Fehlermedlung "L.L.IBIS_LCD-zeile" ist kein gültiger Gleitkommawert"(?) und dann noch Zugriffsverweigerung.
Code:
'##############
'IBIS Script
'##############

'80s style IBIS (Integrated Board Information System)

'(c) 15.04.2009 Rüdiger Hülsmann
'(c) 17.01.2011 Marcel Kuhnt

'Script Version: 1.1
'Omsi release: 1.0

'Needs:
'- Cockpit (Batterietrennschalter)
'- Door (Haltestellenbremse)

'Revision History:
'- Marcel Kuhnt      Main Functions Added         12.06.2009
'- Marcel Kuhnt      Removed Matrix show,         09.07.2009
'         completed Pax Info,
'         Debugging
'- Marcel Kuhnt      Changed Logic showing         14.10.2009
'         Terminus every time,
'         Date & Time mode,
'         Enwerter
'- Marcel Kuhnt      Added station announcements      09.05.2010
'- Rüdiger Hülsmann   Added interior busstop display      08.12.2010
'- Marcel Kuhnt      Reworked busstop display for
'         new depot file system         10.12.2010
'- Rüdiger Hülsmann   D92 display flicker debugged      25.12.2010
'- Marcel Kuhnt      Don't show busstops if no route      07.01.2011
'- Marcel Kuhnt      9xx00 => 9xx04 instead of 9xx35!   17.01.2011
'- Rüdiger Hülsmann   Station announcements deactivated
'         (only IBIS-2)            24.01.2011
'- Rüdiger Hülsmann   blink bug removed         26.01.2011

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

'IBIS-Modi:

'   0:   Normal/Haltestellenanzeige
'   1:   Linie/Kurs-Eingabe
'   2:   Routen-Eingabe
'   3:   Ziel-Eingabe
'   4:   Error "Falsche Route"
'   5:   Debug: show Terminus-Matrix
'   6:   Error "Falsches Ziel"
'   7:   Debug: show Line-Matrix
'   8:   Ziel im IBIS anzeigen
'   9:   Datum und Uhrzeit


'----------------------
'   Trigger
'----------------------

{trigger:IBIS_setmode_linie_kurs}

   (L.L.elec_busbar_main)
   {if}
      0 (S.L.IBIS_input) (S.L.IBIS_input_count)
      1 (S.L.IBIS_mode)
      (T.L.ev_IBIS_piep)
   {endif}
   
{end}

{trigger:IBIS_setmode_route}

   (L.L.elec_busbar_main)
   {if}
      0 (S.L.IBIS_input) (S.L.IBIS_input_count)
      2 (S.L.IBIS_mode)
      (T.L.ev_IBIS_piep)
   {endif}
   
{end}

{trigger:IBIS_setmode_ziel}

   (L.L.elec_busbar_main)
   {if}
      0 (S.L.IBIS_input) (S.L.IBIS_input_count)
      3 (S.L.IBIS_mode)
      (T.L.ev_IBIS_piep)
   {endif}
   
{end}

{trigger:IBIS_eingabe}

   (L.L.elec_busbar_main)
   {if}
'***********************
' Eingabe Linie/Kurs:
'***********************
      (L.L.IBIS_mode) 1 =
      {if}
         0 (S.L.IBIS_mode)
         (T.L.ev_IBIS_piep)

' Input teilen...

         (L.L.IBIS_input) s0 (S.L.IBIS_Linie_Complex)

         100 / trunc

         (S.L.IBIS_LinieKurs)

         l0 100 %

         (S.L.IBIS_Linie_Suffix)

'ANNAX-Test:
'         7 (S.L.IBIS_mode)

' Entwerter umstellen:
         (T.L.ev_IBIS_entwerter)
         (M.L.IBIS_SetComplexLineString)

      {else}
'***********************
' Eingabe Route:
'***********************
      (L.L.IBIS_mode) 2 =
      {if}
         (L.L.IBIS_input) s0 (S.L.IBIS_Route)

' Das Folgende soll künftig erst nach "Route" gemacht werden!
         (L.L.IBIS_LinieKurs) 100 * l0 + (M.V.GetRouteIndex) s1
         0 <
         {if}
' Falls kleiner 0, also -1, dann fehlerhaft, dann nicht übernehmen sondern Fehlermeldung ausgeben:
            4 (S.L.IBIS_mode)
'      Blinker aktivieren:
            1 (S.L.IBIS_BlinkOn) (S.L.IBIS_BlinkInitial)
            (L.S.GetTime) (S.L.IBIS_BlinkTimer)
'      Fehler-piepen
            (T.L.ev_IBIS_pieperror)
         {else}
            (T.L.ev_IBIS_piep)
            (M.L.IBIS_SetRoute)
' Bushaltestellen zurücksetzen:
            0 (S.L.IBIS_busstop)         
            (M.L.IBIS_RefreshBusstop)

'ANNAX-Test:
'            7 (S.L.IBIS_mode)

            8 (S.L.IBIS_mode)

' Entwerter umstellen:
            (T.L.ev_IBIS_entwerter)
            (L.L.IBIS_busstop_entwerter_soll) (S.L.IBIS_busstop_entwerter_ist)
         {endif}
      {else}
'***********************
' Eingabe Ziel:
'***********************
      (L.L.IBIS_mode) 3 =
      {if}
' Eingabe ist der Terminus-Code
         (L.L.IBIS_input) (S.L.IBIS_TerminusCode)
' Daraus wird noch der Terminus-Index generiert:
         (M.V.GetTerminusIndex) s0
         0 <
         {if}
' Falls kleiner 0, also -1, dann fehlerhaft, dann nicht übernehmen sondern Fehlermeldung ausgeben:
            6 (S.L.IBIS_mode)
'      Blinker aktivieren:
            1 (S.L.IBIS_BlinkOn) (S.L.IBIS_BlinkInitial)
            (L.S.GetTime) (S.L.IBIS_BlinkTimer)
'      Fehler-piepen
            (T.L.ev_IBIS_pieperror)
         {else}
            8 (S.L.IBIS_mode)
            (T.L.ev_IBIS_piep)
            l0 (S.L.IBIS_TerminusIndex)
            (M.L.IBIS_RefreshTerminusText)
'ANNAX-Test:
'            5 (S.L.IBIS_mode)
         {endif}
      {else}
'***********************
' Eingabe Fehler/Debug:
'***********************
      (L.L.IBIS_mode) 4 =
      (L.L.IBIS_mode) 5 = ||
      (L.L.IBIS_mode) 6 = ||
      (L.L.IBIS_mode) 7 = ||
      {if}
         0 (S.L.IBIS_mode)
         (T.L.ev_IBIS_piep)
      {endif}
      {endif}
      {endif}
      {endif}
   {endif}
   
{end}

{trigger:IBIS_1}
   1 (M.L.IBIS_Zahlentasten)
{end}


{trigger:IBIS_2}
   2 (M.L.IBIS_Zahlentasten)
{end}

{trigger:IBIS_3}
   3 (M.L.IBIS_Zahlentasten)
{end}

{trigger:IBIS_4}
   4 (M.L.IBIS_Zahlentasten)
{end}

{trigger:IBIS_5}
   5 (M.L.IBIS_Zahlentasten)
{end}

{trigger:IBIS_6}
   6 (M.L.IBIS_Zahlentasten)
{end}

{trigger:IBIS_7}
   7 (M.L.IBIS_Zahlentasten)
{end}

{trigger:IBIS_8}
   8 (M.L.IBIS_Zahlentasten)
{end}

{trigger:IBIS_9}
   9 (M.L.IBIS_Zahlentasten)
{end}

{trigger:IBIS_0}
   0 (M.L.IBIS_Zahlentasten)
{end}

{trigger:IBIS_loeschen}
   
   (L.L.elec_busbar_main)
   {if}
      (T.L.ev_IBIS_piep)
      0 (S.L.IBIS_mode)
   {endif}
{end}

{trigger:IBIS_vor}
   (L.L.elec_busbar_main) (L.L.IBIS_mode) s0 0 = l0 8 = || &&
   {if}
      (L.L.IBIS_busstop) 1 + (S.L.IBIS_busstop)
      (M.L.IBIS_RefreshBusstop)
      (T.L.ev_IBIS_piep)

'      Nullsetzen des Timers für den Zeilenwechsel der LCD-Innenanzeige
      0 (S.L.IBIS_LCD-zeilentimer) (S.L.IBIS_LCD-zeile)
      (M.L.IBIS_LCD-refresh)
   {endif}
{end}

{trigger:IBIS_vor_stumm}
   (L.L.elec_busbar_main) (L.L.IBIS_mode) s0 0 = l0 8 = || &&
   {if}
      (L.L.IBIS_busstop) 1 + (S.L.IBIS_busstop)
      (M.L.IBIS_RefreshBusstop)
      (T.L.ev_IBIS_piep)
'      Nullsetzen des Timers für den Zeilenwechsel der LCD-Innenanzeige
      0 (S.L.IBIS_LCD-zeilentimer) (S.L.IBIS_LCD-zeile)
      (M.L.IBIS_LCD-refresh)
   {endif}
{end}

{trigger:IBIS_rueck}
   (L.L.elec_busbar_main) (L.L.IBIS_mode) s0 0 = l0 8 = || &&
   {if}
      (L.L.IBIS_busstop) 0 > &&
      {if}
         (L.L.IBIS_busstop) 1 - (S.L.IBIS_busstop)
         (M.L.IBIS_RefreshBusstop)
'         Nullsetzen des Timers für den Zeilenwechsel der LCD-Innenanzeige
         0 (S.L.IBIS_LCD-zeilentimer) (S.L.IBIS_LCD-zeile)
         (M.L.IBIS_LCD-refresh)
      {endif}
      (T.L.ev_IBIS_piep)

   {endif}
{end}

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

{macro:IBIS_init}
   "    " (S.$.IBIS_Complex_Line)
   -1 (S.L.IBIS_RouteIndex)
{end}


'----------------------
'   Frame
'----------------------

{macro:IBIS_frame}
   


   (L.L.elec_busbar_main)
   {if}

'----------------
'Anfangsmelodie
      (L.L.IBIS_energy_last) !
      {if}
         (T.L.ev_IBIS-startupsound)
         0 (S.L.IBIS_mode)
      {endif}

'----------------
'Blinker laufen lassen:

      (L.L.IBIS_BlinkTimer) s0 0 <
      {if}
         (L.S.GetTime) (S.L.IBIS_BlinkTimer) s0
      {endif}

' Wenn Zeit abgelaufen:
      (L.S.GetTime) l0 - s0
      1.2 > (L.L.IBIS_BlinkInitial) && l0 0.833 > ||
      {if}
         (L.L.IBIS_BlinkOn) ! (S.L.IBIS_BlinkOn)
         0 (S.L.IBIS_BlinkInitial)
         (L.S.GetTime) (S.L.IBIS_BlinkTimer)
      {endif}



'----------------
'Entwerter-Weiterschaltung:
      (L.L.IBIS_busstop_entwerter_ist) (L.L.IBIS_busstop_entwerter_soll) = ! (L.L.bremse_halte) &&
      {if}
         (L.L.IBIS_busstop_entwerter_soll) (S.L.IBIS_busstop_entwerter_ist)
         (T.L.ev_IBIS_entwerter_weiter)
      {endif}


'----------------
'Display-Darstellung:
      
      (L.L.IBIS_mode) 1 =
      {if}
         "LINIE/KURS:"
         (L.L.IBIS_input_count) 0 =
         {if}
            (L.$.IBIS_Complex_Line) $+
         {else}
            " " 5 (L.L.IBIS_input_count) - $* $+ (L.L.IBIS_input) "0" (L.L.IBIS_input_count) $IntToStr $+ $IntToStrEnh $+
         {endif}
      {else}
      (L.L.IBIS_mode) 2 =
      {if}
         "ROUTE        :" " " 2 (L.L.IBIS_input_count) - $* $+ (L.L.IBIS_input) "0" (L.L.IBIS_input_count) $IntToStr $+ $IntToStrEnh $+
      {else}
      (L.L.IBIS_mode) 3 =
      {if}
         "ZIEL        :" " " 3 (L.L.IBIS_input_count) - $* $+ (L.L.IBIS_input) "0" (L.L.IBIS_input_count) $IntToStr $+ $IntToStrEnh $+
      {else}
      (L.L.IBIS_mode) 4 =
      {if}
         (L.L.IBIS_BlinkOn)
         {if}
            " FALSCHE EINGABE!  "
         {else}
            ""
         {endif}
      {else}
      (L.L.IBIS_mode) 6 =
      {if}
         (L.L.IBIS_BlinkOn)
         {if}
            " FALSCHE EINGABE!  "
         {else}
            ""
         {endif}
      {else}
'Testweise den Inhalt der Annax anzeigen:
'      (L.L.IBIS_mode) 5 =
'      {if}
'         (L.$.Matrix_Right)
'      {else}
'Testweise den Inhalt der Linien-Annax anzeigen:
'      (L.L.IBIS_mode) 7 =
'      {if}
'         "--" (L.$.Matrix_Nr) $+ "--" $+ 12 $SetLengthL 16 $SetLengthR
'      {else}
'Anzeigen des Zielschild-Textes auf dem IBIS:
      (L.L.IBIS_mode) 8 =
      {if}
         (L.$.IBIS_terminus_name) 16 $SetLengthL
      {else}
      (L.L.IBIS_mode) 9 =
      {if}
'         "13.11.84  01:21"

'      Tag:
         (L.S.Day) "02" $IntToStrEnh "." $+
'      Monat:
         (L.S.Month) "02" $IntToStrEnh $+ "." $+
'      Jahr:
         (L.S.Year) $IntToStr 2 $SetLengthR $+ "  " $+
'      Stunden:
         (L.S.Time) 3600 / s0 trunc s1 "02" $IntToStrEnh $+ ":" $+
'      Minuten:
         l0 l1 - 60 * trunc "02" $IntToStrEnh $+



'Testweise den Inhalt einer Variable anzeigen:
'      (L.$.act_busstop) 16 $SetLengthL


         16 $SetLengthL
      {else}
         (L.$.IBIS_busstop_name) 16 $SetLengthL
      {endif}
      {endif}
'      {endif}
'      {endif}
      {endif}
      {endif}
      {endif}
      {endif}
      {endif}

      "@" $+

'Linie/Kurs:
      (L.$.IBIS_Complex_Line) $+
'Route:
      (L.L.IBIS_Route) "02" $IntToStrEnh $+ " " $+
'Terminus:
      (L.L.IBIS_TerminusCode) "03" $IntToStrEnh $+
      " " $+
'Zone / Entwerter:
      (L.L.IBIS_busstop_entwerter_ist) " 3" $IntToStrEnh $+

      (L.L.IBIS_Route) 2 % 0.5 >
      {if}
         "A" $+
      {else}
         "B" $+
      {endif}
   {else}
      "" (S.$.IBIS) (S.$.IBIS_cabindisplay)
   {endif}

   (S.$.IBIS)

'Omsi sagen, dass die Strings-Ausgaben aktualisiert werden sollen:
   1 (S.L.Refresh_Strings)


'----------------
'Microphon-Taster:
   (L.L.Snd_Microphone) (L.L.IBIS_LastMicro) ! &&
   {if}
      (L.L.IBIS_busstop) 1 + (S.L.IBIS_busstop)
      (M.L.IBIS_RefreshBusstop)

'      Nullsetzen des Timers für den Zeilenwechsel der LCD-Innenanzeige
      0 (S.L.IBIS_LCD-zeilentimer) (S.L.IBIS_LCD-zeile)
      (M.L.IBIS_LCD-refresh)
   {endif}
   (L.L.Snd_Microphone) (S.L.IBIS_LastMicro)

'----------------
'Last energy:
   (L.L.elec_busbar_main) (S.L.IBIS_energy_last)

'----------------
'LCD-Anzeigetimer hochlaufen lassen
   (L.L.IBIS_LCD-zeilentimer) (L.S.Timegap) + (S.L.IBIS_LCD-zeilentimer)
   1.5 >
   (L.L.elec_busbar_main) &&
   {if}
      (L.L.IBIS_LCD-zeile) ! (S.L.IBIS_LCD-zeile)
      0 (S.L.IBIS_LCD-zeilentimer)
      (M.L.IBIS_LCD-refresh)
   {endif}





{end}

'----------------------
'   Macros
'----------------------

{macro:IBIS_RefreshBusstop}

   (L.L.IBIS_RouteIndex) 0 <
   {if}
      "" (S.$.act_busstop)
   {else}
   (L.L.IBIS_RouteIndex) (M.V.GetBusstopCount) (L.L.IBIS_busstop) <=
   {if}
'Wenn der Bushaltestellenindex größer oder gleich der Anzahl ist und somit zu groß (der Bushaltestellenindex ist wie alle Indizes nullbasiert),
'dann wechsele automatisch auf die Gegenroute, sofern der Index 01 oder 02 ist und der jeweilige andere Index existiert. Sonst belasse die Route.
      0 (S.L.IBIS_busstop)
' Entwerter umstellen:
      (T.L.ev_IBIS_entwerter)
      (L.L.IBIS_busstop_entwerter_soll) (S.L.IBIS_busstop_entwerter_ist)

      (L.L.IBIS_Route) s5
      2 % 0.5 >
      {if}
         l5 1 + s6
      {else}
         l5 1 - s6
      {endif}

'Suche den Routeindex:

      (L.L.IBIS_LinieKurs) 100 * l6 + (M.V.GetRouteIndex) s1
      0 >=
      {if}
'Wenn gültig, dann wechsele:
         (M.L.IBIS_SetRoute)
         l6 (S.L.IBIS_Route)
      {endif}
   {else}
      0 (S.L.IBIS_mode)
   {endif}
   {endif}

'Setzen der String-Variable "act_busstop" für die OMSI-interne Berechnung und daraus Ableitung des "globalen" Haltestellenindexes:

   (L.L.IBIS_RouteIndex) (L.L.IBIS_busstop) (M.V.GetRouteBusstopIdent) (S.$.act_busstop)
   (M.V.GetBusstopIndex) (S.L.IBIS_busstop_index)


'Sonst zeige die Bushaltestelle
   (S.L.IBIS_busstop_index) 0 (M.V.GetBusstopString)
   (S.$.IBIS_busstop_name)

'Ausrechnen der neuen Entwerterposition:
   (L.L.IBIS_busstop_offset) (L.L.IBIS_busstop) + (S.L.IBIS_busstop_entwerter_soll)


{end}

{macro:IBIS_LCD-refresh}

'Formatierung der D92-Innenanzeige

   (L.L.IBIS_LCD-zeile) 1 =
   (L.L.IBIS_busstop_index) 2 (M.V.GetBusstopString) $length 0 > &&
   {if}
      (L.L.IBIS_LCD-zeile)
      (L.L.IBIS_busstop_index) 2 (M.V.GetBusstopString)
      (S.$.IBIS_cabindisplay)   
   {else}
      (L.L.IBIS_LCD-zeile)
      (L.L.IBIS_busstop_index) 1 (M.V.GetBusstopString)
      (S.$.IBIS_cabindisplay)
        {else}
                (L.L.IBIS_LCD-zeile)
                (L.L.IBIS_LCD-zeilentimer) (L.S.Timegap) + (S.L.IBIS_LCD-zeilentimer)
           2 >
                (S.$.IBIS_cabindisplay)
        {else}
                (L.L.IBIS_LCD-zeile)
                9 (L.L.IBIS_mode)
                (S.$.IBIS_cabindisplay)
        {else}     
 
{end}



{macro:IBIS_Zahlentasten}
   s0
   (L.L.elec_busbar_main)
   {if}
      (L.L.IBIS_mode) 1 = (L.L.IBIS_input_count) 5 < &&
      (L.L.IBIS_mode) 2 = (L.L.IBIS_input_count) 2 < && ||
      (L.L.IBIS_mode) 3 = (L.L.IBIS_input_count) 3 < && ||
      {if}
         (L.L.IBIS_input) 10 * l0 + (S.L.IBIS_input)
         (L.L.IBIS_input_count) 1 + (S.L.IBIS_input_count)
         (T.L.ev_IBIS_piep)
      {else}
         l0 0 =
         {if}
            9 (S.L.IBIS_mode)
            (T.L.ev_IBIS_piep)
         {endif}
      {endif}
   {endif}
{end}

{macro:IBIS_SetRoute}

' Macro setzt den Routeindex auf den Wert von l1 und führt die nötigen Schritte aus

' Wenn gültig, dann übernehmen:
   l1 (S.L.IBIS_RouteIndex)
' Finden des zugehörigen Ziel-Index':
   (M.V.GetRouteTerminusIndex) (S.L.IBIS_TerminusIndex)
' Finden des zugehörigen Ziel-Codes:
   (M.V.GetTerminusCode) (S.L.IBIS_TerminusCode)
' Aktualisieren des Zielschild-Textes:
   (M.L.IBIS_RefreshTerminusText)
' Ziel anzeigen:
   8 (S.L.IBIS_mode)
' Uhrzeit anzeigen:
        9 (M.L.IBIS_mode)

' Falls es entweder ein 500, ein 800 oder 900-Code ist, dann bitte beim Complex-Code eine 28 (M), eine 36 (X) bzw. 04 (N) verwenden:
   (L.L.IBIS_LinieKurs) s2 100 / trunc s3
   l3 5 =
   {if}
      l2 100 * 28 (S.L.IBIS_Linie_Suffix) + (S.L.IBIS_Linie_Complex)
   {endif}
   l3 8 =
   {if}
      l2 100 * 36 (S.L.IBIS_Linie_Suffix) + (S.L.IBIS_Linie_Complex)
   {endif}
   l3 9 =
   {if}
      l2 100 * 04 (S.L.IBIS_Linie_Suffix) + (S.L.IBIS_Linie_Complex)
   {endif}
   (M.L.IBIS_SetComplexLineString)

' Entwerter-Busstop-Offset festlegen (pseudo-Zufall aus Linien-Code und Route-Index):

   (L.L.IBIS_LinieKurs) 100 * (L.L.IBIS_RouteIndex) + 10000 * sin 10 * 15 + trunc (S.L.IBIS_busstop_offset)

{end}

{macro:IBIS_RefreshTerminusText}
   (L.L.IBIS_TerminusIndex) 0 (M.V.GetTerminusString) (S.$.IBIS_terminus_name)
{end}

{macro:IBIS_SetComplexLineString}
'Linie/Kurs:
   (L.L.IBIS_LinieKurs) s0 0 = !
   {if}
      l0 "03" $IntToStrEnh
   {else}
      "  "
   {endif}
'Linien-Suffix:
   (L.L.IBIS_Linie_Suffix) s0 0 = !
   {if}
      l0 "02" $IntToStrEnh $+
   {else}
           "  " $+
   {endif}
   (S.$.IBIS_Complex_Line)
{end}

{macro:IBIS_mode}
'Uhrzeit anzeigen:
        9 (L.L.IBIS_mode) =
      {if}
                      l0 l1 - 60 * trunc "02" $IntToStrEnh $+
                {else}
                      "13.11.84  01:21"

'      Tag:
         (L.S.Day) "02" $IntToStrEnh "." $+
'      Monat:
         (L.S.Month) "02" $IntToStrEnh $+ "." $+
'      Jahr:
         (L.S.Year) $IntToStr 2 $SetLengthR $+ "  " $+
'      Stunden:
         (L.S.Time) 3600 / s0 trunc s1 "02" $IntToStrEnh $+ ":" $+
'              Minuten:
                {endif}
                (S.$.IBIS_mode)
{end}               
Nach oben Nach unten
Benutzerprofil anzeigen http://omnibussimulator-addon-wien.de.tl/Startseite.htm
Gräf&Steyr

avatar

Anzahl der Beiträge : 761
Anmeldedatum : 13.04.11
Alter : 18
Ort : Wien - Donaustadt

BeitragThema: Re: Uhrzeit anzeigen in dem IBIS 2   So 24 Apr - 8:47

Villeicht bin ich zu ungeduldig aber, weiß es den wirklich niemand? Neutral
Nach oben Nach unten
Benutzerprofil anzeigen http://omnibussimulator-addon-wien.de.tl/Startseite.htm
Bremerhaven-Bus-Fan

avatar

Anzahl der Beiträge : 153
Anmeldedatum : 19.02.11
Alter : 21
Ort : Bremerhaven

BeitragThema: Re: Uhrzeit anzeigen in dem IBIS 2   So 24 Apr - 9:39

Hi.

Ich hatte so einen Fehler auch schonmal, als ich etwas an der Matrix gemacht habe.

Dann habe ich die Zeilen gelöscht, und wieder eingefügt. Und... siehe da, es ging.
Manchmal hilft das Wunder! rendeer
Nach oben Nach unten
Benutzerprofil anzeigen
Gräf&Steyr

avatar

Anzahl der Beiträge : 761
Anmeldedatum : 13.04.11
Alter : 18
Ort : Wien - Donaustadt

BeitragThema: Re: Uhrzeit anzeigen in dem IBIS 2   So 24 Apr - 10:13

Hat leider nichts geholfen.
@Rüdiger Hülsmann: Weißt du villeicht was ich ändern muss, damit die Fehlermeldungen nicht kommen und ich testen kann ob der Script funktioniert?
IBIS.osc:
Code:
{macro:IBIS_LCD-refresh}

'Formatierung der D92-Innenanzeige

   (L.L.IBIS_LCD-zeile) 1 =
   (L.L.IBIS_busstop_index) 2 (M.V.GetBusstopString) $length 0 > &&
   {if}
      (L.L.IBIS_LCD-zeile)
      (L.L.IBIS_busstop_index) 2 (M.V.GetBusstopString)
      (S.$.IBIS_cabindisplay)   
   {else}
      (L.L.IBIS_LCD-zeile)
      (L.L.IBIS_busstop_index) 1 (M.V.GetBusstopString)
      (S.$.IBIS_cabindisplay)
        {else}     
 
{end}



{macro:IBIS_Zahlentasten}
   s0
   (L.L.elec_busbar_main)
   {if}
      (L.L.IBIS_mode) 1 = (L.L.IBIS_input_count) 5 < &&
      (L.L.IBIS_mode) 2 = (L.L.IBIS_input_count) 2 < && ||
      (L.L.IBIS_mode) 3 = (L.L.IBIS_input_count) 3 < && ||
      {if}
         (L.L.IBIS_input) 10 * l0 + (S.L.IBIS_input)
         (L.L.IBIS_input_count) 1 + (S.L.IBIS_input_count)
         (T.L.ev_IBIS_piep)
      {else}
         l0 0 =
         {if}
            9 (S.L.IBIS_mode)
            (T.L.ev_IBIS_piep)
         {endif}
      {endif}
   {endif}
{end}

{macro:IBIS_SetRoute}

' Macro setzt den Routeindex auf den Wert von l1 und führt die nötigen Schritte aus

' Wenn gültig, dann übernehmen:
   l1 (S.L.IBIS_RouteIndex)
' Finden des zugehörigen Ziel-Index':
   (M.V.GetRouteTerminusIndex) (S.L.IBIS_TerminusIndex)
' Finden des zugehörigen Ziel-Codes:
   (M.V.GetTerminusCode) (S.L.IBIS_TerminusCode)
' Aktualisieren des Zielschild-Textes:
   (M.L.IBIS_RefreshTerminusText)
' Ziel anzeigen:
   8 (S.L.IBIS_mode)
' Uhrzeit anzeigen:
        9 (S.L.IBIS_mode)

' Falls es entweder ein 500, ein 800 oder 900-Code ist, dann bitte beim Complex-Code eine 28 (M), eine 36 (X) bzw. 04 (N) verwenden:
   (L.L.IBIS_LinieKurs) s2 100 / trunc s3
   l3 5 =
   {if}
      l2 100 * 28 (S.L.IBIS_Linie_Suffix) + (S.L.IBIS_Linie_Complex)
   {endif}
   l3 8 =
   {if}
      l2 100 * 36 (S.L.IBIS_Linie_Suffix) + (S.L.IBIS_Linie_Complex)
   {endif}
   l3 9 =
   {if}
      l2 100 * 04 (S.L.IBIS_Linie_Suffix) + (S.L.IBIS_Linie_Complex)
   {endif}
   (M.L.IBIS_SetComplexLineString)

' Entwerter-Busstop-Offset festlegen (pseudo-Zufall aus Linien-Code und Route-Index):

   (L.L.IBIS_LinieKurs) 100 * (L.L.IBIS_RouteIndex) + 10000 * sin 10 * 15 + trunc (S.L.IBIS_busstop_offset)

{end}

{macro:IBIS_RefreshTerminusText}
   (L.L.IBIS_TerminusIndex) 0 (M.V.GetTerminusString) (S.$.IBIS_terminus_name)
{end}

{macro:IBIS_SetComplexLineString}
'Linie/Kurs:
   (L.L.IBIS_LinieKurs) s0 0 = !
   {if}
      l0 "03" $IntToStrEnh
   {else}
      "  "
   {endif}
'Linien-Suffix:
   (L.L.IBIS_Linie_Suffix) s0 0 = !
   {if}
      l0 "02" $IntToStrEnh $+
   {else}
           "  " $+
   {endif}
   (S.$.IBIS_Complex_Line)
{end}

             

IBIS-2.osc:
Code:
{macro:IBIS_LCD-refresh}

'Formatierung der D92-Innenanzeige

   (L.L.IBIS_LCD-zeile) 1 =
   (L.L.IBIS_busstop_index) 2 (M.V.GetBusstopString) $length 0 > &&
   {if}
      (L.L.IBIS_RouteIndex) 0 >=
      {if}
         (L.L.IBIS_LCD-zeile)
         (L.L.IBIS_busstop_index) 2 (M.V.GetBusstopString)
         (S.$.IBIS_cabindisplay)
      {endif}
   {else}
      (L.L.IBIS_RouteIndex) 0 >=
      {if}
         (L.L.IBIS_LCD-zeile)
         (L.L.IBIS_busstop_index) 1 (M.V.GetBusstopString)
         (S.$.IBIS_cabindisplay)
      {endif}
   {else}
                        (L.L.IBIS_LCD-zeilentimer) (L.S.Timegap) + (S.L.IBIS_LCD-zeilentimer)
                   2 >
                        (S.$.IBUS_cabindisplay)
                {endif}
                        (L.L.IBIS_mode) 9 >=
                {if}
                        (L.L.IBIS_LCD-zeile}
                        (L.L.IBIS_mode) 9
                        (S.$.IBIS_cabindisplay)
              {endif}
      {endif}
{end}



{macro:IBIS_Zahlentasten}
   s0
   (L.L.elec_busbar_main)
   {if}
      (L.L.IBIS_mode) 1 = (L.L.IBIS_input_count) 5 < &&
      (L.L.IBIS_mode) 2 = (L.L.IBIS_input_count) 2 < && ||
      (L.L.IBIS_mode) 3 = (L.L.IBIS_input_count) 3 < && ||
      {if}
         (L.L.IBIS_input) 10 * l0 + (S.L.IBIS_input)
         (L.L.IBIS_input_count) 1 + (S.L.IBIS_input_count)
         (T.L.ev_IBIS_piep)
      {else}
         l0 0 =
         {if}
            9 (S.L.IBIS_mode)
            (T.L.ev_IBIS_piep)
         {endif}
      {endif}
   {endif}
{end}

{macro:IBIS_SetRoute}

' Macro setzt den Routeindex auf den Wert von l1 und führt die nötigen Schritte aus

' Wenn gültig, dann übernehmen:
   l1 (S.L.IBIS_RouteIndex)
' Finden des zugehörigen Ziel-Index':
   (M.V.GetRouteTerminusIndex) (S.L.IBIS_TerminusIndex)
' Finden des zugehörigen Ziel-Codes:
   (M.V.GetTerminusCode) (S.L.IBIS_TerminusCode)
' Aktualisieren des Zielschild-Textes:
   (M.L.IBIS_RefreshTerminusText)
' Ziel anzeigen:
   8 (S.L.IBIS_mode)

' Falls es entweder ein 500, ein 800 oder 900-Code ist, dann bitte beim Complex-Code eine 28 (M), eine 36 (X) bzw. 04 (N) verwenden:
   (L.L.IBIS_LinieKurs) s2 100 / trunc s3
   l3 5 =
   {if}
      l2 100 * 28 (S.L.IBIS_Linie_Suffix) + (S.L.IBIS_Linie_Complex)
   {endif}
   l3 8 =
   {if}
      l2 100 * 36 (S.L.IBIS_Linie_Suffix) + (S.L.IBIS_Linie_Complex)
   {endif}
   l3 9 =
   {if}
      l2 100 * 04 (S.L.IBIS_Linie_Suffix) + (S.L.IBIS_Linie_Complex)
   {endif}
   (M.L.IBIS_SetComplexLineString)

' Entwerter-Busstop-Offset festlegen (pseudo-Zufall aus Linien-Code und Route-Index):

   (L.L.IBIS_LinieKurs) 100 * (L.L.IBIS_RouteIndex) + 10000 * sin 10 * 15 + trunc (S.L.IBIS_busstop_offset)

{end}

{macro:IBIS_RefreshTerminusText}
   (L.L.IBIS_TerminusIndex) 5 (M.V.GetTerminusString) (S.$.IBIS_terminus_name)
{end}

{macro:IBIS_SetComplexLineString}
'Linie/Kurs:
   (L.L.IBIS_LinieKurs) s0 0 = !
   {if}
      l0 "03" $IntToStrEnh
   {else}
      "  "
   {endif}
'Linien-Suffix:
   (L.L.IBIS_Linie_Suffix) s0 0 = !
   {if}
      l0 "02" $IntToStrEnh $+
   {else}
      "  " $+
   {endif}
   (S.$.IBIS_Complex_Line)
{end}
Nach oben Nach unten
Benutzerprofil anzeigen http://omnibussimulator-addon-wien.de.tl/Startseite.htm
Gräf&Steyr

avatar

Anzahl der Beiträge : 761
Anmeldedatum : 13.04.11
Alter : 18
Ort : Wien - Donaustadt

BeitragThema: Re: Uhrzeit anzeigen in dem IBIS 2   So 24 Apr - 14:56

Weiß es den wirklich niemand? Denn ich will wieder OMSI spielen! Crying or Very sad Crying or Very sad Crying or Very sad
Nach oben Nach unten
Benutzerprofil anzeigen http://omnibussimulator-addon-wien.de.tl/Startseite.htm
Fabi

avatar

Anzahl der Beiträge : 1120
Anmeldedatum : 26.04.09
Ort : Norddeutschland

BeitragThema: Re: Uhrzeit anzeigen in dem IBIS 2   So 24 Apr - 14:58

Kann dir leider nicht weiterhelfen, aber an Ostern habe einige Leute noch besseres zu tun, als hier im Forum online zu sein. Wink
Nach oben Nach unten
Benutzerprofil anzeigen
Gräf&Steyr

avatar

Anzahl der Beiträge : 761
Anmeldedatum : 13.04.11
Alter : 18
Ort : Wien - Donaustadt

BeitragThema: Re: Uhrzeit anzeigen in dem IBIS 2   So 24 Apr - 15:00

Fabi schrieb:
Kann dir leider nicht weiterhelfen, aber an Ostern habe einige Leute noch besseres zu tun, als hier im Forum online zu sein. Wink
Glaubst du das habe ich nicht auch? Rolling Eyes
Nach oben Nach unten
Benutzerprofil anzeigen http://omnibussimulator-addon-wien.de.tl/Startseite.htm
Gesponserte Inhalte




BeitragThema: Re: Uhrzeit anzeigen in dem IBIS 2   

Nach oben Nach unten
 
Uhrzeit anzeigen in dem IBIS 2
Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach oben 
Seite 1 von 1
 Ähnliche Themen
-
» Uhrzeit
» [OMSI] MAN Lion´s City - IBIS V2 Touch
» Amazon Aktion: Kauf 3 Games und zahle nur 49,- €
» [PATCH] Das ist er also...
» Werkzeuge gesucht!

Befugnisse in diesem ForumSie können in diesem Forum nicht antworten
ehem. OMSI - Forum :: OMSI-Design (deutsch) :: Scriptprogrammierung-
Gehe zu: