mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-13 19:52:38 +03:00
In the initialize section of the fsm r_player_unconscious and r_player_timeout return their default values (false and 0). Also, the Vanilla server-side combat check doesn't appear to work, or it doesn't work with the antihack disabled (I haven't tested with it enabled). New variable inCombat is set more quickly than the combatTimeout variable
54 lines
1.6 KiB
Plaintext
54 lines
1.6 KiB
Plaintext
private ["_currentNear","_listNear","_callCount"];
|
|
_unit = _this select 0;
|
|
_projectile = _this select 6;
|
|
|
|
//diag_log ("0");
|
|
|
|
//_isInComat = _unit getVariable["startcombattimer",0];
|
|
|
|
//diag_log ("Bullit Speed: " +str(Speed _projectile));
|
|
//diag_log ("Bullit Velocity: " +str(velocity _projectile));
|
|
|
|
_listNear = [];
|
|
_callCount = 0;
|
|
|
|
//approx 1020 meters
|
|
while {(alive _projectile) && !(isNull _projectile) && (_callCount < 85)} do {
|
|
_projectilespeed = Speed _projectile;
|
|
_projectflight = (((_projectilespeed / 60) * 1000));
|
|
if (_projectflight > 0) then {
|
|
uiSleep (12 / (_projectflight));
|
|
};
|
|
if (alive _projectile && !(isNull _projectile)) then {_currentNear = (getPosATL _projectile) nearEntities [["CAManBase","AllVehicles"],15];};
|
|
_listNear = _listNear + _currentNear;
|
|
_callCount = _callCount + 1;
|
|
};
|
|
//diag_log ("2");
|
|
{
|
|
_nearVehicle = _x;
|
|
_listNear = _listNear - [_x];
|
|
|
|
//diag_log ("3");
|
|
|
|
if (isPlayer _nearVehicle) then {
|
|
_isInCombat = _nearVehicle getVariable["startcombattimer",0];
|
|
if ((alive _nearVehicle) and _isInCombat == 0) then {
|
|
_nearVehicle setVariable["startcombattimer", 1];
|
|
_nearVehicle setVariable["inCombat", 1, true];
|
|
diag_log("Now in Combat (Player): " + name _unit);
|
|
};
|
|
};
|
|
|
|
if (_nearVehicle isKindOf "AllVehicles") then {
|
|
{
|
|
_isInCombat = _x getVariable["startcombattimer",0];
|
|
if (isPlayer _x and _isInCombat == 0 and alive _x) then {
|
|
_x setVariable["startcombattimer", 1];
|
|
_x setVariable["inCombat", 1, true];
|
|
diag_log("Now in Combat (Crew): " + name _x);
|
|
};
|
|
} forEach (crew _nearVehicle);
|
|
};
|
|
|
|
} forEach _listNear;
|