Hallo zusammen,
ich habe wie in der 3.1.4.8 versucht eine Taste für 3 Sirenen zu erstellen.
Für Cops und Medics sind alle 3 Sirenen drin, die Sirenensounds sind natürlich schon in der description eingetragen und die Sirenenskripte in der Functions.hpp. Dennoch ertönt INGAME kein Sound. NUR die erste Sirene funktioniert, die stand schon vorher drin. Meine selbst eingefügten funktionieren nicht. Es steht dazu auch nichts in den Logs und die keys funktionieren auch.
In der fn_keyHandler.sqf steht folgendes für die 3 Sirenen drin:
Spoiler anzeigen
//F Key - Sirenen
case 33: {
if(!_shift && !_ctrlKey) then
{
if (playerSide in [west,independent] && {vehicle player != player} && {!life_siren_active} && {((driver vehicle player) == player)}) then {
[] spawn {
life_siren_active = true;
sleep 4.7;
life_siren_active = false;
};
_veh = vehicle player;
if (isNil {_veh getVariable "siren"}) then {_veh setVariable ["siren",false,true];};
if ((_veh getVariable "siren")) then {
titleText [localize "STR_MISC_SirensOFF","PLAIN"];
_veh setVariable ["siren",false,true];
} else {
titleText [localize "STR_MISC_SirensON","PLAIN"];
_veh setVariable ["siren",true,true];
if (playerSide isEqualTo west) then {
[_veh] remoteExec ["life_fnc_copSiren",RCLIENT];
} else {
[_veh] remoteExec ["life_fnc_medicSiren",RCLIENT];
};
};
};
};
if(_shift) then
{
if (playerSide in [west,independent] && {vehicle player != player} && {!life_siren_active} && {((driver vehicle player) == player)}) then {
[] spawn {
life_siren_active = true;
sleep 4.7;
life_siren_active = false;
};
_veh = vehicle player;
if (isNil {_veh getVariable "siren2"}) then {_veh setVariable ["siren2",false,true];};
if ((_veh getVariable "siren2")) then {
titleText ["Sirene 2 AUS","PLAIN"];
_veh setVariable ["siren2",false,true];
} else {
titleText ["Sirene 2 AN","PLAIN"];
_veh setVariable ["siren2",true,true];
if (playerSide isEqualTo west) then {
[_veh] remoteExec ["life_fnc_copSiren2",RCLIENT];
} else {
[_veh] remoteExec ["life_fnc_medicSiren2",RCLIENT];
};
};
};
};
if (_ctrlKey) then
{
if (playerSide in [west,independent] && {vehicle player != player} && {!life_siren_active} && {((driver vehicle player) == player)}) then {
[] spawn {
life_siren_active = true;
sleep 4.7;
life_siren_active = false;
};
_veh = vehicle player;
if (isNil {_veh getVariable "warnsirene"}) then {_veh setVariable ["warnsirene",false,true];};
if ((_veh getVariable "warnsirene")) then {
titleText ["Warnsirene AUS","PLAIN"];
_veh setVariable ["warnsirene",false,true];
} else {
titleText ["Warnsirene AN","PLAIN"];
_veh setVariable ["warnsirene",true,true];
if (playerSide isEqualTo west) then {
[_veh] remoteExec ["life_fnc_copwarnsirene",RCLIENT];
} else {
[_veh] remoteExec ["life_fnc_medicwarnsirene",RCLIENT];
};
};
};
};
};
In z.B. der ersten Sirene steht das drin:
Spoiler anzeigen
#include "..\..\script_macros.hpp"
/*
File: fn_copSiren.sqf
Author: Bryan "Tonic" Boardwine
Description:
Starts the cop siren sound for other players
*/
private["_vehicle"];
_vehicle = param [0,ObjNull,[ObjNull]];
if (isNull _vehicle) exitWith {};
if (isNil {_vehicle getVariable "siren"}) exitWith {};
for "_i" from 0 to 1 step 0 do {
if (!(_vehicle getVariable "siren")) exitWith {};
if (count crew _vehicle isEqualTo 0) then {_vehicle setVariable ["siren",false,true]};
if (!alive _vehicle) exitWith {};
if (isNull _vehicle) exitWith {};
_vehicle say3D "SirenLong";//Class/name specified in description.ext
sleep 4.870;//Exactly matches the length of the audio file.
if (!(_vehicle getVariable "siren")) exitWith {};
};
In den anderen Sirenenskripte ist nur das siren durch siren2 und warnsirene ersetzt.
Nun zum wesentlichen. Was ist daran falsch. INGAME steht wenn ich die Tasten drücke der Text aber den Sound davon hört man nicht. Und die Skripte sind GENAU auf die Länge der Sounds abgestimmt. Was habe ich falsch gemacht?
Danke im vorraus
Recon