CommonAPI Fahrzeug Animationscallback

Willkommen in der Transport Fever Community

Wir begrüßen euch in der Fan-Community zu den Spielen Transport Fever und Train Fever, den Wirtschaftssimulatoren von Urban Games. Die Community steht euch kostenlos zur Verfügung damit ihr euch über das Spiel austauschen und informieren könnt. Wir pflegen hier einen freundlichen und sachlichen Umgang untereinander und unser Team steht euch in allen Fragen gerne beiseite.

 

Die Registrierung und Nutzung ist selbstverständlich kostenlos.

 

Wir wünschen euch viel Spaß und hoffen auf rege Beteiligung.

Das Team der Transport-Fever Community


  • CommonAPI Fahrzeug Animationscallback Callback um Fahrzeuge zu gestalten.

    [h1]CommonAPI Fahrzeug Animationscallback [/h1]
    [info=warning]Vorläufige Entwicklungsbeschreibung der Version 1.11.20191002-dev[/info]



    1 Animationscallback registrieren


    [info=warning]Wichtig: Baut eure Fahrzeuge immer so, das eure Mods auch ohne die CommonAPI funktioniert. Um herauszufinden ob die CommonAPI geladen ist, überprüft die globale Variable commonapi und danach commonapi.vehanimations
    Es kann sein, das der Nutzer vehanimations abgeschaltet hat, also muss immer beides getestet werden.
    [/info]


    Um eine Animationscallback zu aktivieren, müsst Ihr in der Fahrzeug.mdl die Funktion commonapi.vehanimations.add(<mdlname>, <callbackfn>) aufrufen.


    Beispiel:



    2 Callback Funktion


    Die CommonAPI ruft bei jeder Entscheidung eines Tür Events bzw. des Abfahrtsevent einer Station euer Callback auf.
    local function mycallback(data, index)


    In der data Variable ist eine Tabelle mit allen Daten des Zugverbandes, der Index beschreibt den Index in der vehicles Subtabelle:


    Hier könnt Ihr nun:

    • Das Event umschreiben bzw. eine andere Variante eines Events auswählen (Zurzeit sollte die Länge der Animation nicht erheblich länger sein als das normale Event)
    • Die Farbe des Fahrzeug ändern
    • Das angebrachte Logo verändern

    Um einen Eindruck der Daten zu erhalten, könnt Ihr in der CommonAPI Console eingeben: commonapi.vehanimations.traceOn()
    Ihr könnt in der Callback Funktion math.random ausführen. Auch ist die Möglichkeit andere TPF Lua Funktionen zu nutzen, bedenkt aber das die Callback Funktion so schnell wie möglich sein muss. Daher arbeitet sparsam.
    Außerdem bei einem Zugverband ist die Datentabelle für alle Callbacks die gleiche Tabelle, daher sind Änderungen an der Struktur nicht erlaubt!


    Für jedes Fahrzeugteil gibt es einen Eintrag in vehicles. Euer Callback erhält den Index in diese Tabelle als zweite Variable der Callback Funktion

    ageAlter des Fahrzeug(teils) in Monaten
    colorFarbe des Fahrzeugs (rgb float) { -1, - 1, -1 } bedeutet keine Farbe
    eventAbzuspielende Animation/Event. Sollte es nicht im Modell definiert sein, wird das default Event als Failback genutzt.
    (Die Länge der Animation für die Abfahrtszeit Berechnung kann dadurch nicht mehr verändert werden )
    lasteventVorheriges event wenn bekannt
    opennumNur bei close events, die letzten zwei Ziffern des open events oder nicht vorhanden
    loopAnimation unendlich abspielen
    logoString "" für nicht gesetzt. Logo auf dem Fahrzeug ggf. ändern



    3 Weiterführende Informationen


    CommonAPI in der Webdisk
    CommonAPI Forum Beitrag

Teilen