Animation wird ungewollt unterbrochen

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo,


    momentan setze ich die Animationszeit eines Spielers möglichst hoch, um den Spieler in dieser "gefangen" zu halten, ihm aber dennoch die Möglichkeit zu geben die Kamera zu bewegen.
    Nun ist mir aber aufgefallen, dass hier kein Halt vor state wechseln gemacht wird. Wenn ein Spielr also in Reichweite eines Vehikels ist, kann er die Animation abbrechen, indem er einsteigt. TogglePlayerControllable würde das ganze natürlich auch lösen, jedoch geht dabei die Möglichkeit die Kamera zu bewegen verloren.
    Habt ihr weitere Lösungsmöglichkeiten?

  • Starte die Animation einfach direkt wieder, wenn er sie abgebrochen hat.
    Das kannst du entweder bei OnPlayerUpdate mit GetPlayerAnimationIndex abfragen, oder bei OnPlayerEnterVehicle direkt wieder setzen, sprich TogglePlayerControllable zu false, dann wieder zu true und dann direkt die Animation wieder starten. Um zu verhindern, dass er gleich wieder einsteigen kann und immer wieder, kannst du das Fahrzeug für den einen Spieler dann abschließen, dann wird auch das verhindert.


    Alternativ kannst du, wenn du die Animation startest, alle Fahrzeuge für den Spieler abschließen, dann hat sich das Problem komplett erledigt.

  • Alternativ kannst du, wenn du die Animation startest, alle Fahrzeuge für den Spieler abschließen, dann hat sich das Problem komplett erledigt.


    Nein, da immer noch eine Animation ausgeführt wird, wenn man G drückt.


    Dein erster Vorschlag ist die einzige Möglichkeit, da selbst das Freezen der Animation selbst nicht hilft :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • Nein, da immer noch eine Animation ausgeführt wird, wenn man G drückt.


    Daran hab ich gar nicht gedacht. Dann fällt das weg.


    selbst das Freezen der Animation selbst nicht hilft


    Nein, das hast du falsch verstanden. Man freezt nicht die Animation, sondern man freezt und entfreezt den Spieler (damit er nicht einsteigen kann) und startet danach die Animation erneut.

  • Das Ding ist, dass ich Wert darauf lege, dass der Spieler immer an derselben Stelle bleibt. Ich schätz mal OnPlayerEnterVehicle wäre dafür die schonendere Variante, oder? Auch, wenn die Abfrage unter OnPlayerUpdate nicht besonders groß ist.
    Danke schon mal für eure Hilfe!

  • Ja, OnPlayerEnterVehicle wäre die schonendere Variante, sofern das richtig klappt und erkannt wird. Am besten du probierst beide Varianten aus, und schaust, welche der beiden Varianten am ehesten auf dein Vorhaben zutrifft.