Musik lautlos im Hintergrund laufen lassen

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Benutzeravatar
Gremlin
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 132
Registriert: 24.08.2003, 16:36
Wohnort: Karken
Kontaktdaten:

Musik lautlos im Hintergrund laufen lassen

Beitrag von Gremlin »

Hallo, ich habe folgende, im Titel angedeutete, Frage:

Wie kann ich die Musik lautlos weiterlaufen lassen?

Denn StopMusic(); ist nicht gut an der Stelle, da es kein wirklich fließendes MIDI ist.
Ich hab auch schon SetMusicMasterVolume(0); veruscht, aber dann hört man die Musik auch in anderen Räumen noch, wen nauch leise.

Ich bin mir zwar sicher, dass das schon irgendwo besprochen wurde, konnte aber ncihts dergleichen finden.
L.F.L.U. Nicht mein Team.
Nicki

Beitrag von Nicki »

Mit SetMusicVolume kannst du auch die Raum Lautstärke ganz nach unten stellen:

SetMusicVolume(-3);
SetMusicMasterVolume(0);
Benutzeravatar
Gremlin
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 132
Registriert: 24.08.2003, 16:36
Wohnort: Karken
Kontaktdaten:

Beitrag von Gremlin »

Das hab ich jetzt gemacht, aber ich hör immernoch etwas.
L.F.L.U. Nicht mein Team.
Nicki

Beitrag von Nicki »

Du mußt beide Funktionen in jedem Raum untereinander schreiben, dann dürfte es ruhig bleiben.

Alternativer Vorschlag: Doch StopMusic(); verwenden und bei Wiedereintreten in den "Musik Raum" per SeekMIDIPosition die Musik an anderer Stelle starten lassen.
So hättest du auch mehr Kontrolle was der Spieler zu hören bekommt.
Benutzeravatar
Gremlin
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 132
Registriert: 24.08.2003, 16:36
Wohnort: Karken
Kontaktdaten:

Beitrag von Gremlin »

Ich hatte beides untereinander.

Jetzt habe ich das mit den MIDI-Funktionen gemacht, aber:
Ich versuche mit PlaySilentMIDI das MIDI weiterlaufen zu lassen, aber wenn ich den Raum wieder betrete, dann startet es neu, also meine Variablensetzung muss irgendwie falsch (plaziert) sein.

Code: Alles auswählen

// Wenn Spieler Raum betritt
if (GetGlobalInt(53)==0)
{
SeekMIDIPosition(GetGlobalInt(58));
PlayMusic(21);
}
else StopMusic();

// GlobalInt(53) steht für ein Ereignis, bei dem die Musik nicht spielen soll.

// Wenn Spieler Raum verlässt
SetGlobalInt(58,GetMIDIPosition());
StopMusic();
SeekMIDIPosition(GetGlobalInt(58));
PlaySilentMIDI(21);

// GlobalInt(58) steht natürlich für die MIDI-Position
L.F.L.U. Nicht mein Team.
Benutzeravatar
Gremlin
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 132
Registriert: 24.08.2003, 16:36
Wohnort: Karken
Kontaktdaten:

Beitrag von Gremlin »

Argh, ein weiteres mit der Musik zusammenhängendes Problem tritt auf.

Auch ich arbeite an einer Episode zu MMM (mit MarkusD zusammen) und habe folgendes Problem noch:
Wenn ich zum 2. Mal im Flur bin und mir die Luke angucke, dann stoppt die Musik einfach so, woran kann das liegen?
Es gibt eine Variable, die die Musik absichtlich stoppen soll, aber die wird nicht verändert. Außerdem habe ich LucasFans Script bei "Schau an Luke" nur einen Punkt in Bernards Satz hinzugefügt...

Edit: Scheint sich erledigt zu haben, es muss an PlaySilentMIDI gelegen haben.
L.F.L.U. Nicht mein Team.
Antworten