Jump to content
Sign in to follow this  
fn_Quiksilver

BIS_fnc_arsenal ... How to whitelist classes?

Recommended Posts

https://community.bistudio.com/wiki/Arsenal

Access

You can use Arsenal in a scenario you're designing simply by calling the following function:

[] spawn BIS_fnc_arsenal;

This version has several limitations as opposed to the Virtual one:

Voice, Face and Insignia are not available (to avoid clashing with profile)

Not all assets are automatically present, designer has to whitelist allowed classes. By default, only player's current equipment is available.

To open Arsenal with full options, execute:

["Open",true] spawn BIS_fnc_arsenal;

Anyone can enlighten me re the above comments?

I do not want to use "AmmoboxInit" argument for BIS_fnc_arsenal, as I want to open the interface and populate it with white-listed assets, without using a specific object/vehicle to attach the add-action to.

As far as I know, the getVirtual%Cargo, addVirtual%Cargo, removeVirtual%Cargo commands all require the use of "AmmoboxInit" commands, as they require a specific object/vehicle, and they create a publicVariable to store the data. I want this all running on client, not passing through server.

_object setvariable ["bis_addVirtualWeaponCargo_cargo",_cargo]; publicvariable "bis_addVirtualWeaponCargo_cargo";

...

I suppose I can monkey around with the code but by the above comment it sounds like there is a simpler way, though I am not yet aware of it.

  • Like 1

Share this post


Link to post
Share on other sites

I am using this script with no problems so far.

called with :-

this addaction ["Open Virtual Arsenal", "scripts\V_Arse\VArse.sqf"];

From the objects init

//--- BL1P thingy ma bob

//--- check if player has an acre radio
_ret = false;
if !(isserver) then {
acre_enabled = isClass(configFile/"CfgPatches"/"acre_main");
if (acre_enabled) then 
	{
	_ret = [player] call acre_api_fnc_hasRadio;
	};
};
if (_ret) exitwith {systemchat "You can not use the VR ammo system while you have an ACRE radio.";};

//--- BackPacks
[_this,[
"B_Parachute",
"B_FieldPack_blk",
"B_OutdoorPack_blk",
"B_TacticalPack_blk"
],true] call BIS_fnc_addVirtualBackpackCargo;

//--- Mags
[_this,[
"30Rnd_45ACP_Mag_SMG_01",
"30Rnd_45ACP_Mag_SMG_01_tracer_green",

"30Rnd_9x21_Mag",
"11Rnd_45ACP_Mag",
"16Rnd_9x21_Mag",

"30Rnd_65x39_caseless_mag",
"30Rnd_65x39_caseless_mag_Tracer",

"100Rnd_65x39_caseless_mag",
"100Rnd_65x39_caseless_mag_Tracer",
"200Rnd_65x39_cased_Box",
"200Rnd_65x39_cased_Box_Tracer",

"20Rnd_762x51_Mag",

"1Rnd_HE_Grenade_shell",
"3Rnd_HE_Grenade_shell",

"NLAW_F",
"Titan_AA",
"Titan_AT",

"Laserbatteries",

"SmokeShell",
"SmokeShellBlue",
"SmokeShellYellow",
"SmokeShellGreen",
"SmokeShellOrange",
"SmokeShellPurple",
"SmokeShellRed",

"HandGrenade",
"MiniGrenade",
"B_IR_Grenade",

"1Rnd_Smoke_Grenade_shell",
"1Rnd_SmokeBlue_Grenade_shell",
"1Rnd_SmokeGreen_Grenade_shell",
"1Rnd_SmokeOrange_Grenade_shell",
"1Rnd_SmokePurple_Grenade_shell",
"1Rnd_SmokeRed_Grenade_shell",
"1Rnd_SmokeYellow_Grenade_shell",

"3Rnd_Smoke_Grenade_shell",
"3Rnd_SmokeBlue_Grenade_shell",
"3Rnd_SmokeGreen_Grenade_shell",
"3Rnd_SmokeOrange_Grenade_shell",
"3Rnd_SmokePurple_Grenade_shell",
"3Rnd_SmokeRed_Grenade_shell",
"3Rnd_SmokeYellow_Grenade_shell",

"3Rnd_UGL_FlareCIR_F",
"3Rnd_UGL_FlareGreen_F",
"3Rnd_UGL_FlareRed_F",
"3Rnd_UGL_FlareWhite_F",

"UGL_FlareCIR_F",
"UGL_FlareGreen_F",
"UGL_FlareRed_F",
"UGL_FlareWhite_F",

"APERSBoundingMine_Range_Mag",
"APERSMine_Range_Mag",
"APERSTripMine_Wire_Mag",
"ATMine_Range_Mag",
"ClaymoreDirectionalMine_Remote_Mag",
"SLAMDirectionalMine_Wire_Mag",
"DemoCharge_Remote_Mag",
"SatchelCharge_Remote_Mag"
],true] call BIS_fnc_addVirtualMagazineCargo;


//--- Weapons
[_this,[
//--- rifles 
"arifle_MX_Black_F",
"arifle_MXC_Black_F",
"arifle_MXM_Black_F",

//--- GLs
"arifle_MX_GL_Black_F",
//--- mgs
"LMG_Mk200_F",
"arifle_MX_SW_Black_F",
//--- snipers
"srifle_EBR_F",
//--- smgs
"SMG_01_F",
"hgun_PDW2000_F",
//--- launchers
"launch_B_Titan_F",
"launch_B_Titan_short_F",
"launch_NLAW_F",
//--- pistols
"hgun_P07_F",
"hgun_Pistol_heavy_01_F",
//--- binoc types
"Rangefinder",
"Binocular",
"Laserdesignator"
],true] call BIS_fnc_addVirtualWeaponCargo;

//--- Items and Stuff
[_this,[
//--- stuff
"ItemCompass",
"ItemGPS",
"ItemMap",
"ItemWatch",
"NVGoggles",
"FirstAidKit",
"Medikit",
"ToolKit",

//--- scopes
"optic_Aco",
"optic_Aco_smg",
"optic_Holosight",
"optic_Holosight_smg",
"optic_Hamr",
"optic_MRCO",
"optic_Arco",
"optic_MRD",
"optic_Yorris",
"optic_DMS",
"optic_NVS",

//--- suppresors
"muzzle_snds_acp",
"muzzle_snds_H",
"muzzle_snds_L",
"muzzle_snds_M",
"muzzle_snds_H_SW",

//--- attachments
"acc_flashlight",
"acc_pointer_IR",

//--- uniforms
"U_B_CombatUniform_mcam",
"U_B_CombatUniform_mcam_tshirt",
"U_B_CombatUniform_mcam_vest",
"U_B_CTRG_1",
"U_B_CTRG_2",
"U_B_CTRG_3",

//--- vests
"V_BandollierB_blk",
"V_Chestrig_blk",
"V_PlateCarrier1_blk",
"V_PlateCarrierH_CTRG",
"V_PlateCarrierL_CTRG",
"V_TacVestIR_blk",

//--- berets

//--- Helmets

"H_HelmetB_camo",
"H_HelmetB_light",
"H_HelmetSpecB",

"H_HelmetCrew_B",
"H_PilotHelmetHeli_B",

//--- caps n hats 
"H_Cap_blk",
"H_Cap_oli_hs",

"H_Bandanna_khk_hs",

"H_Booniehat_dirty",
"H_Booniehat_khk_hs",


//--- glasses
"G_Spectacles",
"G_Combat",
"G_Lowprofile",
"G_Shades_Black",
"G_Tactical_Black",
"G_Balaclava_lowprofile",
"G_Balaclava_combat",
"G_Bandanna_beast",
"G_Bandanna_shades"
],true] call BIS_fnc_addVirtualItemCargo;	

["Open",false] spawn BIS_fnc_arsenal;


Sorry for the gaps but I removed the Clan modded stuff for you.

O yer there is an acre check which just exits you from using the system if you have a radio.

Just put that in there to stop cloned radio ids

Edited by BL1P

Share this post


Link to post
Share on other sites

What I can't get working is Insignias in MP or Editor using the above script.

I would like to use some custom insignias for players in mp from the Virtual Arsenal but the insignias don't show up when placed into the script.

Anyone any ideas ?

Share this post


Link to post
Share on other sites

https://community.bistudio.com/wiki/Arsenal

Anyone can enlighten me re the above comments?

I do not want to use "AmmoboxInit" argument for BIS_fnc_arsenal, as I want to open the interface and populate it with white-listed assets, without using a specific object/vehicle to attach the add-action to.

As far as I know, the getVirtual%Cargo, addVirtual%Cargo, removeVirtual%Cargo commands all require the use of "AmmoboxInit" commands, as they require a specific object/vehicle, and they create a publicVariable to store the data. I want this all running on client, not passing through server.

 

_object setvariable ["bis_addVirtualWeaponCargo_cargo",_cargo]; publicvariable "bis_addVirtualWeaponCargo_cargo";
...

I suppose I can monkey around with the code but by the above comment it sounds like there is a simpler way, though I am not yet aware of it.

 

 

Well, better late than never I guess :P

 

If you're using the "boxless" arsenal and you want to whitelist specific items, you need to add them into the missionNameSpace, for example :

[ missionNamespace, [ "I_Mortar_01_support_F" ] ] call BIS_fnc_addVirtualBackpackCargo;

And if you want to blacklist specific items instead, you have to adapt the code from here:

https://forums.bistudio.com/topic/182817-how-to-limit-weapons-in-the-arsenal-of-a-box/#entry2907944

 

I didn't test it entirely yet (especially not in multiplayer) but it feels like a solid lead

 

Cheers

  • Thanks 1

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×