M1ke_SK 230 Posted September 27, 2022 I have whitelisted arsenal like this ( executed in addAction ) _box setVariable ["bis_addVirtualWeaponCargo_cargo", nil, true]; [_box, _items, false, false] call BIS_fnc_addVirtualItemCargo; [_box, _weapons, false, false] call BIS_fnc_addVirtualWeaponCargo; [_box, _magazines, false, false] call BIS_fnc_addVirtualMagazineCargo; [_box, _backpacks, false, false] call BIS_fnc_addVirtualBackpackCargo; ["Open", [false, _box, _player]] call BIS_fnc_arsenal; I have declared whitelisted items in arsenal like this _items = ["FirstAidKit"]; Problem: when player pick up restricted item from enemy / ground and put it in inventory, then he go to whitelisted virtual arsenal, he can duplicate/multiply this restricted items ( for example: "Medikit" ) with "+" button Expected result - player should not be able to increase number of restricted items in loadout Given: - virtual arsenal is whitelisted with BIS_fnc_addVirtualItemCargo When: - player pick restricted item and enters whitelisted arsenal Then: - item should not be increased ( disabled + button ) for adding more Possible solutions: - disable "+" button in arsenal UI for restricted items ( I did not find yet _control IDC of arsenal _display yet ) private _plusButton = _display displayCtrl 993; - remove restricted item from players inventory when open arsenal - I tried to disable item with this command, but problem still occurs [_box, ["Medikit"], false] call BIS_fnc_removeVirtualItemCargo; 1 Share this post Link to post Share on other sites
M1ke_SK 230 Posted September 29, 2022 I checked ace3 arsenal and they do handle this problem with disabling "+" button for blacklisted items Share this post Link to post Share on other sites
M1ke_SK 230 Posted September 29, 2022 so I figured how to disable "+" button, but there is still something missing, as when I click on button, it does action regardless _control is disabled { private _ctrl = _display displayCtrl _x; _ctrl ctrlAddEventHandler ["LBSelChanged", { params ["_control", "_selectedIndex"]; private _enabled = false; // set to false for debug purposes if ( _selectedIndex isNotEqualTo -1 ) then { private _display = findDisplay -1; private _plusButtonCtrl = _display displayCtrl 993; _plusButtonCtrl ctrlEnable _enabled; // this does not work }; }]; } forEach [ 984, // misc 983, // explosives 982, // grenades 986, // magazines 981 // magazine ]; Share this post Link to post Share on other sites
M1ke_SK 230 Posted September 30, 2022 so in order to disable "+" button, you also need to disable event link to it added by BIS. you can find this event in file \a3\functions_f_bootcamp\Inventory\fn_arsenal.sqf code: _ctrlArrowRight = _display displayctrl IDC_RSCDISPLAYARSENAL_ARROWRIGHT; _ctrlArrowRight ctrladdeventhandler ["buttonclick","with uinamespace do {['buttonCargo',[ctrlparent (_this select 0),+1]] call bis_fnc_arsenal;};"]; here is final solution how to disable "+" button private _enabled = false; // your switch to enable/disable button private _display = findDisplay -1; private _button = _display displayCtrl 993; _button ctrlEnable _enabled; _button ctrlRemoveAllEventHandlers "ButtonClick"; if ( _enabled ) then { _button ctrlAddEventHandler ["ButtonClick", "with uinamespace do { ['buttonCargo', [ctrlparent ( _this select 0 ), +1]] call BIS_fnc_arsenal; };"]; }; 1 Share this post Link to post Share on other sites