Arsenal is, essentially, a character, equipment and weapon viewer which has been added to Arma 3 in the Bootcamp update. This tool offers an overview of the available content, and enables customized loadouts to be exported to script, which can be used in the editor, other game modes, such as Zeus, and by community scenarios/mods.
- Arma 3 Arsenal Box
- Arma 3 Virtual Arsenal Initial
- Arma 3 Arsenal Box Script
- Arma 3 Virtual Arsenal Initiative
- Arma 3 Virtual Arsenal Init Command
- Arma 3 Virtual Arsenal Init Game
- This guide covers the basics of creating config files for characters and their equipment in Arma 3. The aim of this guide is to provide a comprehensive tool containing all the necessary information needed for creating new or editing existing character and equipment classes, as well as to offer a handful of useful tips. Weapons are indeed a part of a soldier's equipment, but to keep things a.
- Arma 3 is an open world military simulation game. It provides you access to a wide variety of military equipment. From dozens of different weapons to cars, tanks, jets and there’s even an aircraft carrier. Basically you can say that Arma 3 gives you access to pretty much every aspect of militarized combat there is.
- This code placed in the initPlayerLocal.sqf will create an arsenal on the crate named 'crat99' if you name a box that. Very good code, then the player need only walk up to the crate and hold space to access arsenal.
- 3Placing AI
- 5Changing Misc Options
- 5.2Changing Scopes/Optics options at mission safestart
Mission Making Tutorial:
Click here for the beginners tutorial to mission making and Coalition Mission Framework (CMF), continue reading for a more in depth explanation.
Arma 3 Arsenal Box
Mission making is something that takes time getting used to. It relies on trial and error, and expect your first missions to be some time in the making. In this tutorial we’ll be doing a step-by-step mission making guide. Make sure you take your time and don’t stress, as doing things in hurry can be very unforgiving in the ArmA editor.
To start things off you’ll need to download the (Coalition Mission Framework). In simple terms it’s a mission already created with features and functions built into it. You will use this as a template when creating your missions. When you’ve downloaded the framework, place it somewhere where it’s easily accessible. You will use it more than once. Keep it somewhere safe and make sure you keep a master copy.
Arma 3 Virtual Arsenal Initial
Now you have to pick your map. If you do not know the maps names in the editor, there is a quick and easy way to do it. Head into the ArmA 3 editor and pick the map you want to use. Now all you have to do is save your blank mission and name it something simple like “temp”. This will now create a folder called “temp.[mapname]”. The name after the dot is the name as recognized by the eden editor. For an example if you’re making a mission on Takistan it’s going to be called temp.takistan, but a mission on desert is not going to be temp.desert, rather temp.desert_E. As you can see, some maps have less obvious nomenclature, so I advise you to do this every time you pick a new map that you haven’t worked with before.
Now that you’ve picked your map, you have to copy the contents inside of the CMF.vr folder into your temp.takistan. Overwrite everything. Reload your mission, you will now see modules and units on the map. Go ahead and drag the modules outside the map boundary, since these should not be touched. You will also see three factions placed down, BLUFOR, OPFOR and IND. These units are all playable, all set up with radios and will work with gearscripts out of the box. This is when you pick the faction you want the players to be, not the AI or anything else. If it’s a TVT you might want both BLUFOR and OPFOR, so keep that in mind.
Alternatively, you can take the cmf from your missions folder and copy it. Once you copy it, paste it into your missions folder. You should get something along the lines of 'CMF-XX.vr-copy'. Take this folder and rename it to fit your needs, 'cmfXX_co50_missioname.MapName' Do not use capital letters as the server does not like them. Now go into the editor, and open the mission you just renamed.
For this tutorial we will keep it simple, and go with BLUFOR. Delete all Opfor and Independent units, including the deployment zone for said factions. You now have a basic BLUFOR structure, and different specialist roles. Now is a good time to think about an idea for your mission; infiltration, patrol, clear an objective, take out an HVT are all simple mission ideas.
Depending on the mission you’re making, you may want specialist roles. If you look at your units, you will see that you have specialist roles such as Helicopter Pilots, HMG Teams, Anti Air and Engineers. Pick the ones you want and delete the other specialist roles. When you have a good idea of what you want to do, put your players in a safe starting location. Make sure your mission is relative to our player count, don’t make it too big/small.
Gearscript:
Before you getting into the mission making proper, you need to create a gearscript for all sides that are involved (both players and AI). First, you have to open up Virtual Arsenal. The menu on the right is what you’ll be paying attention to. Once you have picked the uniform – including vest, helmet, and backpack – click ‘set uniform’ and you’ll get confirmation via text. Afterwards, go over each item until all of the slots are full. Then, click export. It’ll copy the loadout to your clipboard and you’ll be able to paste it wherever you want. One more thing before the gearscript is complete. Head to the loadouts section in the mission file and pick the file you want. For us, it’ll be us_army_ocp.hpp - the default BLUFOR loadout. Simply paste the loadout you’ve created in between the lines.
This is what you're after:
If you need to confirm that this is the loadout that will be used in the mission, check CfgLoadouts.
The road doesn't end here, however. Scroll down, and you'll see a whole load of other shit.
For some loadouts this won't matter, but these are the default MANPADs, Sniper Rifle, Pistol and SMG used by the faction, amongst other things. To change these, we'll need to get a bit more awkward.
So, let's take the pistol for example. In this case, for the sake of argument, we want a FNX-45 with a red-dot and laser-light module. So we give it to the arse-man and hit the export button at the bottom - Not the one we used previously.
Paste what Arsenal exports into an emplty page, and you'll get something like this
We want to find the classname for the pistol and its magazines. The pistol will be listed under 'add weapons', while the magazines will be in the uniform somewhere - going by the round-count of the magazine is a good way to identify it. In this case it's 11.
Replace 'UK3CB_BAF_L131A1' on the left with 'hgun_Pistol_heavy_01_F' from the right, and replace 'UK3CB_BAF_9_17Rnd:3' with '11Rnd_45ACP_Mag:3'Note, the :3 - this defines how many magazines will be added - You can see this is also the case for magazines on the weapons you originally exported like the rifle and AR. Make sure it's there, because if you only put in the classname, there will only be one magazine loaded in the gun. In this case, we'll bump it up to four to make up for the difference in ammo count. You can do the same for the SMG, Sniper Rifle, MANPADS, even hand-grenades and such.
The loadout script is very flexible and you'll quickly get the hang of it.
Placing AI
Now when you’re done with setting up your faction it’s time to make your mission come to life. For co-ops AI is what we will be fighting, and utilizing the AI in ArmA can be done in many different ways. However, for a simple mission you shouldn’t do anything too complex. We have a built in AI mod made by tanaKa which will do most things for you. Place down AI where you want, but make sure they don’t interfere with your chosen faction's starting location. You should always have the players in a safe location so they can safely set up a plan and brief everyone. With the eden editor you can place down AI inside buildings to make the mission feels more alive. The specifics of AI placement comes down to personal preference and should differ depending on the type of mission you're making, however balance is key for a fun mission, so keep that in mind while placing AI. If you decide to place AI yourself, you have a maximum of 90 AI to work with. As the mission progresses, you can include AI spawning info in the admin briefing. Generally, 90 AI will be enough, any more and the mission tends to drag on. When you've finished placing your AI, select all of them in the eden editor, and right click to view the attributes. In the attributes panel, check the box the says 'Assign to HC', which will slave the AI to the headless client by default and allow our AI mod to take control. ZEUS missions do not require this.
Certain missions may not require AI to be placed. The most notable example would be ZEUS missions. Defense missions are typically zeus’d, which is basically real time placement and control of AI by the ZEUS. ZEUS is only accessible by admins, so if you build a ZEUS mission it will be up to an administrator to place the AI for you. You have to include good instructions for a ZEUS mission if you want things to go the way you envision them (and if you want it to pass QA). This is accessible through the admin briefing, which we'll go over later. Any mission can be a zeus mission - often it can work well to only place a few AI where you want the bulk of them to be placed, that way admins can place AI based on our force size, making your mission more adaptable depending on how many people show up. The fact that you do not need to place ~90 AI is not a cop out, you still have to make a good mission. This means good briefings, good gear, and thorough planning on your part, especially when it comes down to AI placement.
Spawning and Waypointing AI With Triggers
This article goes over the basics of spawning groups of AI with triggers. You might use this functionality if you want to spawn in counter attacks, or if you want an objective to populate later after a number of AI have been killed. This function is useful to avoid exceeding the AI limits while still maintaining the pace of the mission and without requiring Zeus.
Naming your mission & Doing the briefing:
When you feel like you’re done with your mission, it’s time to do the briefing. The briefing is located in the POTATO menu in the Eden Editor. Everything in here is very self-explanatory. Make sure the objective is clear, so no questions will arise during the mission itself. If you have any notes for an admin about your mission, for an example if you want to delete an x amount of units if the player count is low, make sure you add that in the admin briefing.
Located in missionstemp.takistanscripts you will find a file called serverstart.sqf. If you open this file, there are two lines at the bottom that you have to edit. Where it says **Mission Title** and **By Author* is what you want to edit. What this does is it pops up your mission name and the authors name after the mission is done loading.
Arma 3 Arsenal Box Script
You’re also going to want to name the mission ingame and give it a description. This is done in the editor itself. Open up your mission, and on the top there should be a tab called “Attributes”. Head to General. Here is where you name the mission ingame and put the authors name. Also add a description to the mission, it should only be one sentence. This is to give everyone a general idea of what the mission is. Under Attributes -> Multiplayer you have to fill in the Summary. This will show a description of the mission in the slotting screen.
Now you only have to name the mission folder. Your mission folder should look like this: cmf_(co/tvt)(player count)_(mission_name).(map name).
When you’re all done, take a look at the Mission Making Guidelines to make sure you submit your mission correctly.
If this tutorial didn’t do it for you, I would suggest looking at tanaKa’s video (also linked at the top) which explains how to create a mission, or head over to BI’s own wiki There’s also a #missiondesign channel in discord if you’ve run into any issues.
Changing Misc Options
Deploy Function
1) Open the mission you want to fix the deploy on and open the init.sqf file with some kind of text editor like Notepad++.
2) Find [] execVM 'scriptsfdswha_dp_init.sqf'; and comment it out. It will now deactivate at mission start.
Changing Scopes/Optics options at mission safestart
High magnification options
1) Open CfgLoadouts.hpp in the mission folder and open CfgLoadouts.hpp
2) Change allowMagnifiedOptics = 0; to 1 if you want high magnification scopes. HAMR/ACOG/ect
Arma 3 Virtual Arsenal Initiative
Allow/remove optics option
![Arma Arma](https://lecrieuropeen.com/img/218328.jpg)
1) Open CfgLoadouts.hpp in the mission folder and open CfgLoadouts.hpp
2) allowChangeableOptics = 1; 1 allows us to change optics at safestart, 0 disables it
Vehicle Spawner Edits
Arma 3 Virtual Arsenal Init Command
1) Open the mission folder and go scriptsvehfactory.sqf
2) Scroll down to the bottom till you see // CHANGE THESE TO MATCH YOUR FACTION!
3) Edit the vehicle classnames that you want the spawner to provide. Most of the ones used are above so you can copy paste
Field Hospital Vehicles
1) Open the mission folder and go to scriptsbuildccpconstruct_platoon.sqf
2) At the top of the file you find:
3) Change the 'rhsusf_m113_usarmy_medical' to 'vehicle_classname' and save it
Retrieved from 'https://coalitiongroup.net/wiki/index.php?title=Mission_Making_Tutorial&oldid=2474'
UNIT: Julien Vida, Tools Commissar, Mastering Dept.
TO: Arma 3 Content Creators
OPSUM: May I have this car, in pink, with all options, please?
TO: Arma 3 Content Creators
OPSUM: May I have this car, in pink, with all options, please?
Give me a rainbow van
Beware, mortals, the text you are about to read may contain a large dose of technical information, which might be hard to digest on an empty stomach:
If you've already discovered the brilliant depths of Arma 3 content creation, you might very well be more than interested in the new vehicle customization options we've deployed a few months ago. Did you ever wonder what color of the civilian car you just placed in the Editor would be? There's now a deeper system running in the background that will surprise you every time. We call this 'vehicle customization' (VhC) and you may have already seen bits of Intel on this system scattered around the forums.
In short, vehicles now have a bunch of animation and texture sources you can play with. To do so, you can create your own templates in the scenario config file. If you want to test this feature, just open Arma 3, run the Arsenal, and choose your vehicle: Customize / Export / Test!
First we refactored configs to prepare for implementation of the new method. This new system to randomize and customize vehicles replaced the previous performance-hungry scripted solution. VhC is quite simple; in the configuration, there is a list of available textures and animation sources, a function reads them and applies a 'variant' according to parameters set in config or the scenario config file. If you want to know more, I invite you to consult this page.
I like it, but do you have it in a different color?
Virtual Arsenal, and mainly its Virtual Garage component, is the most convenient way to see every customization option available. We have added a customization menu to most vehicles, where you can change not only the skin (visual style of vehicle based on several pre-made textures), but also add some interesting parts like benches for helicopters, beacons for motor boats, and various bags on top of an off-road pick-up truck. All of that is now just a few clicks away. The underlying system uses optimized functions instead of basic scripts to do all the magic in the configs.
This way, you can easily change the livery of a vehicle without having to remember the full path to the texture files (some vehicles have more than one selection for their livery). There are multiple opportunities to use VhC. Its primary usage is to select a texture class and apply its texture list, but as you will see below, it's also able to randomize from a given pool of texture classes (['TextureSource1', 0.52, 'TextureSource2', 0.65]) and restore the default texture configured in the config.
MOAR OPTIONS
Next up is another significant part of vehicle customization possibilities: the animation sources. But wait, I can already do that with the animate command, so why should I use VhC? Fact is, VhC takes care of more than simply changing an animation phase. During the config refactoring, we've introduced a few parameters into the animation sources like lockCargo to lock the given cargo indices when the phase of the animation is the same as the other property lockCargoAnimationPhase. However, the most useful is forceAnimate, an array of animation sources and phases, which allows the system to hide or show the source, depending on the phase of the current animation source. It sounds a bit complicated, but you will find all the necessary information in the official published samples.
Last but not least, it's still in early stage, but there's an option to customize weight modification (artists out there may recognize this as mass in Object Builder). For example, if you add an element to a vehicle (e.g. a bumper on the off-road pickup truck), its mass will be increased. This means that adding something on a vehicle could have an impact on its behavior.
How to use this system?
The header of the function contains every relevant bit of information, so here you go:
BIS_fnc_initVehicle, header
Parameter(s):
0: vehicle to customize
1: Variant (textures)
BOOL - true to restore default texture source ; false to skip texture source change
VOID - Nil to skip the texture source change
ARRAY - Array of texture sources with their given probability: ['textureSource1', 0.5, 'textureSource2', 0.5]
STRING - Variant class name(from the configFile >> cfgVehicles or from the missionConfigfile >> cfgVehicleTemplate)
SCALAR - index of the texture source (same as the old system)
2: Animations
BOOL - true to restore init phase of every animation sources
VOID - Nil to skip change of the animation sources
ARRAY - Array of animation sources and probability: ['AnimationSource1', 0.5, 'animationSource2', 0.5]
STRING - Variant class name(from the configFile >> cfgVehicles or from the missionConfigfile >> cfgVehicleTemplate)
Returns:
BOOL - True if success, otherwise, false
Examples:
1) Do nothing because default VAR texture and VAR animation are 'false'
result = [this] call bis_fnc_initVehicle;
2) Restore default texture and animation sources (reset)
result = [this, true, true] call bis_fnc_initVehicle;
3) Randomize everything according to the config file result = [this, ', []] call bis_fnc_initVehicle; //<-- Prefered
result = [this, ', '] call bis_fnc_initVehicle;
4) Skip everything
result = [this, nil, nil] call bis_fnc_initVehicle; //<-- Prefered
result = [this, false, false] call bis_fnc_initVehicle;
5) Apply the given texture and ignore the animations
Priority is given to [missionConfigFile, 'CfgVehicleTemplates']
result = [this, 'TemplateName', nil] call bis_fnc_initVehicle;
6) random weighted on the given texture sources and their probability, then randomize the animation sources according to the config file
result = [this, ['MyTextureSource1', 0.5, 'MyTextureSource2', 0.6], []] call bis_fnc_initVehicle;
7) MyAnimationSource1 phase has a 50% chance to be set to 1 and MyAnimationSource2 has a 70% chance to be set to 1
result = [this, nil, ['MyAnimationSource1', 0.5, 'MyAnimationSource2', 0.7]] call bis_fnc_initVehicle;
8) MyAnimationSource1 phase will be 1 whereas MyAnimationSource2 will be set to 0
result = [this, nil, ['MyAnimationSource1', 1, 'MyAnimationSource2', 0]] call bis_fnc_initVehicle;
9) Change animation sources with a given template
result = [this, nil, 'MyTemplate'] call bis_fnc_initVehicle;
Based on community feedback about the randomization feature, you can simple disable it from the scenario config file (description.ext) using parameter disableRandomization[]or using the object variable BIS_enableRandomization for spawned vehicles.
Backward compatibility?
The new system fully replaces the old one, and to make this work, the scripts used for the old one are now calling the new functions. It's because of the initialization order and how the functions and scripts are called. There are two ways to run code in Arma 3 - Scheduled (based on the frame rate) and Unscheduled. VhC is now called and runs in an unscheduled environment, which means it will be executed before the parsing of the object initialization fields in the Editor. This prevents the usage of the variable enableRandomization directly from the Editor, yet on the other hand it greatly reduces the impact on performance.
That being said, the scripts still exist and the VhC system is initialized before the beginning of the scenario (init event handler), meaning that you can run the old scripts from the initialization field (from the Editor). However, the randomization of spawned vehicles (via script) can still be prevented, same as before via this setVariable ['enableRandomization', false];.
Plans
The system was released with Marksmen DLC and is in its final state or very close to it. The exception is the mass of the animation sources, which could receive some adjustments, including potential edits of the PhysX configuration of some vehicles.
Arma 3 Virtual Arsenal Init Game
We're looking forward to your suggestions, feedback and bug reports in this dedicated topic!