mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-12 19:22:39 +03:00
Add Object A2 sensor with light and sound SFX
Added sensor to mission.sqm to trigger Sumrak's custom lighting and sound effects when entering Object A2. The config position in mission.sqm doesn't want to work correctly with the distance command so I used the original position from Sumrak's file. The trigger activates when you get down the ladder about 2 meters.
This commit is contained in:
59
SQF/dayz_code/compile/player_objectA2.sqf
Normal file
59
SQF/dayz_code/compile/player_objectA2.sqf
Normal file
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
* AII module light system
|
||||
* intensity variable DZE_ObjectA2lightIntensity (RECOMMENDED VALUE = 0.10, 0 = off (dark), 1 = fully on (not recommended))
|
||||
*
|
||||
* AII module SFX system
|
||||
* parallel procedure to the light system
|
||||
* enabling / disabling environment sounds
|
||||
* ominous sound effect
|
||||
*/
|
||||
|
||||
local _showText = _this select 0;
|
||||
local _status = _this select 1;
|
||||
DZE_AII_Lights = [];
|
||||
|
||||
// Do not show message when player changes clothes in object A2.
|
||||
if ((dayz_lastClothesChange + 3 > diag_tickTime) || {(player distance respawn_west_original < 100)}) then {
|
||||
_showText = false;
|
||||
};
|
||||
|
||||
if (_status == "enter") then {
|
||||
if (_showText) then {
|
||||
localize "STR_OBJECTA2_ENTER" call dayz_rollingMessages;
|
||||
};
|
||||
|
||||
enableEnvironment false;
|
||||
|
||||
// create light sources
|
||||
{
|
||||
local _light = "#LightPoint" createVehicleLocal _x;
|
||||
_light setLightBrightness DZE_ObjectA2lightIntensity;
|
||||
_light setLightAmbient [0.5, 0.5, 0.5];
|
||||
_light setLightColor [1.0, 1.0, 1.0];
|
||||
_light setPos _x;
|
||||
DZE_AII_Lights = DZE_AII_Lights + [_light];
|
||||
} count [[4978.8086,6630.834,0],[4983.9385,6614.6343,0],[4975.1152,6606.9126,0]];
|
||||
|
||||
// Four second sound effect gets repeated until leaving.
|
||||
[] spawn {
|
||||
while {count DZE_AII_Lights > 0} do {
|
||||
playSound "ns_fx_aii_underground";
|
||||
uiSleep 4;
|
||||
};
|
||||
//diag_log "Object A2 Sound loop has ended";
|
||||
};
|
||||
|
||||
} else {
|
||||
if (_showText) then {
|
||||
localize "STR_OBJECTA2_LEAVE" call dayz_rollingMessages;
|
||||
};
|
||||
|
||||
// remove light sources
|
||||
{
|
||||
_x setLightBrightness 0;
|
||||
deleteVehicle _x;
|
||||
} count DZE_AII_Lights;
|
||||
|
||||
DZE_AII_Lights = [];
|
||||
enableEnvironment true;
|
||||
};
|
||||
@@ -752,6 +752,7 @@ if (!isDedicated) then {
|
||||
dayz_EjectPlayer = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\dze_ejectPlayer.sqf";
|
||||
fnc_isInsideBuilding = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_isInsideBuilding.sqf"; //_isInside = [_unit,_building] call fnc_isInsideBuilding;
|
||||
fnc_setCombat = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_setCombat.sqf";
|
||||
if (worldName == "namalsk") then {player_objectAII = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_objectA2.sqf";};
|
||||
};
|
||||
|
||||
//Both
|
||||
|
||||
@@ -37225,6 +37225,12 @@
|
||||
<German>Haufen Erde</German>
|
||||
<Russian>Кучка земли</Russian>
|
||||
</Key>
|
||||
<Key ID="STR_OBJECTA2_ENTER">
|
||||
<English>Entering Object AII</English>
|
||||
</Key>
|
||||
<Key ID="STR_OBJECTA2_LEAVE">
|
||||
<English>Leaving Object AII</English>
|
||||
</Key>
|
||||
|
||||
<!--Placeholder strings for new items server admins want to add within the mission by overwrite this strings-->
|
||||
<Key ID="STR_PLACEHOLDER_ITEM_NAME_01">
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
5 displaySetEventHandler
|
||||
1 DZE_doorManagementAdmins !="00, \nfalse, \n2 \n];\n\nDZE_PlotManagementAdmins = []; \nDZE_doorManagementAdmins = []; \n\nDZE_disableThermal = []; \nDZE_clearStaticAm" !="true; };\n} count _doorFriends;\n\n\n\n\nif(_playerUID in DZE_DoorManagementAdmins) then { _isDoorAdmin = true; };\n};\n\n\n[ _isOwner\n, _"
|
||||
1 DZE_PlotManagementAdmins !="3, \n.25, \n1, \n1, \n.2,\n10, \n0, \n400, \nfalse, \n2 \n];\n\nDZE_PlotManagementAdmins = []; \nDZE_doorManagementAdmins = []; \n\nDZE_disable" !="ay = []; \nlocal _isAdmin = dayz_playerUID in DZE_PlotManagementAdmins;\n\nlocal _dir = 0; \nlocal _vector = []; " !="_Pole_EP1_DZ\");\nlocal _isAdmin = dayz_playerUID in DZE_PlotManagementAdmins;\nlocal _canBuild = false;\nlocal _plotPoles = 0;\nlo" !="true; };\n} count _plotFriends;\n\n\n\n\nif(_playerUID in DZE_PlotManagementAdmins) then { _isPlotAdmin = true; };\n};\n\n\nif(_targetType" !="ove select 0) == _ownerPUID && (!(dayz_playerUID in DZE_PlotManagementAdmins) && !(dayz_playerUID == _ownerPUID))) exitWith {sys"
|
||||
5 enableEnvironment
|
||||
5 enableEnvironment !="ze \"STR_OBJECTA2_ENTER\" call dayz_rollingMessages;\n};\n\nenableEnvironment false;\n\n\n{\nlocal _light = \"#LightPoint\" createVehicleLo"
|
||||
5 endMission !"rendMission" !"clearWeaponCargo\",\n\"endMission\"," !"enablesimulation\", \"endMission\"," !"lize \"str_player_login_timeout\", \"PLAIN DOWN\"];\nuiSleep 5;\nendMission" !"\npublicVariableServer \"PVDZ_sec_atp\";\nendMission \"LOSER\";\n};\n" !"Terminate\",\"BACK\"];\ncamDestroy _camera;\n\nendMission" !"endMission \"END1\";\n\n\ndayz_authed = true"
|
||||
5 entities !"nearEntities" !="\n if (isnil 'BIS_fnc_sceneCreateSoundEntities' || false) then {\n BIS_fnc_sceneCreateSoundEntities = {\n i" !="_loginCompleted = true;\n\n\ndayz_currentGlobalZombies = count entities \"zZombie_Base\";\n\n{\ncall compile preprocessFileLineNumbers (" !="haracterID)) then {\n_plotPoles = _plotPoles +1;\n};\n} count (entities \"Plastic_Pole_EP1_DZ\");\n};\n} else {\n_plotcheck = [player, f" !="VDZ_sec_atp\";\n};\n};\n\nif (isNull _grp) then { _grp = group ((entities 'FunctionsManager') select 0); };\nif (!isNull _grp) then {\n" !="_playerUID) then {\n_plotPoles = _plotPoles + 1;\n};\n} count (entities \"Plastic_Pole_EP1_DZ\"); \n};\n\nif ((DZE_limitPlots > 0) && (_"
|
||||
1 execVM !"rexecVM" !"\"execVM\", " !="[] execVM \"initJIPcompatible.sqf\";" !="_script = [] execVM (BIS_MP_Path + BIS_PATH_SQF + \"JIPWaitFor.sqf\");" !"execVM \"\\ca\\Data\\" !"execVM '\\ca\\Data\\" !"execVM \"\\ca\\missions" !"execVM 'ca\\modules\\" !"execVM \"ca\\modules\\" !"'\\ca\\ui\\" !"\"\\ca\\ui\\" !"scriptName \"MP\\data\\script" !"_handle\"];\n_handle = [_display] execVM _script;\n}" !"execVM '\\z\\addons\\dayz_code\\" !"execVM 'z\\addons\\dayz_code\\" !"execVM \"z\\addons\\dayz_code\\" !"execVM \"\\z\\addons\\dayz_code\\" !"execVM (\"\\z\\addons\\dayz_code\\" !="dayz_rulesHandle = execVM \"rules.sqf\";" !"execvm '\\ASC\\" !"\\usec_ch53\\scripts\\" !"execVM (_actionDir + \"warn.sqf" !="_this execVM \"\\GNT_C185\\scr\\C185_Exhaust.sqf\";[_this select 0] execvm \"\\GNT_C185\\scr\\G_CheckEngine.sqf\";" !="dummy = _this execVM \"ca\\characters2\\OTHER\\scripts\\fly.sqf\""
|
||||
|
||||
@@ -551,6 +551,9 @@ if (!isDedicated) then {
|
||||
DZE_EVRBloodLoss = [4000,8000]; // Random number of blood loss if a player does not have an APSI and/or is not inside a building [min, max]. Player will not die, there is a minimum of 1000 after the calculation
|
||||
DZE_EVRSafezoneExempt = true; // Players in safe zones are exempt from the effects of the EVR storms.
|
||||
};
|
||||
|
||||
// Namalsk Object AII Light Intensity
|
||||
DZE_ObjectA2lightIntensity = .10; // (RECOMMENDED VALUE = 0.10, 0 = off (dark), 1 = fully on (not recommended))
|
||||
|
||||
// Garage Door Opener
|
||||
DZE_GarageDoor_Opener = false; // Enables the option to open Garage Doors from the inside of a vehicle.
|
||||
|
||||
@@ -319,7 +319,7 @@ class Mission
|
||||
|
||||
class Sensors
|
||||
{
|
||||
items=4;
|
||||
items=5;
|
||||
#define TRGDEF a=100;b=100;activationBy="WEST";repeating=1;interruptable=1;age="UNKNOWN";class Effects{};
|
||||
class Item0
|
||||
{
|
||||
@@ -356,7 +356,16 @@ class Mission
|
||||
expCond="(player distance zonedock) < 100;";
|
||||
expActiv="[""Dock Trader"",true,""enter""] call player_traderCity;";
|
||||
expDesactiv="[""Dock Trader"",true,""leave""] call player_traderCity;";
|
||||
};
|
||||
};
|
||||
class Item4
|
||||
{
|
||||
position[]={4977.15,4.74,6624.89};
|
||||
TRGDEF
|
||||
name="zoneAII";
|
||||
expCond="(player distance [4977.15,6624.89,0.74293]) < 41;";
|
||||
expActiv="[true,""enter""] call player_objectAII;";
|
||||
expDesactiv="[true,""leave""] call player_objectAII;";
|
||||
};
|
||||
};
|
||||
};
|
||||
class Intro
|
||||
|
||||
Reference in New Issue
Block a user