Oblivion:Eigene Musik für eine Cell spielen lassen
Inhaltsverzeichnis
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, heisst 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
Weitere Scripts aus dieser Kategorie
Level 1
Level 4
{{#if: Musik | }}
{{#if: Level_3_Scripts | }}