Accessing the Virtual Arsenal for the first time in a mission removes the player's backpack. Repro mission below. {F26015}
Description
Details
- Legacy ID
- 392625175
- Severity
- None
- Resolution
- Open
- Reproducibility
- Always
- Category
- Virtual Arsenal
Load repro mission:
- check the inventory and notice the backpack
- approach the crate and access Virtual Arsenal
- notice that the backpack is gone
Event Timeline
If the virtual arsenal does not have the backpack you're wearing it removes it.
This is pretty annoying as most of the time if a Zeus creates an arsenal they do not add all or any backpacks. Please fix this.
It removes almost all moded content. Uniforms, vests, backpacks from RHS and i think much more from other mods. And you just discover it with vanilla - little tweak is what we need.
Just for your info, I made a workaround on this by overriding the function and adding the backpack of the player who access arsenal locally in the script action lines and removing it locally once he closes it. Not good, as sometimes the backpack stays "unlocked" but better than loosing the backpack and all it's stuff inside.
I dont want to mess the thread. Try to put this code right before the ["Open",[nil,_box,_unit]] call bis_fnc_arsenal; and override the function:
_backpack = backpack _unit;
if ( _backpack != "" ) then { //Will it of been added to internal whitelist? _inScope = false; { if ( isNumber( configFile >> "CfgVehicles" >> _backpack >> _x ) && { getNumber( configFile >> "CfgVehicles" >> _backpack >> _x ) isEqualTo 2 } ) exitWith { true }; }forEach [ "scope", "scopearsenal" ]; if !( _inScope ) then { //Reset the internal whitelist missionNamespace setVariable [ "bis_fnc_arsenal_data", nil ]; //Create internal whitelist [ "Preload" ] call BIS_fnc_arsenal; //Force add backpack to internal whitelist _tmpWhitelistBackpacks = ( missionNamespace getVariable "bis_fnc_arsenal_data" ) select 5; _tmpWhitelistBackpacks pushBack _backpack; }; };
Not bulletproof but works sometimes :)
I use personal arsenal addon :
if !(hasinterface) exitwith {};
private["_keyDown"];
- spawn {
waitUntil {!isNull player && player == player};
waitUntil{!isNil "BIS_fnc_init"};
waitUntil {!(IsNull (findDisplay 46))};
private["_i", "_keyDown"];
_keyDown = (findDisplay 46) displayAddEventHandler ["KeyDown", "if (_this select 1 == 157) then {['Open', true] call BIS_fnc_arsenal;}"];
};
player enablefatigue true;
player addEventhandler ["Respawn", {player enableFatigue true}]; ŻAńm=řË(Űwuî ~wp