Oblivion:Musik abspielen

Aus Skript-Wiki
Wechseln zu: Navigation, Suche

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 zufälliges Lied aus data/music/ Ordnern ab</tesscript> ACHTUNG: Das mit dem Ordner wie bei streammusic public 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.

siehe auch StreamMusik in Zellen mit Music Type auf Default

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

<tesscript>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</tesscript>

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.

Links

Oblivion:Interior Cell

Videos abspielen

StreamMusik in Zellen mit Music Type auf Default