CommonAPI Fahrzeug Animationscallback

Willkommen in der Transport Fever Community

Welcome to the fan community of Transport Fever and Train Fever, the economic simulators of Urban Games. The community is free for you to share and inform yourself about the game. We cultivate a friendly and objective interaction with each other and our team will be happy to answer any questions you may have.

 

Registration and use is of course free for you.

 

We wish you a lot of fun and hope for active participation.

The Team of the 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

Share