Oblivion:Musik abspielen: Unterschied zwischen den Versionen

Aus Skript-Wiki
Wechseln zu: Navigation, Suche
Zeile 4: Zeile 4:
 
== Anwendung ==
 
== Anwendung ==
 
=== Aufgabenstellung ===
 
=== Aufgabenstellung ===
Wir werden also versuchen eine alternative Musik abzuspielen. Alternativ zu der Musik die normalerweise im Hintergrund läuft.
+
Wir werden also versuchen eine alternative Musik abzuspielen indem wir einen Gegenstand aktivieren. Alternativ zu der Musik die normalerweise im Hintergrund läuft.
 
=== Theorie ===
 
=== Theorie ===
 
Also die Grundlage für eine alternative Musik ist der  
 
Also die Grundlage für eine alternative Musik ist der  
Zeile 11: Zeile 11:
 
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. :
 
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>
 
<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>.
+
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.
 
ACHTUNG: Das mit dem Ordner funktioniert nur mit vorhandenen Ordnern, also <tesscript>StreamMusic MeinMusikOrdner </tesscript> geht NICHT.
  
Zeile 18: Zeile 18:
 
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 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 [[Oblivion:Interior_Cell|Music Type]] auf Public oder Dungeon. Bei Zellen mit der Einstellung auf Default wird durch StreamMusic lediglich der aktuelle Song neugestartet!!
 
* Der Befehl funktioniert nur in Zellen mit dem [[Oblivion:Interior_Cell|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:
+
* 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
<tesscript>scn StreamMusicInDefaultZellenSC
+
 
 +
;Written by sinHHHans
 +
;21.08.08
 +
 
  
 
short Frame
 
short Frame
 
short go
 
short go
  
Begin OnActivate player
+
Begin OnActivate player ;irgendein Auslöser
 
if go == 0
 
if go == 0
   set go to 1
+
   set go to 1 ;Variable um Aktivierung im Gamemode Block zu prüfen
 +
  set Frame to 1 ; nur zum besseren Verständniss unten
 
endif
 
endif
 
End
 
End
 
Begin Gamemode
 
Begin Gamemode
if go == 1  
+
if go == 1 ; Gegenstand ist aktiviert worden
   if Frame == 0
+
   if Frame == 1 ;Frame Nummer 1
       streammusic random
+
       streammusic random  
       set Frame to 1
+
       set Frame to 2
 
       return
 
       return
   elseif Frame == 1
+
   elseif Frame == 2 ;Frame Nummer 2
       streammusic "Dateipfad/dateiname.mp3"
+
       streammusic "Dateipfad/dateiname.wma";jetz kann das Lied in einer Default Zelle spielen
       set go to 2
+
       set go to 0 ;alles wieder zurücksetzen damit man es nochmal machen kann
 +
      set Frame to 0
 
   endif
 
   endif
 
endif
 
endif
 
End</tesscript>
 
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 [[Oblivion:Videos_abspielen|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 ==
 
== 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 ===
 
=== Umgebung ===
<noinclude>hier gehört die Beschreibung der Umgebung hin, wie z.B. Einstellungen (Screenshots), benutzte Objecte usw.</noinclude>
+
Das Skript wird jetzt der Einfachheit halber als Objekt Skript geschrieben, in nachfolgenden Skripts wird das ganze aber in ein Questscript kommen.
 
=== Script ===
 
=== 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 ===
 
=== Handhabung ===
<noinclude>hier gehört Information zum Quelltext hin, zu dem Zuordnen der Quelltexte und zu Sonstigem</noinclude>
+
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 ==
 
<noinclude>falls nötig, werden hier noch weiter führende Links angegeben</noinclude>
 
<noinclude>falls nötig, werden hier noch weiter führende Links angegeben</noinclude>
 
[[Category:Sound_und_Video]]
 
[[Category:Sound_und_Video]]
 
[[Category:Musik]]
 
[[Category:Musik]]
 +
[[Oblivion:Interior_Cell]]
 +
[[Oblivion:Videos_Abspielen]]

Version vom 21. August 2008, 23:44 Uhr

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.

Links

falls nötig, werden hier noch weiter führende Links angegebenOblivion:Interior_Cell Oblivion:Videos_Abspielen