Portal-Zone Gothic-Zone Gothic II-Zone Gothic 3-Zone Gothic 4-Zone Modifikationen-Zone Download-Zone Foren-Zone RPG-Zone Almanach-Zone Spirit of Gothic

 

Ergebnis 1 bis 8 von 8
  1. Beiträge anzeigen #1 Zitieren
    Knight Avatar von Draxes
    Registriert seit
    Aug 2007
    Ort
    Mainz
    Beiträge
    1.920
     
    Draxes ist offline

    Gezielt Sounds beenden

    Hi! Meine Frage richtet sich eher an diejenigen, die etwas mehr Erfahrung mit den Gothic internen Funktionen haben als ich.

    Ich habe gerade an einigen Stellen das Bedürfnis, bestimmte Sounds gezielt zu beenden und abzufragen, wie lang diese sind. Ich habe dazu folgende Zeilen gefunden:

    Code:
    // Vielleicht zum stoppen?
    virtual void __thiscall zCSndSys_MSS::StopSound(int const &)   	0x004F2300	0	10	public:	virtual void	__thiscall	zCSndSys_MSS::StopSound(int	const	&)
    
    // Vielleicht zum abfragen, wie lang eine bestimmte Datei ist?
    virtual float __thiscall zCSndSys_MSS::GetPlayingTimeMSEC(zSTRING const &)      	0x004F40E0	0	6	public:	virtual float	__thiscall	zCSndSys_MSS::GetPlayingTimeMSEC(zSTRING	const	&)
    Allerdings habe ich jetzt keine Ahnung, welche Parameter diese Funktionen jetzt genau erwarten. Hat da vielleicht schon mal jemand mit herumgespielt oder kann das für mich im Quellcode nachschauen?
    Vielleicht gibt es aber auch einfachere Wege, um bestimmte Sounds zu beenden?

  2. Beiträge anzeigen #2 Zitieren
    Serima Avatar von Fisk2033
    Registriert seit
    Dec 2010
    Ort
    Dresden
    Beiträge
    5.803
     
    Fisk2033 ist offline
    Vielleicht hilft dir das hier weiter (Abschnitt sound.d) :
    https://forum.worldofplayers.de/foru...1#post25717008

    Dort wird u.a. Musik gestoppt. Vielleicht kannst du das umwandeln bzw. die Funktionsweise abwandeln...

  3. Beiträge anzeigen #3 Zitieren
    Knight Avatar von Draxes
    Registriert seit
    Aug 2007
    Ort
    Mainz
    Beiträge
    1.920
     
    Draxes ist offline
    Zitat Zitat von Fisk2033 Beitrag anzeigen
    Vielleicht hilft dir das hier weiter (Abschnitt sound.d) :
    https://forum.worldofplayers.de/foru...1#post25717008

    Dort wird u.a. Musik gestoppt. Vielleicht kannst du das umwandeln bzw. die Funktionsweise abwandeln...
    Danke für den Hinweis! Die Datei haben wir tatsächlich schon im Einsatz. Dort gibt es allerdings nur eine Funktion, um alle Sounds zu stoppen. Und die Adresse lässt sich nicht für einzelne Sounds anpassen.

  4. Beiträge anzeigen #4 Zitieren
    Ehrengarde Avatar von mud-freak
    Registriert seit
    Dec 2005
    Beiträge
    2.199
     
    mud-freak ist offline
    Um was für eine Art Sound handelt es sich denn (z.B. Ambientdialoge, Effektsounds, Umgebungsgeräusche)? Vielleicht lässt sich damit die Suche in der Engine etwas eingrenzen.

  5. Beiträge anzeigen #5 Zitieren
    Knight Avatar von Draxes
    Registriert seit
    Aug 2007
    Ort
    Mainz
    Beiträge
    1.920
     
    Draxes ist offline
    Zitat Zitat von mud-freak Beitrag anzeigen
    Um was für eine Art Sound handelt es sich denn (z.B. Ambientdialoge, Effektsounds, Umgebungsgeräusche)? Vielleicht lässt sich damit die Suche in der Engine etwas eingrenzen.
    Effektsounds (Definiert in SfxInst.d), die in diesem Fall eine bestimmte Art von Sprachausgabe für einen Npc darstellt (Zwischenkommentare in einem Bossfight). Ziel wäre, dass sich diese Sounds nicht überlappen, damit der Npc sich nicht selbst ins Wort fällt. Manche Sätze davon sind wichtiger als andere, sodass ich am liebsten alle Sounds von ihm beenden würde, damit er einen neuen Satz beginnen kann. Ich hoffe, das Szenario ist klar. Ansonsten gerne nochmal nachfragen^^

  6. Beiträge anzeigen #6 Zitieren
    Ehrengarde Avatar von mud-freak
    Registriert seit
    Dec 2005
    Beiträge
    2.199
     
    mud-freak ist offline
    Ah ok. Wie startest du die Sounds denn? Mit AI_OutputSVM_Overlay oder AI_Snd_Play?

    Bei erstem kannst du versuchen, self und target den gleichen NPC anzugeben. Wenn ich das richtig erkenne, sollte er dann erst zu Ende sprechen, bevor er etwas neues sagt.

    Bei letzterem kannst du versuchen, stattdessen AI_Snd_Play3D zu verwenden. Auch hier bin ich mir nicht sicher, aber er sollte seine Aussagen dann nach einander abarbeiten.

    Sag mal Bescheid, falls das nicht geklappt. Man könnte unter der Haube an laufende SVM gelangen können, falls nötig.

  7. Beiträge anzeigen #7 Zitieren
    Knight Avatar von Draxes
    Registriert seit
    Aug 2007
    Ort
    Mainz
    Beiträge
    1.920
     
    Draxes ist offline
    Zitat Zitat von mud-freak Beitrag anzeigen
    Ah ok. Wie startest du die Sounds denn? Mit AI_OutputSVM_Overlay oder AI_Snd_Play?

    Bei erstem kannst du versuchen, self und target den gleichen NPC anzugeben. Wenn ich das richtig erkenne, sollte er dann erst zu Ende sprechen, bevor er etwas neues sagt.

    Bei letzterem kannst du versuchen, stattdessen AI_Snd_Play3D zu verwenden. Auch hier bin ich mir nicht sicher, aber er sollte seine Aussagen dann nach einander abarbeiten.

    Sag mal Bescheid, falls das nicht geklappt. Man könnte unter der Haube an laufende SVM gelangen können, falls nötig.
    Bisher verwende ich einfach Snd_Play() statt den 3D-Varianten, damit der Sound direkt gespielt wird und auch zu hören ist, wenn man ein wenig vom NPC entfernt steht (da sonst die anderen Effekte im Kampf meist die Sprachausgabe übertönen). Ich hatte gar nicht auf dem Schirm, dass es AI-Varianten von diesen Funktionen gibt.
    Ich werde mal mit AI_Snd_Play3D etwas herumprobieren, ob das potentiell das Problem lösen kann, wenn ich es an den richtigen Stellen verwende. Danke für den Tipp! =)

  8. Beiträge anzeigen #8 Zitieren
    Ehrengarde Avatar von mud-freak
    Registriert seit
    Dec 2005
    Beiträge
    2.199
     
    mud-freak ist offline
    Zitat Zitat von Draxes Beitrag anzeigen
    Bisher verwende ich einfach Snd_Play() statt den 3D-Varianten, damit der Sound direkt gespielt wird und auch zu hören ist, wenn man ein wenig vom NPC entfernt steht (da sonst die anderen Effekte im Kampf meist die Sprachausgabe übertönen). Ich hatte gar nicht auf dem Schirm, dass es AI-Varianten von diesen Funktionen gibt.
    Ich werde mal mit AI_Snd_Play3D etwas herumprobieren, ob das potentiell das Problem lösen kann, wenn ich es an den richtigen Stellen verwende. Danke für den Tipp! =)
    Du kannst es natürlich auch erst einmal mit AI_Snd_Play ausprobieren. Vielleicht genügt das schon und du umgehst das Problem mit übertönenden Geräuschen.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
Impressum | Link Us | intern
World of Gothic © by World of Gothic Team
Gothic, Gothic 2 & Gothic 3 are © by Piranha Bytes & Egmont Interactive & JoWooD Productions AG, all rights reserved worldwide