#arma3_config
1 messages Β· Page 11 of 1
lot easier
you have control over what you do
Mikes mod works ok because he just adds snow
changing facade texture on a building thats not designed with that surface material in mind will not look good
I suppose replacing the rvmat wouldnt help with that either 
it would be required, but the issue is more connected to building design and brick/concrete buildings being different from plank covered ones
the replacement would stand out
Yeah thats what we thought a bit about too π
Well, that should answer it then, thanks for the help!
quick question, how do i implement spaces in define macro's, for example
class ##baseclass;
will end up with
classExampleClass;
remove ##
I assume baseclass is macro param?
these should be UPPER case by convention to make them more easily recognizable.
you use it to concatenate multiple macro params
VAR1##VAR2
or concatenate in general.
VAR1##NotAMacroParam
all good, cheers for the help
Does anybody have any software recommendations for generating all combinations of hiddenselections for provided textures and selections etc?
What is ItemInfo exactly? Do I need it for every vest/uniform/helemt?
...
class HelmetBase: ItemCore
{
...
class ItemInfo: HeadgearItem
{
....
};
};
class UsableHelmet: HelmetBase
{
... // Would it need it's own ItemInfo class or can it inherit from the `HelmetBase`?
};
There is no automation for that
For making my sounds work indoors and outdoors do I change the class name of my CfSoundShaders from class T_soundtweak_Flash_closeExp_SoundShader to class T_soundtweak_Flash_Indoor_closeExp_SoundShader?
Or how exactly would I make sounds differentiate from indoor to outdoor?
Different name yes but the name does not change any sound settings, those you also need to change youtself
Ok so it just needs to be different names got it
So CfgSoundSets is what determines what sound is played at what distance and if it's indoor and outdoor or what?
You can compare vanilla sound configs
Not sure what you mean. Vanilla has no flashbangs
You can also browse configs with the ingame config viewer (and make that easier with mods that add improved config viewer like leopards advanced developer tools mod)
You have played the game right...
cheers, made a python script for it in the bath
problem solved
why, though O_o
helping usp with config
im lazy so ill just automate the process instead of constant copy pasting
can just swap the optional entry for a macro or w/e
i mean, why non-consistent hiddenSelections with what seems to be the same model 
shit you right
(i think thats how usp does it at the moment but it shouldnt be)
either way its not a big deal to change lole
oh no thats how they used to do it
yeah, scripting is godsent for long repeatish walls of text
if the camos are same on all you can just have the hiddenselections defined in the base class
Hey peeps, is it possible to set a default patch for a soldier class?
Hello, I need help ! I'm trying to retexture a vehicle (it has sirens, lightbars and all that), and I get an error I don't understand :/ '/CfgVehicles.Car_F': '{' encountered instead of '='. But I don't see why a = should be there.
{
class Car_F
{
class UserActions;
};
class aka_vsav_cube_base;Car_F{};
class aka_vsav_cube_sdis70 : aka_vsav_cube_base{};
class Ambulance_Altis_Secours : aka_vsav_cube_sdis70;
{
scope = public;
crew = "C_man_1";
side = 3;
faction = CIV_F;
displayName = "Ambulance Altis Secours";
author = "Aka-Mods, Napsius";
hiddenSelectionsTextures[] = {"Ambulance\textures\body.paa","#(argb,8,8,3)color(0.945098,0.866667,0.223529,1.0,CO)","Ambulance\textures\roof.paa","aka_vsav_cube\textures\ΡΡΡ*ΡΡΡΠ°ΡΡΠ€.paa","Aka_data_base\datas\plaque\Plaque.paa"};```
(There's more after that but I'm not going to send 100 lines of code, it will be hard to read)
class aka_vsav_cube_base*;*Car_F{}; huh?
https://youtu.be/RT2g8G33glY I'm following this tutorial
Voici un tutoriel pour savoir configurer son config.cpp, pour faire son propre pbo avec ses skins.
Lien de l'exemple :
https://drive.google.com/file/d/1gwIoRMfuzE74MxbJZWMHn7gAvBSHqfsc/view?usp=sharing
Liste pour l'option de Addon Builder : .p3d;.paa;.cfg;.hpp;.cpp;.sqf;.rvmat,.xml;.wss;.ogg;.wav;.vdat;.wrp;.txt;*.rtm
Site : https...
it;s ; there, not :
I recommend using Mikeros toolset and pboProject if you want on build syntax checking
(HEMMT might also have that?)
I'll check those, thanks !
yes HEMMT has that
its anal, but not mikeros anal
Hello!
I was trying to configure my config and it was all good but when I hop on into the launcher and clicked on the vest to load it loaded on the incorrect position, What could I do and what can I do to fix it?
Also 1 .p3d doesn't shows up even if it's on the Config.C++
So I saw this somewhere here a longtime ago but cant seem to find, but is there away to draw the lines of a MFD in photoshop and export the (X,Y) positions? or was this a fever dream idea π
This would be for creating a hud, and I really dont want to be restarting the game for every tiny little change
Would it be possible to add a fire mode (ModeClass) to the Throw weapon class? And would that fire mode be able to influence the speed at which grenades are being thrown?
Don't think there is key to swap fire mode with it.
What I'm thinking is not to switch the fire mode like that. But to have a scripted hotkey call the "fire" function with the fire mode as a parameter.
Second argument can be firemode: https://community.bistudio.com/wiki/fire In the examples for throwables it's always their main weapon class being passed in. Perhaps it could be a different fire mode instead is what I am thinking. Would only be useful if the fire mode can actually influence the grenade throwing though.
Grenade throw speed is defined in the magazine though, which makes it doubtful an an approach...
No model.cfg/bad weight painting
The error its the 3D?
Maybe. Do you have a model.cfg?
I only have one the Config.c++
Modelname: "Name of the model"
Picture: "The picture that will be on the game"
Model " The model on.p3d"
Is that the model.cfg?
no.
model.cfg is additional file that contains things like skeleton and animation definitions
you can find example from the arma 3 samples on steam
Lovely!
Thanks!
and the BI wiki contains some explanation for it too
I did take a view to that before it but I will have to give it an other view once I get home to finish it
The answer as you can see is no.
does CfgVehicles have class for MP EventHandlers like it does for EventHandlers?
no there is just one class eventhandlers
tanks

flexing with them superreacts...
Is there any way for cfgRespawnInventories to be... extended? Say you've got a rifleman and a medic but the only difference between them is some extra gear. In normal OOP you could just be like medic extends rifleman and have it inherit the gear and everything... can that be done with arma
weird question but, is it possible to write an config so that certain items in the arsenal for example are hidden?
That would just be scopeArsenal = 0 No?
scopeArsenal = 2 makes it show in the Virtual Arsenal
like how basically most mods do sight magnifiers, how the magnified variant is actually a completely different sight but hidden in the arsenal
thats it?
wow that is
simpler than i thought
LMAO
For weapons and magazines, scopeArsenal = 0 is usually sufficient. In the case of weapons with predetermined attachments, you can use baseWeapon on the parent weapon class. For vehicles, use forceInGarage = 0.
for this case they're clothing items
liek helmets, vests, uniforms
Clothes are considered to be weapons (don't question BI's naming logic).
i wont
well actually
if you really think about it, anything can be a weapon
its just how you use it
so they're technically...correct
The worst is a backpack is a vehicle
Humans are vehicles too. π
Vests are both vehicle and weapon π€―
Anything is a vehicle if you try hard enough
Optical sight: vroom vroom /s
is it possible to modify a vehicles driving behavior on certain surfaces? i.e make them drive normal or not slow on certain surfaces?
could be this terrainCoef in the vehicles config entry?
found this and i guess im right 
https://forums.bohemia.net/forums/topic/80151-tweaking-vehicle-physics/?do=findComment&comment=1379129
Any way to make the civilian cars (Im using the old hatchback) a bit faster, or to change the handling, and how much going off road slows them down? apologies if this isnt the right section.
Inherit the class with cpp class myclass: baseclass { //change shit here };
so in the case of cfgRespawnInventories do we have to redeclare the whole array of linkedItems or can we just add to it somehow
this is still very useful for swapping uniforms etc either way, so thank you
you can in theory do linkedItems[]+={} and add new items there, though engine support for += is spotty at best. If it doesn't work then yes you will need to redefine the entire array unfortunately
you're a saint
iirc += only worked if you redefine (update?) the same class in the different config file. And only for the members defined in the class 
and i don't really see any viable usecases except adding new muzzles to "Throw'/"Put" weapons π
and https://forums.bohemia.net/forums/topic/173373-is-the-an-accepted-code-in-arma-3/ for usage example, i guess
@stoic lily would you mind sharing how IFA3 mod changes the look of the hint command to that nice sleek grey look?
@pallid sierra the border part o the background itself?
Both. Saw that it was possible to mess with it playing the mod, so now I want to make something of my own.
imageCornerElement = "\WW2\Core_t\IF_Gui_t\CfgInGameUI\cornern_ca.paa";
in class CfgInGameUI
class CfgInGameUI
{
class Actions
{
background = "\WW2\Core_t\IF_Gui_t\CfgInGameUI\cornern_ca.paa";
};
imageCornerElement = "\WW2\Core_t\IF_Gui_t\CfgInGameUI\cornern_ca.paa";
};
actual background color not sure as this is commented
class RscHint
{
class Hint: RscStructuredText
{
background = "WW2\Core_t\IF_GUI_t\igui_hud_corner.paa";
};
};
best to search in AIO config for class hint or just hint
Would something like the ENVG-B nods overlay be technically possible in the arma 3 engine
this would probably involve an edge detection filter in arma
technically? yes
practically? no
reshade and stuff may be more likely to work better -- but sqf side it's not going to work well if at all
I'm looking to achieve the closest effect using plain SQF
edge detection isn't doable performantly from what i've been able to test in the past, your best bet is doing something similar to A3TI and switching textures and stuff -- but you wouldn't have edges
how would I go about doing that
I'm guessing re-doing every RVMAT in the game
and _ti texture
I don't think so; else A3TI would be ginormous and not work with most mods -- I don't know how they do it though, take a look
how about the compass overlay at the top
cant remember what that looks like but that should be trivial
just a drawicon that rotates most likely
technically you might be able to calculate silhouette of a model and draw 3d lines in your own view around them
buuuut is that practical or even really possible

but gut feeling is that there is nothing that would work properly to do this
yeah that's what I was thinking but would be too poor performing in sqf
Whats the best class to use as base for unit?
O_Soldier_VR_F doesnt seem to work in some cases
for what kind of a unit?
soldiers usually inherit from a side soldier base classes
cant remember off the top of my head but the vanilla configs should reveal that pretty easily
sooounds familiar yes
I use B_Soldier_F for Blufor
Opfor O_Soldier_F
O_Soldier_VR_F worked just fine. Just that it had some compatibility issues when RHS was loaded.
So ill try something that requires minimal amount of work for same result
On Cfg topic is class CfgWorlds -> class GenericNames omitted from all documentation on purpose, or something that vanilla doesnt even use? I found exactly 1 mention of it on the forums...
It looks like just a list of Names for the game to Pull from, not sure how it's applied though
nono, that i understand, you use genericNames = "class" in your vehicle config,
what i mean is there is exactly 0 mentions of genericNames in
https://community.bistudio.com/wiki/Arma_3:_CfgWorlds_Config_Reference
That is interesting
So unless you know where to set said names, good luck have fun finding the place
I genuinely didn't even think about how Names were chosen for Units, Now I do, thanks XD
there are quite a lot of non documented things.. 
is there something you would like to do with it?
wait how about swapping the texture of the thermals
I found the other day that the Insert Syntax for Hashmaps was incorrect or rather misleading, that was a fun time
like using yellow in white hot instead of white
what's the proper way of doing that in SQF
post processing?
yeah that's what I'm thinking
fwiw I've tried doing ENVG stuff before and just came to the conclusion that it's not that doable at all in RV
then again people thought the same about a lot of what A3TI is doing so
I've already done what i wanted to do with it.
Just wanted to ask if the genericNames was omitted on purpose or its just... well undocumented as it is the case. Since it took me a while to find how to set them.
I dont think anything has been omitted by purpose, just have not been added thats all
cause vanilla doesnt seem to draw directly from these, but rather from cfgIdentities
Are you sure? It looks like the Vanilla Units have Generics Defined.
Unless I had a mod that gives them the property
Im not sure anymore. it seems like hot mess alltogether, multiple stuff doing basically same thing but some mods like ace draws from genericNames somethings draw from identities, and some stuff comes from displayName/Short
Like in vanilla if you look at unit it seems to display displayName or displayNameShort
but then you load ace and what ive set to be called ASDF, becomes Leroy Jenkins and im wondering why
all units have a name property always
when they are created the get a name randomized from the name pool defined for them
in cfgIdentities if I remember right
what game shows when you look at a unit might vary between vanilla and mods yea
CfgIdentities seems reserved for Specific Units from what I can understand, like Adams and Kerry
but if vanilla shows "rifleman" then thats the type of the unit in config and thats what vanilla is made to show
but they do stiill have name property too
If they join your squad then bottom bar seems to show either genericNames or Identities
i guess thats what you get from years of backwards compatibility.
special characters have unique identities yes
Without probing further into it myself it just seems like genericNames is for regular grunts and CfgIdentities is for Specific Units, Hero Units or Important Characters.
Identities also allow you to set the name but that seems to be overriden by genericNames...
and face for that matter. But as you can see there is specific faceType entry too...
should be other way around since the generic names is inherited parameter
special characters set identity on init evenhandler
to force their name and look
but you can also toss it into identityTypes
Anyways i got it to work, without any rpt errors. well except
21:48:15 No speaker given for '? ?'
but i can live with that. Tanks again 
this flash mod im working on only plays 1 sound no matter where i throw the flash
don't know why tho
my config looks fine
any idea if IR lasers in weapon attachments can have a changeable thickness and dot size like the colored ones? I know it was a limitation but not sure if anything changed in that manner
Prolly not cfg related, but this can be used to make THICK lasers
https://community.bistudio.com/wiki/drawLaser
yeah the thing is, I need to make an IR dot only (no beam) in a weapon attachment π which is possible for visible lasers
Set beam thickness to 0
I'll try again later, but iirc it didnt affect the IR lasers at all
It has that isIr param check
Or make it a tight spot ir only flashlight.
That a base game thing now?
Anyone have a link to RHS config dumps?
This link for RHS is dead
https://forums.bohemia.net/forums/topic/191737-updated-all-in-one-config-dumps/
Here is the All in One Config for Apex, as of June 11th stable branch update (1.62.137494).I will be updating these periodically and will include dumps with some of the larger and more popular mods. All of these will be view able from this directory, dependent on what game version the dump was on...
I kinda did with the variable focus IR Illuminator but the light disappears beyond 10 mrad
plus, I need it to work alongside the IR illuminator, and afaik I cant add two lights to one attachment combo 
Thereβs a function you can use to generate an AIO Config
So there are no RHS config available then? Surely a download link would be much faster than trying to figure out how to do all that, that been done to death just need a active link.
Which one do you mean? Do you mean the insert command being bugged and not accepting just one value?
No there commonly are no configs online.
Well shit...that sucks
Have to understand that someone would have to do thta stuff regularly and it's not really fair to expect someone do it when you yourself are also reluctant to do it.
Syntax 4 hashMap insert [splitArray, [keysAndValues]]
with splitArray being True, It actually should look like this hashMap insert [splitArray, [Key1, Key2], [Value1, Value2]]
It showing as [splitArray, [keysAndValues]] implies that Keys and Values should be Arrays within [keysAndValues], meaning insert is being given 2 elements.
TLDR
Wiki makes it look like
hashMap insert [splitArray, [[Key1, Key2], [Value1, Value2]]]
but it actually needs to be
hashMap insert [splitArray, [Key1, Key2], [Value1, Value2]]
Again this could be me just being stupid and misunderstanding it, But I do feel like anyone could make that mistake.
100% true, my expectation was since vanilla, DLC and cDLC have been done and are freely available atm along with that post i linked were the major mods were also made available (links which are dead now). This had me conclude that finding and existing active link to those who have made a RHS config and posted it would be infinitely faster that spending the time figuring out how to make my own as i have not done it before nor even know where to start.
My assumption was that if it was available a few years ago it would still be available today, even if out dated, seems my assumption was incorrect...like i said, that sucks
Ah ju just not properly documented then. We have #community_wiki channel for all problems with wiki, if its posted there it will be fixed
kinda to opposite of what i said in the text you replied on π
I have been going through the config viewer and cannot find what line of script adds backpacks to units. I am putting together a factions mod.
Does anyone know what line of script does this?
backpack
backpack = "backpack_class"
Thanks a ton guys. Will investigate when I get back home
Edit: that worked thanks guys
it's in CfgWorlds
I had to do it once for one of my mods, made the crew of my vehicle have no names, no voice for example:
class CfgWorlds {
class GenericNames {
class YourNewNameClass {
class FirstNames {
None = "";
};
class LastNames {
None = "";
};
};
};
};
class CfgIdentities {
class YourNewIdentity {
name = "";
nameSound = "Ghost";
face = "Default";
pitch = 1.0;
glasses = "None";
speaker = "NoVoice";
};
};
class CfgVehicles {
class YourVehicle {
genericNames = "YourNewNameClass";
identityTypes[] = {"YourNewIdentity"};
};
};
leaving this up here for posterity in case someone tries to do something similar at one point
Ye, i know now. But was searching for it days ago and couldnt find where they are defined
Also probs last place i would look in is cfgWorlds
oh yea same, it took me a bit of digging to find that out
{
class T_Bang_Config
{
units[] = {};
weapons[] = {};
magazines[] = {};
requiredVersion = 2.10;
requiredAddons[] = {};
name = "T_Bang_Config";
author = "Toka";
};
};
class CfgSoundShaders
{
class T_soundtweak_Flash_Close_Outdoor_SoundShader
{
range = 15;
rangeCurve[] = {{0,1},{5,0.75},{15,0}};
samples[] = {{"T_Bang_Sound\Sounds\grenade_flash_start_outdoor_close_1.ogg",1}};
volume = volume="1 * (1 - interior)";
};
class T_soundtweak_Flash_Distant_Outdoor_SoundShader
{
range = 2200;
rangeCurve[] = {{0,1},{100,1},{500,0},{2200,0}};
samples[] = {{"T_Bang_Sound\Sounds\grenade_flash_start_outdoor_distant_1.ogg",1}};
volume = volume="1 * (1 - interior)";
};
class T_soundtweak_Flash_Close_Indoor_SoundShader
{
samples[] = {{"T_Bang_Sound\Sounds\grenade_flash_start_indoor_close_1.ogg",1}};
volume="1 * interior";
range=50;
rangeCurve[]=
{
{0,1},
{25,0.69999999},
{50,0}
};
};
class T_soundtweak_Flash_Distant_Indoor_SoundShader
{
samples[] = {{"T_Bang_Sound\Sounds\grenade_flash_start_indoor_distant_1.ogg",1}};
volume="1 * interior";
range=250;
rangeCurve[]=
{
{0,0},
{25,0.5},
{50,1},
{250,0}
};
};
};
class CfgSoundSets
{
class T_soundtweak_Flash_Exp_Outdoor_SoundSet
{
distanceFilter = "explosionDistanceFreqAttenuationFilter";
doppler = 0;
loop = 0;
sound3DProcessingType = "ExplosionLight3DProcessingType";
soundShaders[] = {"T_soundtweak_Flash_Distant_Outdoor_SoundShader","T_soundtweak_Flash_Close_Outdoor_SoundShader"};
spatial = 1;
volumeCurve = "InverseSquare2Curve";
volumeFactor = 1;
};
class T_soundtweak_Flash_Tail_SoundSet
{
distanceFilter = "explosionTailDistanceFreqAttenuationFilter";
doppler = 0;
frequencyRandomizer = 0.05;
loop = 0;
sound3DProcessingType = "ExplosionLightTail3DProcessingType";
soundShaders[] = {"GrenadeHe_tailForest_SoundShader","GrenadeHe_tailMeadows_SoundShader","GrenadeHe_tailHouses_SoundShader"};
soundShadersLimit = 2;
spatial = 1;
volumeCurve = "InverseSquare2Curve";
volumeFactor = 0.05;
};
class T_soundtweak_Flash_Exp_Indoor_SoundSet
{
soundShaders[]=
{
"T_soundtweak_Flash_Close_Indoor_SoundShader","T_soundtweak_Flash_Distant_Indoor_SoundShader"};
volumeFactor=5;
volumeCurve="InverseSquare2Curve";
sound3DProcessingType="ExplosionLightTail3DProcessingType";
distanceFilter="T_rifleShotDistanceFilter";
occlusionFactor=0.15000001;
obstructionFactor=0.15000001;
spatial=1;
doppler=0;
loop=0;
};
};
class cfgDistanceFilters
{
class T_rifleShotDistanceFilter
{
type="lowPassFilter";
minCutoffFrequency=250;
qFactor=1.3;
innerRange=150;
range=1800;
powerFactor=32;
};
};``` Does this look right? When I test it out in game the only sound that plays is `grenade_flash_start_outdoor_distant_1.ogg` no matter where or how far I throw the flash.
can confirm, they're not
so they arent limited anymore?
They are. You can adjust the dot and beam as long as it's not an IR laser
Ah, with drawLaser you can.
Yeah, it's just gonna be complicated to handle
Is there a way to give a gunner/wso on a vehicle the same type of camera that would be given by class pilotCamera?
specifically one that can be stabilized with Ctrl+T and track vehicles
Copilot turret or some type of turret
what do you mean by that?
the vehicle i'm messing with (firewill F-16D) already has that, but the actual locking capabilities of the turret are janky
i can't toggle stabilization, or track a moving vehicle or anything
i'm seeing if i can change the turret that it's already got to the same type as the one the pilot has
Look on the Biki. There should be a few values you can give it.
Copy the pilot turret then
the pilot turret isn't created using the same function and has different variables
except pilot can also have pilotCamera that doesn't behave like a turret iirc?
Then you wonβt get much help here. Contact the Firewill team
yeah the pilot has a turret created by pilotCamera, that's the one that's got the vehicle tracking and toggleable stabilization
Can anybody tell me why a weapon's muzzle still rises when it's recoil and recoilprone are zeroed out?
the ones in the firemode or the recoil= property on the weapon itself?
in the firemode.
i presume the ones in the firemode totally override the ones in the weapon itself
presuming the firemode is used
the one on the weapon is newer. And is supposedly independent
meaning both recoils happen at once??
either that or only weapon's one is used. I'm not sure if the old recoil system is disabled or what
well, zeroing the ones in the fire mode did change the recoil... however the muzzle was still rising.
i guess i need to try zeroing both of them to figure out what's going on
yaaay for two independent recoil systems working at the same time then
I wonder if this is why ai cannot control recoil when they're close to a player.
oh my god, I think it is. If a weapon has non-zero recoil in a fire mode used by the ai, the ai cannot compensate fore recoil when the ai is near a player.
well, cpp class CfgRecoils { class recoil_mx { muzzleOuter[]={0.0,0,0.0,0.0}; muzzleInner[]={0,0,0.0,0.0}; kickBack[]={0.0,0.0}; permanent=0.0; temporary=0.0; }; recoil_single_mx[]={0,0,0}; recoil_single_prone_mx[]={0,0,0}; recoil_auto_mx[]={0,0,0}; recoil_auto_prone_mx[]={0,0,0}; };this is enough to make MX not move (but the screen shake is still there)
In the hands of the ai, there appears to be a bug related to a conflict between the weapon's base recoil, and the recoil defined in its fire modes. The result is the ai cannot correctly compensate for recoil when they are near a player, regardless what they're shooting at.
yaaay for more stuff interacting in unintended ways
For example, LMG_03_F has different recoils defined in its fire modes and its base weapon
zeroing out the recoil in its fire modes causes the ai to behave correctly
correctly in this regard anyway π
Finally the machine gunners in my squad can fire accurately!
recoils in firemodes and base weapon are different by definition. Because base weapon uses class that basically defines a bunch of boundaries for random kick/climb. And a firemode uses an old straight array of angles 
https://forums.bohemia.net/forums/topic/178711-recoil-overhaul-feedback/?page=4&tab=comments#comment-2812490 apparently has some explanation
well, apparently the thing to do is to zero the recoil for fire modes used by AI. THey still appear to have recoil, but they can now compensate for it correctly.
and for the player it's enough to only zero out "new" class, it seems
Oh shit, I think I actually found the TRUE cause of the problem. The problem I think, isn't that there are recoils defined for the fire modes used by the ai. I think the real problem is that ALL of the old style recoils are configured incorrectly! The timings are all piled on top of each other, instead of measured from the start of the recoil.
Example:
recoil_auto_primary_10outof10[] = {0, 0, 0, 0.06, 0.036943, 0.014348, 0.06, 0.031817, 0.005004, 0.06, 0.019755, 0.003056, 0.06, 0.007388, 0.00114, 0.06, 0, 0};
Should actually be something more like this:
```recoil_auto_primary_10outof10[] = {0, 0, 0, 0.06, 0.036943, 0.014348, 0.12, 0.031817, 0.005004, 0.18, 0.019755, 0.003056, 0.24, 0.007388, 0.00114, 0.30, 0, 0};````
The *FIRST number in each triplet is the time component of the impulse
i don't know, tbh
straight {0,0,0} doesn't prevent nearby AI from shooting skywards. And that same AI at some distance shoots the entire Zafir belt into a chest-height target
also "Recoil is defined as three numbers in a row indicating time taken,kick back,kick up."
Just as a test, what I did is for the fire modes the AI are using, I set their recoils to this: zero_recoil[] = {0,0,0,0.04,0.04,0.03, 0.08, 0, -0.03};
And as a consequence they are shooting accurately even when I am near them.
Whereas before, they would shoot skyward as you say
I'm checking to see if the final correction down (-0.03) is actually necessary
still skywards when overwriting recoil_auto_mk200/recoil_auto_prone_mk200 that Zafir uses with your values
Initially I was just zeroing it completely like this: zero_recoil[] = {0,0,0}; But I found that they didn't seem to animate a recoil in that case.
So I think the real problem is the time component of the recoil impulses is measured incorrectly
Meaning that whoever designed the original recoil configs was incorrectly measuring the time of impulse from the previous impulse, instead of from the beginning of the recoil
yaaay, more config values that don't make sense
What is really strange is that the ai can compensate for recoil as long as they are more than 100 meters away from the player. I wonder if this is because the game just doesn't bother to animate recoil for units that far from the nearest player.
There's definitely a number of things that are not intentional here. But for it to go undetected for more than 10 years is alarming.
While I was working on this, I discovered another unintentional "feature". When the AI shoots a burst of auto fire, the timing between the first two shots is bugged. It is always much shorter than the timing between subsequent shots in the burst. Sometimes the time between the first two shots is actually zero!!!!
the amount of shots AI uses with the same firemode changes when player is inside 100 meters 
The rate of fire changes too
I think the number of shots it fires actually only APPEARS to change because of my previous point, the timing is bugged. sometimes two shots fire very close to each other, even sometimes with zero time between shots.
I have a feedback report if you want to add your input to it. The more people who draw attention to this, maybe they'll actually do something to fix it.
This is the recoil I'm just going to go ahead and use for AI machine gun fire modes:
zero_recoil[] = {0,0,0,0.04,0.04,0.03, 0.08, 0, -0.028};
the -0.028 at the end brings the muzzle back toward target, to make it easier for the ai.
Does anybody know what the "value" parameter is in cfgweapons?
Hello I want to change the Galat to use the Mk14 magazimes and be able to fire in single mode, the questiong here is where do I start, and what tools I need?
Well it may be the magazine does not fit it very well, but you can try it out by adding it into the magazine well config of the galat
Ok so will be adding just the mag classname? To the config?
Thta I think should make it compatible
Got it i'll try it thank you
Wait the old recoil is actually being used by AI? that doesn't seem right
anyone able to provide some insight as to why this code is adding an uncontrollable targeting pod that's in the cockpit as opposed to it's expected result of putting one on the bottom of the plane that's controllable?
{
class OpticsIn
{
class Wide
{
opticsDisplayName = "W";
initAngleX = 0;
minAngleX = -360;
maxAngleX = 360;
initAngleY = 0;
minAngleY = -350;
maxAngleY = 350;
initFov = "(60 / 120)";
minFov = "(60 / 120)";
maxFov = "(60 / 120)";
directionStabilized = 1;
visionMode[] = {"Normal","NVG","Ti"};
thermalMode[] = {0,1};
gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_wide_F.p3d";
};
class Medium: Wide
{
opticsDisplayName = "M";
initFov = "(12 / 120)";
minFov = "(12 / 120)";
maxFov = "(12 / 120)";
gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_medium_F.p3d";
};
class Narrow: Wide
{
opticsDisplayName = "N";
initFov = "(4 / 120)";
minFov = "(4 / 120)";
maxFov = "(4 / 120)";
gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
};
class VeryNarrow: Wide
{
opticsDisplayName = "NFOV";
initFov = "(2 / 120)";
minFov = "(2 / 120)";
maxFov = "(2 / 120)";
gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
};
class HyperNarrow: Wide
{
opticsDisplayName = "HNFOV";
initFov = "(.25 / 120)";
minFov = "(.25 / 120)";
maxFov = "(.25 / 120)";
gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
};
showMiniMapInOptics = true;
showUAVViewpInOptics = false;
showSlingLoadManagerInOptics = false;
};
minTurn = -360;
maxTurn = 360;
initTurn = 0;
minElev = -90;
maxElev = 90;
initElev = 0;
maxXRotSpeed = 1;
maxYRotSpeed = 1;
pilotOpticsShowCursor = 1;
controllable = true;
};
this is the view i get when i control+right click to go into the camera, i can't do anything with it, except zoom
Try this:
{
class OpticsIn
{
class Wide
{
opticsDisplayName = "W";
initAngleX = 0;
minAngleX = 0;
maxAngleX = 0;
initAngleY = 0;
minAngleY = 0;
maxAngleY = 0;
initFov = 0.5;
minFov = 0.5;
maxFov = 0.5;
directionStabilized = 1;
visionMode[] = {"Normal","NVG","Ti"};
thermalMode[] = {0,1};
gunnerOpticsModel = "A3\drones_f\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_wide_F.p3d";
};
// other modes
};
minTurn = -180;
maxTurn = 180;
initTurn = 0;
minElev = -90;
maxElev = 90;
initElev = 0;
maxXRotSpeed = 1;
maxYRotSpeed = 1;
maxMouseXRotSpeed = 0.5;
maxMouseYRotSpeed = 0.5;
pilotOpticsShowCursor = 1;
controllable = 1;
};```
memoryPointDriverOptics="PilotCamera_pos"; in the plane config itself seems related as well
hrmmm, alright, i'm just trying to make a quick and dirty patch to add the pod so it's very likely that hasn't been defined
but let me try the previous code real quick
yeah, same issue as i was having before even with the new code
is it possible to define that in a separate mod, or would that need to be in the original
the mempoints are generally defined in the model
Yes of course the memory point referenced in memoryPointDriverOptics must be in the Memory LOD of the model.
hrmmm, that's unfortunate
misconfiguring memoryPointDriverOptics on the vanilla A-164 made it look like the screenshot of yours. Maybe try to find some pre-existing mempoint located roughly where you want that. Maybe some wheels are marked or something
alright, i'll look into the config and see what i can find
cursorObject selectionNames "Memory" in the debug console when looking onto the vehicle in question should give you the list
alright, well i'll try the point "exhaust1", where would i need to put that in the PilotCamera class?
it doesn't seem to have a place to put it in there by default
memoryPointDriverOptics = "exhaust1"; in the main config.cpp
alright, let's give that a whirl
hopefully it works
alright, it's working now, do you happen to know if there's a way to manually offset the position?
as in, now that it's at the memorypoint, can i manually move it left without having access to the original model?
I don't think so.
adding nonexisting elements to vehicles is always a bit of a hit and miss. Many things cant be done fully when they lack the necessary parts in model.
yeah i figured
would have been pretty sweet if such points could be replaced with generated point but its not always quite that simple since most of the time those points would also need to be part of some animations to move right
well, it's not like i need an actual model that moves and all that, all i need is the location of the camera to be on the bottom of the fuselage
unfortunately there aren't any memory points in central positions, and they're kinda obscured
@cloud perch You can define the pilot camera points with cameraPos and cameraDir
oh? could you elaborate on that a bit, is that something i'd put in the pilotCamera class after i've set the memorypoint to something, or can i forgo having the memorypoint
class PilotCamera
{
class OpticsIn
{
class Wide
{
camDir = "gunner1";
camPos = "gunnerview";
opticsDisplayName = "W";
initAngleX = 0;
minAngleX = 0;
maxAngleX = "+0";
initAngleY = 0;
minAngleY = 0;
maxAngleY = "+0";
initFov = 0.5;
minFov = 0.5;
maxFov = 0.5;
visionMode[] = { NML, NVG, TI };
thermalMode[] = { 0,1 };
gunnerOpticsModel = "A3\drones_f\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_wide_F.p3d";
};
class Medium: Wide
{
opticsDisplayName="MFOV";
initFov="(14.4 / 120)";
minFov="(14.4 / 120)";
maxFov="(14.4 / 120)";
gunnerOpticsModel="\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_medium_F.p3d";
};
class Narrow: Wide
{
opticsDisplayName="NFOV";
initFov="(4.8 / 120)";
minFov="(4.8 / 120)";
maxFov="(4.8 / 120)";
gunnerOpticsModel="\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
};
showMiniMapInOptics = 0;
showUAVViewpInOptics = 0;
showSlingLoadManagerInOptics = 1;
};
minTurn = 0;
maxTurn = 360;
initTurn = 0;
minElev = -80;
maxElev = 80;
initElev = 0;
maxXRotSpeed = 0.5;
maxYRotSpeed = 0.5;
pilotOpticsShowCursor = 1;
controllable = 1;
};```
@cloud perch thisβll give you a working pilot camera
Edit as needed
alright, let me give that a whirl
Be sure to change Camdir and Campos with memory points that exist on your model
alright, but even with that, there's no way to actually move the position away from the preset memory point? because there's no specific memory point in the location i want it
You need to give it memory points that exist on the model. Change camDir and camPos to points that are existing on your model
i've done that, and the camera is in that position, the problem is that pretty much all the positions have their view heavily obscured
like, i can control the camera and zoom and such, but i can't actually see all that much because the model's in the way
Hello
Way to get name of attributes changed?
Currenlty have
Object Specifics - Object <name of object>
Current config is just copied from Eden attributes example and there wasn't value to change name of attribute category name
Like ACE have,
Object: ACE Arsenal
If you mean the one from https://community.bistudio.com/wiki/Eden_Editor:_Configuring_Attributes
class MyCategory seems to have a displayName property, have you tried that?
That seems to have done it for me, assuming I didn't misunderstand what you meant. https://sqfbin.com/hiyorixagojaqetanugi
Yeah, sorry.
I'm doing to specific object. Not for all. Sorry i didn't mentaioned that.
and in wiki its declared
`Entity Specific
Some entities can also have attributes available only for them. This is most commonly used by systems - for example Air Strike module can have attribute for picking attack type and plane used, both of which would be unusable by other modules.
Entity specific attributes are configured directly in the entity class. For user, they are visible in single category which also shows entity name.
`
So it shown on specifics and object name. So i think i cannot change that
Oh I see, I am following what you mean now, My apologies
Judging by how the Menu is laid out I think what you can change about the name might be minimal at best.
I don't believe you can change it At all, they look predefined based on the Cfg they Belong to with the Class name of the Object being Appended to the end.
Yeah, seems so. Thanks for help anyway
Is it possible to lower vehicle armor through configs alone or is it tied to p3d?
explain what you mean by armor in this case
For example the y32 tanks 4-5 rockets depending on where it is hit.
theres couple of things to consider.
model/p3d contains the shape and material of hit geometries so what parts are what material (armor, glass, wood etc) and how thich those parts are and then where hitpoints/hit geometries are (usually beneath the armor)
This affects calculations if a shot penetrates armor to begin with
then in config you have the setup for different hitpoints and how much "armor" = health they have (and how much overall HP the vehicle has)
and the hitpoint configs can also alter what kind of damage resistance those different parts have
in addition there can be setup for different ammo types to be better/worse against the vehicles armor parts
so in short yes you can likely affect how easy something is to destroy but it may be a bit more complicated than just flipping couple of values
Also some weapons may be set up to be rather underpowered
and some mods can also affect weapon performance
Yes it is, apparently even for weapons made by BI.
I'm trying to scale invisible targets down to a smaller size. Is there any straightforward way of doing that in configs?
Also, is a target's model the only thing that controls whether ai fire anti-tank weapons at it?
yes
there is a point in the model that can be used to affect a bit what AI tries to look at
typically its in the middle of the model (which is why AI might not see a tank behind a low wall though its turret is over it)
How difficult is it to make a new invisible target model? Also, can they be made arbitrarily small and still allow ai to detect and engage them naturally? For example, can I have a "vehicle" target that's 1 inch in size?
The problem being that bullets collide with the invisible target vehicle models that exist in cba already
if I add the necessary memory points, can launchers support bipoding?
I shall try
once I get a rocket π
else I could just make it a primary and just the dual primary mod lol
Whats the basics of configuring a miscellaneous item? like something that could be picked up? I want to make an item that can fit a backpack but has no specific function or anything of that sort.
and on that note, was is the basics of configuring explosive charges?
So can you verify I'm understanding, the following code would produce a squad leader loadout that is the same as the rifleman's except for the uniform and backpack, and with slightly different items?
class rifleman
{ displayName = "Rifleman";
role = "Rifle";
icon = "\A3\Ui_f\data\GUI\Cfg\Ranks\sergeant_gs.paa";
uniformClass = "U_I_C_Soldier_Para_2_F";
backpack = "B_AssaultPack_blk";
weapons[] = {"arifle_MX_Black_F", "hgun_ACPC2_F", "Binocular", "Throw", "Put"};
magazines[] = {"9Rnd_45ACP_Mag","30Rnd_65x39_caseless_black_mag", "30Rnd_65x39_caseless_black_mag"};
items[] = { "ACE_elasticBandage", "ACE_CableTie", "ACE_DefusalKit"};
linkedItems[] = {"V_vest_new", "ItemMap", "ItemCompass", "ItemRadio", "ItemGPS", "ACE_NVG_Gen2_Black", "optic_mrco"};};
class team_lead: rifleman {
displayName = "Team Leader"; // Name of the respawn inventory
role = "TL"; // Role the respawn inventory is assigned to
icon = "\A3\ui_f\data\map\VehicleIcons\iconManLeader_ca.paa";
uniformClass = "U_BG_Guerrilla_6_1";
backpack = "B_RadioBag_01_black_F";
items[] = { "ACE_elasticBandage", "ACE_CableTie", "ACE_personalAidKit"};
};```
Could I have a base set of items and call it somehow like...
mags_base[] = {"mag1", "mag2", "mag3"};
mags_plus[] = (mags_base + ["mag4, mag5"]);```
And then assign those later with ```sqf
magazines[] = mags_plus```
You can do that with macros
#define MAGS_PLUS "mag1", "mag2", "mag3"
magazines[] = {MAGS_PLUS, "mag4", "mag5"};
As for this team lead would have every entry that rifleman does.
If you edit any of the properties then they change so in this case items , backpack & role would be different for example.
right
I want them to have nearly the same kit
especially when it comes to magazines
Is the syntax I have on it right?
this is just so if I decide to buff the number of base mags, for instance, I can just edit that Once
I'd use the macro thing i wrote out for that.
instead of once per loadout
ok cool
thank you
If I was going to move cfgrespawninventories to its own file, and then call it from description.ext, how should I do that
create a file named CfgRespawnInventories.hpp
inside Description.ext
#include "CfgRespawnInventories.hpp"
That's up to you
#define MAGS_PLUS "mag1", "mag2", "mag3"
#define MAG_ARRAY magazines[] = {"mag1", "mag2", "mag3"}
ok
It can be whatever you want it to be
thanks, you're a huge help
sorry to bother you but can you stack defines? like sqf #define I_BASE "map","compass","radio" #define I_RIFL I_BASE,"optic_aco" #DEFINE I_FTL I_BASE,"optic_hamr"
Pretty much
I'd use this to learn good practice on it, for example:
#define BASE_ITEMS "ItemMap", "ItemCompass", "ItemWatch", "ItemRadio"
#define SQL_ATTACHMENTS "optic_hamr", "acc_pointer_IR"
etc.
And typically only macro the common things you use everywhere
I'm almost sure it is at this point, but
#include "fw/CfgFunctions.hpp" #include "fw/CfgRoles.hpp" #include "fw/CfgRespawnInventories.hpp"
is viable, right?
if fw is a folder, yup.
Np
Does the macro title need to be in caps?
Preferred. But not mandatory
if I'm going array[] = { MACRO1 MACRO2 }
do I need a comma there, like MACRO1, MACRO2
Yes
Actually depends, you can have a comma in a macro so
But it is wise to put not in a macro and put one when you use them
for linkeditems[]
if the macro has ItemWatch
and I go
linkeditems[] = {ChemicalDetector + BASE_ITEMS} (detector occupies watch slot)
will the detector be slotted in instead
and the watch goes in the inventory
Unsure of the order, but + won't do anything
Try it
Whichever is added last will probably overwrite
Think that #define and its use is simple and dumb copy and paste-r, it does nothing more or less
Which I mean - even if the code/config has a macro, none of rules are changed
items[] += not just = but looks like you have a solution anyeay
How do I add RPG-7 ammo to backpack in existing unit config?
by defining a new backpack that contains RPG-7 ammo and redefining a backpack property of a unit. Or by adding an "Init" EH into config
I tried to define a new backpack like this:
class rhs_rpg_new : rhs_rpg_empty
{
scope = 1;
class TransportItems {
mag_xx(rhs_rpg7_PG7VL_mag, 2);
};
};
but the game wouldn't launch and I had an error
include whatever hpp defines mag_xx(...) macro 
don't really get it
class B_AssaultPack_rgr_Medic: B_AssaultPack_rgr
{
author = "Bohemia Interactive";
_generalMacro = "B_AssaultPack_rgr_Medic";
scope = 1;
class TransportItems
{
class _xx_Medikit
{
name = "Medikit";
count = 1;
};
class _xx_FirstAidKit
{
name = "FirstAidKit";
count = 10;
};
};
};```an example of properly formatted backpack config
what is macro?
https://community.bistudio.com/wiki/PreProcessor_Commands#.23define to read about defines
If I'm reading that right It doesn't know the macro
just define the class properly. Like vanilla game does 
class rhs_rpg_new : rhs_rpg_empty
{
scope = 1;
_generalMacro = rhs_rpg_new;
class TransportItems {
mag_xx(rhs_rpg7_PG7VL_mag, 2);
};
};
like this?
Something like so unless I am mistaken
class rhs_rpg_new : rhs_rpg_empty
{
scope = 1;
class TransportItems
{
class _xx_PG7VL
{
magazine = "rhs_rpg7_PG7VL_mag";
count = 2;
};
};
};
yes I know the tabs aren't lining up, discord broke it Fixed it
the mag_xx(Thing,Number) is a Macro which is why it's complaining
Since that Macro basically would just do the same thing, I use them myself, but you don't have it defined anywhere hence the complaining.
yeah now it works, thanks
Just double check because the name may need to be magazine, I just double checked my own configs
And also I'd like to know how do I attach scope to a gun in config
You have to effectively Duplicate the weapon

Here is an Example of me using a Tier 1 Weapon to put on my Custom Units
class Tier1_M249_light_S_Desert;
class FF_Desert_Autorifle1 : Tier1_M249_light_S_Desert {
scope = 2;
class LinkedItems {
class LinkedItemsOptic {
slot = "CowsSlot";
item = "Tier1_EXPS3_0_3xMag_Riser_Desert_Up";
};
class LinkedItemsAcc {
slot = "PointerSlot";
item = "Tier1_M249_LA5_M600V";
};
class LinkedItemsUnder {
slot = "UnderBarrelSlot";
item = "Tier1_SAW_Bipod_DD_Desert";
};
class LinkedItemsMuzzle {
slot = "MuzzleSlot";
item = "Tier1_SRD762_Black";
};
};
};
Edit: just added the Muzzle to the end for Example purposes
oh now I get it
strange, I defined scope = 1 but there is my new RPG bag
(upper one is rhs_rpg_new which is shouldn't be in arsenal)
use scopeArsenal
scopeArsenal may need to be set too
oh K
CfgMagazines, use Laptop_Unfolded as example.
For explosives you'll need magazine and ammo classes, and add to CfgWeapons Put.
Is there any easy way of finding CfgTurrets classes? Currently trying to make a faction mode but I'm unable to define the gunnerType of the Commander's seat in multiple vehicles due to not knowing the class name of that seat. It's cdlc as well so I'm unable to look any further than the config viewer but that doesn't seem to show the class names anywhere
in game config viewer (better with leopards advanced developer tools addon)
or there is command to write all loaded configs into a single file which can be quite handy to search through
I am trying to config custom factions, which I have not done before.
I want to make a new vehicle class, which is identical to the vanilla class it inherits from except for changing a couple of properties in subclasses.
I have units and weapons that inherit working fine. But when I try to do something inside a subclass, everything goes to hell. Even though I'm inheriting every step of the way, every property that I'm not explicitly defining is being skipped. My understanding of inheritance is that it's supposed to bring things forward automatically so that I don't have to explicitly define every single property when I only want to change one thing, but...
Instances where I am having problems with this:
Static HMG assembleInfo and animationSources > https://github.com/NikkoJT/DuctTapeFactions/blob/main/DuctTapeFactionsCW/genericCfgVehicles.cpp
APC turrets > https://github.com/NikkoJT/DuctTapeFactions/blob/main/DuctTapeFactionsCW/sweden/swedenCfgVehicles.cpp
Note that cfgPatches is taken care of in config.cpp and lists all relevant patches.
I have been going around in circles on this for some time and would now love to hear a clear explanation of what's going wrong.
Look at example 2 https://community.bistudio.com/wiki/Class_Inheritance#Example_two
I see it but I don't understand it.
It declares externalBaseClass and then never references it.
It references externalChildClass which is not declared. I've been through that in earlier iterations and trying to do that causes errors.
Ah. Yeah base should be child. Can also look at how this gets to MainTurret
https://github.com/acemod/ACE3/blob/master/addons/spottingscope/CfgVehicles.hpp
For example how to get to initPhase
class HMG_02_base_F; // want to use this
class B_HMG_02_F : HMG_02_base_F // using it
{
class animationSources; // want to use this
};
class njt_dtfcw_hmg_02_f_base : B_HMG_02_F
{
class animationSources: animationSources // using it
{
class hide_rail; // want to use this
class hide_shield; // want to use this
};
};
class njt_dtfcw_hmg_02_bare : njt_dtfcw_hmg_02_f_base
{
class animationSources : animationSources // using it
{
class hide_rail : hide_rail // using it
{
initPhase = 1;
};
class hide_shield : hide_shield // using it
{
initPhase = 1;
};
};
};
Okay, that's working now, thanks. I'm not sure I follow why it works but it's a start.
Now to try and untangle the APC turrets :|
I am getting the following error
Error compiling 'HitPelvis max HitAbdomen max HitDiaphragm max HitChest' in 'hitbody'
how can I find out what class its erroring on? none of the uniforms or vest change the depends field in hitpoints class
are you changing the order? it seems for depends the order of the classes matters
like if you have hitPelvis etc after hitbody you'd get that error
Yes,I just painfully looked through all uniforms n fixed the order π . Just to be clear if I just want to change say the pelvis armor do I still need to have the other classes there inheriting off base class?
On my phone right now so like
Class hithead:hithead {}
Class hitpelvis:hitpelvis {armor = 5;}
Part II:
I've resolved the inheritance problems (....apparently), but the thing I was actually trying to do with the APC turret configs does not seem to be working.
I am attempting to add the thermalResolution property. It is appearing in the final config, but not having any actual effect on the vehicle. Unfortunately, documentation on this property is pretty slim, so I'm kind of guessing about where is the right place to put it, and I have no idea why it would not be working.
https://github.com/NikkoJT/DuctTapeFactions/blob/main/DuctTapeFactionsCW/sweden/swedenCfgVehicles.cpp#L83
class B_APC_Wheeled_01_base_F: APC_Wheeled_01_base_F
{
author="$STR_A3_Bohemia_Interactive";
_generalMacro="B_APC_Wheeled_01_base_F";
side=1;
faction="BLU_F";
crew="B_crew_F";
typicalCargo[]=
{
"B_soldier_F"
};
};``` this seems to be the entirety of `B_APC_Wheeled_01_base_F` class. It doesn't contain its own "Turrets" subclass. So it can't be a parent class for anything
oof, sorry, wrong ping
^that was meant for you
Well, the turrets class is coming from APC_Wheeled_01_base_F (no B_), the level above.
And the turrets are working normally without errors.
in all of my testing using non-existing classes in the inheritance chain never ended up well
Yes, usually it causes a massive error that says "non-existent base class" and stops the game from launching. That's why I'm trying not to do it.
I did check against vanilla, and the turrets have all the inherited config properties they're supposed to have.
ADT gives this inheritance chain: https://pastebin.com/VnjYEDrq 
The game appears to be following up the rest of the chain on its own. I see RCWSOptics as the root parent of my vehicle's zoom levels even though I never explicitly declare it myself. And all the inherited properties are there. And, again, the turret works exactly like its vanilla counterpart.
then yeah, disregard me 
So I'm having some trouble retexturing a vehicle currently, I've got multiple vehicles done already however with the latest one it simply gives me an error saying it can't load the texture. I've attached the relevant parts of the config to see if there's anything obvious that can be pointed out
this is the error I get
bad path
Got a weird error
...circa Line 36 #define altered without an #undef
#ifndef TEX
#define TEX(A) JOIN2(PATH,ELEMENT##A##.paa)
#endif
//1: Vest
#ifndef TEX1
//#if __has_include(TEX(Vest))
#if __has_include("\41st_ODST_MFR_Declassified_Assets\41Core\Armor\Away\41Vest.paa")
#define TEX1 TEX(Vest)
#else
#define TEX1 "41st_ODST_MFR_Declassified_Assets\41Core\Armor\Away\41Vest.paa"
#endif
#else
#endif
TEX1 is previously defined earlier
Any help...?
π’
Does __has_include work with macros?
Is it possible to make the vehicle have to open something through model.cfg before firing?
Say, open doors for the missile to be fired
. Russian Army Tor-M2U( Tor-M1-2U), Tor-M2 and Tor-M2DT
. The Tor-M2K Armed Forces of Belarus
. Tor-M2KM module version tested on ship
Something like this?
Or would it need to be script based
`hmm
for some reason this one class in cfgRespawnInventory isn't understanding its base class
even though all the others are
you can have things open when weapon is selected
and ammo count can be used to hide/open missile tube covers for example
cant make delayed launch very easily though
So a full 4 other classes inherit from Rifleman's loadout
but ONLY this last one is complaining
perhpas typo/missing { } ; somewhere

π
Well, I thought that was it
but I keep going over the classes and I don't see any ; missing
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
except the bit where you're missing all of ; on the second-level classes 
and on the first-level one as well
yeah I'm just learning this lesson in scripting
in most langauages } is implicitly ;
I gotta go add those
All right
having done that
and carefully looked at basically every occurence of the character }
I still don't see what's wrong.
unless it is caching shit
ok, it's responsive to changes so it's not caching that file
It really must be just RIGHT in front of my face, huh
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
class alex , linkedItems is used instead of correct linkedItems[] 
error messages aren't always the most useful 
I'm still having trouble getting thermalResolution to work.
Pretty sure there are mods that use it so it must be fundamentally a functional property, but it's doing absolutely nothing for me, and I can't figure out where my implementation is wrong π€
The only semi-official documentation (written by Dedmen, who implemented it) is this https://community.bistudio.com/wiki/Config_Properties_Megalist#thermalResoluton.5B.5D_2.10, and...I think I've followed that properly, for the optics setup on the vehicle in question
no
no π
I don't understand why.
My guess is, the ifndef still processes the things inside it, but just ignores their output to skip over them, maybe that still finds the #define TEX1 and throws the error wronlgy, even though it ignores it (or.. should)
Forgive me if this question already has some authoritative reference somewhere but does anyone know the specifics behind the game engine's implementation of the CfgWeapon's dispersion parameter?
I'm interested in the mathematical/statistical implementation of it (i.e. what the parameter represents [e.g. a standard deviation, variance, CEF, maximum value to a uniform distriubution, etc]). I'm looking to be able to mathematically model (to some extent) game ballistics outside of the game.
I have already made a forum post here with more details here:
https://forums.bohemia.net/forums/topic/242234-game-engine-weapon-dispersion-math/
where a response suggested that I posted the question here and perhaps ping @grand zinc
As part of CfgWeapons there is a parameter governing the dispersion/muzzle spread of a weapon called dispersion which is described as In-game weapon dispersion in radians. There is however no mention of the actual mathematical or statistical properties of how said angular deviation is applied to ...
So essentially a uniform dist from [0, dispersion] representing an angle that's randomly added to the muzzle vector?
yes
The rng is probably called twice for X and Y axis
I can check on monday if you remind me then
Sure thanks. I made the post merely because I have already done some statistical tests and most were too noisy (probably due to game engine frame rate variability) to give me a definitive answer (and my own models were not accurately matching in-game behaviour)
I face a predicament, i have this (among other things) in the CfgVehicles for my unit
model = "\A3\Characters_F_Bootcamp\Common\VR_Soldier_F.p3d";
modelSides[] = {3, 2, 1, 0};
nakedUniform = "U_O_Soldier_VR";
hiddenSelections[] = {"Camo_arm_left","Camo_arm_right","Camo_body","Camo_head","Camo_leg_left","Camo_leg_right"};
hiddenSelectionsMaterials[] = {"\MST\data\transparent.rvmat","\MST\data\transparent.rvmat","\MST\data\transparent.rvmat","\MST\data\transparent.rvmat","\MST\data\transparent.rvmat","\MST\data\transparent.rvmat"};
hiddenSelectionsTextures[] = {"#(argb,8,8,3)color(0,0,0,0,ca)","#(argb,8,8,3)color(0,0,0,0,ca)","#(argb,8,8,3)color(0,0,0,0,ca)","#(argb,8,8,3)color(0,0,0,0,ca)","#(argb,8,8,3)color(0,0,0,0,ca)","#(argb,8,8,3)color(0,0,0,0,ca)"};
shadow = 0;
``` inherited from class `O_Soldier_F`
Which makes unit invisible, but unlike with `hideObject`, still allows AI to see it and fire upon it. And that works as advertised.
However, predicament begins if someone JIPs while unit has already been spawn.
hiddenSelectionsMaterials is not applied, and shadow is visible π (naked uniform is visible, to be specific)
Am i doing something wrong here, or is there another solution for such shenanigans?
Modified BIS object?
So it's not a custom object, you just set up turret in config?
Have you opened up vanilla p3ds?
This is a bannable offence.
What you are doing is strictly forbidden.
ok, then I restart with arma3 samples
You have been member of this discord for some years now, this should not come as a surprise
btw, is there any possible cause of the issue I talked, https://forums.bohemia.net/forums/topic/210813-sensor-display-heading-to-the-backward/ this one?
Of course I'm gonna delete the model I used in the 1st post and restart from scratch, but I think I may catch the same problem (inverted sensor) again.
Hi, Im updating my custom SAM (NASAMS) Launcher to the new sensor update from Jet DLC. Ive a working SAM Launcher, sensors are doing its job except for a litlle issue. Which is the Right Display Manager Component isnt heading to the real direction of the turret azimut (but its attached to, via an...
I'm not really inclined to offer any help at this time.
ok, no problem
π Goat, I have a question.
Is there any way to designate a proxy in a p3d for NATO ship turrets that snap on to the frigate prop object? I want to get a similar snap point as that frigate unto one of my custom props so that the turrets can just be snapped right on to it.
I'm making some sci-fi ships and I want them to be compatible with the nato turrets to snap on just like they to for the nato ship in vanilla arma

pls no ping on every question. I usually read the channel pretty often. that kind of proxy making is not possible though, you would have to look into how the vanilla ship configs make the connections
probably through memorypoints
Gotcha thanks chief
I got a question about p3d geo lod limitations
i've heard that you can't make a geometry lod larger than 50x50x50m. Is that because there is a box around the model space which cuts off 50m in all directions from the center....
OR
is that a limitation on an individual basis per geo lod component?
answered in #arma3_model . no crossposting
is there any way to get a smoke grenade to make its smoke come out quicker in either ammo/magazines config or is it tied to the particle effect?
tied to particle effect
if you can edit ammo config you can also make your own particle effects class.
i do not know how to and cannot figure it out from the config that easily
configFile >> "CfgAmmo" >> "SmokeShell"
effectsSmoke = "SmokeShellWhiteEffect";
=>
configFile >> "SmokeShellWhiteEffect" >> "SmokeShell"
type = "SmokeShellWhite";
=>
configFile >> "CfgCloudlets" >> "SmokeShellWhite"
size[] = {0.1,2,6};
smoke come out quicker
idk what do you mean by that.
So it's bigger faster?
like erm
more arcade-y similar to csgo
size[] = {6};
guh
the size array is basically an interpolation array.
oh right
So during the lifetime of the particle it goes from min to max value in the array.
so 2 is basically just weighting it to the lower end?
i.e making it spend more time nearer to min value
I guess.
so i could shift that to like 5 for example and still make it look like its growing just quicker
yes
this one is something between Splendid Smoke and vanilla, optimized for performance.
never used splendid smoke myself but i shall tinker around with size bits thanks
yeah, size[] = {0.1,5,6}; works surprisingly well tbh
thanks vet
yw
Whit destrType = "DestructWreck"; AI Pilot not die, if killed UAV was placed on the ground. Only with destrType = "DestructDefault" all AI pilots die.
https://youtu.be/Os1U4u3_WH0
is it possible to use preprocessor commands to do unit conversions in config? from what im reading on the wiki i dont think so but im also not the brightest of fellows
(i.e just a multiplication/division)
Perhaps __EVAL?
still have to write it all out at which point would be easier to just... put it in google
want to just be able to do kmh(123) and it'll convert 123kmh to ms
make ma macro?
expressions in strings are evaluated if engine needs a number.
So you can just put simple sqf in here.
oh thats amazing
Applies to getNumber too
so i can just erm
#define kmh(number) number*whateverthemultiplieris```?
Bear in mind a lot of the configs are cached so it is calculated only once, so don't get too crazy with that.
yes
All UI stuff works like this basically.
yeah it's just because im using wiki data for a lot of properties that i cant be bothered converting every time im already 30 seconds from burning out
oh nice
safeZoneX + 123 it gets autoquoted to "safeZoneX + 123", when engine needs the number it's evaled.
oh right so it's not done at the time the config is put into an addon or w/e?
that's true
i'll probably have to skip this then as it looks up very often and would rather save the small amount of performance π

a lot of configs are cached so it will evaluate it only once.
unless it's stuff like mission configs etc.
I recall Brett was thinking about making HEMTT calculate simple maths during preprocessing too.
i still use bi tools addon builder π
im a one man team so no github or anything so setting up hemtt is more trouble than it's worth for me
it's literally 5 mins
It's quite likely you lost more time due to packing some broken shit that addon builder allows for.
never had those issues with addon builder tbh
i dont have a p drive i build from folders in my documents
no model stuff either
Addon builder won't tell you if you pack something faulty. π
On this page written that players can control UAV simultaneously.
https://community.bistudio.com/wiki/UAVControl
[player1, "DRIVER", player2, "GUNNER"] - player1 is controlling the UAV and is the pilot, player2 is controlling UAV and is the gunner
Can anyone provide an example of a UAV configuration with such capabilities?
@grand zinc Hey, just wanted to get an update on this, last time you reckoned it was a uniform dist run twice in X/Y directions but that you'd verify by looking at the code on Monday.
gaussX = random + random + random + random
gaussY = random + random + random + random
gaussX *= (2/4);
gaussY *= (2/4);
dispersion = weaponModeDispersion*muzzleCoef
randomX = (gaussX-1) * dispersion
randomY = (gaussY-1) * dispersion
.. apply aiDispersionCoef
bullet direction = weapon.DirectionModelToWorld(vector3(randomX, randomY, 1))
What exactly does random correspond to here? The SQF random function?
ye same thing
So essentially 4 random variables from [0, 1] roughly uniform are drawn to form a pseudo-Gaussian (via central limit theorem) and then the dispersion acts as a 'standard deviation' to that?
Also is the config varable dispersion (in CfgWeapons) referring to weaponModeDispersion in your pseudocode above?

Yes
I did also find this parameter called artilleryDispersion, is that another multiplier stacked on top of dispersion?
Quick question, i've made a custom object for A3 and i want to have it use the surface texture that its above, i've been looking into surfaceTexture and setObjectTextureGlobal, but im unsure how to mash those together to use for a custom 3d model
im hoping to have it as an eventhandler or something, so when you move the object around it swaps to the correct texture in 3den and zeus, any help would be much appreciated
Do you mean layered texture or something?
like the global mobilization berms
that use the terrain texture under them, then swap to it
Ah
Clarify: Do you need to fetch a texture of the surface and apply to the object?
yep thats what im after, though the way i want to do it would be an automatic application of the script (?) to the object in 3den
so when you place it, it changes texture itself, no need to add it to init or anytrhing
Init or postInit EH
When in 3den add 3den object edited eh, when not add Zeus equivalent.
Who wants to fix one config for some money?
A. If you want to hire one, #creators_recruiting
B. Or you can simply ask what's wrong with your config here
i dunno whether this belongs in scripting or coding so please direct me if im wrong
im trying desperately to apply an eventhandler to my custom object in config, but i cant manage to get it to work, i've tried regular 3den stuff for it, i've tried cba ones which is this one, i just, really need help
{
class Extended_Init_EventHandlers {
class Land_TestTerrainObject {
class TestTerrainObjectEH {
edenObject addEventHandler ["Dragged3DEN", {
params ["_object"];
}];
};
};```
i can not for the life of me understand this, i know barely anything about code
You're mixing config with SQF
i see
im just, trying to get it to work in eden atm and cant find out how
if anyone has ideas ping me please, as im going to bed haha, spent too much time on thsi today
Inside your CfgVehicles, inside your object, you can define event handlers
class MUH_Object : inherited
{
//object cfg stuff
class EventHandlers
{
init = "<sqf script here>";
RegisteredToWorld3DEN = "<sqf script here>";
UnregisteredFromWorld3DEN = "<sqf script here>";
};
};
In all cases only parameter will be your object.
However carefulings must be taken as init will fire both, when created in eden AND when created in mission perhaps if (is3DEN) then.
RegisteredToWorld3DEN will fire if object is deleted from eden, then action is undone (it might also fire if its just created, im not sure)
UnregisteredFromWorld3DEN will fire when object is deleted from eden.
There are more object related ehs listed ere: https://community.bistudio.com/wiki/Arma_3:_Eden_Editor_Event_Handlers#Object_Event_Handlers
Object that changes texture depending on underneath surface:
class CfgVehicles {
class Box_NATO_Equip_F;
class vet_terrain_camo_box: Box_NATO_Equip_F {
displayName = "My textured box";
class EventHandlers {
postInit = "\
params ['_object'];\
if (!local _object) exitWith {};\
_object setObjectTextureGlobal ['camo', surfaceTexture getPos _object];\
";
dragged3DEN = "\
params ['_object'];\
_object setObjectTextureGlobal ['camo', surfaceTexture getPos _object];\
";
};
};
};
postInit is a valid eh?
You may have just solved unrelated issue of mine
BI switched to it in their initVehicle function calls.
Undocumented on event handlers wiki page ofc π¦
Pointed it out few times in #community_wiki 
I might it myself I guess, I'm just unsure what is the exact delay.
Wheels of documentation turn slowly.
If i were to guess it follows initialization order. And fires before or after postInit functions. But i can test that later.
It's unreleated to postInit functions.
I have a sneaky suspicion.
Well yeah, i mean only if its spawned at mission start.
But i can test delay between init eh and post.
Is there also pre?
no, object can't be preInitialized xD
Who knows π
Awesome, thanks!
hey - this is a bit of a #arma3_config and #arma3_model question, but what's required to make a physics object be sling-loadable?
I've done a bit of digging around, and I've found out I need memory points (one per rope), aswell as a matching config entry (slingLoadCargoMemoryPoints). However, I'm unable to get my barrel (a custom PhysX-object, 100kg mass, derived from Land_MetalBarrel_F) to register as slingable to a Ghost Hawk. Did I miss anything?
so i am in a korean war unit and usually run the BAR, the problem is that the one in one of the dlcs wont take the mags for one of the mods and vice versa, i would do this myself but i am horrible at code. you should be able to reuse the models and textures and the animations, even if they don't line up just right i don't care
If you redefine CfgMagazineWells for bar and include mags from mod, they will become compatibile
Hero, thank you!
Anyone know if its possible to modify the fall animations (at a mod config level) to make them have more air control while falling? I figured this might be the spot to ask.
At config level not really. Would require new animations be made too
Oof.
I discovered it was possible to increase the movement speeds of parachutes and their fall velocities and stuff, was hoping perhaps the halo animations and the fall animations had something similar.
how i make a pbo of this
class CfgPatches
{
class DisablePeripheralVision
{
units[] = {};
weapons[] = {};
requiredVersion = 1.0;
requiredAddons[] = {"CAData","CAUI","LIB_core"};
};
};
class CfgInGameUI
{
class PeripheralVision
{
bloodColor[] = {0,0,0,0};
cueColor[] = {0,0,0,0};
cueEnemyColor[] = {0,0,0,0};
cueFriendlyColor[] = {0,0,0,0};
};
};
which name must i use it this name? DisablePeripheralVision
so im trying to make a tank using the example tank as a base but i keep getting an error each time i do?
its telling me ive got a duplicate but upon searching my file its coming up with 1 result.
confused as hell as to whats going on here. any help would be greatly appreciated cheers.
heres the error it keeps giving me
Show where you include CfgVehicles
at the start of the file
that class was already laid out in the example
so im confused as to why its saying theres a duplicate
Show me where you include it
how i make a pbo of this
class CfgPatches
{
class DisablePeripheralVision
{
units[] = {};
weapons[] = {};
requiredVersion = 1.0;
requiredAddons[] = {"CAData","CAUI","LIB_core"};
};
};
class CfgInGameUI
{
class PeripheralVision
{
bloodColor[] = {0,0,0,0};
cueColor[] = {0,0,0,0};
cueEnemyColor[] = {0,0,0,0};
cueFriendlyColor[] = {0,0,0,0};
};
};
which name must i use it this name? DisablePeripheralVision
not following what you mean, its in the file it should be included right. i probably sound dumb af rn saying that
Please show me where you #include your CfgVehicles.hpp
(which is very likely in config.cpp)
Ohhhhhhhh
is this what you meant?
apologies im running on like 3hrs of sleep
Maybe one of your other included files also has a CfgVehicles in them
search through them too
how i make a pbo of this
class CfgPatches
{
class DisablePeripheralVision
{
units[] = {};
weapons[] = {};
requiredVersion = 1.0;
requiredAddons[] = {"CAData","CAUI","LIB_core"};
};
};
class CfgInGameUI
{
class PeripheralVision
{
bloodColor[] = {0,0,0,0};
cueColor[] = {0,0,0,0};
cueEnemyColor[] = {0,0,0,0};
cueFriendlyColor[] = {0,0,0,0};
};
};
which name must i use it this name? DisablePeripheralVision
you can use any class name in CfgPatches, as long as it doesn't match any other CfgPatches. And you can use any filename for PBO 
How can I add glass sound effect and glass impact to one of my props?
class CfgPatches {
class tfsi_csat_tni_vehicles {
author = "Heisenbruh";
requiredVersion = 0.1;
requiredAddons[]= {
"A3_Characters_F_BLUFOR"
};
units[] = {};
weapons[] = {};
};
};
class CfgVehicles
{
class O_MRAP_02_F;
class tfsi_csat_tni_mrap : O_MRAP_02_F // Define of a new class, which parameters are inherited from B_Soldier_base_F, with exception of those defined below.
{
author = "Heisenbruh";
displayName = "Ifrit";
hiddenSelectionsTextures[] = {"\tfsi_csat_tni_vehicles\Data\MRAPtni_02_ext_01_ghex_CO.paa","\tfsi_csat_tni_vehicles\Data\MRAPtni_02_ext_02_ghex_CO.paa"};
};
};```
Why does this retexture config for the ifrit not work? Only the vanilla texture show up
try to add a third texture to hiddenSelectionsTextures[] 
- Wrong requiredAddons[] in your CfgPatches. Use "A3_Data_F_AoW_Loadorder" instead.
- The Ifrit technically has three selections (camo1, camo2, camo3) so your hiddenSelectionsTextures array needs to have the third for the RCWS turret included (i.e. \A3\Data_F\Vehicles\turret_opfor_co.paa). But if you only intend on using the unarmed Ifrit, you can get away with only two textures defined.
- You need to add your own custom texture to the vehicle's textureList[]. By default, O_MRAP_02_F uses the default "Hex" texture so it automatically overrides your custom textures.
Try adding this to your class:
class tfsi_csat_tni_mrap : O_MRAP_02_F
{
class TextureSources
{
class tfsi_csat_tni
{
displayName = "Green Hex [TFSI]";
author = "Heisenbruh";
textures[] =
{
"\tfsi_csat_tni_vehicles\Data\MRAPtni_02_ext_01_ghex_CO.paa",
"\tfsi_csat_tni_vehicles\Data\MRAPtni_02_ext_02_ghex_CO.paa",
"\A3\Data_F_Exp\Vehicles\Turret_ghex_CO.paa"
};
factions[] =
{
"OPF_F"
};
};
};
textureList[] =
{
"tfsi_csat_tni",
1
};
};
Note that factions doesn't have to be OPF_F (the vanilla CSAT faction). You can include as many factions in that array as you want.
or probably just textureList[] = {}; π
at first glance https://community.bistudio.com/wiki/Arma_3:_Vehicle_Customization#Implementation kinda looks like a mess 
and bis_fnc_initVehicle looks even messier 
is there a way to do BIS_fnc_unitHeadgear but with uniforms?
hey, if I want to modify the BWA3_Puma_Fleck's crew, how do I do that? I'm trying to figure out where the crew is defined, I checked both CargoTurrets and Turrets and the gunner is set there but not the commander
what defines how accurate a weapon is over distance? I made a custom gun and over 800m if you zero in at 1400 with lrps it hits at 1700m
If it's not specified per-seat, I would expect it to use the crew class set in the crew property in the vehicle's main config
oh ok! interesting
sorry for the lateness, this seems to have worked. Does this no.3 apply to all vehicles?
Only if the vehicle has more than one texture variant.
Can you create classes with macros?
Okay I thought so, wasn't sure if they weren't able to or if I just writing something incorrectly.
This is the macro I was making that's intended to set up ground holders for different helmet classes, so that I don't have to manually type each and every one of them.
#define HELMET_HOLDER(CLASS_NAME, DISPLAY_NAME, HELM_NAME) \
class CLASS_NAME: BNA_KC_HelmetHolder_P2_CR \
{ \
displayName = DISPLAY_NAME; \
class TransportItems \
{ \
class HELM_NAME \
{ \
name = HELM_NAME; \
count = 1; \
}; \
}; \
};
And is being used with:
HELMET_HOLDER("BNA_KC_HelmetHolder_P2_CR_Legacy", "[KC] INF P2 Helm 00 (Recruit, Legacy)", "BNA_KC_Helmet_Phase2_CR_Legacy")
HELMET_HOLDER("BNA_KC_HelmetHolder_P2_CT", "[KC] INF P2 Helm 01 (Trooper)", "BNA_KC_Helmet_Phase2_CT")
It seems as though I've done something wrong though, since this results in the error shown below.
The error says that it was expecting "" and instead got an opening brace ({), but I'm not sure why
defines don't may not care about , being inside the ". Because macros don't care about " at all 
HELMET_HOLDER("BNA_KC_HelmetHolder_P2_CR_Legacy", "[KC] INF P2 Helm 00 (Recruit, Legacy)", "BNA_KC_Helmet_Phase2_CR_Legacy") => arg1="BNA_KC_HelmetHolder_P2_CR_Legacy", arg2="[KC] INF P2 Helm 00 (Recruit, arg3= Legacy)", arg4="BNA_KC_Helmet_Phase2_CR_Legacy"
and class "BNA_KC_HelmetHolder_P2_CR_Legacy":... looks non-conventional at the very least
I figured it would have thrown an error if they weren't placed in quotes
Although thinking about it now it would be very strange for it to do so, since ints exist
class tfsi_csat_tni_orca : O_Heli_Light_02_dynamicLoadout_F
{
class TextureSources
{
class tfsi_csat_tni
{
displayName = "DPM";
author = "Heisenbruh";
textures[] =
{
"\tfsi_csat_tni_vehicles\Data\Helitni_Light_02_ext_OPFOR_CO.paa",
};
};
};
textureList[] =
{
"tfsi_csat_tni",
1
};
};
};```
Can someone tell me why my orca retexture does not work here?
You have an extra comma at the end of the textures[] array:
textures[] =
{
"\tfsi_csat_tni_vehicles\Data\Helitni_Light_02_ext_OPFOR_CO.paa", <---
};
Having another issue with this macro here.
I wanted to add another argument to allow me to specify a subcategory that the new helmet where belong to, so I added the following line:
editorSubcategory = "BNA_KC_Objects_Helmets_#SUBCAT"; \
The wiki (https://community.bistudio.com/wiki/PreProcessor_Commands#Replacing_parts_of_words) says that only one pound sign is needed to convert the argument to a string, so I went with that. Even though it also says that:
If only a part of the word should be replaced, use the ## instruction. This is necessary when either the start or the end of the argument connects to another character that is not a
;(semi-colon) or(space).
I also then changed the "call" to it by adding P2 to it:
HELMET_HOLDER(BNA_KC_HelmetHolder_P2_CR_Legacy, [KC] INF P2 Helm 00 (Recruit, Legacy), BNA_KC_Helmet_Phase2_CR_Legacy, P2)
However when viewing it in-game, the helmet appears in an undefined category, and the "build" code looks like:
class BNA_KC_HelmetHolder_P2_CR_Legacy: BNA_KC_HelmetHolder_P2_CR
{
displayName="[KC] INF P2 Helm 00 (Recruit Legacy)";
editorSubcategory="BNA_KC_Objects_Helmets_#SUBCAT";
class TransportItems
{
class BNA_KC_Helmet_Phase2_CR_Legacy
{
name="BNA_KC_Helmet_Phase2_CR_Legacy";
count=1;
};
};
};
I tried using ##SUBCAT## and ##SUBCAT as well, and neither of those seemed to work either.
use quote macro
you also can't use commas inside your macro arguments.
you have one in displayName
#define QUOTE(VAR) #VAR
#define CONCAT(A,B) A##B
#define HELMET_HOLDER(CLASS_NAME,DISPLAY_NAME,HELM_NAME,SUBCAT) \
class CLASS_NAME: BNA_KC_HelmetHolder_P2_CR \
{ \
displayName = #DISPLAY_NAME; \
editorSubcategory = QUOTE(CONCAT(BNA_KC_Objects_Helmets_,SUBCAT)); \
class TransportItems \
{ \
class HELM_NAME \
{ \
name = #HELM_NAME; \
count = 1; \
}; \
}; \
}
#define COMMA ,
HELMET_HOLDER(BNA_KC_HelmetHolder_P2_CR_Legacy,[KC] INF P2 Helm 00 (CONCAT(Recruit,COMMA) Legacy),BNA_KC_Helmet_Phase2_CR_Legacy,P2);
this should work.
Bit ugly tho. Use stringtable for your displayNames so it won't need to be so ugly.
Ngl that looks horrid lmao
I fiddled around with it a bit more and finally got to a point where it was doing editorSubcategory = "BNA_KC_Objects_Helmets_ P2";, for example. I found out the extra space was just coming from how I called it
How would one make a turret appear on the radar?
I deleted it and unfortunately it still does not work. π π
i tried using the hiddentextureselection code instead but it still does not work
*hittenSelectionsTextures
i dont understand. i thought its hiddenSelectionsTextures (literally just copied this from the a3 codes)
i tried using the hiddentextureselection code instead but it still does not work
You've said so
hittenSelectionsTextures achieves the same thing i presume?
Let me rephrase: I've thought you've use hiddentextureselection so I tried to correct it
Also you can post your current config so we can review
class tfsi_csat_tni_orca : O_Heli_Light_02_dynamicLoadout_F
{
class TextureSources
{
class tfsi_csat_tni
{
displayName = "DPM";
author = "Heisenbruh";
textures[] =
{
"\tfsi_csat_tni_vehicles\Data\Helitni_Light_02_ext_OPFOR_CO.paa"
};
};
};
textureList[] =
{
"tfsi_csat_tni",
1
};
};
};```
Where is your hiddenSelectionsTextures?
drebin told me to use this, and it seems to work for the other vehicles, but not the orca
this is the current config, i changed the config earlier with the hiddenselectionstexture which did not work, hence why i reverted back to the current one
Okay, two things:
- How you've put
hiddenSelectionsTextures? Post config please - What exactly is your issue? It doesn't work but how? What exactly you expect?
i will switch the config real quick
i am expecting a retexture of the orca, but when i spawn it it only uses the vanilla texture
How do you spawn?
in the editor
ok this one doesnt even work, it doesnt even show up in the editor
hold up
wrong display name\
Can you select the texture via the Context Menu > Edit Vehicle Appearance?
ok it works now, there mustve been an issue with my earlier code of hiddentextureselections then, im not very sure.
but thanks for the help
Does anyone know if there is a passive radar / RWR equivalent to pointsCar / pointsTank / etc. for making a custom aircraft HUD?
any idea why an ai anti air wouldnt fire at a heli variant of an aircraft? and planes seem to not fire their aa missiles at it either
Try lowering it's armor value
any idea why a custom unit might be spawning with the model of its uniform correct, but with the arsenal claiming the uniform slot is actually empty?
Maybe you should test add
scope = 2; // 2 = class is available in the editor; 1 = class is unavailable in the editor, but can be accessed via a macro; 0 = class is unavailable (and used for inheritance only).
scopeCurator = 2; // 2 = class is available in Zeus; 0 = class is unavailable in Zeus.
scopeArsenal = 2; // 2 = class is available in the Virtual Arsenal; 0 = class is unavailable in the Virtual Arsenal.
to which class?
I can load the uniform okay fwiw when I select it, like it does work properly, and if I select and then de-select it the character displays the base underwear model correctly
How are tracers defined?
Some magazines have certain tracers; how do I define what tracer ammo gets used?
here's how vanilla does it: hpp class B_556x45_Ball_Tracer_Red: B_556x45_Ball { model="\A3\Weapons_f\Data\bullettracer\tracer_red"; nvgOnly=0; }; 
sorry, that's in CfgAmmo
here's CfgMagazines: hpp class 30Rnd_556x45_Stanag_green : 30Rnd_556x45_Stanag { ... ammo = "B_556x45_Ball_Tracer_Green"; };
But how does that work when its 1 in 5 thats a tracer?
class 30Rnd_45ACP_Mag_SMG_01 : 30Rnd_9x21_Mag
{
tracersEvery = 0; // don't draw any tracers
lastRoundsTracer = 4; // except on last 4 shots of the magazines
ammo = "B_45ACP_Ball";
initSpeed = 280;
};
class 30Rnd_45ACP_Mag_SMG_01_Tracer_Green : 30Rnd_45ACP_Mag_SMG_01
{
tracersEvery = 1; // draw the tracers every shot
lastRoundsTracer = 30; // and on all the shots, just to be sure
ammo = "B_45ACP_Ball_Green";
};```<https://community.bistudio.com/wiki/CfgMagazines_Config_Reference#tracersEvery.3D4> for doc
yeah tracers are just them hiding the bullet model every x number of shots etc
When creating a UGL variant of a gun im assuming you need to define the location of the UGL muzzle somewhere, I dont have the skills to do so. is there anyway to have them fire out of the same muzzle?
muzzles[]=
{
"this",
"MG_UGL"
};```
Cause atm this just make the GL shoot sideways
set
muzzlePos = "Usti hlavne";
muzzleEnd = "Konec hlavne";
in MG_UGL
I'll try that, thank you
If you want to do a tracer mix of 1/5 you just set the magazine to tracersEvery = 5; (as in the BIKI article linked by artemoz) and leave out or set lastRoundsTracer to zero.
Unfortunately, Arma 3 doesn't allow you to customise the magazine with more than one ammo type unless you do some silly stuff with submunitions. Only Reforger allows you to adjust the ammo type of each round individually and let you make a magazine that has (for example) mix of ball/tracer/AP/subsonic, etc.
can anybody help why this results in an empty group? the faction is available on the dropdown, but there is no name for the sentry group nor does it spawn anything
class CfgGroups
{
class East
{
class csat_tni_inf
{
name="CSAT (Indonesia)";
class Infantry
{
name = "Infantry";
class O_T_InfSentry;
class csat_tni_InfSentry : O_T_InfSentry
{
faction="csat_tni";
class Unit0
{
vehicle="tfsi_csat_tni_GL";
};
class Unit1
{
vehicle="tfsi_csat_tni_fatigues";
};
};
};
};
};
};```
You're missing positions, rank and side from Unit0 and Unit1
Why cant the inheritance class do it automatically?
In theory you could always use a fired eh to switch the loaded magazines and so on but config side yes it's not possible
Because you're not inheriting anything to them.
I put O_T_InfSentry as the inheritance
and the units are different classes
Oh, no way to do it automatically then?
All i want is csat groups with my reskinned units
class Unit0 {
vehicle = "tfsi_csat_tni_GL";
side = 0;
rank = "CORPORAL";
position[] = {0, 0, 0};
};
class Unit1: Unit0 {
vehicle = "tfsi_csat_tni_fatigues";
rank = "PRIVATE";
position[] = {5, -5, 0};
};
Unless you're changing the original groups, this is how you do it.
Ah, means i have to do it manually for all of them, what a bummer. Thanks
Forgot to reply last night but yes that worked, thank you very much
Let's say I wanted an AI fixed wing to fire a number of A2A missiles in a short burst, what cfg values should I look at? (Making an A2A rocketpod)
howdy people so what are the required things that i need to make a "NEW WEAPON" for a tank.
in particular the bits im looking for are:
I want to make an explosion but the explosion effect to be green
Id like to change the sound effect of the weapon firing and the "Shell" impact
im assuming itll use the base weapon code for alot of it which looks like this: (see attached)
but i dont know how to do the bits im looking for. any help would be greatly appreciated.
Where are the picture suppose to go???
//CFGWeapons
class TU_1 : U_simc_SF_TS
{
displayname ="[NOVA] Tiger Stripe";
picture="NovaUniforms\data\arvn_ts_ca.paa";
uipicture="NovaUniforms\data\arvn_ts_ca.paa";
class XtdGearInfo
{
displayname ="[NOVA] Tiger Stripe";
model="NOVATIGER";
top="jacket";
sleeves="full";
camo="one";
pants="regular";
};
class ItemInfo: ItemInfo
{
uniformClass = "TUni1";
};
};
//CFGVehicles
class TUni1: simc_SF_TS
{
picture="NovaUniforms\data\arvn_ts_ca.paa";
uipicture="NovaUniforms\data\arvn_ts_ca.paa";
scope=1;
displayname ="[NOVA] Tiger Stripe";
uniformClass="TU_1";
modelSides[]= { 0, 1, 2, 3, 4, 5, 6, 7 };
hiddenSelections[]=
{
"camo",
"camo2",
"rank",
"insignia",
"nom"
};
hiddenSelectionsTextures[]=
{
"\simc_uaf_68\data\SF_TS_1_co.paa",
"\simc_uaf_68\data\SF_TS_1_co.paa",
"",
""
};
};
So immediately everything is clear, there is no image in the final path that you specified. Try changing the path, check that you are going from the addon folder
.paa.paa is your issue.
Nothing in my config has .paa.paa is the issue though
I tripled checked i didnβt have a bad name
I thought it would be pathing but it is pulling it for ace Arsenal and everything except player inventory
Had similar issue recently. IIRC was because lack of \ as the first character in the path
That is odd, thank you though, fixed
Hey. Is there a way to decrease the turning speed of a turret (e.g. tank)
there are config parameters for that yeah
Of a turret:
maxHorizontalRotSpeed =
maxVerticalRotSpeed =
thanks
class O_T_Soldier_lite_F;
class tfsi_csat_tni_lite : O_T_Soldier_lite_F
{
author = "Heisenbruh";
faction = csat_tni;
uniformClass = "U_tfsi_csat_tni_fatigues";
linkedItems[] = {tfsi_csat_tni_bandollier, CSAT_TNI_PatrolCap, ItemMap, ItemCompass, ItemWatch, ItemRadio, NVGoggles_OPFOR}; // Which items the character has.
respawnLinkedItems[] = {tfsi_csat_tni_bandollier, CSAT_TNI_PatrolCap, ItemMap, ItemCompass, ItemWatch, ItemRadio, NVGoggles_OPFOR}; // Which items the character respawns with.
};```
im having this issue, can anyone help please?
O_T_Soldier_lite_F this is non existing class
@lethal shuttle
cant inherit from it or create empty class like it
gotcha thanks
i have an issuie im trying to fix, we use the turret direction of the helicopter gunner for some scripts in the pilot seat but from time to time in mp, what the pilot client sees in terms of turret direction and the gunner sees are 2 different things
i cant accurately recreate the issuie to troubleshoot it, wondering if anyone else has experience
Is there a way to config a uniform as civilian? For example, the uniform would be recognized as civilian in scenarios such as Old Man, Antistasi, and Vindicta.
One thing to note: watch out for missing classes from expansions/DLCs.
BI did not consistently create all soldier classes for vanilla DLC factions so many units will be missing from their rosters (and vice versa with non-DLC factions). In this case, you're better off inheriting from the basic Pacific CSAT Rifleman class since the Pacific CSAT faction doesn't have a Rifleman (Light) soldier class.
oh yeah i got all the inheritance as tanoa except the light class and survivor
So word on the street is at some point gun particles work with gunpods/pylon weapons now? Is there any documentation? I can't find anything about it, and does it only work in MP? SP doesn't show at all
I am looking to make a config that will change an existing class, like so:
class CfgVehicles
{
class Car_F;
class ivory_m3_base: Car_F
{
class complexGearbox
{
transmissionDelay = 1;
TransmissionRatios[] = {"High", 3.5};
};
};
};
But I know that this will override complexGearbox instead of simply modifying it. How do I properly inherit the complexGearbox?
From here: https://community.bistudio.com/wiki/Class_Inheritance#External_Base_Child_Classes
Find out what Car_F inherits from
class externalRootClass;
class not_Car_F : externalRootClass
{
class complexGearbox;
};
class ivory_m3_base : not_Car_F
{
class complexGearbox : complexGearbox
{
// ... add or make changes
};
};
no, Car_F does not have complexGearbox class
assuming the ivory_m3_base actually inherits from Car_F the originally posted config is correct.
this will define empty (class complexGearbox {};) in Car_F
Ah, oops. So either
- inherit
Car_Fand define completecomplexGearbox, or - inherit from a class that actually has
complexGearboxand make changes
right?
why, no?
assuming the ivory_m3_base already has complexGearbox and you just want to tweak few values, the originally posted config is fine.
It'll patch transmissionDelay and TransmissionRatios properties.
Needs correct requiredAddons[] otherwise the originall addon can load after yours and undo your changes.
going by the name ivory_m3_base I assume it's an addon that patches somebody elses addon.
Can confirm that the original one I posted works as it should and doesn't update base classes
nothing to update if original class has no parent
Ah. thanks, I was confused. Sorry about that!
people often assume class Name {}; deletes the original class content.
It does not.
It patches the original class with no changes effectively doing nothing.
(assuming the class Name does not have a parent ofc.)
requiredAddons*
yes, brain not worky
so im adding 3 turrets onto the test_tank i can get the first turret to work but when i add turret 2 & 3 it stops working and breaks the main gun as well.
heres what my skeleton looks like in model.cfg
class Test_Tank_01_base: Tank_F {
skeletonInherit = "Tank_F";
skeletonBones[]= {
"zasleh2","otocHlaven","FRTURRET","","FRGUN","FRTURRET"
"BRTURRET", "",
"BRGUN", "BRTURRET"
"BLTURRET", "","BLGUN", "BLTURRET"
};
};
(FRTURRET = Front Right Turret, FRGUN = Front Right Gun, BRTURRET = Back Right Turret, BRGUN = Back Right Gun, BLTURRET = Back Left Turret, BLGUN = BackLeftGun)
heres what the code looks like in the config
class FRturret: NewTurret
{
gunnerName = "Front Right Gunner";
gunBeg = "FRMuz";
gunEnd = "FRCham";
body = "FRTURRET";
gun = "FRGUN";
gunnerOpticsModel = "\A3\Weapons_F\Reticle\Optics_Gunner_MTB_02_w_F.p3d";
gunnerOpticsEffect[] = {};
animationSourceBody = "FRTURRET";
animationSourceGun = "FRGUN";
memoryPointGun = "FRmuz";
memoryPointGunnerOptics = "FRSight";
class Turrets{};
weapons[]={LMG_M200};
magazines[]={2000Rnd_65x39_belt};
startEngine = 0;
stabilizedInAxes = 3;
minElev = -80;
maxElev = +80;
initElev = +10;
minTurn = -50;
maxTurn = +50;
initTurn = 0;
forceHideGunner = 1;
primaryGunner = 0;
};
};
list these in pairs
makes it far easier to understand
like they are in the sample
im not sure that i follow
bones are declared in pairs
"bone", "bone_parent",
OHHHHHHH
if its bone,"", it means its parented to the root of the model
"bone1","",
"bone2","bone1"
bone2 follows bone1 movement
and can then have additionally its own movememnt
like turret and gun
so this is correct?
"FRTURRET",""
"FRGUN","FRTURRET"
yes
wasnt sure if it followed the same sentence structure as say the classes in the cfg
so i re did my bones in the model cfg
my classes in my cfgVehicles.hpp all mirror the one that actually works but its the same thing.
I can have 2 turrets working fine but the minute i try to add more it breaks everything.
confused as to why
maybe they in wrong place
are all turrets separate or are they turrets on top of other turrets
4 seperate turrets on 4 corners
and how does "breaks everything" express itself
no turret movement up or down on all 4 turrets
fires fine
but static
thats whats confusing me about it is im repeating the process that i did for the 2nd turret to the remaining 2 turrets and somehow it breaks?
are you accidentally nesting the turrets inside other turret classes in the config?
wait one ill share my turret config
was trying to share it as code but discord said NO
so attachment it is
So Iβm not sure if this is the right place to ask, but Iβm wanting to create my own set of mods for gear and uniforms that function similar to how USP gears setup is where I can choose the length of sleeves, Kit specifics like how many mags or if they want a belt etc from just a single click. Is it a script on how itβs done or is it the way the mods are compiled?
they have built their own system for that, its not a native thing
so yes relies on scripting
Hello.
How to work with missile profiles correctly?
https://community.bistudio.com/wiki/Arma_3:_Missile_flight_profiles
I want to make a rocket for an airplane that will enter at an angle of about 90 degrees into the roof of the vehicles.
TopDown
+
ascendAngle = 90.0;
?
No that's the angle at which the missile will go up after launch to get to it's desired height. According to the wiki link you posted 45 degree down is the best you will get. Maybe you could fake it with a submunition
picture = "\tfsi_csat_tni_clothing\gui\logo1.paa";
logoSmall = "\tfsi_csat_tni_clothing\gui\logo1.paa";
logo = "\tfsi_csat_tni_clothing\gui\logo1.paa";
logoOver = "\tfsi_csat_tni_clothing\gui\logo1_hover.paa";
action = "https://community.bistudio.com/wiki/Mod_Presentation";
Why does the .paa not show in game in the mod.cpp?
The directory is correct
should the following preprocessor work? doesn't seem to be but wondering if ive done it wrong; wiki is unclear whether string eval or anything should work 
class CfgWeapons {
#define CURRENTCLASS CfgWeapons
#if CURRENTCLASS == CfgWeapons
//this is considered success
#else
//this is success if in cfgvehicles etc
#endif
};```
realised i can just do #define CURRENTCLASSCFGWEAPONS 1 and #undefine CURRENTCLASSCFGWEAPONS instead for the same effect for my uses
Anyone know how to modify the speed of a parachute, or the desecent rate?
Been looking around, and haven't found much
the wiki page for #if should say it only works with numbers
iirc only examples provided were numbers but wasn't explicitly said
ah yeah its said but a bit wishy washy
any specific reason why you can't macro filepaths for #include btw?
yes no maybe
is there any point making a request or not interested?
preprocessor is hell
never seen any preprocessor support macros as include path
Is there a easy way to inherit two classes into one class? Like I want to create a new config in CfgVehicles which I also want to inherit from two already existing classes. As multiple inheritance isn't possible, doing this:
class CfgVehicles {
class alreadyExistingClassOne;
class alreadyExistingClassTwo;
class myNewClass: alreadyExistingClassOne {
// do some things
};
class myNewClass: alreadyExistingClassTwo {
// do some things
};
};
will result in duplicated definied class. So, what would be the easiest possible way?
No way
fair enough then
how do i add factions to zeus? i just realized my characters are only available in the editor
Make sure:
scopeCurator = 2;- CfgPatches have their names in
units[]
i have the units inherited from vanilla classes. why do i still need to do scopecurator? (its a lot)
this is my cfgpathces
class CfgPatches {
class tfsi_csat_tni_clothing {
author = "Heisenbruh";
requiredVersion = 0.1;
requiredAddons[]= {
"A3_Characters_F_BLUFOR"
};
units[] = {};
weapons[] = {};
};
};```
this is why everybody should macro everything
you should have units[] = {"myfirstunit","mysecondunit"}; and so on (but format it properly im on mobile)
still doesnt work
class CfgPatches {
class tfsi_csat_tni_clothing {
author = "Heisenbruh";
requiredVersion = 0.1;
requiredAddons[]= {
"A3_Characters_F_BLUFOR"
};
units[] = {"tfsi_csat_tni_fatigues", "tfsi_csat_tni_officer"};
weapons[] = {};
};
};```
class CfgVehicles // Character classes are defined under cfgVehicles.
{
class O_T_Soldier_F;
class tfsi_csat_tni_fatigues : O_T_Soldier_F // Define of a new class, which parameters are inherited from B_Soldier_base_F, with exception of those defined below.
{
author = "Heisenbruh"; // The name of the author of the asset, which is displayed in the editor.
faction = csat_tni;
scopeCurator = 2; // 2 = class is available in Zeus; 0 = class is unavailable in Zeus.
displayName = "Rifleman"; // The name of the soldier, which is displayed in the editor.
uniformClass = "U_tfsi_csat_tni_fatigues"; // This links this soldier to a particular uniform. For the details, see below.
hiddenSelectionsTextures[] = {"\tfsi_csat_tni_clothing\Data\clothing_tni_CO.paa","\tfsi_csat_tni_headgear\Data\tech_tni_CO.paa"};
linkedItems[] = {tfsi_csat_tni_harness, CSAT_TNI_Modular, ItemMap, ItemCompass, ItemWatch, ItemRadio, NVGoggles_OPFOR}; // Which items the character has.
respawnLinkedItems[] = {tfsi_csat_tni_harness, CSAT_TNI_Modular, ItemMap, ItemCompass, ItemWatch, ItemRadio, NVGoggles_OPFOR}; // Which items the character respawns with.
};```
yea the problem is its not visible in zeus
class CfgPatches {
class tfsi_csat_tni_clothing {
author = "Heisenbruh";
requiredVersion = 0.1;
requiredAddons[]= {
"A3_Characters_F_BLUFOR"
};
units[] = {"tfsi_csat_tni_fatigues", "tfsi_csat_tni_officer"};
weapons[] = {};
};
};
class CfgVehicles // Character classes are defined under cfgVehicles.
{
class O_T_Soldier_F;
class tfsi_csat_tni_fatigues : O_T_Soldier_F // Define of a new class, which parameters are inherited from B_Soldier_base_F, with exception of those defined below.
{
author = "Heisenbruh"; // The name of the author of the asset, which is displayed in the editor.
faction = csat_tni;
scopeCurator = 2; // 2 = class is available in Zeus; 0 = class is unavailable in Zeus.
displayName = "Rifleman"; // The name of the soldier, which is displayed in the editor.
uniformClass = "U_tfsi_csat_tni_fatigues"; // This links this soldier to a particular uniform. For the details, see below.
hiddenSelectionsTextures[] = {"\tfsi_csat_tni_clothing\Data\clothing_tni_CO.paa","\tfsi_csat_tni_headgear\Data\tech_tni_CO.paa"};
linkedItems[] = {tfsi_csat_tni_harness, CSAT_TNI_Modular, ItemMap, ItemCompass, ItemWatch, ItemRadio, NVGoggles_OPFOR}; // Which items the character has.
respawnLinkedItems[] = {tfsi_csat_tni_harness, CSAT_TNI_Modular, ItemMap, ItemCompass, ItemWatch, ItemRadio, NVGoggles_OPFOR}; // Which items the character respawns with.
};```
what faction is it in
OPFOR
which opfor faction
its my own faction
its in the cpp, but i didnt include it in the code above (its way too long)
show the faction part
class CfgFactionClasses
{
class csat_tni
{
displayName = "faction test";
author = "Heisenbruh";
icon = "-"; // Needs to be 16x16 in resolution and it needs to be in the form of a PAA.
priority = 2;
side = 1; // Blufor
};
};```
cant remember what priority does but mine is 1 and works in zeus
nope, i honestly dont know what is going on
Shows up fine for me?
https://i.imgur.com/a5uQtkg.png
This is the config I used based on what you posted (minus the textures since I obviously don't have access to them):
https://pastebin.com/VZ7Fx6bV
okay this works, im not sure what happened, because it was out of nowhere as well. regardless thank you
so trying to pack my pbo for my headgear mod got slapped with this error
fixed the issue had to delete the folder and make a new
what's the deal with the delete keyword? I know its not meant to work if its a parent of something but i'm having it not work when it's just on its own with no children nor parents
I'm trying to remove a vehicle from being available in a particular cas module and it just doesn't work
class ModuleCASMissile_F: ModuleCASGun_F
{
class Arguments: Arguments
{
class Vehicle: Vehicle
{
class values: values
{
delete LIB_FW190F8;
};
};
};
};
requiredAddons set correctly?
So their definition is loaded before your deletion
well that's the thing its my own definition
class ModuleCAS_F: Module_F
{
class Arguments
{
class Type;
class Vehicle
{
class values
{
class LIB_FW190F8
{
name = "$STR_LIB_DN_FW190F8";
value = "LIB_FW190F8";
};
};
};
};
};
class ModuleCASGun_F: ModuleCAS_F
{
class Arguments: Arguments
{
class Vehicle: Vehicle
{
class values: values
{};
};
};
};
class ModuleCASMissile_F: ModuleCASGun_F
{
class Arguments: Arguments
{
class Vehicle: Vehicle
{
class values: values
{
delete LIB_FW190F8;
};
};
};
};
It doesn't have missiles so I don't want it in the missile module, but do want it for the gun/bomb ones
delete doesn't work on inherited members. It only works if you change/update previously defined class from other config in your own config.cpp 
fug, so would I have to make a whole config cpp just to remove it?
it doesn't seem to use any inheritance on Arguments and below in vanilla(-ish) anyways
and you can only delete your class where it was defined. Not where it got inherited. So, in your example, you can make another config that gets loaded later and deletes LIB_FW190F8 from ModuleCAS_F
oh that's not useful at all
if I was gonna do that why bother putting it there in the first place
to, say, delete buttons from the main menu 
there's also += that can only modify arrays specifically defined in the class you're modifying. With the only usage i can think about being adding extra muzzles to "Put" and "Throw" weapons for new throwables/mines 
it was useful for magazines pre magazine wells too
Hi, how would I make it so that when a unit turns out of a vehicle their head follows the movement of their view?
That inheritance looks wrong.
Why does Arguments inherit from itself.
If you remove all the inheritance (except the top level class) it would work the same without being totally messy and hard to work with
But if the game enforces that inheritance then... sad
vanilla doesn't seem to have any inheritance at all there. And Arguments seems to inherit from parent's Arguments?
When you modify a existing class, your inheritance needs to be the same as the original.
So if it was class Arguments in the original, making it class Arguments: Arguments will break stuff
If parent-less class is already present it should just merge it together
