Oblivion:Musik abspielen: Unterschied zwischen den Versionen
(→Links) |
|||
Zeile 69: | Zeile 69: | ||
Also das Skript kommt auf einen Aktivator. Und nicht vergessen, die Zelle in der der Aktivator steht muss als [[Oblivion:Interior_Cell|Music Type]] entweder Public oder Dungeon haben. | Also das Skript kommt auf einen Aktivator. Und nicht vergessen, die Zelle in der der Aktivator steht muss als [[Oblivion:Interior_Cell|Music Type]] entweder Public oder Dungeon haben. | ||
== Links == | == Links == | ||
− | |||
[[Category:Sound_und_Video]] | [[Category:Sound_und_Video]] | ||
[[Category:Musik]] | [[Category:Musik]] | ||
[[Oblivion:Interior_Cell]] | [[Oblivion:Interior_Cell]] | ||
+ | |||
[[Oblivion:Videos_Abspielen]] | [[Oblivion:Videos_Abspielen]] |
Version vom 21. August 2008, 23:52 Uhr
Inhaltsverzeichnis
Musik abspielen
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.
- 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 ausführen.Hier mal ein kleines Beispiel wie das im Script aussehen würde bei dem der StreamMusic Befehl einen Frame nach dem StreamMusic random kommt:<tesscript>scn StreamMusicInDefaultZellenSC
- Written by sinHHHans
- 21.08.08
short Frame
short go
Begin OnActivate player ;irgendein Auslöser if go == 0
set go to 1 ;Variable um Aktivierung im Gamemode Block zu prüfen set Frame to 1 ; nur zum besseren Verständniss unten
endif End Begin Gamemode if go == 1 ; Gegenstand ist aktiviert worden
if Frame == 1 ;Frame Nummer 1 streammusic random set Frame to 2 return elseif Frame == 2 ;Frame Nummer 2 streammusic "Dateipfad/dateiname.wma";jetz kann das Lied in einer Default Zelle spielen set go to 0 ;alles wieder zurücksetzen damit man es nochmal machen kann set Frame to 0 endif
endif End</tesscript>
- 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.
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.