CfgSounds

Die meisten Befehle benötigen eine config für die zu benutzenden Sounds. Diese fügst du in deine description.ext ein. Sie darf wie jede Cfg nur einmal existieren.

Beispiel:

class CfgSounds{
  sounds[] = {};
  class wolf1{
    // Name des Sounds in Triggerauswahl
    name = "my_wolf_sound";
    //Pfad des Sounds (relativ zu Missionspfad), Lautstärke, Pitch, Reichweite des Sounds in Meter
    sound[] = {"fx\wolf1.ogg", 1, 1, 100};
    // Verzögerung des Untertitels, Untertitel
    titles[] = {1, "*wolf growls*"};
  };
};

Da dies die description.ext sehr schnell aufbläht, kann man auch die Klassen in einzelnen .hpp-Dateien definieren und sie in der description.ext lediglich inkludieren, wodurch man sich Platz spart.

class CfgSounds
{
  sounds[] = {};
  #include "Sounds\wolfSounds.hpp"
};

Wie üblich gilt: Inkludierte Dateien, die nicht existieren oder falsch benannt sind, werden Arma abstürzen lassen.

playSound

Lokaler Aufruf des Sounds, der in CfgSounds definiert wurde: playSound "wolf1" playSound "Beispiel"

playSound3D

Der folgende Aufruf ist etwas komplizierter und erfordert keine CfgSounds. Dafür müsst ihr euch in der Ordnernavigation etwas rantasten.

_soundPfad = (str missionConfigFile) select [0, (count str missionConfigFile)-15];
_soundToPlay = _soundPfad + "sounds\IrgendEineOOGImOrdnerSounds.ogg";
_sourceObject = Lautsprecher_1;
playSound3D [_soundToPlay, _sourceObject, false, getPos _sourceObject, 10, 1, 500];

Die Parameter des globalen Befehls sind:

    1. Pfad zum Sound, der abgespielt werden soll
    1. Quelle des Sounds
    1. Wahrheitswert, ob die Quelle „innen“ ist
    1. Position, von der der Sound kommen soll (überschreibt 2.)
    1. Lautstärke (Volume)
    1. Tonhöhe (Pitch)
    1. Maximale Reichweite (Maximal heißt dabei NICHT mehr zu hören. 60% sind angeraten)

say3D

from say3D [sound, maxDistance, pitch];

Der Vorteil von say3D ist, wenn es auch lokal ist, dass es beim Tod der Quelle deaktiviert wird und die Entfernung zwischen Spieler und Quelle in Betracht zieht.

_zufälligerLautsprecher say3D ["wolf1", 100, 1];

Da der ganze Befehl lokal ist, wird dafür remoteExec benötigt, wenn der Sound bei allen Spielern wiedergegeben werden soll. Ein Beispiel sähe so aus:

[_zufälligerLautsprecher, ["wolf1",100,1]] remoteExec ["say3D", -2, true];

Die -2 heißt, dass der Server keinen Sound hat. Beim Testen auf eurem Rechner seid ihr der Server

Verwendete Befehle

Tags: archiv