private ["_unit","_arg","_sound","_Sound_Location"]; if (typename (_this select 1) == "array") then { _arg = _this select 1; _unit = _arg select 0; _sound = _arg select 1; _Sound_Location = _arg select 2; } else { _unit = _this select 0; _sound = _this select 1; _Sound_Location = _this select 2; }; if (isnil "_sound" || _sound == "") exitwith {}; // No sound set, don't play anything. if (isNil "_unit") exitwith {false}; //Rarely happens that _unit stops existing _rhand = _unit selectionPosition _Sound_Location; _posStart = _unit modeltoworld _rhand; _obj = "#particlesource" createVehicleLocal _posStart; _obj attachto [_unit,_rhand]; _obj say3d _sound; sleep 10; deleteVehicle _obj;