1. TRLevel
  2. Forum
    1. Unresolved Threads
    2. Articles
  3. Members
    1. Recent Activities
    2. Users Online
    3. Team
    4. Trophy
    5. Search Members
  4. Tutorials
  5. Levels
  6. Downloads
  7. Adventskalender
    1. Kalender 2024
    2. Kalender 2023
    3. Kalender 2022
    4. Kalender 2021
    5. Kalender 2020
    6. Kalender 2019
    7. Kalender 2018
    8. Kalender 2017
  8. Osterkalender
    1. Osterkalender 2025
    2. Osterkalender 2024
    3. Osterkalender 2023
    4. Osterkalender 2022
    5. Osterkalender 2021
    6. Osterkalender 2020
    7. Osterkalender 2019
    8. Osterkalender 2018
    9. Osterkalender 2017
    10. Osterkalender 2016
  9. Mediathek
    1. Albums
    2. Video channels
  • Login
  • Register
  • Search
Tutorials
  • Everywhere
  • Articles
  • Pages
  • Forum
  • Tutorials
  • Files
  • Images
  • Videos
  • More Options
  1. TRLevel.de
  2. Lexicon

Lua Scripting Animation für Ledge Jumps erstellen

  • l.m.
  • September 25, 2022 at 1:35 AM
  • November 21, 2022 at 8:45 AM
  • 6,120 times viewed

WICHTIG

Diese Tutorials sind beim schreiben immer mit der aktuellsten TEN/TE Version erstellt worden.
Leider kann sich von Version zu Version des Tomb Editor oder der Tomb Engine immer etwas am Code ändern. Daher können manche Teile der Tutorials veraltet sein, bzw. nicht mehr funtkionieren.
Wenn euch hier etwas auffällt, teilt uns dies BITTE mit. Damit man sich das Tutorial ansehen und überarbeiten kann. Dazu bitte einfach ein Thema im "TRLevel Forum" eröffnen.

  • Lara springt nach oben an einem Vorsprung und soll dort weiter nach oben springen? Dies ist mit einem Ledge Jump möglich.

    Wie das mit TEN funktioniert wird hier erklärt.

    Seit der TEN Version 1.0.3 sind die Ledge Jumps nativ in TEN integriert:

    Im Tomb Editor Verzeichnis unter Tomb Editor\Assets\Wads\TombEngine.wad2 findet ihr das entsprechende Lara Object. (Version 1.6.1 des TE ist erforderlich).

    Alternativ hab ich euch das Wad angehängt. (TombEngine.zip).

    Dieses müsst ihr in euer Wad kopieren, oder daraus manuell die Animationen 45, 565, 566, 567, 568 exportieren und in euer Wad kopieren.

    Wenn ihr das Lara Objekt mit den Ledge Jump Anims in euer Wad kopiert hat könnt ihr ganz einfach in der Settings.lua bei folgendem Eintrag:

    Code
    anims.ledgeJumps = false

    den Eintrag auf "true" setzen:

    Code
    anims.ledgeJumps = true

    Damit sollten die Ledge Jumps in der TEN funktionieren.

    Für einen Jump Up drückt ihr dazu den "Jump" Button.

    Für einen Jump Back drückt ihr dazu die "Jump + Back" Buttons.


    Vor der Version 1.0.3 musste man dies noch manuell mit Lua programmieren:

    Ihr benötigt dazu 2 Animationen, diese sind angehängt.

    Geht in das Wad Tool, klickt doppelt auf "Lara" und erstellt im Animations Editor mit dem Menü Eintrag "Animations" und "New Animation" einen neuen Animations Eintrag.

    Wählt eure neue Animation aus, geht auf "Import..." und importiert die Animation "LEDGE_JUMP_1". (aus der heruntergeladenen Animation).

    Das gleiche macht ihr nun nochmal und wählt "LEDGE_JUMP_2".

    Schaut nach welche Zahl eure Animation hat. Dies steht bei der Animation als erste Zahl in Klammern.


    Die Zahl der zweiten Animation wird nun bei der ersten Animation benötigt, nämlich bei "Next anim".

    In meinem Beispiel hat die erste Anim die Nr. 565 und die zweite Anim die Nr. 566.

    Ihr müsst nun sicherstellen, dass in der ersten Anim bei "Next anim" die Zahl / ID der zweiten Anim steht.

    In meinem Beispiel müsste ich nun bei der ersten Anim bei "Next anim" eben 566 eintragen.

    In der zweiten Anim muss bei "Next anim" die Zahl 28 stehen. Dies ist die Animation für Lara nach oben zu springen "JUMP_UP".

    Dann den Animations Editor beenden und speichern.

    Damit habt ihr die Anpassungen im Wad erledigt.

    Kommen wir zum Spript.

    Öffnet euer Level Script, zb. Mein_Level.lua

    Dies sollte standardmäßig so aussehen:

    Code
    ---- FILE: \Mein_Level.lua
    
    LevelFuncs.OnLoad = function() end
    LevelFuncs.OnSave = function() end
    LevelFuncs.OnStart = function() end
    LevelFuncs.OnControlPhase = function() end
    LevelFuncs.OnEnd = function() end

    Ihr müsst nun die Funktion "LevelFuncs.OnControlPhase" anpassen, da dies eine Funktion ist, die jederzeit im Spiel aufgerufen wird.

    Wir erstellen erst einmal darunter eine Funktion die unseren Bedürfnissen enspricht:

    Code
    function LedgeJumpUp()
        local ActualAnim = Lara:GetAnim()
        if ActualAnim == 45 and KeyIsHit(7) then
            Lara:SetAnim(565)
        end
    end

    Was macht die Funktion?

    Code
    function LedgeJumpUp()

    Erstellt eine Funktion mit dem Namen "LedgeJumpUp".

    Code
    local ActualAnim = Lara:GetAnim()

    Speichert die aktuelle Lara Animation in der Variable "ActualAnim" ab.

    Code
    if ActualAnim == 45 and KeyIsHit(7) then

    Hier ist nun eine Abfrage: Wenn Lara aktuell die Animation 45 ausführt (hängt an einer Kante) und der Spieler die "Jump / Springen" Taste drückt (7 = springen)

    Info: Wenn sich jemand fragt, wieso denn 7 nun die Springen Taste ist:

    Aktuell gibt es folgende Zuordnung:

    Code
    Forward = 0,
    Back = 1,
    Left = 2,
    Right = 3,
    Crouch = 4,
    Sprint = 5,
    Walk = 6,
    Jump = 7,
    Action = 8,
    Draw = 9,
    Flare = 10,
    Look = 11,
    Roll = 12,
    Inventory = 13,
    Pause = 14,
    StepLeft = 15,
    StepRight = 16
    Display More
    Code
    Lara:SetAnim(565)

    Lara führt die Animation 565 - LEDGE_JUMP_1 aus.

    Nun muss diese Funktion noch im Block LevelFuncs.OnControlPhase ausgeführt werden:

    Code
    LevelFuncs.OnControlPhase = function() 
        LedgeJumpUp()
    end


    Es sollte dann insgesamt im Lua Script so aussehen:


    Code
    ---- FILE: \Mein_Level.lua
    
    
    LevelFuncs.OnLoad = function() end
    LevelFuncs.OnSave = function() end
    LevelFuncs.OnStart = function() end
    LevelFuncs.OnControlPhase = function() 
        LedgeJumpUp()
    end
    
    LevelFuncs.OnEnd = function() end
    
    function LedgeJumpUp()
        local ActualAnim = Lara:GetAnim()
        if ActualAnim == 45 and KeyIsHit(7) then
            Lara:SetAnim(565)
        end
    end
    Display More

    Hängt Lara nun an einer Kante und drückt die Springen Taste wird nun die Animation (565) ausgeführt.

    Viel Spaß beim Ausprobieren!

    So / bzw. so ähnlich kann man auch weitere benutzerdefinierte Animationen ausführen.

    Files

    TombEngine.zip 6.94 MB – 94 Downloads LEDGE_JUMP_1.anim 107.56 kB – 130 Downloads LEDGE_JUMP_2.anim 52.25 kB – 134 Downloads

Share

  • Previous entry Ammo Counter 2.0
  • Next entry Background Audios abhängig vom Room Typ abspielen
  • Changelog
  • PDF

Categories

  1. Archiv 8
    1. Tomb Editor_Alt 2
    2. TRNG_Alt 4
  2. Bauen 238
    1. Tomb Editor (TE) 107
      1. Tipps und Tricks 19
      2. SoundTool 5
      3. TombIDE 6
      4. WadTool 11
      5. NodeEditor 2
    2. Tomb Engine (TEN) 72
      1. Tipps und Tricks 17
      2. Lua Scripting 35
    3. TRNG Engine 194
      1. Scripting 4
      2. NG Center 20
      3. Allgemein 7
      4. Neue TRNG Script Befehle 66
      5. Neue TRNG Trigger 66
      6. Neue TRNG OCB Werte 9
      7. TRNG Plugins 6
      8. Tipps und Tricks 5
      9. TRNG Engine Praktische Beispiele 8
    4. NGLE (Next Generation Level Editor) 11
    5. Tomb Raider Level Editor 86
      1. Licht 4
      2. Geometrie 8
      3. Levelbau 110
      4. Tipps und Tricks 12
      5. Script 3
      6. Sounds 2
      7. Texturen 2
      8. OCB 4
      9. Sonstiges 3
      10. Dxtre3D 1
  3. Tools 21
    1. Metasequoia 5
      1. Metasequoia 3.x 2
      2. Metasequoia 4.x 3
    2. StrPix und WADMerger 4
      1. StrPix 2
      2. WADMerger 2
    3. FLEP 9
    4. Tools 2
    5. TREP 7
      1. Flipeffect Editor 1
      2. Custom Patches 2
    6. TRViewer 1
    7. Blender 0
  4. Allgemeine Tipps und Tricks 3
  5. Level Editor Lexikon 107
    1. Tomb Editor 1
    2. Tools 3
      1. TREP/FLEP 3
      2. WADMerger 0
      3. Strpix 0
    3. NGLE/LE 97
    4. Allgemein 6
      1. WAD Slots 5
    5. NGEngine 0
  1. Privacy Policy
  2. Contact
  3. Legal Notice
Lexicon 7.1.12, developed by www.viecode.com
Powered by WoltLab Suite™ 6.1.12
TRLevel.de in the WSC-Connect App on Google Play
TRLevel.de in the WSC-Connect App on the App Store
Download