Jump to content
gummybear_qc

How to limit weapons in the Arsenal of a box?

Recommended Posts

Thanks for the reply mate, much appreciated! 

 

The above notwithstanding, this still is a lovely piece of work and I'm going to try to use it even if it still needs work. It's way better than whitelisting, which for me has never worked reliably. I'm fed up of saving a loadout and then coming back to it the next day and seeing it greyed out in the VA when i KNOW it only contains whitelisted items.

Share this post


Link to post
Share on other sites

Hmmm. This is giving me trouble. It's making clients hang. They get stuck at the loading screen and go no further. The mission is running, debug confirms that and initplayerlocal finishes OK, but the clients never get past the loading screen. :(

Share this post


Link to post
Share on other sites

Hmm not seen any errors when i use the test mission on a dedicated with and without JIPed clients.

What loading screen? Pre or Post briefing?

 

Can you add this to the beginning of the initPlayerLocal and paste back the results (from mission load to a minute or so after mission should of started, as it will keep spamming rpt, just need first minute or so), should tell me what loading screen its hanging behind.

_h = [] spawn {
    while { true } do {
        _loadingScreens = missionNamespace getVariable ["BIS_fnc_startLoadingScreen_ids",[]];
        diag_log format[ "%1, %2, %3, %4",
            [ "finished", "loading" ] select ( isNil "LARs_allGearInit" ),
            [ "SG: not requested", [ [ "SG not Init", "SG initilised" ] select ( { count _x > 0 }count ( missionNamespace getVariable [ "LARs_sideGear", [] ] ) > 0 ), "SG not loaded" ] select ( isNil "LARs_sideGear" ) ] select isNumber( missionConfigFile >> "LARs_calculateSideGear" ),
            [ "Data fini", "init Data" ] select ( "LARs_initData" in _loadingScreens ),
            [ "Boxes fini", "init Boxes" ] select ( "LARs_blacklist" in _loadingScreens )
        ];
        diag_log "Open loading screens";
        diag_log "____________________";
        {
            diag_log _x;
        }forEach _loadingScreens;
        diag_log "____________________";
        sleep 1;
    };
};

Plus show me your LARs_fnc_blacklistArsenal parameters.

Share this post


Link to post
Share on other sites

I use a startLoadingScreen and progressLoadingScreen in initplayerlocal too. Is it possible yours and mine aren't playing nicely together?

 

It hangs after the role selection screen.

 

fn_blacklistArsenal is unchanged from your package.

 

Here's the debug from client,

 

http://pastebin.com/hrd5BPCh

Share this post


Link to post
Share on other sites

Can you also show the parameters you use in your call/s to LARs_fnc_blacklistArsenal please TB.

Share this post


Link to post
Share on other sites

JIPID = [ fobbox, [ west ], west, "west" ] call LARs_fnc_blacklistArsenal;

JIPID = [ ammobox, [ west ], west, "west" ] call LARs_fnc_blacklistArsenal;

You are using sides in your lists, to enable the side gear you have to have LARs_calculateSideGear = 1; in your description.ext as previously mentioned.

 

The reason the loading screen hangs is i forgot to change the exitWith error when i changed it over to preInit behind the loading screen.

At around line 86 in fn_blacklistArsenal.sqf you will find this..

    //If a list requires a side and calculateSideGear is not in use exit with error
    if ( {
        {
            if !( isNil "_x" ) then {
                typeName _x isEqualTo typeName sideUnknown
            }else{
                false
            };
        }count _x > 0
    }count[ _whiteList, _blackList ] > 0 && { isNil "LARs_sideGear" } ) exitWith {
        [ "LARs_blacklist" ] call BIS_fnc_endLoadingScreen;  //<<<<<<<<<<ADD THIS LINE
        "SIDE used in white/blacklist - currently no side data, switch on LARs_calculateSideGear in description" call BIS_fnc_error;
    };

Add the line shown.

Currently it is seeing that you have asked for side gear( by using a side in the lists ) but it is not enabled( 'SG: not requested' in the debug i asked you to run ) and so is exiting the script but i forgot to cancel the loading screen in this situation.

 

 

I'm fed up of saving a loadout and then coming back to it the next day and seeing it greyed out in the VA

You will need to test the script out as I have had reports from others that this is still a problem when some items are saved in a loadout when using my script and needs fixing when I get back to it.

Share this post


Link to post
Share on other sites

Brilliant. That's working now, thank you.

 

I'll play it with my guys and report back about this greyed out loadouts. Having an unlimited VA is the only workaround for this right now, so I'm hoping this might at least remove the east gear while not breaking saves.

Share this post


Link to post
Share on other sites

You will need to test the script out as I have had reports from others that this is still a problem when some items are saved in a loadout when using my script and needs fixing when I get back to it.

We didn't see any greyed out loadouts, but to be honest, we didn't try for very long, With Bergen and Javelin rounds and a few other things missing, it was too incomplete for us. But as a proof of concept, it's just great. I look forward to the day you do get back to it.:)

Share this post


Link to post
Share on other sites

With Bergen and Javelin rounds and a few other things missing, it was too incomplete for us.

There is nothing from stoppng you from adding them in yourself. That is the whole reason i made it in such a way that you can add multiple white/black lists, as the automatic side gear is never going to catch every thing, as not all gear is used by a unit within a side so the info is not there to pull from the configs.

[ WHITELIST, BLACKLIST ] - STRING, SIDE, ARRAY, where array can hold an of the previous types, STRING can also hold the name of a global variable or CfgPatches class. Passing true for the whitelist will provide all available gear from the config.

 _missingStuff = [ "mahoosive Bergen", "blah", "something else" ];
[ fobbox, [ [ west, _missingStuff ] ], west, "west" ] call LARs_fnc_blacklistArsenal

This would create a whitelisted arsenal of all calculated west gear + gear in the array _missingStuff, with no blacklist.

Share this post


Link to post
Share on other sites

I did know about that, but for reasons unknown, probably beer related, I forgot to actually do it!

Share this post


Link to post
Share on other sites

Ah Beer, she can be a cruel and unforgiving mistress weaving her magic on our minds, yet our proclaimed champion against the working week.

  • Like 1

Share this post


Link to post
Share on other sites

We have been working on trying to put this into action and  have got it working with your blacklist, but is there any reason why I cannot make a blacklist, involving cup mods?  we want to ban things like thermals and mortar backbacks but im having problems replacing your list with mine, I have tried variations, less items, alphabetical, by items and groups..  kinda stumped..  

"CUP_glaunch_6G30", //weapons
"CUP_glaunch_M32",
"CUP_6Rnd_HE_GP25_M",
"CUP_6Rnd_HE_M203",
"APERSBoundingMine_Range_Mag",
"NVGogglesB_blk_F", //items
"NVGogglesB_grn_F",
"NVGogglesB_gry_F",
"I_UavTerminal",
"O_UavTerminal",
"B_UavTerminal",
"laserdesignator_02_ghex_F",
"Laserdesignator_02",
"Laserdesignator_01_khk_F",
"Laserdesignator_03",
"Laserdesignator",
"CUP_LRTV",
"optic_tws",
"optic_tws_mg",
"optic_Nightstalker",
"CUP_optic_AN_PAS_13c1",
"CUP_optic_AN_PAS_13c2",
"CUP_optic_CWS",
"CUP_optic_GOSHAWK",
"CUP_optic_NSPU_RPG",
"CUP_optic_NSPU", 
"H_HelmetO_ViperSP_ghex_F", //helmets
"H_HelmetO_ViperSP_hex_F",
"V_PlateCarrier1_rgr", //carrierrigs
"V_PlateCarrier2_rgr",
"V_PlateCarrier3_rgr",
"V_PlateCarrierGL_rgr",      
"V_PlateCarrierSpec_rgr",
"V_PlateCarrierIA1_dgtl",
"V_PlateCarrierIA2_dgtl",
"V_PlateCarrierIAGL_dgtl",
"V_PlateCarrierL_CTRG",
"V_PlateCarrierH_CTRG",
"V_PlateCarrier_Kerry",
"V_Press_F",
"V_PlateCarrierGL_blk",
"V_PlateCarrierGL_mtp",
"V_PlateCarrierSpec_blk",
"V_PlateCarrierSpec_mtp",
"V_PlateCarrierIAGL_oli",
"V_I_G_resistanceLeader_F",
"V_TacVest_khk", 
"V_TacVest_brn",
"V_TacVest_oli",
"V_TacVest_blk",
"V_TacVest_camo",
"V_TacVest_blk_POLICE",
"V_TacVestIR_blk",
"V_TacVestCamo_khk",
"I_GMG_01_A_weapon_F", //backpacks
"O_GMG_01_A_weapon_F",
"_GMG_01_A_weapon_F",
"I_HMG_01_A_weapon_F",
"O_HMG_01_A_weapon_F",
"B_HMG_01_A_weapon_F",
"I_HMG_01_high_weapon_F",
"O_HMG_01_high_weapon_F",
"B_HMG_01_high_weapon_F",
"I_HMG_01_weapon_F",
"O_HMG_01_weapon_F",
"B_HMG_01_weapon_F",
"I_GMG_01_high_weapon_F", 
"O_GMG_01_high_weapon_F", 
"B_GMG_01_high_weapon_F", 
"I_GMG_01_weapon_F", 
"O_GMG_01_weapon_F", 
"B_GMG_01_weapon_F", 
"CUP_B_DShkM_Gun_Bag", 
"CUP_B_DShkM_TripodHigh_Bag", 
"CUP_B_DShkM_TripodLow_Bag", 
"I_Mortar_01_support_F", 
"O_Mortar_01_support_F", 
"B_Mortar_01_support_F", 
"I_Mortar_01_weapon_F", 
"O_Mortar_01_weapon_F", 
"B_Mortar_01_weapon_F", 
"I_HMG_01_support_high_F", 
"O_HMG_01_support_high_F", 
"B_HMG_01_support_high_F", 
"I_HMG_01_support_F", 
"O_HMG_01_support_F", 
"B_HMG_01_support_F", 
"CUP_B_Kord_Gun_Bag", 
"CUP_B_Kord_Tripod_Bag",
"CUP_B_M2_Gun_Bag", 
"CUP_B_M2_MiniTripod_Bag", 
"CUP_B_M2_Tripod_Bag", 
"CUP_B_M252_Gun_Bag", 
"CUP_B_M252_Bipod_Bag", 
"CUP_B_Metis_Gun_Bag", 
"CUP_B_Metis_Tripod_Bag", 
"CUP_B_Podnos_Bipod_Bag", 
"CUP_B_Podnos_Gun_Bag",
"CUP_B_SPG9_Gun_Bag", 
"CUP_B_SPG9_Tripod_Bag", 
"I_AA_01_weapon_F", 
"O_AA_01_weapon_F", 
"B_AA_01_weapon_F", 
"I_AT_01_weapon_F", 
"O_AT_01_weapon_F", 
"B_AT_01_weapon_F", 
"CUP_B_Tow_Gun_Bag",
"CUP_B_TOW_Tripod_Bag", 
"I_UAV_01_backpack_F", 
"O_UAV_01_backpack_F", 
"B_UAV_01_backpack_F"
"O_Static_Designator_02_weapon_F", 
"B_Static_Designator_01_weapon_F",

 

 

so i left a comma, that is my bad from copy and paste from asorgs,    one question is how would we put a "few" more guns in the opfor crate, as it is kinda sparse for our style of gameplay?  

Edited by UDIE
found my issue myself

Share this post


Link to post
Share on other sites
16 hours ago, UDIE said:

one question is how would we put a "few" more guns in the opfor crate

Im presuming you are using calculate side gear as you specifically mention opfor crate. Just provide a whitelist of the guns you would like included, same as explained to Tankbuster a few posts back for adding his missing items.

Share this post


Link to post
Share on other sites

I am looking for a way to whitelist categories rather than individual items. Example, allow only clothes and other items like binoculars, NVG, Compass to be available in the virtual arsenal and not the weapons.

 

How to?

Share this post


Link to post
Share on other sites

yes im using the calculate side  gear i will give that a shot.  i have one issue,  players can use saved loadouts from other servers.  for example. i was able to load the apex termal goggles out of a saved loadout even though they are in my blacklist,  is there anyway to prevent this?

Share this post


Link to post
Share on other sites
2 hours ago, UDIE said:

yes im using the calculate side  gear i will give that a shot.  i have one issue,  players can use saved loadouts from other servers.  for example. i was able to load the apex termal goggles out of a saved loadout even though they are in my blacklist,  is there anyway to prevent this?

I think this is a bug on Bohemia's side of things

Share this post


Link to post
Share on other sites
4 hours ago, UDIE said:

 is there anyway to prevent this?

overRide_VA_templates

Share this post


Link to post
Share on other sites

Thank you for the assistance, I will give that a shot later today :) if it works for me ill be able to implement this into our missions, many happy players not to use asorgs :) :) :)

 

Share this post


Link to post
Share on other sites

WOW this works perfectly. 

 one thing im having a hard time understanding is trying to get like i mentioned, just a few more basic rifles for the opfor side. I do see  what you said.  but I do have a blacklist as well.  i realize that it cant catch things that dont belong to a unit, maybe im outta luck here. 

On 10/1/2016 at 8:00 PM, Larrow said:

 _missingStuff = [ "mahoosive Bergen", "blah", "something else" ];
[ fobbox, [ [ west, _missingStuff ] ], west, "west" ] call LARs_fnc_blacklistArsenal

This would create a whitelisted arsenal of all calculated west gear + gear in the array _missingStuff, with no blacklist.

the other question i have is if there is any way I could execute the  script in a different way. currently we have one script on the ammobox, that runs other scripts..   

 for example this is how we execute asorgs currently when approaching the box, im wondering, hoping there would be a way to use your "nul = this execvm ""multi_box.sqf" (how it looks in notepad)  into this replacing gear select.  id really prefer not to touch the mission files whatsoever, when it comes to updating several missions it would make things much easier. Im learning things slowly as im a novice at this. i actually tried to do it all myself and had the bohemia arsenal opening from this script  with a simple "[] spawn BIS_fnc_arsenal;" in the open.sqf

 

 


    //_vec addAction["<t color='#00cc00'>Virtual Ammobox</t>", "features\VAS\open.sqf"]; (even crappier implementation)
    _vec addAction["<t color='#111111'>Gear Select</t>", "execvm 'ASORGS\open.sqf'"]; 

Share this post


Link to post
Share on other sites

 I have one final question... ok three, I was able to get everything working perfectly as designed, but for my purposes it left too few choices just for rifles, our server runs semi hardcore rules, but as far as rifles go, its nice to use what you prefer.  

 Im still a novice at all of this,  and having spent months on this project Im pretty close, thanks to you and your script. Im still able to use the multi box but Im going to have to whitelist every item per side, and forget the blacklist 

 Is there a limit to the amount of things that can be passed in an array? (before I spend all day making them? prob 1000 items a side) 

JIPID =  [ _ammoBox, [ "whitelist" ], east, "EAST", { true } ] call LARs_fnc_blacklistArsenal;
JIPID =  [ _ammoBox, ["whitelist2"], west, "WEST", { true } ] call LARs_fnc_blacklistArsenal;

 this looks correct if that is my game plan? seems to work with some small arrays i made for testing?

 (will the array be passed over network everytime someone goes to crate?)

Share this post


Link to post
Share on other sites

let me apologize for all the posts.  I do appreciate any help

 I have gotten things working perfectly using two whitelists per side and not using the calculatesides.  

 I basically have 3 whitelists in the multibox file, runs like this

JIPID =  [ _ammoBox,  [ [ "CSAT", "BOTH"] ], east, "EAST" ]  call LARs_fnc_blacklistArsenal;
JIPID =  [ _ammoBox,  [ [ "NATO", "BOTH" ] ], west, "WEST" ]  call LARs_fnc_blacklistArsenal;

 I only have one problem, I cant seem to add explosive grenade launcher ammo(I can add smoke and flares) ( my arrays are working even with them added), nor can I add more than one type of ammo for each rocket launcher. 

 Has anyone encountered this? 

  i have found a fix for the grenade launcher problem in fn_createlist.sqf  by adding shells beside the smokeshells.

["assaultrifle","machinegun","sniperrifle",    "shotgun","rifle","submachinegun"],
    ["launcher","missilelauncher","rocketlauncher"],
    ["handgun"],
    ["uniform"],
    ["vest"],
    ["backpack"],
    ["headgear"],
    ["glasses"],
    ["nvgoggles"],
    ["binocular","laserdesignator"],
    ["map"],
    ["gps","uavterminal"],
    ["radio"],
    ["compass"],
    ["watch"],
    [],
    [],
    [],
    ["accessorysights"],
    ["accessorypointer"],
    ["accessorymuzzle"],
    ["bullet"],
    ["grenade","smokeshell","shell"],
    ["mine","minebounding","minedirectional"],
    ["firstaidkit","medikit","minedetector","toolkit"],
    ["accessorybipod"]

 

is there something i can put in here to get the launchables from the launchers ?

 

Edited by UDIE
found my issue myself

Share this post


Link to post
Share on other sites
On 24/03/2017 at 9:16 PM, UDIE said:

(will the array be passed over network everytime someone goes to crate?)

No not if you use a STRING of the name of a global variable that holds the array of items, and is available on the client.This only happens during mission setup be that start or JIP.

 

16 hours ago, UDIE said:

I only have one problem, I cant seem to add explosive grenade launcher ammo(I can add smoke and flares) ( my arrays are working even with them added), nor can I add more than one type of ammo for each rocket launcher. 

 Has anyone encountered this? 

  i have found a fix for the grenade launcher problem in fn_createlist.sqf  by adding shells beside the smokeshells.

These arrays are looking for the return from BIS_fnc_itemType of the item and BIS_fnc_itemType bases this off of the simulation entry of the ammo of the magazines so "Missile" should do the job.

 

Really need to rewrite this some day, there have been a few changes since I wrote this to the way the Arsenal behaves.

Share this post


Link to post
Share on other sites

Ok  so this is a real confuser,  If I add "shell" like I did last night, that fixed my problem with the whitelist for ugl shells

 I had already added missiles like you mentioned, no dice.

now heres the tricky part,  Im using the mission you uploaded as a template of sorts, and I figured out I could to it with a blacklist, so i tried that another box,

which allows everything in the arsenal then blacklists the stuff in "mybox". this would also work perfectly, except when i use this box in this manner  no scopes

 JIPID =  [ _ammoBox, [true,"blacklist1"], west ] call LARs_fnc_blacklistArsenal;

 (fullbox except scopes + a small test blacklist)(not one scope in this list)

and the all the rockets and missiles are there for each launcher.  i took out missiles from the createlist script, and they dissapeared from the blacklist box. 

 I  have the box we are using in the missions on server in this test mission and im using another box to test the blacklist aspect of things/

 I have gotten a fully functional  whitelist, launchers do have ammo, just not all of it,  or i can make a fully working blacklist, if i can figure out the missing scopes.

 I could upload a video of what is going on here if it would help. added shells.. it helped the whitelist, added missiles and it helped the blacklist, its a real confuser.

  I do appreciate any help, as does our dwindling aas community :)

 

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

×