Oblivion:Musik abspielen
Inhaltsverzeichnis
Thema
Hier wird gezeigt wie man in Oblivion Musik abspielen kann und zwar so, das die Musik die normalerweise im Hintergrund läuft deaktiviert wird.
Anwendung
Aufgabenstellung
Wir werden also versuchen eine alternative Musik abzuspielen indem wir einen Gegenstand aktivieren. Alternativ zu der Musik die normalerweise im Hintergrund läuft.
Theorie
Also die Grundlage für eine alternative Musik ist der <tesscript>StreamMusic</tesscript> Befehl.
Mit StreamMusic kann man Musik, oder besser gesagt eine Sound Datei aus einem beliebigen Verzeichnis abspielen lassen. Außerdem kann man einen der vorhandenen Ordner im Data/music Verzeichnis als Playlist nutzen. Also z.B. : <tesscript>StreamMusic Public ; spielt ein Lied aus dem data/music/Public Ordner ab</tesscript> Oder <tesscript>StreamMusic random; spielt ein zufälliges Lied aus dem data/music/Public Ordner ab</tesscript> ACHTUNG: Das mit dem Ordner funktioniert nur mit vorhandenen Ordnern, also <tesscript>StreamMusic MeinMusikOrdner </tesscript> geht NICHT.
Der Unterschied zu den PlaySound Befehlen (unten) ist, das bei StreamMusic die Hintergrundmusik ausgeschaltet wird.
Probleme
Der Befehl ist laut ConstWiki nicht von Bethesda dokumentiert worden, dewegen kann mit Fehlern gerechnet werden. Aber nicht abschrecken lassen, wenn man folgendes beachtet sollte nichts passieren.
- Kampfmusik wird trotz StreamMusic gestartet
- Die Datei muss NICHT zwingend im .mp3 Format sein, es wird alles abgespielt was der Windows Media Player auch spielen kann. Bei Playlist Dateien(.pls , .m3u) hört allerdings jede Musik auf zu spielen(!). Auch Videos sind möglich, aber beim Abspielen von Videos sollte man auf PlayBink zurückgreifen. Denn Oblivion wird dadurch erstens instabil, und zweitens wird das Video in einem extra Fenster abgespielt während Oblivion minimiert ist. Anschließend wird Oblivion wieder hergestellt. Klingt lustig und ist es auch aber der Befehl heißt nicht umsonst streamMUSIC also ist klar das das nicht so gedacht ist und Probleme verursachen kann.
- Der Befehl funktioniert nur in Zellen mit dem Music Type auf Public oder Dungeon. Bei Zellen mit der Einstellung auf Default wird durch StreamMusic lediglich der aktuelle Song neugestartet!!
- Wer trotzdem StreamMusic in einer Zelle mit Default Einstellung verwenden will hat es etwas schwerer. Damit es nämlich trotzdem die Musik abspielt die man möchte muss man folgendes machen. Erst muss man <tesscript>StreamMusic random</tesscript> anwenden, anschließend einen Frame warten und dann erst seinen <tesscript>StreamMusic "Verzeichnis/Dateiname"</tesscript> Befehl benutzen.
Realisierung
Damit das ganze funktioniert braucht man also einfach nur eine passend Mediendatei die der Windows Mediaplayer auch abspielen würde und dann das ganze in ein Skript packen.
Umgebung
Das Skript wird jetzt der Einfachheit halber als Objekt Skript geschrieben, in nachfolgenden Skripts wird das ganze aber in ein Questscript kommen.
Script
scn MusikAbspielenSC
- Written by sinHHHans
- 22.08.08
short DoOnce
Begin OnActivate if Doonce == 0
StreamMusic "E:\Music\Bob Marley\Exodus\06-Jamming.mp3" set doonce to 1
endif End
Handhabung
Also das Skript kommt auf einen Aktivator. Und nicht vergessen, die Zelle in der der Aktivator steht muss als Music Type entweder Public oder Dungeon haben.