Page MenuHomeFeedback Tracker

GroundWeaponHolder identifiable only by nearestObjects unlike WeaponHolderSimulated
Feedback, WishlistPublic

Description

Main GroundWeaponHolder (GWH) vs WeaponHolderSimulated (WHS) issue:

  1. GWH is identifiable only by costly nearestObjects functions whereas WHS is easily identifiable by vehicles, entities etc. GWH not identifiable by vehicles or entities, makes it difficult or costly for clean up scripts, littering game world with such objects, causing performance degradation over time.

Other GroundWeaponHolder (GWH) vs WeaponHolderSimulated (WHS) differences:

  1. GWH is created when someone drags an item to the ground tab in the Inventory/Gear panel whereas WHS is created by items dropped by killed or disconnected players.
  2. GWH is parented by "WeaponHolder","ReammoBox", "Strategic", "Building", "Static" whereas WHS is parented by "thingX", "Thing"

Details

Legacy ID
3473259201
Severity
None
Resolution
Open
Reproducibility
Always
Operating System
Windows 7
Category
Scripting
Steps To Reproduce

Compare objects dropped via Inventory panel vs objects dropped when unit is killed.

Event Timeline

cyckuan edited Steps To Reproduce. (Show Details)May 13 2014, 12:41 AM
cyckuan edited Additional Information. (Show Details)
cyckuan set Category to Scripting.
cyckuan set Reproducibility to Always.
cyckuan set Severity to None.
cyckuan set Resolution to Open.
cyckuan set Legacy ID to 3473259201.May 7 2016, 6:36 PM

They are different types so it is expected I guess.

Its a problem indeed, GroundWeaponHolder should be returned by entities command.

cyckuan added a subscriber: cyckuan.May 7 2016, 6:36 PM

vehicles, entities, nearEntities do not pick up GroundWeaponHolder.

nearObjects and nearestObjects do pick up GroundWeaponHolder.

It seems that entities and nearEntities pick up everything in "ReammoBox_F" but not "ReammoBox". Legacy issue? GroundWeaponHolder falls under ReammoBox whereas most of Arma 3 crates are in ReammoBox_F.

Two interim workarounds to this issue:

  1. nearObjects is not so costly afterall e.g.

systemChat str count (position player nearObjects ["GroundWeaponHolder",10000000]) doesnt seem to cost any more if the range value is lower. Perhaps, the function has to loop through the entire object space anyway to work out distance to the reference position. Still, its a cost to have to work out the distance.

  1. get the client to tell the server that a GroundWeaponHolder is created and have the server clean up the GroundWeaponHolder after a certain delay.

player addEventHandler ["Put",{
private ["_container"];
_container = _this select 1;
if (_container isKindOf "GroundWeaponHolder") then {

		
		serverRegisterGWH = _container;
		publicVariableServer "serverDespawnGWH";

};
}];

"serverDespawnGWH" addPublicVariableEventHandler {
[_this select 1] spawn {

		private ["_obj"];
		_obj = _this select 0;
		sleep 120;
		if (!isNull _obj) then { deleteVehicle _obj; };

};
};

Or you can use allMissionObjects "GroundWeaponHolder" which is fairly slow by might be better than nearObjects.

allMissionObjects is more elegant :)

Its ok to close this.

Its still a problem, using allMissionObjects is bad approach because it is VERY slow command unlike entities or vehicles.

6 years later and its still an issue.

BIS_fnc_KK updated the task description. (Show Details)
BIS_fnc_KK edited Additional Information. (Show Details)
BIS_fnc_KK set Operating System to Windows 7.
h- added a subscriber: h-.Sep 13 2022, 7:59 PM
BIS_fnc_KK added a comment.EditedFeb 1 2023, 10:14 PM

I guess this can be resolved as we now have allObjects?

8 allobjects 0; //[1391106a080# 7: dummyweapon.p3d]

BIS_fnc_KK removed BIS_fnc_KK as the assignee of this task.Feb 1 2023, 10:14 PM
BIS_fnc_KK changed the task status from New to Feedback.
BIS_fnc_KK added a subscriber: BIS_fnc_KK.