Beiträge von Mark44

    ++ Update ++

    Ich bin einen Schritt weiter gekommen und die Steuerung an sich funktioniert jetzt.

    Aber leider bleibt das Problem dass sich die Animation immer wieder sobald man die Taste loslässt in die Ursprungsposition begibt.

    Die Animation soll stoppen sobald man die Taste loslässt und nicht wieder in die Ursprungsposition zurückgehen.

    Im LS19 hat das so ohne Probleme funktioniert, aber wie geht es im LS22 oder geht es im LS22 überhaupt so leicht?

    Hallo zusammen!

    Ich habe eine Frage zum Thema XML.

    Ich bin momentan an einem platzierbaren Objekt dran und habe Probleme mit den animatedObjects.

    Ich habe mehrere normale Animation mit ein-und ausblenden und ein- und ausschalten schon hinzugefügt die auch problemlos funktionieren. Diese Animationen werden ganz normal über posAction="ACTIVATE_HANDTOOL" (Objekt.XML) gesteuert.

    Nun möchte ich aber eine Animation für einen Rotor hinzufügen den ich im Spiel mit der linken Maustaste in die eine Richtung und mit der rechten Maustaste in die andere Richtung drehen kann.

    Zudem sollte der Rotor, also die Animation einfach sobald man die Maustaste loslässt an der stelle stoppen und sich nicht eigenständig in die Ursprungsposition zurückdrehen.

    So sieht der Eintrag in der XML dafür aus.

    </animatedObject>
    <animatedObject saveId="RotorDrehung">
    <animation duration="1">
    <part node="RotorDrehung">
    <keyFrame time="0" rotation="0 0 0" />
    <keyFrame time="1" rotation="0 0 -360" />
    </part>
    </animation>
    <controls triggerNode="TriggerRotorDrehung" posAction="RotorLinks" negAction="RotorRechts" posText="action_RotorLinks" negText="action_RotorRechts" />
    </animatedObject>


    In der Moddesc habe ich für die Steuerung folgendes hinzugefügt:

    <actions>
    <action name="RotorRechts" category="PLAYER" axisType="FULL" ignoreComboMask="false"/>
    <action name="RotorLinks" category="PLAYER" axisType="FULL"ignoreComboMask="false"/>
    </actions>

    <inputBinding>
    <actionBinding action="RotorLinks">
    <binding device="GAMEPAD_DEFAULT" input="BUTTON_19" axisComponent="-" />
    </actionBinding>
    <actionBinding action="RotorRechts">
    <binding device="GAMEPAD_DEFAULT" input="BUTTON_17" axisComponent="+" />
    </actionBinding>
    </inputBinding>

    <l10n>
    <text name="action_RotorRechts"> <en>Rotor drehen</en> <de>Rotor drehen</de> </text>
    <text name="action_RotorLinks"> <en>Rotor drehen</en> <de>Rotor drehen</de> </text>
    </l10n>

    Das sind auch die identischen Einträge die im LS19 funktioniert haben und eigentlich auch im LS22 funktionieren sollten :hmm:

    Leider funktioniert es aber nur dann, wenn ich in der XML die Steuerung wieder auf ein Standard , also posAction="ACTIVATE_HANDTOOL" lege. Dann funktioniert es aber auch nicht so wie es soll, sondern die Animation geht wenn man die Maustasten loslässt wieder in die Ursprungsposition zurück.

    </animatedObject>
    <animatedObject saveId="RotorDrehung">
    <animation duration="1">
    <part node="RotorDrehung">
    <keyFrame time="0" rotation="0 0 0" />
    <keyFrame time="1" rotation="0 0 -360" />
    </part>
    </animation>
    <controls triggerNode="TriggerRotorDrehung" posAction="ACTIVATE_HANDTOOL" posText="action_RotorLinks" negText="action_RotorRechts" />
    </animatedObject>

    Wie bekommt man es hin wie im LS19? Muss ich jetzt im LS22 einen eigenen vehicleType erstellen oder habe ich da irgendwo einen Fehler drinne?

    Ich bin da echt ein wenig am verzweifeln und würde mich sehr über Hilfe freuen :Tach:

    Moin!

    Ich habe eine Animation mit animatedObjects erstellt und kann diese mit der rechten und der linken Maustaste abspielen. Ich muss eine der beiden Maustasten gedrückt halten um in die jeweilige Richtung zu drehen.

    Wenn ich die Maustaste loslasse, bevor der Endpunkt erreicht ist (360°) dann bleibt die Animation leider nicht an der Stelle stehen wo ich die Maustaste losgelassen habe sondern dreht zurück auf den Startpunkt.

    Wie bekomme ich es hin, dass bei der Drehanimation der Punkt an dem ich aufhöre die Taste zu drücken "gespeichert" wird, sprich die Animation nicht wieder zurück in die Ausgangsstellung geht?

    Im LS19 war das so möglich, aber im 22er funktioniert es auch mit den Einträgen vom LS19 nicht ?(

    Moin Community!

    Erst ein mal hoffe ich dass ich im richtigen Themenbereich bin. Eine Log.txt gibt es zu dem Thema nicht, da es nur eine Frage zu XML/scipting ggf. GE ist.

    Ich arbeite mit einem Kollegen zur Zeit an platzierbaren Windkraftanlagen die XML mäßig so aufgebaut sind wie das große standard Windrad, sprich die Anlagen haben genau die gleichen Funktionen also drehen sich bei starken Wind schneller, bei schwachen Wind langsamer und die Gondel wird dem Wind nachgeführt.

    Wir möchten aber gerne noch weiter ins Detail gehen und wollen die Anlage wie sie ist ein-und ausschaltbar machen.


    Ich habe mich in der XML mal ein wenig umgeschaut und auch ein wenig in der Scriptdoku im Spielverzeichnis. Dabei habe ich einige Werte entdeckt die mir weiter helfen könnten. z.B. gibt es dort die Zeile turnOnFadeTime="x". Wenn ich diese Zeile hinzufüge, einen beliebigen Wert wie 10 eingebe und eine Anlage platziere fängt der Rotor sich langsam an zu drehen bis er seine Nenndrehzahl erreicht. Das ist schon mal sehr gut so.


    Diesen Eintrag gibt es auch als turnOffFadeTime="Index", nur bringt es nichts diesen hinzuzufügen, da sich die Anlage ja leider nicht abschalten lässt.


    Kann mir jemand hier bei helfen? Vielleicht ein Script da zu schreiben wenn es auf "normalen" Wege nicht realisierbar ist?

    Ich bin da mit meinem Wissen leider am Ende.

    Ich würde mich sehr über eure Hilfe freuen, da ich diese Frage schon oft in anderen Foren gestellt haben und nie jemand drauf geantwortet hat :(