diff --git a/SQF/dayz_code/compile/player_objectA2.sqf b/SQF/dayz_code/compile/player_objectA2.sqf
new file mode 100644
index 000000000..63852b677
--- /dev/null
+++ b/SQF/dayz_code/compile/player_objectA2.sqf
@@ -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;
+};
\ No newline at end of file
diff --git a/SQF/dayz_code/init/compiles.sqf b/SQF/dayz_code/init/compiles.sqf
index 30e8ba255..8e280919d 100644
--- a/SQF/dayz_code/init/compiles.sqf
+++ b/SQF/dayz_code/init/compiles.sqf
@@ -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
diff --git a/SQF/dayz_code/stringtable.xml b/SQF/dayz_code/stringtable.xml
index 32139f307..64e1d00a3 100644
--- a/SQF/dayz_code/stringtable.xml
+++ b/SQF/dayz_code/stringtable.xml
@@ -37225,6 +37225,12 @@
Haufen Erde
Кучка земли
+
+ Entering Object AII
+
+
+ Leaving Object AII
+
diff --git a/Server Files/DZE_Server_Config/BattlEye/scripts.txt b/Server Files/DZE_Server_Config/BattlEye/scripts.txt
index 104fa77b1..585ecfa4f 100644
--- a/Server Files/DZE_Server_Config/BattlEye/scripts.txt
+++ b/Server Files/DZE_Server_Config/BattlEye/scripts.txt
@@ -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\""
diff --git a/Server Files/MPMissions/DayZ_Epoch_15.namalsk/configVariables.sqf b/Server Files/MPMissions/DayZ_Epoch_15.namalsk/configVariables.sqf
index 0cc2cd3ed..2a45c508c 100644
--- a/Server Files/MPMissions/DayZ_Epoch_15.namalsk/configVariables.sqf
+++ b/Server Files/MPMissions/DayZ_Epoch_15.namalsk/configVariables.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.
diff --git a/Server Files/MPMissions/DayZ_Epoch_15.namalsk/mission.sqm b/Server Files/MPMissions/DayZ_Epoch_15.namalsk/mission.sqm
index ff0149bfa..7eb0c5edb 100644
--- a/Server Files/MPMissions/DayZ_Epoch_15.namalsk/mission.sqm
+++ b/Server Files/MPMissions/DayZ_Epoch_15.namalsk/mission.sqm
@@ -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