Fix rpt errors if zombies hit players inside gyros

Also zombies can punch players out of gyros now. The same way like bikes and ATVs.
This commit is contained in:
AirwavesMan
2021-03-01 15:23:57 +01:00
parent d55269c1e2
commit fd6bfbbff5
3 changed files with 19 additions and 15 deletions

View File

@@ -1,11 +1,13 @@
private ["_part","_cancel","_color","_string","_handle","_damage","_cmpt","_vehicle","_hitpoints","_damagePercent","_configVeh","_hitpoint","_hits"];
_vehicle = _this select 3;
{dayz_myCursorTarget removeAction _x} count s_player_repairActions;s_player_repairActions = [];
dayz_myCursorTarget = _vehicle;
_hitpoints = _vehicle call vehicle_getHitpoints;
if (count _hitpoints < 1) exitwith {};
{dayz_myCursorTarget removeAction _x} count s_player_repairActions;s_player_repairActions = [];
{
_hitpoint = _x;
_hits = [_vehicle,_hitpoint] call object_getHit;
@@ -49,9 +51,7 @@ _hitpoints = _vehicle call vehicle_getHitpoints;
} count _hitpoints;
if (count _hitpoints > 0) then {
// Localized in A2OA\Expansion\dta\languagecore
_cancel = dayz_myCursorTarget addAction [localize "str_action_cancel_action", "\z\addons\dayz_code\actions\repair_cancel.sqf","repair", 0, true, false];
s_player_repairActions set [count s_player_repairActions,_cancel];
s_player_repair_crtl = 1;
};
// Localized in A2OA\Expansion\dta\languagecore
_cancel = dayz_myCursorTarget addAction [localize "str_action_cancel_action", "\z\addons\dayz_code\actions\repair_cancel.sqf","repair", 0, true, false];
s_player_repairActions set [count s_player_repairActions,_cancel];
s_player_repair_crtl = 1;

View File

@@ -2,7 +2,6 @@ private ["_isMotorcycle","_hits","_part","_color","_vehicle","_PlayerNear","_hit
"_6WheelTypeArray","_NoGlassArray","_RemovedPartsArray","_damage","_cmpt","_configVeh","_damagePercent","_string","_handle","_cancel","_type"];
_vehicle = _this select 3;
{dayz_myCursorTarget removeAction _x} count s_player_repairActions;s_player_repairActions = [];
_PlayerNear = {isPlayer _x} count ((getPosATL _vehicle) nearEntities ["CAManBase", 12]) > 1;
if (_PlayerNear) exitWith {dayz_myCursorTarget = objNull; localize "str_pickup_limit_5" call dayz_rollingMessages;};
@@ -10,6 +9,9 @@ if (_PlayerNear) exitWith {dayz_myCursorTarget = objNull; localize "str_pickup_l
dayz_myCursorTarget = _vehicle;
_hitpoints = _vehicle call vehicle_getHitpoints;
if (count _hitpoints < 1) exitwith {};
{dayz_myCursorTarget removeAction _x} count s_player_repairActions;s_player_repairActions = [];
_type = typeOf _vehicle;
_isMotorcycle = _vehicle isKindOf "Motorcycle";
_is6WheelType = false;
@@ -25,7 +27,7 @@ _NoGlassArray = ["HitGlass1","HitGlass2","HitGlass3","HitGlass4","HitGlass5","Hi
_RemovedPartsArray = ["motor","HitLF2Wheel","HitRF2Wheel","HitBody","HitMissiles","HitHull","HitVRotor","HitFuel","HitEngine"];
if (!_is6WheelType) then {
if ((_vehicle isKindOf "ATV_Base_EP1") || {_isMotorcycle}) then {
if ((_vehicle isKindOf "ATV_Base_EP1") || _isMotorcycle) then {
_hitpoints = _hitpoints - _NoGlassArray;
if (_isMotorcycle) then {