Oblivion:Eigene Musik für eine Cell spielen lassen

Aus Skript-Wiki
Wechseln zu: Navigation, Suche

Thema

Hier wird gezeigt, wie man in Oblivion Musik abspielen kann und zwar so, dass die Musik, die normalerweise im Hintergrund läuft, deaktiviert wird.

Anwendung

Aufgabenstellung

Für eine bestimmte Interior Cell (MyDungeon) soll kontinuierlich eigene Musik (ein einziges Stück) abgespielt werden. Diese soll die normale Hintergrundmusik ersetzen.

Hinweis:

Die eigene Musik kann eine beliebige Musikdatei sein. Sie könnte auch keinen Ton enthalten, also Schweigen. Der Effekt ist dann, dass man jegliche Hintergrundmusik ausgeschaltet hat.


Theorie

Die Theorie ist im Artikel Musik abspielen erklärt.


Realisierung

Umgebung

Es gibt eine Quest für die Verwaltung der Musik. Es gibt eine Cell MyDungeon, in der die Musik spielt. Die Musik, die gespielt werden soll, heißt MyMusic.mp3 und befindet sich mit relativen Namen Data\Music\MyMod\MyMusic.mp3 im Oblivion-Installationsverzeichnis.


Script

<tesscript>Scn MyDungeonBackgroundMusic

Written by keris (draft by LordKain)
18.05.09

Float Timer Short InCombat Short InMyCell Short MusicLenght Short Doonce Float fQuestDelayTime

begin GameMode

if Doonce == 0 set fQuestDelayTime to 0.1 set Doonce to 1 endif

if player.GetInCell MyDungeon == 1 && InMyCell == 0 set InMyCell to 1

         set Timer to 0

endif

if player.GetInCell MyDungeon== 0 && InMyCell == 1 set InMyCell to 0 endif

if player.isInCombat == 1 && InCombat == 0 set InCombat to 1 endif

if player.isInCombat == 0 && InCombat == 1 set InCombat to 0 set Timer to 0 endif

if InCombat == 0 && InMyCell if Timer <= 0 set Timer to 100 ; Länge der Musik in Sekunden

  			StreamMusic "Data\Music\MyMod\MyMusic.mp3"

else set Timer to Timer - getSecondsPassed endif endif end

begin MenuMode

if player.GetInCell MyDungeon == 1 && InMyCell == 0 set InMyCell to 1 set Timer to 0 endif

if player.GetInCell MyDungeon== 0 && InMyCell == 1 set InMyCell to 0 endif

if player.isInCombat == 1 && InCombat == 0 set InCombat to 1 endif

if player.isInCombat == 0 && InCombat == 1 set InCombat to 0 set Timer to 0 endif

if InCombat == 0 && InMyCell if Timer <= 0 set Timer to 100 ; Länge der Musik in Sekunden StreamMusic "Data\Music\MyMod\MyMusic.mp3" else set Timer to Timer - getSecondsPassed endif endif end


</tesscript>

Handhabung

Das Skript kommt auf die Quest. Die Zelle, in der die Musik spielt, muss als Music Type entweder Public oder Dungeon haben.


Weiterführende Hinweise

Interior Cell

Videos abspielen



Weitere Scripts aus dieser Kategorie

Level 1

 

  

    Level 4

     



    {{#if: Musik | }} {{#if: Level_3_Scripts | }}