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 2025
    2. Kalender 2024
    3. Kalender 2023
    4. Kalender 2022
    5. Kalender 2021
    6. Kalender 2020
    7. Kalender 2019
    8. Kalender 2018
    9. 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

Tipp TEN 1.7 Background Audios abhängig vom Room Typ abspielen

  • l.m.
  • February 18, 2025 at 7:03 PM
  • February 18, 2025 at 7:26 PM
  • 510 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.

  • Ihr könnt direkt global im Lua Script festlegen dass ihr Unterwasser ein anderes Audio abspielen möchtet als an Land.

    Im Audio Folder braucht ihr folgendes Setup:

    Dazu braucht ihr folgendes Script:

    Code
    LevelFuncs.OnStart = function() 
        LevelVars.PlayNormalBackgroundAudio = true
        LevelVars.PlayUnderwaterBackgroundAudio = false
    end
    LevelFuncs.OnLoop = function() 
        PlayBackgroundAudios()
    end
    function PlayBackgroundAudios()
        local CurrentRoom = Lara:GetRoom()
        
        if not LevelVars.PlayNormalBackgroundAudio and not CurrentRoom:GetFlag(RoomFlagID.WATER) then
            LevelVars.PlayUnderwaterBackgroundAudio = false
            LevelVars.PlayNormalBackgroundAudio = true
            PlayAudioTrack("200-Normal", SoundTrackType.LOOPED)
        end
        
        if not LevelVars.PlayUnderwaterBackgroundAudio and CurrentRoom:GetFlag(RoomFlagID.WATER) then
            LevelVars.PlayUnderwaterBackgroundAudio = true
            LevelVars.PlayNormalBackgroundAudio = false
            PlayAudioTrack("201-Underwater", SoundTrackType.LOOPED)
        end
    end
    Display More

    Erklärung:
    Beim Levelstart definiert ihr das, was standardmäßig abgespielt werden soll (normal soll Standard sein):

    Code
    LevelFuncs.OnStart = function() 
        LevelVars.PlayNormalBackgroundAudio = true
        LevelVars.PlayUnderwaterBackgroundAudio = false
    end

    In der OnLoop Funktion (also jeden Frame des Spiels) definiert ihr, dass die Funktion aufgerufen werden soll, die entscheidet welches Audio abgespielt werden soll:

    Code
    LevelFuncs.OnLoop = function() 
        PlayBackgroundAudios()
    end

    In der Funktion selbst, wird die Entscheidung getroffen welches Audio gespielt wird. Dafür wird der Raumtyp ausgelesen und in die Variable "CurrentRoom" gespeichert local CurrentRoom = Lara:GetRoom().

    Außerdem prüfen wir die Variablen ab, die vorher definiert wurden.

    Entscheidung für normales Background Audio

    Wenn nicht das Normale Background Audio schon gespielt wird und der Raumtyp nicht Wasser ist, dann

    if not LevelVars.PlayNormalBackgroundAudio and not CurrentRoom:GetFlag(RoomFlagID.WATER) then

    Lege in den Variablen fest, dass wir jetzt nicht das Unterwasser Background Audio spielen und dass wir stattdessen den normalen Background abspielen:

    Code
    LevelVars.PlayUnderwaterBackgroundAudio = false
    LevelVars.PlayNormalBackgroundAudio = true

    Spiele das normale Background Audio

    PlayAudioTrack("200-Normal", SoundTrackType.LOOPED)

    Entscheidung für Unterwasser Background Audio

    Wenn nicht das Unterwasser Background Audio schon gespielt wird und der Raumtyp Wasser ist, dann

    if not LevelVars.PlayUnderwaterBackgroundAudio and CurrentRoom:GetFlag(RoomFlagID.WATER) then

    Lege in den Variablen fest, dass wir jetzt Unterwasser Background Audio spielen und dass wir nicht mehr den normalen Background abspielen:

    Code
    LevelVars.PlayUnderwaterBackgroundAudio = true
    LevelVars.PlayNormalBackgroundAudio = false

    Spiele das Unterwasser Background Audio

    PlayAudioTrack("201-Underwater", SoundTrackType.LOOPED)


    Bedenkt, dass sobald Lara schwimmt, nun auch der Unterwassersound abgespielt wird, auch wenn sie noch nicht komplett untergetaucht ist, da sie sich technisch schon im Unterwasserraum befindet.

    Wollt ihr das Audio erst abspielen wenn sie wirklich untergetaucht ist, könnt ihr noch einen Trick anwenden.

    Dazu fragt ihr dann nicht den Raumtyp ab, sondern die Luft die Lara noch hat (1800 Maximalwert - pro Sekunde werden 30 abgezogen, nach 60 Sekunden ist die Luft weg).

    Wenn ihr das benötigt, kommt hier das Alternative Script:

    Code
    function PlayBackgroundAudios()
       local MaxAirValue = 1800
       
       if not LevelVars.PlayNormalBackgroundAudio and Lara:GetAir() == MaxAirValue then
           LevelVars.PlayUnderwaterBackgroundAudio = false
           LevelVars.PlayNormalBackgroundAudio = true
           PlayAudioTrack("200-Normal", SoundTrackType.LOOPED)
       end
       
       if not LevelVars.PlayUnderwaterBackgroundAudio and Lara:GetAir() < MaxAirValue then
           LevelVars.PlayUnderwaterBackgroundAudio = true
           LevelVars.PlayNormalBackgroundAudio = false
           PlayAudioTrack("201-Underwater", SoundTrackType.LOOPED)
       end
    end
    Display More

Share

  • Previous entry Audios abspielen
  • Next entry Bildschirm bei Energieverlust schwarz weiß färben
  • Changelog
  • PDF

Tomb Engine/Tomb Editor

Tomb Engine Version
1.6

Categories

  1. Archiv 8
    1. Tomb Editor_Alt 2
    2. TRNG_Alt 4
  2. Bauen 239
    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) 12
    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.17, developed by www.viecode.com
Powered by WoltLab Suite™ 6.1.16
TRLevel.de in the WSC-Connect App on Google Play
TRLevel.de in the WSC-Connect App on the App Store
Download