У меня есть загадочная проблема с playMusic
Суть в том, что иногда команда просто не срабатывает, я логгирую передаваемые параметры и они в норме, уже даже не знаю что думать
Место проблемы:
["FM Time: %1. End time: %2. Time offset: %3. Playing: %4", _radioTime, _radioTimeEnd, _radioTimeOffset, _radioTrack] call bis_fnc_logFormat; 0 fadeMusic 0.6; playMusic [_radioTrack select 0, _radioTimeOffset];Весь код:
_radioStations = missionNameSpace getVariable "FM_Stations";
_radioPlaying = 0;
"Player in vehicle." call bis_fnc_log;
while {vehicle player != player} do {
// Get vehicle FM
_radioStation = vehicle player getVariable ["FM_Station", 0];
if (_radioStation != _radioPlaying) then {
["Changing station from %1 to %2", _radioPlaying, _radioStation] call bis_fnc_logFormat;
(_radioStations select _radioStation) call FM_fnc_stationShow;
_radioTime = missionNameSpace getVariable ["FM_Time", 0];
_radioTrack = missionNameSpace getVariable ["FM_Station", []] select _radioStation;
_radioTimeOffset = _radioTime - (_radioTrack select 1);
_radioTimeEnd = _radioTime + (((_radioTrack select 0) call FM_fnc_duration) - _radioTimeOffset);
["FM Time: %1. End time: %2. Time offset: %3. Playing: %4", _radioTime, _radioTimeEnd, _radioTimeOffset, _radioTrack] call bis_fnc_logFormat;
0 fadeMusic 0.6;
playMusic [_radioTrack select 0, _radioTimeOffset];
_radioPlaying = _radioStation;
"Wait to music end..." call bis_fnc_log;
waitUntil {
sleep 0.33;
_radioStation = vehicle player getVariable ["FM_Station", 0];
_radioTime = missionNameSpace getVariable ["FM_Time", 0];
((_radioStation != _radioPlaying) or (_radioTime > _radioTimeEnd))
};
"Track ended!" call bis_fnc_log;
_radioPlaying = -1;
playMusic "";
};
sleep 0.33;
};
playMusic "";
"Player left vehicle." call bis_fnc_log;











