Hallo zusammen,
ich stehe vor einem Problem und weiß leider nicht mehr weiter und hoffe hier auf Schwarmintelligenz - vielleicht hat jemand noch eine Idee oder eine Debuggingmöglichkeit, die ich noch nicht ausprobiert habe im Kopf oder sogar einen Lösungsvorschlag.
Szenario:
Ich baue für das C2-Update an einer neuen AFR4-Software, soweit so gut, bis ich jetzt vor ein Problem gestoßen bin.
Grundlegender Aufbau des Skripts: Ich führe im Frame-Teil des Scripts jeden Frame zuerst das Makro (M.L.AFR4_Modes_Frame) aus, darin läuft dann abhängig von der AFR4_Mode-Variable der entsprechende Modus. Anschließend läuft das (M.L.AFR4_Modes_Change)-Makro, dort wird, wenn die Variable (L.L.AFR4_Mode_Change) größer gleich null ist, der Modus gewechselt. Die AFR4_Mode-Variable wird angepasst, die Script-Texture durch den Befehl (M.V.STNewTex) geleert und das (M.L.AFR4_Modes_Frame)-Makro für die Ausführung des Modus läuft, sowie die Makros für die Buttons, den Text und die Uhrzeit oben rechts. Sofern kein Modus geändert werden soll, wird davon nichts ausgeführt. Damit realisiere ich einen sauberen Moduswechsel, inkl. saubere Anpassung der Script-Texturen.
Problem:
Problematisch ist die Ausführung der Menüs RBL_Umlauf und RBL_Fahrtauswahl_Master. Beide können auf unterschiedlichen Wegen ausgeführt werden und nur einer der beiden Wege ist problematisch.
- Weg 1: AFR4 fährt hoch -> Anmeldung -> Anmeldung beendet -> durch Entfernen der SystemCard (Trigger) öffnet sich die Kurseingabe (Mode Makro) -> Kurs wird eingegeben -> Fahrtauswahl öffnet sich mit Klick auf Enter Button (Trigger)
- Weg 2: AFR4 fährt hoch -> ... -> Kurs ist angenommen, Drucker ist eingerichtet -> Einstellungen -> Schicht-Menü -> Kursauswahl (um Kurseingabe zu öffnen) oder Fahrtauswahl (um Fahrtauswahl_Master zu öffnen), jeweils über Trigger ausgeführt >>> ! FEHLER !
Der Fehler nun im Weg 2 ist, dass der Text beim Laden der Menüs RBL_Umlauf und RBL_Fahrtauswahl_Master in schätzungsweise 80% der Fällen nicht korrekt angezeigt wird, er wird auf der Script-Texture verschoben. Da die Script-Texture relativ groß sein muss, ist der Platz auch vorhanden - ich bekomme jedoch auch manchmal Zugriffsverletzungen, die ich darauf zurückführen würde, dass der Text über den Rand der Script-Texture verschoben werden sollte. Meistens ist der Text entweder um genau 1024px nach rechts verschoben (siehe Bild 1) oder in der Höhe ein bisschen nach oben oder unten verschoben.
Das Interessante dabei ist, dass wenn ich in der Umlaufeingabe einen Kurs über die Tasten eingebe, dass dann der Text in 100% der Fälle wieder korrekt angezeigt wird - es wird das selbe Makro wie bei der Initialisierung des Modes ausgeführt. Bei der Fahrtauswahl ist das genauso, dort ist der Text wieder korrekt, sobald ich die Liste hoch- oder runterdrücke oder ich eine andere Fahrt auswähle (dadurch aktualisiert sich der Text und die selben Makros wie bei der Initialisierung werden ausgeführt).
(Der rote Hintergrund ist der Ausschnitt, welcher auf dem Modell gemappt ist. Die Script-Texture muss aufgrund der verschiedenen Bildschirme und der 2^n Rechnung so groß sein.)
Bild 1: Text wird zuerst rechts exakt 1024px verschoben geschrieben. Nach Auswahl anderer Fahrt und hoch- und runterdrücken der Liste wird der Text durch das selbe Makro korrekt auf die Script-Texture links geschrieben.
Bild 2: Strich (bislang ohne Eingabe) wird zuerst rechts exakt 1024px verschoben gemalt. Ein Eintippen von Zahlen wird Text mit entsprechend angepasstem Strich korrekt geschrieben.
Erkenntnisse:
1. Das selbe Makro jeweils zum Schreiben des Textes wird verwendet, der Menüwechsel wird ebenfalls immer über das selbe Makro initiiert. Lediglich das Setzen des Wertes für das neue Menü (Variable (S.L.AFR4_Mode_Change) für den nächsten Frame wird von einem Mode-Makro (Weg 1) und von einem Trigger (Weg 2) gesetzt. - Sollte meiner Einschätzung nach kein Problem darstellen, da das nur das Setzen der Variable ist.
2. Doppelte Ausführung des Text-Makros (da es bei der Initialisierung nicht funktioniert, sobald der Text durch eine Interaktion neu geschrieben wird, aber ja schon) funktioniert ebenfalls nicht, eher im Gegenteil ich hatte noch häufiger Zugriffsverletzungen, mMn durch Verschieben des Textes auf außerhalb der Script-Texture.
3. Es lässt sich kein Muster erkennen, wann das Initialisieren des Textes über die Buttons im Einstellungsmenü in den entsprechenden Menüs richtig funktioniert und wann nicht. Ungefähre Einschätzung, 20% der Versuche funktionieren fehlerfrei.
4. Man könnte annehmen, dass im Script die Werte für das Schreiben auf die Script-Texture verändert werden. Ich habe bei Weg 1 und Weg 2 im Makro zum Schreiben (angehangen im Spoiler) geloggt, welche Werte für s0 (x-Beginn), s1 (x-Ende), s2 (y-Beginn) und s3 (y-Ende) entgegen genommen werden, um dann von (M.V.STTextOut) verarbeitet zu werden.
Das Interessante ist, dass der Vermutung nicht so ist - bei beiden Wegen werden exakt die selben Werte (im Beispielbild manchmal ein bisschen anders durch unterschiedliche Textlängen und Zentrierung) an (M.V.STTextOut) übertragen.
{macro:AFR4_ST_Write_Text}
' l0 x-Pos. (Start)
' l1 x-Pos. (Ende - nur wenn l6 > 1)
' l2 y-Pos. (Start)
' l3 y-Pos. (Ende - nur wenn l6 > 1)
' l4 Font
' l5 Ausrichtung
' l6 Display Bereich leeren
' l7 Script-Texture (via Lock)
(L.$.devstr) "MAKRO: " $+ (L.$.AFR4_ST_Text) $+ " POSITION (0,1,2,3): " $+ l0 $IntToStr $+ "," $+ l1 $IntToStr $+ "," $+ l2 $IntToStr $+ "," $+ l3 $IntToStr $+ ". " $+ (S.$.devstr)
(M.L.AFR4_ST_Lock_2)
l6 {if} (M.L.AFR4_ST_Leeren_Bereich) {endif}
l5 1 = {if} l0 l1 + 2 / l4 (L.$.AFR4_ST_Text) (M.V.TextLength) 2 / - trunc s0 {endif}
l5 2 = {if} l1 l4 (L.$.AFR4_ST_Text) (M.V.TextLength) - s0 {endif}
(L.$.devstr) "WRITE: " $+ (L.$.AFR4_ST_Text) $+ " POSITION (0,1,2,3): " $+ l0 $IntToStr $+ "," $+ l1 $IntToStr $+ "," $+ l2 $IntToStr $+ "," $+ l3 $IntToStr $+ ". " $+ (S.$.devstr)
l7 l0 l2 l4 2 0 (L.$.AFR4_ST_Text) (M.V.STTextOut)
{end}
{macro:AFR4_ST_Leeren_Bereich}
' l0 x-Pos. (Start)
' l1 x-Pos. (Ende)
' l2 y-Pos. (Start)
' l3 y-Pos. (Ende)
' l7 Script-Texture (via Lock)
l7 0 0 0 0 (M.V.STSetColor)
l7 l0 l2 l1 l3 (M.V.STDrawRect)
{end}
{macro:AFR4_ST_Lock_2}
(C.L.AFR4_ST_2) s7 (L.L.AFR4_ST_Locked_2) ! {if} (M.L.AFR4_ST_Lock) 1 (S.L.AFR4_ST_Locked_2) {endif}
{end}
Alles anzeigen
5. Ich habe den x-Wert (s0) angepasst, um zu sehen, ob der Text immer genau gleich verschoben wird. Ja ist der Fall (siehe Bild)
Als Anhang noch die 3 Makros zum Schreiben des Textes für beide Menüs
{macro:AFR4_ST_Text_RBL_Fahrtauswahl_Master_Fahrt_Auswahl}
' ### Kurs, Start, Ende ###
(L.L.AFR4_var_Monitor) 0 = {if} "" (M.L.AFR4_ST_Font_Text) s4 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} "15" (M.L.AFR4_ST_Font_Text) s4 {endif} 2 s5 1 s6
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 0 s2 0 s3 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 100 s0 276 s1 96 s2 119 s3 {endif}
(L.$.AFR4_TXT_Umlauf) (S.$.AFR4_ST_Text) (M.L.AFR4_ST_Write_Text)
(L.L.AFR4_RBL_Fahrtauswahl_Auswahl_Ab) s0 0 (M.L.AFR4_ST_Zeit_Umrechnung) " " $+ l0 (M.L.AFR4_ST_Datum_Berechnung) $+ (S.$.AFR4_ST_Text)
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 0 s2 0 s3 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 100 s0 276 s1 124 s2 147 s3 {endif} (M.L.AFR4_ST_Write_Text)
(L.L.AFR4_RBL_Fahrtauswahl_Auswahl_AnNext) s0 0 (M.L.AFR4_ST_Zeit_Umrechnung) " " $+ l0 (M.L.AFR4_ST_Datum_Berechnung) $+ (S.$.AFR4_ST_Text)
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 0 s2 0 s3 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 100 s0 276 s1 151 s2 174 s3 {endif} (M.L.AFR4_ST_Write_Text)
' ### Linie, Fahrt, Ab (Zeit & Haltestelle) ###
(L.L.AFR4_var_Monitor) 0 = {if} "" (M.L.AFR4_ST_Font_Text) s4 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} "12.5" (M.L.AFR4_ST_Font_Text) s4 {endif} 0 s5
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 0 s2 0 s3 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 97 s0 222 s1 195 s2 214 s3 {endif}
(L.L.AFR4_RBL_Fahrtauswahl_Auswahl_Linie) $IntToStr (S.$.AFR4_ST_Text) (M.L.AFR4_ST_Write_Text)
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 0 s2 0 s3 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 97 s0 222 s1 217 s2 236 s3 {endif}
(L.L.AFR4_RBL_Fahrtauswahl_Auswahl_Fahrt) $IntToStr (S.$.AFR4_ST_Text) (M.L.AFR4_ST_Write_Text)
(L.L.AFR4_RBL_Fahrtauswahl_Auswahl_Ab) s0 0 (M.L.AFR4_ST_Zeit_Umrechnung) (S.$.AFR4_ST_Text)
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 0 s2 0 s3 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 91 s0 222 s1 307 s2 326 s3 {endif} (M.L.AFR4_ST_Write_Text)
(L.L.AFR4_RBL_Fahrtauswahl_Auswahl_Route) (S.L.AFR4_Haltestelle_Name_RouteIndex) 0 (M.L.AFR4_Haltestelle_Name) (S.$.AFR4_ST_Text)
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 0 s2 0 s3 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 25 s0 222 s1 329 s2 348 s3 {endif} (L.$.AFR4_ST_Text) (M.L.AFR4_Text_Umbruch_Einzeilig_Kuerzen) (S.$.AFR4_ST_Text) (M.L.AFR4_ST_Write_Text)
' ### An (Zeit & Haltestelle), Richtung ###
(L.L.AFR4_RBL_Fahrtauswahl_Auswahl_AnNext) s0 0 (M.L.AFR4_ST_Zeit_Umrechnung) (S.$.AFR4_ST_Text)
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 0 s2 0 s3 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 91 s0 222 s1 361 s2 380 s3 {endif} (M.L.AFR4_ST_Write_Text)
(L.L.AFR4_RBL_Fahrtauswahl_Auswahl_Route) (S.L.AFR4_Haltestelle_Name_RouteIndex) (M.L.AFR4_Haltestellen_Count) s0 (L.L.AFR4_RBL_Fahrtauswahl_Auswahl_Route) (S.L.AFR4_Haltestelle_Name_RouteIndex) l0 (M.L.AFR4_Haltestelle_Name) (S.$.AFR4_ST_Text)
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 0 s2 0 s3 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 25 s0 222 s1 383 s2 402 s3 {endif} (L.$.AFR4_ST_Text) (M.L.AFR4_Text_Umbruch_Einzeilig_Kuerzen) (S.$.AFR4_ST_Text) (M.L.AFR4_ST_Write_Text)
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 0 s2 0 s3 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 25 s0 222 s1 274 s2 293 s3 {endif} (M.L.AFR4_ST_Write_Text)
{end}
{macro:AFR4_ST_Text_RBL_Fahrtauswahl_Master_Fahrten}
(L.L.AFR4_var_Monitor) 0 = {if} "" (M.L.AFR4_ST_Font_Text) s4 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} "16" (M.L.AFR4_ST_Font_Text) s4 {endif} 0 s6
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 0 s2 0 s3 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 303 s0 713 s1 147 s2 401 s3 {endif}
(M.L.AFR4_ST_Lock_2) (M.L.AFR4_ST_Leeren_Bereich)
' ### Fahrt 1 (Linie, Fahrt, Ab, Einsatz) ###
(L.L.AFR4_var_Monitor) 0 = {if} 0 s2 0 s3 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 160 s2 184 s3 {endif}
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 303 s0 361 s1 {endif}
1 s5 (L.L.AFR4_RBL_Fahrtauswahl_1_Linie) $IntToStr (S.$.AFR4_ST_Text) (M.L.AFR4_ST_Write_Text)
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 364 s0 434 s1 {endif}
1 s5 (L.L.AFR4_RBL_Fahrtauswahl_1_Fahrt) $IntToStr (S.$.AFR4_ST_Text) (M.L.AFR4_ST_Write_Text)
(L.L.AFR4_RBL_Fahrtauswahl_1_Ab) s0 0 (M.L.AFR4_ST_Zeit_Umrechnung) (S.$.AFR4_ST_Text)
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 437 s0 493 s1 {endif}
1 s5 (M.L.AFR4_ST_Write_Text)
(L.L.AFR4_RBL_Fahrtauswahl_1_Route) (S.L.AFR4_Haltestelle_Name_RouteIndex) 0 (M.L.AFR4_Haltestelle_Name) (S.$.AFR4_ST_Text)
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 504 s0 712 s1 {endif}
0 s5 (L.$.AFR4_ST_Text) (M.L.AFR4_Text_Umbruch_Einzeilig_Abschneiden) (S.$.AFR4_ST_Text) (M.L.AFR4_ST_Write_Text)
' ### Fahrt 2 (Linie, Fahrt, Ab, Einsatz) ###
(L.L.AFR4_Auswahl_Anzahl) 1 >
{if}
(L.L.AFR4_var_Monitor) 0 = {if} 0 s2 0 s3 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 228 s2 252 s3 {endif}
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 303 s0 361 s1 {endif}
1 s5 (L.L.AFR4_RBL_Fahrtauswahl_2_Linie) $IntToStr (S.$.AFR4_ST_Text) (M.L.AFR4_ST_Write_Text)
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 364 s0 434 s1 {endif}
1 s5 (L.L.AFR4_RBL_Fahrtauswahl_2_Fahrt) $IntToStr (S.$.AFR4_ST_Text) (M.L.AFR4_ST_Write_Text)
(L.L.AFR4_RBL_Fahrtauswahl_2_Ab) s0 0 (M.L.AFR4_ST_Zeit_Umrechnung) (S.$.AFR4_ST_Text)
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 437 s0 493 s1 {endif}
1 s5 (M.L.AFR4_ST_Write_Text)
(L.L.AFR4_RBL_Fahrtauswahl_2_Route) (S.L.AFR4_Haltestelle_Name_RouteIndex) 0 (M.L.AFR4_Haltestelle_Name) (S.$.AFR4_ST_Text)
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 504 s0 712 s1 {endif}
0 s5 (L.$.AFR4_ST_Text) (M.L.AFR4_Text_Umbruch_Einzeilig_Abschneiden) (S.$.AFR4_ST_Text) (M.L.AFR4_ST_Write_Text)
{endif}
' ### Fahrt 3 (Linie, Fahrt, Ab, Einsatz) ###
(L.L.AFR4_Auswahl_Anzahl) 2 >
{if}
(L.L.AFR4_var_Monitor) 0 = {if} 0 s2 0 s3 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 296 s2 320 s3 {endif}
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 303 s0 361 s1 {endif}
1 s5 (L.L.AFR4_RBL_Fahrtauswahl_3_Linie) $IntToStr (S.$.AFR4_ST_Text) (M.L.AFR4_ST_Write_Text)
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 364 s0 434 s1 {endif}
1 s5 (L.L.AFR4_RBL_Fahrtauswahl_3_Fahrt) $IntToStr (S.$.AFR4_ST_Text) (M.L.AFR4_ST_Write_Text)
(L.L.AFR4_RBL_Fahrtauswahl_3_Ab) s0 0 (M.L.AFR4_ST_Zeit_Umrechnung) (S.$.AFR4_ST_Text)
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 437 s0 493 s1 {endif}
1 s5 (M.L.AFR4_ST_Write_Text)
(L.L.AFR4_RBL_Fahrtauswahl_3_Route) (S.L.AFR4_Haltestelle_Name_RouteIndex) 0 (M.L.AFR4_Haltestelle_Name) (S.$.AFR4_ST_Text)
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 504 s0 712 s1 {endif}
0 s5 (L.$.AFR4_ST_Text) (M.L.AFR4_Text_Umbruch_Einzeilig_Abschneiden) (S.$.AFR4_ST_Text) (M.L.AFR4_ST_Write_Text)
{endif}
' ### Fahrt 4 (Linie, Fahrt, Ab, Einsatz) ###
(L.L.AFR4_Auswahl_Anzahl) 3 >
{if}
(L.L.AFR4_var_Monitor) 0 = {if} 0 s2 0 s3 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 364 s2 388 s3 {endif}
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 303 s0 361 s1 {endif}
1 s5 (L.L.AFR4_RBL_Fahrtauswahl_4_Linie) $IntToStr (S.$.AFR4_ST_Text) (M.L.AFR4_ST_Write_Text)
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 364 s0 434 s1 {endif}
1 s5 (L.L.AFR4_RBL_Fahrtauswahl_4_Fahrt) $IntToStr (S.$.AFR4_ST_Text) (M.L.AFR4_ST_Write_Text)
(L.L.AFR4_RBL_Fahrtauswahl_4_Ab) s0 0 (M.L.AFR4_ST_Zeit_Umrechnung) (S.$.AFR4_ST_Text)
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 437 s0 493 s1 {endif}
1 s5 (M.L.AFR4_ST_Write_Text)
(L.L.AFR4_RBL_Fahrtauswahl_4_Route) (S.L.AFR4_Haltestelle_Name_RouteIndex) 0 (M.L.AFR4_Haltestelle_Name) (S.$.AFR4_ST_Text)
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 504 s0 712 s1 {endif}
0 s5 (L.$.AFR4_ST_Text) (M.L.AFR4_Text_Umbruch_Einzeilig_Abschneiden) (S.$.AFR4_ST_Text) (M.L.AFR4_ST_Write_Text)
{endif}
{end}
Alles anzeigen
{macro:AFR4_ST_Text_RBL_Umlauf}
(L.L.AFR4_var_Monitor) 0 = {if} 0 s0 0 s1 0 s2 0 s3 "" (M.L.AFR4_ST_Font_Text) s4 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} 384 s0 560 s1 155 s2 189 s3 "23" (M.L.AFR4_ST_Font_Text) s4 {endif}
2 s5 1 s6 (L.$.AFR4_TXT_Umlauf) (S.$.AFR4_ST_Text) (M.L.AFR4_ST_Write_Text)
(L.L.AFR4_var_Monitor) 0 = {if} l0 s1 0 s0 0 s2 0 s3 {endif}
(L.L.AFR4_var_Monitor) 1 = {if} l0 s1 384 s0 186 s2 187 s3 {endif}
l7 255 0 0 0 (M.V.STSetColor)
l7 l0 l2 l1 l3 (M.V.STDrawRect)
{end}
Sorry, für die komplizierte Erklärung des Codes. Leider ist der nicht so ganz einfach zu verstehen. Danke an Jeden, der versucht ihn oder das Problem zu verstehen. Ich hoffe ich habe soweit alles notwendige verständlich erklärt. Falls doch noch mehr Fragen auftauchen oder Code erklärt werden soll oder benötigt wird, kann ich den auch gerne erklären und/oder posten.
Ansonsten bis auf das Problem funktioniert jede Logik und das gesamte System ohne mir bekannte Probleme, d.h. alle genannten Funktionen (oben), welche grundlegend von mir nur für die Erklärung des Problems genannt wurden, funktionieren.
Ich freue mich, falls jemand eine Idee oder Ähnliches hat, ansonsten danke fürs Durchlesen und Gedanken machen.
Viele Grüße,
Brandenburger