diff --git a/addons/forestry/functions/fnc_axeAction.sqf b/addons/forestry/functions/fnc_axeAction.sqf index e0371793..70599213 100644 --- a/addons/forestry/functions/fnc_axeAction.sqf +++ b/addons/forestry/functions/fnc_axeAction.sqf @@ -50,9 +50,23 @@ _soundDummy say3D [QCLASS(audio_sound_chopWood), 500]; deleteVehicle _soundDummy; }; - [getPosATL player, [[QCLASS(firewood), selectRandom [1, 2]]], [[QCLASS(woodenlog), 1]], [[QCLASS(woodensticks), selectRandom [1, 2, 3, 4, 5]]]] call EFUNC(common,spawnLoot); + private _markerPos = getPosATL player; + private _playerName = name player; + private _markerName = format ["%1_%2_%3", CBA_missionTime, _playerName, random 100]; + private _marker = createMarkerLocal [_markerName, _markerPos]; + _marker setMarkerShapeLocal "ELLIPSE"; + _marker setMarkerSizeLocal [2.5, 2.5]; + _marker setMarkerAlphaLocal 0; + + [[_marker, true] call CBA_fnc_randPosArea, [[]], [[]], [[QCLASS(woodensticks), selectRandom [1, 2, 3, 4, 5]]]] call EFUNC(common,spawnLoot); + [[_marker, true] call CBA_fnc_randPosArea, [[]], [[]], [[QCLASS(firewood), selectRandom [1, 2]]]] call EFUNC(common,spawnLoot); + [[_marker, true] call CBA_fnc_randPosArea, [[]], [[]], [[QCLASS(woodenlog), 1]]] call EFUNC(common,spawnLoot); _tree setDamage 1; + + [{ + deleteMarkerLocal _this; + }, _marker, 1] call CBA_fnc_waitAndExecute; }, { params ["_args"]; diff --git a/addons/forestry/functions/fnc_forageTreeAction.sqf b/addons/forestry/functions/fnc_forageTreeAction.sqf index f6b6394f..798bb39c 100644 --- a/addons/forestry/functions/fnc_forageTreeAction.sqf +++ b/addons/forestry/functions/fnc_forageTreeAction.sqf @@ -49,7 +49,7 @@ _soundDummy say3D [QCLASS(audio_sound_gatheringFirewood), 25]; deleteVehicle _soundDummy; }; - [getPosATL player, [[QCLASS(woodensticks), selectRandom [1, 2, 3, 4, 5]]]] call EFUNC(common,spawnLoot); + [getPosATL player, [[]], [[]], [[QCLASS(woodensticks), selectRandom [1, 2, 3, 4, 5]]]] call EFUNC(common,spawnLoot); private _position = getPosWorld player; diff --git a/addons/forestry/functions/fnc_sawAction.sqf b/addons/forestry/functions/fnc_sawAction.sqf index 40d7e4b3..8db06d96 100644 --- a/addons/forestry/functions/fnc_sawAction.sqf +++ b/addons/forestry/functions/fnc_sawAction.sqf @@ -54,11 +54,25 @@ call FUNC(chainsawFuelDecrement); deleteVehicle _soundDummy; }; - [getPosATL player, [[QCLASS(firewood), selectRandom [1, 2, 3, 4, 5]]], [[QCLASS(woodenlog), selectRandom [1, 2, 3]]], [[QCLASS(woodensticks), selectRandom [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]]]] call EFUNC(common,spawnLoot); + private _markerPos = getPosATL player; + private _playerName = name player; + private _markerName = format ["%1_%2_%3", CBA_missionTime, _playerName, random 100]; + private _marker = createMarkerLocal [_markerName, _markerPos]; + _marker setMarkerShapeLocal "ELLIPSE"; + _marker setMarkerSizeLocal [2.5, 2.5]; + _marker setMarkerAlphaLocal 0; + + [[_marker, true] call CBA_fnc_randPosArea, [[]], [[]], [[QCLASS(woodensticks), selectRandom [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]]]] call EFUNC(common,spawnLoot); + [[_marker, true] call CBA_fnc_randPosArea, [[]], [[]], [[QCLASS(firewood), selectRandom [1, 2, 3, 4, 5]]]] call EFUNC(common,spawnLoot); + [[_marker, true] call CBA_fnc_randPosArea, [[]], [[]], [[QCLASS(woodenlog), selectRandom [1, 2, 3]]]] call EFUNC(common,spawnLoot); _tree setDamage 1; player setVariable [QGVAR(cuttingWood), nil]; + + [{ + deleteMarkerLocal _this; + }, _marker, 1] call CBA_fnc_waitAndExecute; }, { params ["_args"];