mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-14 12:12:34 +03:00
Add check to prevent submarine sink into the ground
This commit is contained in:
13
SQF/dayz_code/compile/submarine_surface.sqf
Normal file
13
SQF/dayz_code/compile/submarine_surface.sqf
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
local _vehicle = _this select 0;
|
||||||
|
local _unit = _this select 2;
|
||||||
|
local _driver = driver _vehicle;
|
||||||
|
|
||||||
|
if (!(isNull _driver) && {_driver != _unit}) exitwith {};
|
||||||
|
|
||||||
|
while {_vehicle isKindOf "Submarine_DZE_base"} do {
|
||||||
|
local _pos = getposATL _vehicle;
|
||||||
|
if (((_vehicle animationphase "dive") > 0.5) && {(_pos select 2) < 10}) then {
|
||||||
|
_vehicle animate ["dive", 0];
|
||||||
|
};
|
||||||
|
uisleep 1;
|
||||||
|
};
|
||||||
@@ -51,6 +51,7 @@ if (!isDedicated) then {
|
|||||||
player_regularSave = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_regularSave.sqf";
|
player_regularSave = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_regularSave.sqf";
|
||||||
player_forceSave = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_forceSave.sqf";
|
player_forceSave = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_forceSave.sqf";
|
||||||
vehicle_getOut = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\vehicle_getOut.sqf";
|
vehicle_getOut = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\vehicle_getOut.sqf";
|
||||||
|
submarine_surface = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\submarine_surface.sqf";
|
||||||
|
|
||||||
//Objects
|
//Objects
|
||||||
object_setpitchbank = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_setpitchbank.sqf";
|
object_setpitchbank = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_setpitchbank.sqf";
|
||||||
|
|||||||
@@ -11,13 +11,15 @@ if (_this isKindOf "AllVehicles") then {
|
|||||||
_this addeventhandler ["HandleDamage",{ _this call fnc_veh_handleDam } ];
|
_this addeventhandler ["HandleDamage",{ _this call fnc_veh_handleDam } ];
|
||||||
_this addeventhandler ["Killed",{ _this call fnc_veh_handleKilled } ];
|
_this addeventhandler ["Killed",{ _this call fnc_veh_handleKilled } ];
|
||||||
_this addEventHandler ["GetOut", { _this call vehicle_getOut }];
|
_this addEventHandler ["GetOut", { _this call vehicle_getOut }];
|
||||||
|
if (_this isKindOf "Submarine_DZE_base") then {
|
||||||
|
_this addEventHandler ["GetIn", { _this spawn submarine_surface }];
|
||||||
|
};
|
||||||
|
|
||||||
if (isServer) then {
|
if (isServer) then {
|
||||||
_this removeAllEventHandlers "GetOut";
|
_this removeAllEventHandlers "GetOut";
|
||||||
_this removeAllEventHandlers "GetIn";
|
_this removeAllEventHandlers "GetIn";
|
||||||
_this addEventHandler ["GetOut", {[(_this select 0),"all",true] call server_updateObject;}];
|
_this addEventHandler ["GetOut", {[(_this select 0),"all",true] call server_updateObject;}];
|
||||||
_this addEventHandler ["GetIn", {[(_this select 0),"all",true] call server_updateObject; _this call server_checkIfTowed;}];
|
_this addEventHandler ["GetIn", {[(_this select 0),"all",true] call server_updateObject; _this call server_checkIfTowed;}];
|
||||||
//_this addEventHandler ["Engine", { }];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
//diag_log(format["%1: all EH reset for %2", __FILE__, _this]);
|
//diag_log(format["%1: all EH reset for %2", __FILE__, _this]);
|
||||||
|
|||||||
Reference in New Issue
Block a user