diff --git a/SQF/dayz_code/actions/gather_meat.sqf b/SQF/dayz_code/actions/gather_meat.sqf index ebdfa0b55..7a112f3a7 100644 --- a/SQF/dayz_code/actions/gather_meat.sqf +++ b/SQF/dayz_code/actions/gather_meat.sqf @@ -74,9 +74,12 @@ if ((_hasKnife or _hasKnifeBlunt) and !_hasHarvested) then { if (_hasKnifeBlunt) then { _qty = round(_qty / 2); }; - PVDZE_plr_GutBody = [_item,_qty]; - PVDZE_plr_GutBody spawn local_gutObject; - publicVariable "PVDZE_plr_GutBody"; + if (local _item) then { + [_item,_qty] spawn local_gutObject; + } else { + PVDZE_plr_GutBody =[_item,_qty]; + publicVariable "PVDZE_plr_GutBody"; + }; _string = format[localize "str_success_gutted_animal",_text,_qty]; cutText [_string, "PLAIN DOWN"]; diff --git a/SQF/dayz_code/compile/local_gutObject.sqf b/SQF/dayz_code/compile/local_gutObject.sqf index 194146533..ee508fefb 100644 --- a/SQF/dayz_code/compile/local_gutObject.sqf +++ b/SQF/dayz_code/compile/local_gutObject.sqf @@ -11,15 +11,25 @@ if (local _animalbody) then { [time, _animalbody] spawn { private ["_timer", "_body"]; - _timer = _this select 0; - _body = _this select 1; + _timer = _this select 0; + _body = _this select 1; + _pos = getPosATL _body; while {(count magazines _body >0) and (time - _timer < 300) } do { sleep 5; }; - //["PVDZE_plr_HideBody",_body] call broadcastRpcCallAll; + PVDZE_plr_HideBody = _body; hideBody _body; // local player publicVariable "PVDZE_plr_HideBody"; // remote player + + /* WIP - PVS/PVC - Skaronator + _inRange = _pos nearEntities ["CAManBase",100]; + { + PVDZE_send = [_x,"HideBody",[_body]]; + publicVariableServer "PVDZE_send"; + } forEach _inRange; + */ + sleep 5; deleteVehicle _body; true; diff --git a/SQF/dayz_code/compile/local_gutObjectZ.sqf b/SQF/dayz_code/compile/local_gutObjectZ.sqf index 9eb906db6..2f7ee09ba 100644 --- a/SQF/dayz_code/compile/local_gutObjectZ.sqf +++ b/SQF/dayz_code/compile/local_gutObjectZ.sqf @@ -7,8 +7,9 @@ if (local _zombiebody) then { [time, _zombiebody] spawn { private ["_timer", "_body"]; - _timer = _this select 0; - _body = _this select 1; + _timer = _this select 0; + _body = _this select 1; + _pos = getPosATL _body; while {(count magazines _body >0) and (time - _timer < 300) } do { sleep 5; }; @@ -16,6 +17,15 @@ if (local _zombiebody) then { PVDZE_plr_HideBody = _body; hideBody _body; // local player publicVariable "PVDZE_plr_HideBody"; // remote player + + /* WIP - PVS/PVC - Skaronator + _inRange = _pos nearEntities ["CAManBase",100]; + { + PVDZE_send = [_x,"HideBody",[_body]]; + publicVariableServer "PVDZE_send"; + } forEach _inRange; + */ + sleep 5; deleteVehicle _body; true; diff --git a/SQF/dayz_code/init/publicEH.sqf b/SQF/dayz_code/init/publicEH.sqf index df969828b..795b4ca2a 100644 --- a/SQF/dayz_code/init/publicEH.sqf +++ b/SQF/dayz_code/init/publicEH.sqf @@ -30,6 +30,7 @@ /* WIP - PVS/PVC Skaronator "PVCDZE_vehSH" addPublicVariableEventHandler {(_this select 1) call vehicle_handleDamage}; // set damage to vehicle part +"PVCDZE_hideBody" addPublicVariableEventHandler {hideBody (_this select 1)}; */ diff --git a/SQF/dayz_server/compile/server_sendToClient.sqf b/SQF/dayz_server/compile/server_sendToClient.sqf index b6773d688..c02b80647 100644 --- a/SQF/dayz_server/compile/server_sendToClient.sqf +++ b/SQF/dayz_server/compile/server_sendToClient.sqf @@ -10,7 +10,7 @@ _owner = owner _unit; //execution switch (_variable) do { - case "VehHandleDam": { + case "VehHandleDam": { //DONE _vehicle = _arraytosend select 0; if (local _vehicle) then { _arraytosend call fnc_veh_handleDam; @@ -20,7 +20,7 @@ switch (_variable) do { }; }; - case "SetFuel": { + case "SetFuel": { //DONE _vehicle = _arraytosend select 0; _qty = _arraytosend select 1; if (local _vehicle) then { @@ -31,14 +31,9 @@ switch (_variable) do { }; }; - case "GutBody": { - PVCDZ_obj_GutBody = _arraytosend; - _owner publicVariableClient "PVCDZ_obj_GutBody"; - }; - case "HideBody": { - PVCDZ_obj_HideBody = _arraytosend select 0; - _owner publicVariableClient "PVCDZ_obj_HideBody"; + PVCDZE_hideBody = _arraytosend select 0; + _owner publicVariableClient "PVCDZE_hideBody"; }; case "Humanity": {