Archiv verlassen und diese Seite im Standarddesign anzeigen : Musik im Raum
Streicher
26.02.2007, 18:00
Hi,
ich würde gerne wissen, wie ich das mache, das wenn man ein Haus/Raum betritt(also, ein neue geladen wird) eine bestimmte musik abgespielt wird, die so lange läuft bis man rausgeht.
ich glaub das muss man skripten, ich weis nur nciht wie ^^
Könnt mir bitte jemand ein Skript aufschreiben wo ich dann nur noch meine Daten einsetzen muss.
Also, ne Idee wie hät ich ja schonmal:
Beim benutzen der Tür beginnt die Musik und wird einfach wenn sie endet wieder wiederholt. Wenn man nun die innere Tür benutzt, wird sie wieder beendet.
Also, ich glaub jedenfalls das das so funktionieren könnte(hab MW skripting for Dummies, bin aber erst am Anfang und brauch das mit der Musik jetzt).
Bedanke mich schon einmal. http://www.multimediaxis.de/images/smilies/old/sm_12.gif
mfg Streicher
Meines Wissens nach kann man keine bestimmte Datei im Musikordner aufrufen (aber nicht 100% sicher). Allerdings fiel mir neulich ein plugin auf, das seine Musik komplett mit Umgebungsgeräuschen abspielt... damit könnte es irgendwie gehen, weil die Geräusche kann man direkt per activator/Tür/etc. aktivieren; und anscheinend gibt es da keine limits, also man könnte wohl ganze Musiken auf ein (Umgebungs-)geräusch legen.
Wie das geht, könntest du dir in Expanded Sounds (z.B.) abgucken; siehe downloads hier von der Seite.
So etwas wurde bei Wizards Islands umgesetzt. Ich schau mir nachher mal deren Skripte an. Funktionierte afair mit einem Activator vor der Tür, der die Musik beim Betreten des Raumes startete und per Timer wiederholte.
Zufällig bin ich gerade bei der Suche nach etwas anderem über ein undokumentiertes feature gestolpert:
http://cs.elderscrolls.com/constwiki/index.php/StreamMusic
Exakt. Die haben das damit gelöst. Sieht dann etwa so aus:
Begin StreicherMusikSkript
Float Timer
Set Timer To ( Timer + GetSecondsPassed )
If ( Timer < 1 )
; "MeinVerzeichnis" liegt hier: Data Files\Music\MeinVerzeichnis
StreamMusic "MeinVerzeichnis\MeinSong.mp3"
EndIf
If ( Timer >= 188 )
Set Timer To 0
Return
EndIf
If (CellChanged == 1)
Set Timer To 0
EndIf
End StreicherMusikSkript
StreamMusic würgt den aktuell gespielten Song ab und startet den angegebenen Track. Da nach dessen Ende ein neuer Zufallssong kommt, startet das Skript den Song nach dessen Laufzeit (hier 188 Sekunden) neu. Das Skript muß auf einem Activator in der Zelle laufen.
Entsprechend müßtest du in der Außenwelt ein anderes Skript auf einen Activator packen, der wieder ein Zufallslied startet. Müßte in etwa so aussehen:
Begin StreicherMusikResetSkript
If ( CellChanged == 1 )
StreamMusic Explore
EndIf
End StreicherMusikSkript
Wobei...das wird wahrscheinlich auch dann getriggert, wenn die Zelle von anderswo her geladen wird. Das könnte man über eine eigens dafür angelegte globale Variable vermeiden. Nennen wir sie mal StreicherMusicPlaying, Typ Integer.
Begin StreicherMusikSkript
Float Timer
Set Timer To ( Timer + GetSecondsPassed )
If ( Timer < 1 )
StreamMusic "VerzeichnisImMusicFolder\MeinSong.mp3"
Set StreicherMusicPlaying to 1
EndIf
If ( Timer >= 188 )
Set Timer To 0
Return
EndIf
If (CellChanged == 1)
Set Timer To 0
EndIf
End StreicherMusikSkript
Begin StreicherMusikResetSkript
If ( CellChanged == 1 )
If ( StreicherMusicPlaying == 1)
StreamMusic Explore
EndIf
EndIf
End StreicherMusikSkript
Das ist jetzt alles reine Theorie...ausprobieren mußt du selber. :p
Streicher
28.02.2007, 12:38
Danke für die viele Arbeit :D
mfg Streicher
PS: Ob es klappt oder nicht editier ich noch in den Post.
Forgot something...
Begin StreicherMusikResetSkript
If ( CellChanged == 1 )
If ( StreicherMusicPlaying == 1)
StreamMusic Explore
Set StreicherMusicPlaying to 0
EndIf
EndIf
End StreicherMusikSkript
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.