Separate Haltewunschanzeigen (Gelenk)

  • Moin,


    ich würde gerne für den Citaro Facelift und die MAN Stadtbusfamile folgendes umsetzen, jeweils nur in Gelenkbussen:
    In Kiel ist es üblich, dass der Haltewunsch vom Vorderwagen und Nachläufer separat funktioniert. Dh das sowohl im Fahrgastraum als auch beim Fahrer unterschieden wird, ob ein Haltewunsch im vorderen oder im hinteren Teil getätigt wurde. Im Fahrgastraum leuchtet das Wagen hält dann lediglich in dem jeweiligen Teil der Fahrzeuges auf, der Fahrer besitzt zwei Haltewunschleuchten nebeneinander, wobei die linke für den vorderen und die rechte für den hinteren Teil steht.
    Dies würde ich gerne für die o.g. Modelle auch umsetzen. Leider fehlt mir aber das komplette Know-how dafür, weshalb ich hoffe, dass ihr mir da vielleicht helfen könntet, sofern dies überhaupt möglich ist. Wenn ich einen Script-Text habe, ist es für mich auch kein Problem diese in die jeweiligen Dateien einzufügen :) Die richtige Textur für die neue Haltewunsch-Leuchte ist für mich auch kein Problem.


    Vielen Dank schon mal, falls mir jemand behilflich sein kann.

  • Also grundsätzlich umsetzbar ist es. Man müßte sich anschauen, in wie weit man "nacharbeiten" muß.


    Zuerst einmal müßten die Haltewunschtasten im Nachläufer, einen anderen Variablennamen erhalten. Wenn ich mich recht erinnere hat Chrizzly92 es bereits umgesetzt. Dort hat der Gelenkbus bereits 2 Haltewunsch-Variablen. Für die Haltewunschanzeige wurden dann beide Variablen, im Script zusammen gelegt. Die muß man sich nur raussuchen und die Variablennamen in der model.cfg ersetzten.
    Im Grunde, ist ein Gelenkbus in Omsi, nicht ein Fahrzeug, sondern zwei verschiedene Fahrzeuge. Daher ließe sich das ganze auch umsetzen. Aber nicht mit einem Scriptteil, den man einfügt, sondern mit der Umarbeitung der vorhandenen Scripte. Allerdings muß man da einiges umarbeiten, damit die Haltewunschabfrage später auch entsprechend funktioniert. Bringt nichts, wenn dir vorn zwei getrennte Wünsche angezeigt werden, aber die Zuordnung nicht mit den Türen angepasst wird.


    Suchen mußt du im Türscript. Da gibt es mehrere Bereiche (Trigger und Macros), wo der Haltewunsch abgefragt wird. Zuerst wirst du die Trigger finden, womit der Haltewunsch als Taster umgesetzt wird. Die ist eher zweitrangig, weil nur du als Spieler, diese Tasten nutzen kannst. In einem Macro wird der Haltewunsch der Omsi-Passagiere abgefragt und die Funktion festgelegt. Leider drücken die Omsi-Passagiere keine Tasten, dass würde einiges einfacher machen.


    Schau dir das ganze zuerst bei der Stadtbusfamilie an. Im Script "cockpit.osc" findest du 2 Haltewunschbefehle, die zu einer Lichtvariable zusammen gefasst werden (L.L.Haltewunsch_1 - oder sowas). Dann muß man die Einträge der model.cfg mit den Türscripten abgleichen. So kommt man der Bauart auf den Grund. Bei dem Facelift könnte es anders sein, weil da vermutlich nur ein Haltewunsch genutzt wird. Hilfreich ist auch der Wiki-Eintrag von Marcel, mit den festgelegten Variablen. Den Link kann ich dir bei Bedarf per PN zukommen lassen, oder suche mit Goögle nach: System- und vordefinierte lokalen Variablen.
    Denn am Ende müßen die Pax-Enrty und Pax_Exit Variablen der einzelnen Ein- und Ausgänge angepasst werden.

  • Vielen Dank schon mal :)
    Allerdings funktioniert es bei den MAN´s auch nicht zu 100% richtig. Wird hinten ein Haltewunsch betätigt, leuchtet nur die Lampe im Bildschirm. Wird allerdings vorne ein Haltewunsch betätigt, leuchtet sowohl die Lampe im Bildschirm, auch das normale gelbe Kästchen in der Mitte..

  • Allerdings funktioniert es bei den MAN´s auch nicht zu 100% richtig.


    Doch es funktioniert schon. Allerdings ist mir eingefallen das Chrizzly einen kleinen Schreibfehler drin hatte, den ich behoben habe. Den hat Chrizzly leider nie behoben, obwohl ich ihn darauf hingewiesen habe.


    Suchen mußt du im Türscript. Da gibt es mehrere Bereiche (Trigger und Macros), wo der Haltewunsch abgefragt wird.


    Für dich ist das Script door-3.osc relevant. Schau doch mal rein und suche nach Haltewun. Zuerst findest du die Trigger für Zwei (!) Haltewunsch-Knöpfe.
    Unterschieden werden diese mit door_haltewunsch und door_haltewunsch_2.


    Dann muß man die Einträge der model.cfg mit den Türscripten abgleichen.


    Ein Blick in die model.cfg des Vorderwagens und des Nachläufers. Einfach wieder Haltewun suchen und es werden dir Zwei unterschiedliche Variablen angezeigt.
    Der Vorderwagen hat nur das Mausevent: door_haltewunsch
    Diese Variable fehlt im Nachläufer. Denn dort heißt die Variable: door_haltwunsch_2.


    Für die Haltewunschanzeige wurden dann beide Variablen, im Script zusammen gelegt.


    Wieder zum Script_door-3.osc und du findest im {macro:door-frame} die Erklärung:
    Es gibt den Haltewunsch, der alle 4 Ausgänge abfragt und es gibt die Abfrage für Vorderwagen und Nachläufer getrennt. Ursache ist die Variable var_doorusage. Diese Variable ist die Abfrage für die verwendete Türsteuerung!!!


    Aber du hast damit genau das was du brauchst. Eine Abfrage des Haltewunsch's für vorn und für hinten.


    Im Script "cockpit.osc" findest du 2 Haltewunschbefehle, die zu einer Lichtvariable zusammen gefasst werden


    Ok, das war mein Fehler. Wie schon geschrieben, hatte Chrizzly hier einen kleinen Schreibfehler. Den habe ich bei mir schon vor langer Zeit geändert und vergessen. Den Fehler hatte ich Chris schon mitgeteilt, der hat es aber wohl wieder vergessen, genauso wie ich.


    Im Script cockpit.osc findest du die Berechnungen der Kontrollleuchten. Für jemanden der wenige Kenntnisse von Scripten hat, sollten die Scripte von Chrizzly als Einstiegshilfe dienen. Diese sind recht übersichtlich gebaut und aufgestellt.
    Im {macro:cockpitlights_frame} werden die Abfragen für die Kontrolleuchten berechnet. Und dort steht nun geschrieben:
    ' Haltewunsch
    (L.L.haltewunsch) (L.L.haltewunsch) || (S.L.cockpit_light_haltewunsch)
    Dieser Teil macht so keinen Sinn. Ist aber nur ein Schreibfehler und nicht tragisch. Eine kleine Anpassung und es funktioniert richtig:
    (L.L.haltewunsch) (L.L.haltewunsch_2) || (S.L.cockpit_light_haltewunsch)


    -----------------------------------------------------------------------------------------


    Nun zu deinem Projekt. Du hast also im MAN Stadtgelenkbus schon 2 Haltewunschvariablen für vorn und für hinten. Also kannst du beide nutzen.
    Allein die Texturen verändern wird nicht ausreichen. Du benötigst auf jeden Fall zwei Mesh's, also 2 Objektträger. Du mußt auf eine Kontrolleuchte verzichten, die du dann ändern kannst, oder die Mesh's nei bauen und ersetzen.
    Dann bekommt das eine Mesh, bei der Texturänderung [matl_change] die Variable cockpit_light_haltewunsch_1 für den Vorderwagen und das zweite Mesh bekommt die variable cockpit_light_haltewunsch_2 für den Nachläufer.
    Im Cockpit-Script kommen folgende Einträge hinzu
    (L.L.haltewunsch) (S.L.cockpit_light_haltewunsch_1)
    (L.L.haltewunsch_2) (S.L.cockpit_light_haltewunsch_2)
    Die neuen Variablen müßen noch in die varlist, sonst sind sie ungültig.


    Für den Facelift ist es umfangreicher. Hier mußt du zuerst zwei Haltestellenwünsche erstellen und mit den eizelnen Ausgängen anpassen.