Arma 3 Battle Ambientsound - Spielogik

Erstellt: 2026-01-04 14:00:51 Aufrufe: 698 Tags: Keine Tags

Um die Ressourcen zu nutzen, welche in Arma soundtechnisch zur Verfügung stehen, hatte ich im Bohemia Forum ein sehr interessante Idee gesehen, wie man diese nutzen kann.

Hierzu erstellt man sich zb. eine Datei, welche ich in diesem Beispiel jetzt mal BattleAmbientsound.sqf nenne.


Das Script nutzt 2 Soundfiles aus Arma und spielt die so unregelmäßig ab, das man glauben könnte um einen ist eine richtige Schlacht in Gange.


Der Inhalt der BattleAmbientsound.sqf


if (!isdedicated && hasInterface) then {

waitUntil {!isNull player};
waitUntil {player == player};
_source = _this;//objective_pos_logic;// object/logic

_center = createCenter sideLogic;
_group = createGroup _center;
_logic = _group createUnit ["LOGIC",(getPos _source) , [], 0, ""];
_plays = true;
while {_plays} do {
[_logic,_source] spawn {
private ["_logic","_source","_allsounds"];
_logic = _this select 0;
_source = _this select 1;
_allsounds = [];
_posS = (getPos _source);
_logic setPos [(_posS select 0)+ random 305 - Random 305,(_posS select 1)+ random 305 - Random 305,1];

private ["_sound","_sound1","_sound2","_maxtype"];
_sound1 = format ["A3\Sounds_F\ambient\battlefield\battlefield_explosions%1.wss",ceil (random 5)];
_sound2 = format ["A3\Sounds_F\ambient\battlefield\battlefield_firefight%1.wss",floor (random 4)];
_allsounds pushBack _sound1;
_allsounds pushBack _sound2;
_maxtype = (count _allsounds);
_sound = _allsounds select (floor random _maxtype);
playsound3d [_sound,_logic,false,getPosasl _logic,5,1,0];
};

sleep (random 1 + random 7);
};

};


In die Init Zeile der Spielogik kommt dazu folgender Eintrag:

0 = this execVM "BattleAmbientsound.sqf";


Von den Spiellogiken können auch mehrere dann gesetzt werden, je nachdem wie stark ausgeprägt auf den Spieler gewirkt werden soll.