Kajosoft O530 Add-On passengercabin: Hilfe zum Ein- & Ausstiegspfade anpassen/optimieren

Willkommen in der OMSI-WebDisk!
Als Gast kannst du nur Inhalte in deiner ausgewählten Sprache sehen. Registrierte Nutzer können die Sichtbarkeit anderer Sprachen in ihrem Kontrollzentrum aktivieren, weitere Infos hier.
Alle Themen sind in den Foren mit einer Sprachflagge gekennzeichnet: = Englisch [EN], = Deutsch [DE], = Französisch [FR]. Wenn du die angegebene Sprache nicht beherrschst, schreibe auf Englisch!
  • Guten Abend liebe OMSI Gemeinde,

    für das kürzlich erschienene Citaro DLC von Kajosoft wollte Ich verschiedene Varianten der passengercabin.cfg erstellen bzw. anpassen. Genauer gesagt ging es da um die Ein- & Ausstiegspfade. Da Ich das schon für einige Busse gemacht habe wollte Ich mir meine eigne passengercabin auch für dieses DLC anfertigen. Nun zum Problem: Den Einstieg an den hinteren Türen zu löschen war wohl das einfachste, beim entfernen des Ausstiegs an der vorderen Tür 1 kam es dann schon zu Problemen, als Test habe Ich den Euro 2 Gelenkzug genommen:


    Das ist die Standardaufteilung bei der passengercabin_g_1.cfg die für jeden Vorderwagen des Citaro G benutzt wird der eine Doppelflügelige Tür 1 hat. Nach meiner Bearbeitung sah das so aus:



    Ich habe die Einstiege an Tür 2 gelöscht sowie den Befehl {withbutton}, außerdem habe Ich das [exit] 3 gelöscht da dies der Pfad für den Ausstieg an Tür 1 Flügel 2 war und dann trat das Problem auf. Dadurch ist zwar keiner mehr an Tür 1 Flügel 2 ausgestiegen, aber an Tür 2 Flügel 1 ist auch keiner mehr ausgestiegen, bzw. die Fahrgäste standen zwar vor der offenen Tür, sind aber nicht ausgestiegen, nur an Tür 2 Flügel 2 und nun zum kuriosen. Wenn Ich die Tür 1 geöffnet habe sind die Fahrgäste die an Tür 2 Flügel 1 standen, ausgestiegen und das auch wenn die Tür 2 geschlossen war! Ich habe danach verschiedene Varianten probiert mit verschiedenen [exit] und [entry] Einträgen, aber keine hat Abhilfe geschafft. Als Ich den Pfad [exit] 3 für den Ausstieg an Tür 1 Flügel 2 wieder eingefügt habe stiegen die Leute auch wieder an Tür 2 Flügel 1 aus.


    Nun ist meine Frage woran das liegt? An die Experten: Probiert das mal aus, mich macht das schon seit Stunden verrückt :D

    Ich wäre über jeden Tipp und jede Hilfe dankbar

    Mit freundlichen Grüßen, Berlin Bus&Train :)

    :metrobus: M37 Spandau, Freudstr. oder Spandau, Im Spektefeld
    <> Staaken, Hahneberg oder Staaken, Reimerweg

  • Die PAX_Entry/Exit im Door-Script passen jetzt vermutlich nicht mehr zusammen, da die Paths vorher anders definiert waren. Diese solltest du mal prüfen.


    Hier hatte ich das mal bisschen ausgiebiger erläutert: RE: [Hilfe] Frage zur Fahrgäste einstig 2 und 3 Tür

  • PingPong Moin, in eigener Sache (hab das Gleich vor) schalte ich mich mal dazu.

    Du meinst wahrscheinlich diesen Abschnitt in der door.osc:

    Code
        (C.L.big_cabin) ! (L.L.door_0) 0.9 > && (S.L.PAX_Exit0_Open) (S.L.PAX_Entry0_Open)
        (L.L.door_1) 0.9 > (S.L.PAX_Exit1_Open) (S.L.PAX_Entry1_Open)
        (L.L.door_2) 0.9 > (S.L.PAX_Exit2_Open) (S.L.PAX_Entry2_Open)
        (L.L.door_3) 0.9 > (S.L.PAX_Exit3_Open) (S.L.PAX_Entry3_Open)
        (L.L.door_4) 0.9 > (S.L.PAX_Exit4_Open) (S.L.PAX_Entry4_Open)
        (L.L.door_5) 0.9 > (S.L.PAX_Exit5_Open) (S.L.PAX_Entry5_Open)
        (L.L.door_6) 0.9 > (S.L.PAX_Exit6_Open) (S.L.PAX_Entry6_Open)
        (L.L.door_7) 0.9 > (S.L.PAX_Exit7_Open) (S.L.PAX_Entry7_Open)

    Wenn man jetzt aus der passengercabin

    den Eintrag [exit] 3 rauslöscht, verschiebt sich also die interne "Nummerierung" der Ausgänge in der door.osc?

    Sprich: Exit0 bleibt Exit0, "Exit2" wird nun aber als "Exit1" gelesen, usw..


    Warum passiert es dann aber, wenn nach der Löschung die Fahrgäste plötzlich (so bei mir eben geschehen) nur noch hinten einsteigen? Inwiefern korreliert das? Die Anzahl der Exits dürfte doch die Entrys nicht tangieren, oder? Ich bin leider (trotz deines verlinkten Threads) weiterhin verwirrt.


    Vielleicht magst du nochmal etwas Licht ins Dunkel bringen.


    Lieben Gruß :)


    Edit: Vor allem ergibt es für mich nicht so ganz Sinn - als Entry werden die Punkte 0,3,9,11 definiert - was ja auch im Grunde die Türen sind.

    Warum aber als Ausstieg 15,3,9,11 hinterlegt sind, ist mir ein Rätsel - die 15 steht laut paths.cfg etwa 3 Meter weiter "vorne" als der Punkt 0, den ich zuerst sinngemäß als die vordere Tür gehalten habe, da dort ja auch der priorisierte Einstieg stattfinden soll, samt Ticketverkauf. Ich bin jetzt noch verwirrter als zuvor.

    Einmal editiert, zuletzt von erixx ()

  • Es wird in der Passengercabin immer von oben herab gezählt, der erste [entry] entspricht demnach immer PAX_Entry0_Open und der erste [exit] immer PAX_Exit0_Open. Entferne ich also einen [entry] der aber über das door-Script an Tür 1 definiert ist, müssen die PAX_EntryX_Open entsprechend der Türen neu zugeordnet werden, ansonsten kommt genau das zu Stande, dass die Tür 2 zwar aufgeht, aber die KI auf das öffnen der Tür 1 wartet.


    Aktuell sieht das so aus:


    Nehme ich jetzt den Exit 3 heraus, der ja scheinbar der zweite Türflügel an Tür 1 ist, dann verschiebt sich das ganze:

    Code
    [exit]
    15 -> PAX_Exit0_Open
    
    [exit]
    9 -> PAX_Exit1_Open
    
    [exit]
    11 -> PAX_Exit2_Open


    Da jetzt aber im door-Script der KI mitgeteilt wird, dass dieser Extit an door1 (Türflügel 2 an Tür 1), wird darauf gewartet, dass ich diesen Türflügel öffne:

    Code
    (L.L.door_1) 0.9 > (S.L.PAX_Exit1_Open) (S.L.PAX_Entry1_Open)


    Bleiben wir bei dem Beispiel nur exit 3, müsste der Abschnitt im door-Script dann so aussehen:

    Code
        (C.L.big_cabin) ! (L.L.door_0) 0.9 > && (S.L.PAX_Exit0_Open) (S.L.PAX_Entry0_Open)
        (L.L.door_1) 0.9 > (S.L.PAX_Entry1_Open)
        (L.L.door_2) 0.9 > (S.L.PAX_Exit1_Open) (S.L.PAX_Entry2_Open)
        (L.L.door_3) 0.9 > (S.L.PAX_Exit2_Open) (S.L.PAX_Entry3_Open)

    Somit steigt keiner mehr am zweiten Türflügel an Tür 1 aus.


    Man muss nur genau hinschauen, einige Entwickler definieren eigene Entry- und Exit-Paths, da muss man einfach dieser logik folgen und nicht die der IDs.



    Genau dieser Umstand in der Komplexität, habe ich mich dazu entschieden, das Ding zurückzugeben. Zu viel Aufwand, bin ich zu faul für, zumal man das nach jeden Update vermutlich wieder neu anpassen muss in den 33 (!) passengercabins. Nein danke...

  • Somit steigt keiner mehr am zweiten Türflügel an Tür 1 aus.

    Es hat wunderbar geklappt, danke erstmal für die Hilfe.

    Allerdings funktioniert das beim 3 Türer Solo nicht so wirklich (beim 4 Türer Gelenkzug habe Ich es noch nicht probiert), unzwar betätigen die Fahrgäste nun nicht mehr den Türöffner an Tür 3 (Solo) um diese zu öffnen und stehen, trotz aktiver Türfreigabe, stur davor :"D beim 3 Türer Gelenkzug funktioniert es aber.

    Außerdem, wie bekomme Ich es denn eigentlich hin das der Haltewunsch an Tür 1 nicht mehr ausgelöst wird? Denn die Fahrgäste steigen beim 2 Türer Solo und beim 3 Türer Gelenkzug jetzt zwar korrekt hinten aus, aber der Haltewunsch bleibt so lange aktiv bis Ich die erste Tür öffne, Ich hatte schon im door.osc nach der Variable Haltewunsch durchgesucht, allerdings sind da sehr viele Ergebnisse aufgetaucht, Ich hatte zwar an einigen rumgebastelt und probiert aber es hat nichts nennenswertes gebracht, da Ich im Thema Script auch eher ein Versager bin, bin Ich da auch nur so teils teils durchgestiegen :covereyes:

    :metrobus: M37 Spandau, Freudstr. oder Spandau, Im Spektefeld
    <> Staaken, Hahneberg oder Staaken, Reimerweg

  • Irgendwo im Script wird dem Haltewunsch mitgeteilt, wann dieser gelöscht werden soll. Vermutlich ist dort die Bedingung, erst wenn die vordere Tür geöffnet wurde, soll dieser zurückgesetzt werden. Das muss dann ebenfalls noch angepasst werden.

  • Also der abschnitt hier müsste es glaube ich sein oder? Davon gibt es insgesamt 4 Einträge

  • Wie würde so eine Bedingung aussehen?
    Ich finde das ganze leider nicht.


  • Also der abschnitt hier müsste es glaube ich sein oder?

    Nein, das sind die Trigger, wenn man auf nen Taster drückt. Der Haltewunsch wird irgendwo dauehaft im Frame-Abschnitt abgefragt.


    Irgendwo muss die Systemvariable PAX_Exit0_Req, PAX_Exit1_Req etc. abgefragt werden.

  • Das währe dann hier wo es das erste mal auftaucht in der door.osc

    Ansonsten hätte ich noch diesen abschnitt gefunden

  • Das verstehen ich auch. Bin seit zwei Stunden dran mit probieren und so weiter aber entweder es funktioniert mit dem neben Effekt das ich im Vorderen Wagen teil nur den Summer höre und nichts im Display angezeigt wird oder bekomme gar kein Summer. Das Fahrgäste nur hinten Aussteigen bzw. nur vorne einsteigen haben ich schon hinbekommen :D

  • Mr. V from DesMoines viel Spaß dabei, alle einzelnen Versionen zu testen, ob man überall die richtigen Pfade erwischt hat. :"D


    Ich kann euch gerne helfen, aber wie ich bereits sagte, hab ich das DLC zurückgegeben und mir liegt demnach kein Script mehr vor um selber rein zu schauen.

  • Helfen ist nicht das gleiche wie „hier mach mal“. ;)


    Da mir die erforderlichen Dateien vorliegen, vielleicht hab ich doch noch Ambitionen eine Mod zu basteln.

  • Kurz mal überflogen, das wird recht komplex. Nur die die Req anpassen reicht da nicht, die ganzen Haltewünsche müssen neu sortiert werden. Oh mann...