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