Guten Abend,
ich stehe aktuell an den Grenzen des Möglichen an.
Aktuell arbeite ich an einem EvendPC, der für das Display eine Scripttextur verwendet (macht den Einbau in Busse wesentlich einfacher). Da die Darstellung mittels [useScriptTexture] aus größerer Distanz nicht sonderlich gut is, versuche ich gerade, die weißen und schwarzen Textfelder auf zwei separate Scripttexturen aufzutrennen. Das sollte eigentlich auch nicht so schwer sein, bei schwarzer Schrift einfach auf die Textur mit Index 2 schreiben, bei weißer Schrift auf Textur-Index 3. Soweit auch programmiert, Ergebnis: Beide Textfelder weiterhin auf einer Scripttextur. Wenn ich die Scripttextur-Indizes auskreuze, bekomme ich das gleiche Ergebnis, aber auf der jeweils anderen Scripttextur. Testweise auch ein komplett neues Makro zum Beschreiben der Scripttextur angelegt - ohne Erfolg.
Mit Debug-Variablen habe ich den tatsächlich im Script eingelesenen Index für die richtige Scripttextur kontrolliert, ob der tatsächlich ankommt und ob das richtige Makro ausgeführt wird, beides korrekt:
{macro:EvendPC_WriteTicketName}
' Inputs: Ecke oben links und Index vom Ticket
' Dabei gilt:
' 0: x-Koordinate
' 1: y-Koordinate
' 2: index vom Ticket
l2 (M.V.GetTicketName) $RemoveSpaces (S.$.EvendPC_Write)
"" (S.$.EvendPC_Write2)
(M.L.EvendPC_cutString)
' Text Zeile 1
(L.$.EvendPC_Write2) "" $= ! {if} l1 14 + s1 s6 {else} l1 28 + s1 s6 {endif}
l0 s7
l0 144 + s2
l1 20 + s3
(M.L.EvendPC_emptyDisplayArea)
l0 77 + s0
l7 s1 (L.L.EvendPC_Arial18) s2
(M.L.EvendPC_CenterText)
l6 s1
(M.L.TestMakro_zweiteTextur)
(L.$.EvendPC_Write2) "" $= !
{if}
(L.$.EvendPC_Write2) (S.$.EvendPC_Write)
l1 28 + s1 s6
l7 s0
l0 144 + s2
l1 20 + s3
(M.L.EvendPC_emptyDisplayArea)
l0 77 + s0
l7 s1 (L.L.EvendPC_Arial18) s2
(M.L.EvendPC_CenterText)
l6 s1
(M.L.TestMakro_zweiteTextur)
"" (S.$.EvendPC_Write2)
{endif}
{end}
{macro:TestMakro_zweiteTextur}
(C.L.EvendPC_ZweiteTex) 0 0 0 0 (M.V.STSetColor)
(C.L.EvendPC_ZweiteTex) l0 l1 l2 l3 (M.V.STDrawRect)
(C.L.EvendPC_ZweiteTex) 255 l4 l4 l4 (M.V.STSetColor)
(C.L.EvendPC_ZweiteTex) (S.L.EvendPC_debug2) l0 l1 (L.L.EvendPC_Arial18) 2 0 (L.$.EvendPC_Write) (M.V.STTextOut)
12345 (S.L.EvendPC_debug)
{end}
Alles anzeigen
Anmerkung: beide Variablen werden nur in dem Makro verwendet und kommen im Script sonst nirgendwo vor.
Auf der Scripttextur schaut das ganze dann aber so aus (rot hinterlegt für bessere Erkennbarkeit):
Der Text (die Ticket-Namen) wird auf die Scripttextur mit Index 2 geschrieben, obwohl Scripttextur-Index 3 angegeben ist.
Hat jemand eine Idee, was hier schiefläuft? Habe schon mehrmals das Script kontrolliert, Omsi neu gestartet, Rechner neu gestartet, keine Besserung.