LS17 Dinge beim Ankuppeln un-/sichtbar machen

  • Hey,

    wie mache ich Dinge un-/sichtbar wenn an das Zugfahrzeug/Traktor angekuppelt wird. Es geht nicht um den Trailer, sondern um das Zugfahrzeug!

    Konkret:

    Ich möchte die "detachedDynamicHoses" in das Zugfahrzeug/LKW einbauen. Diese sollen beim Ankuppeln des Sattelaufliegers unsichtbar werden.

    Dafür erscheine die "attachedDynamicHoses" die im Trailer verbaut und via "dynHose.lua" und "dynHoseRef.lua" gesteuert werden.

    Grund meines Ansinnens:

    Bei LKWs bleiben die DynHoses am Zugfahrzeug und nicht am Sattelauflieger, wie bei Anhängern oder Maschinen. Die Scripte funktionieren aber nur so herum.

    Da ich nicht in der Lage bin, Scripte zu schreiben oder zu verändern, kam mir die Idee:

    "detachedHoses" im Zugfahrzeug, sichtbar wenn kein Sattelauflieger dran ist - unsichtbar wenn Sattelauflieger angekuppelt ist

    "attachedHoses" am Sattelauflieger, sichtbar wenn am Zugfahrzeug angekuppelt - unsichtbar wenn abgehängt (detachedHoses= leere TGs)

    Beispiel meiner vielen Versuche in der XML (leider ohne Erfolg)

    <attacherJoints>

    <attacherJoint dynamicHoseIndice="1" index="0>15|10|0|0|0|0" jointType="semitrailer" allowsJointLimitMovement="false" allowsLowering="false" lowerRotLimit="40 175 40" enableCollision="true" >

    <schema position="1 0" rotation="0" invertX="false" />

    <animation name="moveSupport">

    <!-- attached vis -->

    <part node="0>16" startTime="0" endTime="0.05" visibility="false" />

    <!-- detached vis -->

    <part node="0>16" startTime="0.05" endTime="0.1" visibility="true" />

    </animation>

    </attacherJoint>

    <support animationName="moveSupport" />

    Was ist an dem Eintrag falsch, bzw. warum ist part node="0>16" auch nach dem Ankuppeln sichtbar, und geht es überhaupt per xml Dinge un-/sichtbar zu mache?

    (KEINE log-tex, weil keine log-Fehler)

    Gruß Remraf

  • Das ganze funktioniert auch andersrum, du musst es eigentlich nur umdrehen... Dann ist der Anhänger der REF für die Dyn. Hosen und der LKW quasi das Fahrzeug, welches die Dynamischen Hosen stellt. Dafür musst du diese allerdings aus dem Anhänger rausholen und am LKW ranschrauben

  • Theoretisch interessiert es das Fahrzeug ja nicht was es ist, wenn du ihm sagst es soll REF sein, dann macht das Fahrzeug das auch, muss halt richtig konfiguriert sein

  • Sorry, aber da muss ich Dir wiedersprechen.

    Das Script "DynamicHose" funktioniert nur beim "inputAttacherJoint" und nicht bei "attacherJoints" und das Script "DynamicHoseRef" nur bei "attacherJoints". Das Zugfahrzeuge in der Regel nur "attacherJoints" haben, gibt's hier folgenden log-Fehler:

    scripts/DynamicHose.lua:135: bad argument #1 to 'ipairs' (table expected, got nil)

    Jetzt versuche ich mal folgendes:

    Ich ändere in den Scripten die Begriffe "inputAttacherJoint" in "attacherJoint" und andersrum.

    Mal sehen was passiert.

    Ergebnis:

    Trotzdem ich alle Log-Fehler korrigieren konnte, muss ich feststellen:

    Es funktioniert nicht. Die DynamicHoses im LKW reagieren nicht. Sie bleiben im "detached" Zustand

    So geht es also nicht!!!

    Bleibt immer noch die Frage, wie ich die zusätzlich eingebauten DynHoses im LKW beim Ankuppeln unsichtbar mache?

    Versucht habe ich auch folgendes:

    Kuppelt man an einen Traktor ein Gerät mit einer 3-Punkt-Aufnahme an, erscheint der Oberlenker. Der wird geladen durch folgenden Eintrag in der xml: <topArm baseNode="0>14" filename="$data/shared/vehicleParts/upperLink.i3d" zScale="-1" />

    Diesen Eintrag habe ich so anzupassen versucht, dass die DynHoses geladen werden (Pfad angepasst) und das funktioniert auch, allerdings unabhängig vom An- oder Abkuppeln. Auch ein zusätzliches toggleVisibility="true/false" habe ich probiert, ohne den gewünschten Erfolg.

    Aber auf dieser Basis müsste doch was gehen, nur wie ...???

  • Das machst du in den AttcherJoints mit einer objectChange... Wenn du in einem LKW die moveSupport verwenden willst kannst du lange warten, denn das ist die Animation welche abgespielt wird, um eine Stütze an einem Anhänger oder Anbaugerät wiederzugeben.

    <attacherJoint index="0>5|0|3|0|0" rotationNode="0>5|0|3" rotationNode2="0>5|0|3|0" upperRotation="-26 0 0" lowerRotation="24 0 0" upperDistanceToGround="1.06" lowerDistanceToGround="0.4" upperRotationOffset="0.51" moveTime="2.5" ptoOutputNode="0>5|2|1" comboTime="0">

    <bottomArm rotationNode="0>5|0|4" translationNode="0>5|0|4|0" referenceNode="0>5|0|4|0|0" zScale="1" startRotation="-8.5 0 0"/>

    <topArm baseNode="0>5|0|5" filename="$data/shared/vehicleParts/upperLink.i3d" zScale="1" toggleVisibility="true" />

    <schema position="0 0" rotation="0" invertX="true" />

    <objectChange node="0>5|0|4|0|2" rotationActive="179.225 23.972 -1.423" />

    <objectChange node="0>5|0|4|0|3" rotationActive="91.195 156.028 1.423" />

    </attacherJoint>

    Auszug aus dem Deutz 7 im LS17, hier wird beim ankuppeln dafür gesorgt, dass die Unterlenker in eine bestimmte Position gehen.

    Wenn du also in deinem attcherJoint quasi eine objectChange mit visabilty einträgst und sagst, er soll es einblenden müsste das so funktionieren, wenn du sie im GE ausblendest

  • Moin'g Herr Deutz,

    ganz herzlichen Dank, dies war der richtige Weg. So funktioniert es mit dem Sichtbar-/Unsichtbar machen beim Ankuppeln.

    <topArm baseNode="0>20" filename="dynamichoses.i3d" zScale="1" toggleVisibility="false" />

    <objectChange node="0>20" visibilityActive="false" />

    Jetzt kann ich mich d'ran machen die "DetachedHosesSpezial_for_Trucks" in MAYA zu bauen.

    Gruß Remraf

    PS: Thead kann geschlossen werden

  • dte4779 18. Juli 2019 um 16:54

    Hat das Thema geschlossen.