#arma3_config
1 messages · Page 36 of 1
your saying i should delete the shadow LOD?
wouldnt that mean that shadows wouldnt appear on my object?>
how do you leap to that comment when it's created for you?
eh well i deleted all the shadow LODs
they work fine now
but its still showing "value not an array" even after I have lowercased the weapon classes
temporari;y remove THE statement out of your config,cpp to see if that is the cause.
well first i have to find the statement first
on whats causing it\
eliteness says no errros when i use lint feature
according to you it's
weapons[] = {"PTNI_SS2_V2", "PTNI_Pistol_01_F", "Throw", "Put"};
if eliiness said no errors, there'a nothing wrong with your syntax
you are possibly pointing to something that's not a class in cfgWeapons. It 's up to you to narrow down the cause.
things like MUZZLE are frightening.
It can be cause by the p3d too?
it would be easy for you to change it.
😭
this lod shadow resolution seems to be wrong shadowlod type if I remember right 🤔
bruh honestly, if its not gameplay breaking, im fine with it, i can just tell people who subscribe about the error message
it just may be good to understand what you did wrong there to not repeat the mistake in the future.
"good well working mod" vs "well it works mod"
Working on a retexture. I got uniforms to show up but it wasn't apply the texture, and now no uniform is showing up at all, can anyone help out?
what you have here is just the item uniform you see on ground
no the unit its connected to when worn
look up the character encoding guide on the wiki
correct
wearable uniform is built from 2 parts
the item uniform you see on ground and can put into your inventory (cfgWeapons)
and the visual unit that your character looks like when the item is worn (cfgVehicles)
the character encoding guide along with the character sample from Arma3 samples on steam should point you to right direction
awesome thank you\
eye strain is real at this point, configing and dyslexia is no bueno
it is major challenge yes
🙏
So I can put the unit down and they are wearing the uniform with the texture, but I still can't see it in the arsenal. I'm looking at the encoding guide and I don't see any errors so I'm not sure
anything in required addons? it says in the guide to have "A3_Characters_F" but I don't know if that applys in this case
whatever your original character is from needs to be referenced there
if its vanilla data there is a loadorder class you can put in there
pinned messages have it listed
So it's whatever the base is?
gotcha
or a loadorder class like what Arma has that encompasses all vanilla data
I was able to find it, I'm just using CUP for this right now because my modeling ability sucks lol
yeah it's still not showing up, I had it showing up before, but I don't know what I changed to make it where I can't see it.
I tried putting the unit down and it was wearing everything with the correct texture but when I looked in arsenal there was nothing
I'm about two seconds away from starting from scratch
units array and scopeArsenal =2 ans scpoeCurator=2 should be the requirements
I'm still not finding it, so I just found a retexture mod and I'm comparing configs going section by section and testing at this point lol
I can see it in the arsenal now but it wont load the model or the texture now, progress
I can't figure out why it can't even find the uniform model at this point
I feel like if it can pull the uniform it would be set
you dont need to define the model path if you are inheriting from exisitng class and it is already defined there
okay I'll give that a shot
and these connect here
so fix those too
Hi. Thanks for the response. I already looked at this documentation before. Tried to create a module for ZEUS, following the steps on it. Results: Module didnt work in zeus (didnt show up)
anyone know what this is supposed to mean?
The PBO is somehow badly made and you can't run it
There is nothing you can investigate. If this is your PBO, remake with a proper software
is there an alternative to the default addon builder?
pboProject or HEMTT
But seems it is a Workshop item which usually means not yours
It it is a Workshop item, maybe repair works
currently trying to make a selection disappear when mode index is greater than 0 but cannot figure out why this isnt working for the life of me - anyone able to offer any pointers? may be better in #arma3_model but idk
class hideHome
{
type = "hide";
source = "weaponMode";
selection = "home";
minValue = 0;
maxValue = 1;
hidevalue = 1;
unhidevalue = 20;
};```
@brave sentinel CfgPatches entry is required and the zeus field has to be set in the config
also your faction etc.
your hide value is 1
that is likely not reached
since your min and max is between 0 and 1
Is that a rescale not a clamp?
scale if right
Ah
and typically engine animation sources go between 0 and 1
I've literally just put my head down to go to sleep so I can't check right now
and depending on what it is there may be increments
But I'll try tomorrow
Impression I got was weaponMode is the index directly but then again I suppose a possibly indeterminate maximum may be iffy so 🤷
Will try tmr, thanks
unfortunately weapon mode does not say what range it has
if its 0-1 divided by amount of modes
or 0-(modecount-1)
Yeah I'll try using like 0.2 as the hidevalue next time
in your module
curatorCost = 0;```
prob best for me to ask in mikers discord but I think its a simple issue, but I recently upgrades mikeros from like 3.54 to 4.09 for pboProject and its saying "cannon open project folder" when trying to pack. Anyone every get this error?
and as said, the entry in CfgPatches
units[] = {"ModuleClassNameGoesHere"};
Is there any way that I can config a custom groups formation, combat mode, and behavior?
What value would that be set to?
Also, is there just a "maintainPosition" value or something like that
Similar to doStop, without needing a script element
I dont understand the question
you might want to explain the exact thing you want to do
instead of hypotethical parts
I have a group, I want to place that group and have them be calm, and in a specific formation ready to move and do whatever as needed. Is that possible through config?
em
dunno
probably if you make custom behavior fsm
this is probably something very specific and not "normal arma" you want to do
you can do stuff via init events and stuff
but typically that might be left for mission maker to handle instead
dunno what exactly you want to do though
class hideHome
{
type = "hide";
source = "weaponMode";
selection = "home";
minValue = 0;
maxValue = 1;
hidevalue = 0.2;
unhidevalue = 0;
};```
does not seem to have worked so that doesnt appear to be the case
Although I think I may be going about it incorrectly
tried hpp class hideHome { type = "hide"; source = "weaponMode"; selection = "home"; minValue = 0; maxValue = 0.25; hidevalue = 0.01; unhidevalue = 0; };
this which we basically use for selector switches with no dice either so if nothings wrong with my hide thing im stuck
the selections are declared as both sections and bones
(not the final entry)
skeleton name is correct too
Sections should not have bone definitions
theyre just the same thingibobs
Do they have hiddenselections?
nope
Then they probably don't need to be in sections list
roger
It likely is not the issue
ya ill delete them there anyways
But just good practice to not put anything extra in there
yeah was indeed not the issue
tried with hidevalue = 0.001 too with no success
ive tried just straight up copying a selector model.cfg i know works and replacing the axis and selection with mine and it works so yay for that..?
indeed weaponMode seems to be divided and not infinite ceiling as i initially thought
unhidevalue needed to be 1
🤦♂️
so when i try to hide each of the components of the screen, it doesnt like it. hide classes for each component, nada. when i try to hide the screen bone (just all of them together) it works perfectly fine
my only guess is either:
needs a minimum vert count (?)
doesnt like being 2 bones at once
arma hates me and this will all work perfectly when i wake up tomorrow morning
Hi, question about MarkerLights → blinking
class BeaconBlinker_blue_pattern1: Beacon_blue
{
class MarkerLights: MarkerLights
{
class Light_1: Light_1
{
blinking=1;
blinkingPatternGuarantee=0;
blinkingPattern=1;
blinkingStartsOn=1;
};
};
};
class BeaconBlinker_blue_pattern2: BeaconBlinker_blue_pattern1
{
class MarkerLights: MarkerLights
{
class Light_1: Light_1
{
blinkingStartsOn=0;
};
};
};
blinkingPattern=1; means 1 sec ON, 1 sec OFF and it looped for blinkingStartsOn=1; and 1 sec OFF, 1 sec ON for blinkingStartsOn=0; am I correct?
In my understand these two classes should blink by sync without any delays, but it's not in game. Am I doing everything correctly to make synchronism: when class pattern1 is off, pattern2 is on?
blinkingPattern[]={1,1}; won't works too
oh what a coincidence, i just had a question about marker lights as well
am i understanding it correctly that marker lights can only blink on / off in an instant? there is no slow transition from on to off etc?
like a pulsing light
Here's how I set up the marker lights on the SOG Chinook, including two blinking anti-collision lights that are set to flash out of sync with each other:
{
class positionlight_red
{
color[] = {0.8, 0.0, 0.0};
ambient[] = {0.08, 0.0, 0.0};
intensity = 75;
name = "positionlight_red";
drawLight = 1;
drawLightSize = 0.15;
drawLightCenterSize = 0.04;
activeLight = 0;
blinking = 0;
dayLight = 1;
useFlare = 0;
class Attenuation
{
start = 0;
constant = 0;
linear = 25;
quadratic = 50;
hardLimitStart = 0.75;
hardLimitEnd = 1;
};
};
class positionlight_green: positionlight_red
{
color[] = {0.0, 0.8, 0.0};
ambient[] = {0.0, 0.08, 0.0};
name = "positionlight_green";
};
class positionlight_white: positionlight_red
{
color[] = {1.0, 1.0, 1.0};
ambient[] = {0.1, 0.1, 0.1};
name = "positionlight_white";
};
class collisionlight_bottom_red_flash: positionlight_red
{
name = "collisionlight_bottom_red_flash";
blinking = 1;
blinkingStartsOn = 1;
blinkingPattern[] = {0.1, 0.9};
blinkingPatternGuarantee = 1;
drawLightSize = 0.35;
drawLightCenterSize = 0.05;
intensity = 175;
useFlare = 1;
};
class collisionlight_top_red_flash: collisionlight_bottom_red_flash
{
name = "collisionlight_top_red_flash";
blinkingPattern[] = {0.2, 0.9};
};
};```
I don't really have any prior modding knowledge when it comes to Arma-
I know that you can make a mod force itself to load after another mod by means of listing requiredAddons in the config.bin, but is it possible to force it so another mod loads after instead?
IE, I want to make a mod that patches one mod's config, but I need it to take effect before that second mod.
The reason is that a base game class has been overwritten, causing certain functionalities to fail, due to improper load order referencing. I want to patch the mod in question, but before it overwrites the base game class.
Personally, if a mod was breaking a base class, I wouldn't touch it.
But no, don't think you can do it the way you're thinking.
Probably your mod needs to have the "breaking mod" as a dependancy, then just recorrect whatever damage that it has done.
The mod in question is TIOW, which is part of the primary modset the group I make missions for uses.
The issue is that it pretty much fucks Ui_F.
Unfortunately, that mod team doesn't actually have the ability to update the first TIOW, and also fixing that issue isn't something they have planned.
The main thing is I don't know if it would basically need to have all Ui stuff from arma just, recreated.
I have essentially zero understanding of what I would need to do in order to say patch the issue.
ModelConfigEditor
Invalid configuration - Missing "AnimationTypes" class definition
What's the problem, friends?
Which ground clutter coefficient number is better for an Active Radar sensor in terms of ability to detect low-flying objects? 0.1 or 0.2? The config reference online is kinda confusing and chatGPT is giving mixed results
Do you mean groundNoiseDistanceCoef?
"Below this number the targets become invisible to the sensor even if they are still within the GroundTarget range."
0.1 = 100m
0.2=200m
https://community.bistudio.com/wiki/Arma_3:_Sensors_Config_Reference
I doubt that many use the Object Builder ModelConfigEditor - most open the model.cfg file with a text editor such as Notepad++.
Presumably your model.cfg does not include the correct set-up of classes for your object.
You can post a link to the contents for us to see using pastebin.com
Don't use chatgp for Arma things. It knows nothing.
Thank you
You are right my friend, I ran it and modified it with c++ extension and it worked fine on bulldozer, the only difficulty I faced was in setting up the main config
Yup, that helped, thanks!
Ok that's what i was thinking
Funny enought, it got this one right. I thought it didnt tgough because I thought .2 was "better" than .1 since the fa181 radar has .2 and the to201 radar has .1
Sorry for the ping
Do AI jets actually take these figures into account? It always seems like they use their AirTarget range even if Im skimming through valleys
@burnt kestrelUnfortunately, that mod team doesn't actually have the ability to update the first TIOW
even if we gave you the answers, how could you fix it?
a) you edit and change the offending addon or
b) you make a new addon that uses requiredaddons[]={old_addon};
from my perspective, while I can live with modest mistakes in a MOD, i wouldnt dream of using ones as badly made as you claim .
Option a isn’t exactly an option, so it would have to be option b then.
As for using said mod, it’s not like there’s a plethora of alternatives that provide the same content.
there are dozens of them. It doesn't make it worth wasting time on this one.
There’s dozens of 40K mods that provide what TIOW does? Feel free to link them please.
i have no idea what TIOW does. I do know there are any number of DLCS with worthwile content.
So basically you’re saying to not use it while not knowing why it’s being used, and then claiming there are alternatives to what it provides, without knowing what it provides. Got it.
mikero is saying don't use a bad Mod you really need to fix. Its content doesn't matter
Thing is we don't know how it is breaking UI
Or actual error
Uses the same name as a base class for some of its own UI stuff, A3_Ui_f. Either way, not using isn’t an option either.
Doesn't really understandable to get how it is breaking though, then option B is your last resort I guess. If you know a bit of essentials of configs, It is very fixable. UIs are not the exceptions of config
I see that there's a regex on the wiki replacement config page for cleaning out the config except for the classes you want. How would I go about applying that regex?
Which article you mean
I see... regex is just a way that is provided by such text editor. Better to look Google "how regex works in my editor"
Yeah, I was just figuring that. Ont o the vscode docs
How can I delete a sensor from an aircraft subclass when the parent has that sensor defined? I've tried delete MySensorClass; to no avail, and overwriting the sensor with an empty class throws errors because Arma's looking for sensor config parameters in there. See attached for parent and child (B47_AL_MiG25P_base and B47_AL_MiG25R_base, respectively).
Dont inherit the sensor, write in what you need
What is this BIS_AddonInfo.hpp file that gets #include in some config files I see? Where is this file because I've never seen it?
I don't know where do you see it. But it AFAIK is just a "old method" or "habit" which is not important. As you know #include just does a copy and paste so if you need to understand the file check the file
I was given a sample config file from a friend and it was on there but if its not needed then I can remove that code.
The mod you're relying on does look very unique, so I can see why you're kind of stuck with it.
Patching what's broken is going to be your only choice, but may not be impossible if you can determine exactly what base class(es) have been incorrectly modified as you can fix them in your patch mod, but will also need to inherit and fix anything from TIOW that subsequently depended on that base class change, which could be significant quantities of coding.
As Goat said, don't inherit your SensorsManagerComponent from the parent class and simply redefine whichever ones are needed. Sensor components will not be included in child classes if they're not inherited fully (though they're not as finicky/structure-sensitive like Turrets).
For instance, this config will remove all sensors from the vanilla Black Wasp's Stealth variant but the regular external hardpoint Black Wasp remains unaffected:
class Plane_Fighter_01_Base_F: Plane_Base_F
{
class Components: Components
{
class SensorsManagerComponent
{
class Components
{
class IRSensorComponent;
class VisualSensorComponent;
class PassiveRadarSensorComponent;
class ActiveRadarSensorComponent;
class AntiRadiationSensorComponent;
class LaserSensorComponent;
class NVSensorComponent;
};
};
};
};
class B_Plane_Fighter_01_Stealth_F: Plane_Fighter_01_Base_F
{
class Components: Components
{
class SensorsManagerComponent
{
class Components{};
};
};
};
I might ask the TIOW devs what their update issue is. Maybe the solution could be applied into the mod itself instead of yet another separate mod.
I think the main issue from my limited understanding is that there is stuff already in TIOW1 that relies upon say 40K Tau UI and TIOW ui, which is where it uses A3_Ui_f as a class name, as opposed to using own class name. And some other stuff like RscInGameUI, without first being listed as required addons.
@languid wingI can only say the replacement config tutotial is at the least something to get you started. It is however not well orgnanised and a little innacurate. Providing you recognise the good info it supplies it will help. Understand the difference btwn the essentials it provides.
Personally in my opinion, it would make a lot more sense to just, include all of what is in TIOW1 into TIOW2, and then fix the stuff from there. But maybe there are restrictions in terms of permissions. The issue after that would be mods that use TIOW1 for stuff, but are also not actively updated then not having TIOW1, so loadorder stuff would be wonky there?
I've worked off it in past to build replacement configs for some tweaking some vanilla assets, so I do have some leftover knowledge, it's just been over a year since I last touched it so I need a refresher.
Though back in the day I hand cleaned my configs instead of using the regex (which I haven't figured out how to use yet in vscode, but I'll get there)
I'd rather apply the fix there to get the loadorders right. Buut we'll see if anything comes out of that.
i have no idea how or why you mix regex with a config;.cpp
Ypu don't need regex to write config
You write config from ground up
The primary thing I think is the fact a base game class is used in place of using a unique class name, and then other classes are called but not having first the config they're in listed as requiredAddons. At least from my understanding.
Does not sound right.
Wasn't the idea of the regex in the guide that it would trim down a dumped config file to just the classes that you wanted to edit?
It sounds silly way to go about it
Just write down the classes you edit
No need to prune million line condif dump for few classes
fair nuff
idk, I'm not much of a coder, so I'm working off fragments of information I've gleaned from all over the place. If it works differently from how I think it does, then feel free to correct me, cause you know way more than I do.
I'm heading to bed so no time to get into it atm.
All good.
moment.....
the rest of your above text is missing
the above text (almost) says nothing important.
In my previous config tweaks where I added an action to the pilot of a plane, I ended up recreating all of the existing actions on the plane, then adding my new one. Is it necessary to do that or is it possible to just extend the UserActions class?
You need to know how Class Inheritation works
Thats... vague. I'd like to think I have a decent grasp of inheritance, at least in a general context from college
class someclass:someclass
{
// inherts all;original THEN your additions/changes
I cant remember what I was doing way back then that ended up leading me to this train of though now
as mentioned you have not supplied any useful text so far
tldr
Class Inheritation is how to inherit all config from the parent config (if it has a parent). Without this, everything within will be overwritten
class UserActions
{
// class SAFEMODE;
// class Toggle_Left_MFD;
// class Toggle_Right_MFD: Toggle_Left_MFD;
class AJ_New_Action
{
displayName = "Test";
shortcut = "User3";
position = "";
radius = 10;
onlyforplayer = 1;
showWindow = 0;
hideOnUse = 1;
condition = "true";
statement = "systemChat 'test'";
};
}
My understanding is that this will overwrite the first 3 actions, right?
and if I were to uncomment them, would they then become references to the actions that do exist, or would they overwrite those classes with empty classes?
No. Declaring such there means nothing to do
Ok back to the top level, this UserActions class is overwriting the original UserActions class, so I would need to recreate the original actions in here for them to be included if I'm understanding this correctly
is it just essentially being pushed on top and whatever it's replacing is gone for good at runtime?
as mentioned you have not supplied any useful text so far
all you left us with is 2nd guessing you
the FULL config.cpp
class CfgPatches
{
class AJ_A29_Compat
{
units[] = {};
weapons[] = {};
requiredVersion = 0.1;
requiredAddons[] = {"RHSGREF_c_A29"};
};
};
class CfgVehicles
{
class Air;
class Plane : Air;
class Plane_Base_F : Plane
{
class Components;
}
class Plane_Fighter_03_base_F : Plane_Base_F;
class RHSGREF_A29_Base : Plane_Fighter_03_base_F
{
class UserActions
{
// class SAFEMODE;
// class Toggle_Left_MFD;
// class Toggle_Right_MFD: Toggle_Left_MFD;
class AJ_New_Action
{
displayName = "Test";
shortcut = "User3";
position = "";
radius = 10;
onlyforplayer = 1;
showWindow = 0;
hideOnUse = 1;
condition = "true";
statement = "systemChat 'test'";
};
}
// class Components
// {
// }
}
}
This config is not going to run anyways
well, I hadn't gotten that far 😆
Imagine debugging in your brain. That's not how debug or develop works
is it wrong from the top? I was trying to follow along with what I did previously which does run
but in that case I just pasted all the user actions into my overwrite and then added mine after. I was trying to do it better this time around
Yes. Syntax error so even worse than forgetting UserActions
class A: B; is invalid. This is just an error
class UserActions: UserActions
for starters
you MUST first understand how inheritance works rather than praying for miracles
the biki is more than enough to get you started.
you don;t pass go, or collect 200 lira until you do.
it really really is lesson 101
I woulda thought my previous knowledge would have been enough to get me started, but I guess I've never really worked on something past basically "Class Truck : Vehicle..." in school
i'm not trying to be unkind to you.
notice that no one else is disagreeing with me.
Lol I know you are right and you are helping out. I'll get my head around it with enough work on it
your best bet is USE you previous knowledge and figure out why it works.
Don't too overthink is one important thing, too. A config syntax works same everywhere. Even you are deep diving into CfgVehicles, or very shallow somewhere
^total agreement
That is definitely something I need to remember
CfgVehicles is not a special something. That is just a class
there is NO difference structurally between
class elephants and
class apples
I've for some reason always thought that cpp config files in arma were not actually cpp, just using the file extension. I dont know what ever gave me that impression but it's clearly very wrong
there is of course huge differences between
fruit=apples; and elephants which don't eat them
CPP really means nothing. Forced Habit, just nothing. But you just need to follow. Don't too overthink this too
be aware that in game the engine first merges every single config.cpp into one enormous one. It doesn''t change the fact that turret is always a turret and not a giraffe.
(the truth here is we are (mostly) taking about config.BIN but they are effectivbely the same thing at engine load time
https://community.bistudio.com/wiki/Class_Inheritance
This article if you missed, anyways
^
you can trust one thing it's relatively easy to get the penny to drop in your understanding. Once done, you'll never look back.
you'll know you hit the pot of gold when you understand what/why
class thingy:thingy
well, that one is just simply- wait

No I dont know that one
"thingy *is a * thinigy"
I dont think I've ever inhertied from itself in my life, if thats what you mean by that
it uses everything the inherited one has. but alters adds only to YOUR class thingy
bis configs use it in almost all of their configs.
it's the premier reason for the elegance of the config structure
if they've used the same thing since Xbox Elite take a guess how successful it is.
not suggesting you need to use it, am saying it will cause the penny to drop
Nested parenting or inheriting is sometimes headache maker. But you need to understand
if I'm understanding this now, then maybe this would be more sensible. Totally made up classes in this case
class Base;
class basePlane : Base
{
name="plane"
speed=100
stuff=true
class wings {
value1=100
value2="hello"
value3=false
};
};
class myPlane : basePlane {
class wings : wings {
//value1 and value2 exist here because inheritance
// value1 is 100
// value 2 is "hello"
value3 = false;
}
};
class anotherPlane : basePlane {
class wings {
//value1 and value2 dont exist here becasue no inheritance
value3 = false;
}
}
only fault is
class MY_basePlane
is that a tagging thing for arma specifically?
you cannot do naughty things to basePlane
nope
as i said it's used since before arma1
Tagging is important too, tho
class basePlane automatically assumes it's an already exusting class
OH, I understand what you mean now. In this case I was assuming that basePlane was my class, not an external class
agreed
Keep it mind that, config is always shared with your entire game
And everyone can access and mod
you simply cannot have 2 x
class apples
Which means if you have no label to put, people might borrow your class accidentally, and forgets
yes indeed
That makes a lot of sense. I never really knew why tagging was important, all the guides over the years I read just made it clear to do it
...And end users will complain
Let's say in Reaction Forces we made, always have _lxRF or _RF tag for both script and config
you can only ever ever have a
class my_oranges in the entire game. No one, read NO ONE, is 'allowed'' to use your uniqe tag name.
do functions also get stored like this as well? if I made a function called.... idk. "print", would that conflict with someone else's print?
would that be a case for making it AJ_print
can one cfgFunctions not conflict with another?
Or treat similarly with any files you got
a million times better if you never mix the two in your understanding
It can. This is also why tag is nice habit
yes again
Ok yeah. That's what I was thinking of, specifically cfgFunctions, not the sqf files linked to the given functions
this extends btw and especially to my_buildiing
you can only EVER have a single named building because how can a map use a class_xx on the right one?
get into the workflow habit of mytag_everything
paas too becaue it will play havoc with texheasders.bin
thats good to know
make it a mantra to my_tag everything and kiss you problems goodbye
i know many large team dlcs intimately, every one of them use this mantra
(reason being makepbo can scream at them)
with 20 or so team members, they can't afford to do otherwise
I am learning all sorts of things today lmao
only one
class thing:thing //answers most of it
I do have one more thing that's stumping me on this problem. I'm not understanding the inheritance tree for UserActions. The docs just kinda have it out there. Is UserActions something that can just exist as a child of anything in cfgVehicles?
looking at other vehicles in the config viewer, stuff like Components inherits from components, but UserActions doesn't inherit from anything.
I think thats what is confusing me about doing class UserActions : UserActions as Mikero said earlier, or inheriting from self in any replacement situation
going back to the pseudocode I had before, if I wanted to add something to a class similar to that of UserActions (being that it doesnt inherit from anything)
class Base;
class basePlane : Base
{
// external class
};
class myPlane : basePlane
{
class wings : wings
{
// value1 and value2 exist here because inheritance
// value1 is 100
// value 2 is "hello"
value3 = false;
};
class anotherClass
{ // no parent, like UserActions
thing1 = true;
thing2 = false;
}
};
class anotherPlane : basePlane
{
class wings
{
// value1 and value2 dont exist here becasue no inheritance
value3 = false;
}
}
//-------------------------- replacement --------------------------------
class Base; //external
class basePlane : Base
{
//external again
};
class myPlane : basePlane //parent class being modified
{
class anotherClass : anotherClass { //child class being modified
//this makes no sense. How can it inherit from itself on its initialization?
//wouldn't it just inherit an empty class?
thing3 = true; //add thing3 to anotherClass
}
};
only fault i can find quickly
{
class wings; // external class
};
{
class wings: wings
{```
anotherPlane was intentional for having no inheritance on it's wings because that was the demo case of the other wings values not existing
The thing that I'm stuck on is in the replacement. in the replacement is anotherClass able to see thing1 and thing2?
maybe my misunderstanding is in the replacement process. What I'm imagining happens is the engine will just take the replacement config and paste it over the relevant classes, then compile the config. replace -> compile -> run.
Does it do it differently in such a way that the replacement classes can inherit from what they are replacing?
you are sslightly wrong in your wording.
aste it over the relevant classes, then compile the co
it will replace whatever you want it to in the inherited clas
the rest remains from the parent
so it will inherit first, then replace. That makes sense then
👌
thanks a ton for you and Polpox's help tonight. This will probably do me well for a lot of work, both in arma, in school, and at my job
you can bet money on it.
my tools are unashamably vicous. they try to break bad habits before they fester. Anyone is free not to use them.
I have never actually gotten your tools working 
I cant recall why, it's been a long time since I tried it. I've always just used pboManager and a3Tools for all my tooling needs
Maybe you really need to care about errors if it throws one
wdym?
Usually error message tries to tell something. You need to listen and understand it
I would very much care about any error thrown. I haven't gotten any code complete enough to actually run it in arma yet tonight. Pretty much everything you guys saw was placeholders or stuff I wrote specifically to discuss with you
Rest assured, I do pay attention to the big black box that comes up in the middle of my screen when I make a mistake
😆
another dollar thrown into the exception jar
kicking this back up again, arma was not a fan of class UserActions : UserActions
class CfgPatches
{
class AJ_A29_Compat
{
units[] = {};
weapons[] = {};
requiredVersion = 0.1;
requiredAddons[] = {"RHSGREF_c_A29", "usaf_main"};
};
};
class CfgVehicles
{
////
class Air; // external base class
class Plane : Air // inherits from Air (just to exist?)
{
};
class Plane_Base_F : Plane // inherits from Plane
{
class Components; // external child class
};
class Plane_Fighter_03_base_F : Plane_Base_F
{
};
class RHSGREF_A29_Base : Plane_Fighter_03_base_F
{
class UserActions : UserActions
{
class AJ_USAF_GPS_targeting_system
{
displayName = "GPS/INS Guidance System";
shortcut = "User3";
position = "pilotcontrol";
radius = 10;
onlyforplayer = 1;
showWindow = 0;
hideOnUse = 1;
condition = "(driver this == player) && {[this] call USAF_GPS_DIALOG_fnc_isGPSDialogAvailable}";
statement = "createDialog 'USAF_GPS_DIALOG'";
};
class AJ_USAF_HOB_Setting
{
displayName = "Configure Height of Burst";
shortcut = "";
position = "pilotcontrol";
radius = 10;
onlyforplayer = 1;
showWindow = 0;
hideOnUse = 1;
condition = "(driver this == player) && {[this] call USAF_HOB_DIALOG_fnc_isHOBDialogAvailable}";
statement = "createDialog 'USAF_HOB_DIALOG'";
};
};
};
};
You need to put UserActions within A29
it's telling the truth you haven't declared
class UserActions; // anywhere surely this is lesson 101?
Hmmmm, I misunderstood this then. I was overthinking it
lesson 102, it's just C++ stop thinking it does not C++ things
nothing further from me, tired of repeating the basics.
thanks again for the help!
It's not though. it looks similar, it uses similar names like "class", and sooome parts of inheritance (notably not the UserActions problem you're having) work similarly.
and enums <grin>
side = 1; // Blufor```
how can i make it so that a faction can have 2 sides? Do i need to redefine the faction class into 2 new class, each with it's own side or can it be done within one class?
2 classes
does that also go for the unit classes?
damn 💀
well nearly all of them are
that seems like unnecesarily alot of work just to make the same roster within a faction, but with a different side
its not really typically needed
Hi all
class EventHandlers
{
fired = "(_this select 0) animate ['Hide_Cover_01', 1]; _this call (uinamespace getvariable 'BIS_fnc_effectFired');";};
I have 8 missiles covers, I want them to disappear sequentially with each shot
First shot = hide first cover
...
anyone can help me?
why not just tie them to the animation source AMMO?
This is how we did it in the SOG:PF H-12 rocket launcher:
// missile hide
class mg1_missile_01_hide
{
source = "mg1_revolving";
sourceAddress = "mirror";
type = "hide";
selection = "mg1_missile_01";
minValue = -1;
maxValue = 0;
hideValue = (0 / MAG_COUNT) + 0.01;
unhideValue = -1;
};
class mg1_missile_02_hide: mg1_missile_01_hide
{
selection = "mg1_missile_02";
hideValue = (1 / MAG_COUNT) + 0.01;
};
class mg1_missile_03_hide: mg1_missile_01_hide
{
selection = "mg1_missile_03";
hideValue = (2 / MAG_COUNT) + 0.01;
};
class mg1_missile_04_hide: mg1_missile_01_hide
{
selection = "mg1_missile_04";
hideValue = (3 / MAG_COUNT) + 0.01;
};
class mg1_missile_05_hide: mg1_missile_01_hide
{
selection = "mg1_missile_05";
hideValue = (4 / MAG_COUNT) + 0.01;
};
class mg1_missile_06_hide: mg1_missile_01_hide
{
selection = "mg1_missile_06";
hideValue = (5 / MAG_COUNT) + 0.01;
};
class mg1_missile_07_hide: mg1_missile_01_hide
{
selection = "mg1_missile_07";
hideValue = (6 / MAG_COUNT) + 0.01;
};
class mg1_missile_08_hide: mg1_missile_01_hide
{
selection = "mg1_missile_08";
hideValue = (7 / MAG_COUNT) + 0.01;
};```
config.cpp
```class AnimationSources: AnimationSources
{
//hides rockets and swaps the memory points for rocket spawn
class mg1_revolving
{
source = "revolving";
weapon = "vn_rocket_h12_launcher";
};
};```
oh thank you friend
where I can paste this class
on vichele class ?
or weapon
The first part goes in the model.cfg and controls the hiding of the missiles (or covers in your case).
The second part goes in config.cpp cfgVehicles and sets-up the animation source for the vehicle weapon.
But it's not direct copy and paste - you'll need to understand how it works and how to apply it to your p3d selection names.
Yes I got that
Thank you very much
source = "mg1_revolving";
sourceAddress = "mirror";
type = "hide";
selection = "cover_01";
minValue = 0;
maxValue = 1;
hideValue = (0 / MAG_COUNT) + 0.01;
unhideValue = -1;
Covers disappear automatically without any launch process.
@nimble sequoia
revolving runs backwards iirc, 1 to 0
so in buldozer set mg1_revolving to 1 and step it back to 0 to see covers disappear
also "clamp" sourceAddress might work better?
no
whys that?
depends if you want it to work or not 😉
did you set up the animation source in config.cpp?
class Hide_Cover_01 {
type = "hide";
source = "abdoo_revolving";
selection = "cover_01";
minValue = -1;
maxValue = 0;
hideValue = (0 / MAG_COUNT) + 0.01;
unhideValue = 0;
};
class Hide_Cover_02: Hide_Cover_01 {
selection = "cover_02";
hideValue = (1 / MAG_COUNT) + 0.01;
};
class Hide_Cover_03: Hide_Cover_01 {
selection = "cover_03";
hideValue = (2 / MAG_COUNT) + 0.01;
};
class Hide_Cover_04: Hide_Cover_01 {
selection = "cover_04";
hideValue = (3 / MAG_COUNT) + 0.01;
};
class Hide_Cover_05: Hide_Cover_01 {
selection = "cover_05";
hideValue = (4 / MAG_COUNT) + 0.01;
};
class Hide_Cover_06: Hide_Cover_01 {
selection = "cover_06";
hideValue = (5 / MAG_COUNT) + 0.01;
};
class Hide_Cover_07: Hide_Cover_01 {
selection = "cover_07";
hideValue = (6 / MAG_COUNT) + 0.01;
};
class Hide_Cover_08: Hide_Cover_01 {
selection = "cover_08";
hideValue = (7 / MAG_COUNT) + 0.01;
};
class AnimationSources
{
class abdoo_revolving
{
source="revolving";
weapon="weapon_rim162Launcher_abdoo";
};
};
what is this ?
MAG_COUNT
skeletonBones[] = {
"turret","", // نقطة محور البرج
"gun","turret",
"zasleh","gun",
"cover_01","gun",
"cover_02","gun",
"cover_03","gun",
"cover_04","gun",
"cover_05","gun",
"cover_06","gun",
"cover_07","gun",
"cover_08","gun",
""
};
It might be ok there, but put it just above the Hide_Cover animation like I showed
I'll Add it now
source = "mg1_revolving";
here
source = "revolving";
Why the difference here?
Your vehicle might have more than one weapon, so you have to define a revolving source for each one in config.cpp, then refer to that in the animations
Contains only one weapon
Can the missile be launched from its own nozzle? Does this require assigning missile position points in the model config?
Yes, you have to animate the muzzle points too
you can help me please ?
@nimble sequoia
@hearty sandal
experiment. its not fair for apollo for him to do it all for you
also its night over here
No problem, he serves with love
My friend and I are trying to make a sound pack mod and we see the sound files listed in Zues Play Sound but the sounds dont play and we dont get any errors. Is anything wrong with the code?
without indentation very few, if any, will bother with this.
I see the file decided to display messed up when it does have indentation
Seems I got it working. He was using the base game tools to build it. I used your tools and it works.
apologies to you. ```you need to use backquotes
what on earth is NO_CATEGORY
we were basing off sample code he got from another sound mod. Thats what was in it.
ouch
its working
yep amd the .rpt should be screaming about it.
what should it be then?
sorry no idea. it seems to be a #define
Its one of Class for Modules
good grief, don't they ever learn?
Its on the Wiki that way
Hello everyone,
I am seeking a skilled expert to assist me in completing my project "Missile Launch Platform" for a fee.
I have completed about 80% of the project, and I need help with the following:
- Utilizing the memory points for the eight rocket positions on the platform, ensuring each rocket launches from its designated point.
- I want the cover to disappear from the platform with each rocket launch.
- I want to show the covers on the platform again once the weapon is reloaded.
If you are interested, please message and help me.
thanks all
If you're looking for a person to work with, #creators_recruiting please. Beware of scammers tho (check the channel's pins)
thank you @wintry tartan
Hi all, setting up selections for my vehicles, id like to conditions where if you choose option B it replaces A so and vise versa, with either one always on
As well as C is not selectable unless B is on already etc etc... Mainly for storage racks and then equipment options in them,
I've also got a plow on a tank that's animated through scroll wheel options, what would the condition be for that option to only show up when the plow is on as a selection?
I'd like to ask what are "selections" in this case. Do you mean Virtual Garage/Vehicle Customization?
you have to use forceAnimate[] and forceAnimate2[] in the animationsources class to define what happens if that animation is set
this is only related to the virtual garage toggle options, though (if i remember right). if you want variable ingame stuff, you will have to write a custom script
Yep, vehicle selections, sorry for the late reply,
Ah yeah that was it, now just for the scroll wheel option hide for the plow 🤔
is there a module attribute that would let me add a textbox/text area rather than just a single-row field? Something similar in size to the unit init field
I don't see such in https://community.bistudio.com/wiki/Modules#Creating_the_Module_Config but perhaps it just was not added in the example
hmm, there is alot of "control" type that you could use there that is not added to.
class test_editmulti:Default
{
property = "test_editmulti";
control = "EditCodeMulti5";
displayName = "TEST";
tooltip = "TEST Dest";
typeName = "STRING";
defaultValue = "''";
};
You can use any of the Eden editor controls
Hello, does anybody know if the soundset for Air_Condition_SoundSet is broken? This is from the enoch config:
class sound_air_condition_1 {
memPoint = "sound_air_condition_1";
soundSets[] = {"Rain_MetalT_Light_SoundSet","Rain_MetalT_Medium_SoundSet","Rain_MetalT_Heavy_SoundSet","Air_Condition_SoundSet"};
};```
When I implement this in my model as a mempoint with the appropriate name, it only plays the rain sounds, no ambient AC noise.
And the info I pulled this from is https://pmc.editing.wiki/doku.php?id=arma3:terrain:enoch-config
Oh... they don't work on Stratis, Altis, VR, or Malden 2035, but they do work on Tanoa and Livonia. I guess it's up to the world's config.
the ambient sounds are terrain specific yeah

so you can have different kind of sounds for say trees in jungle map and in desert map
etc
Ohhh, okay. That makes sense. I wonder if it would have been possible to retroactively add the air con sound sets, etc. to the old maps.
sure
also there are "default" envsound definitions in the root of the config vanilla terrains inherit from
Ahhhh, got it. Thank you for the info!
from quick look the aircon sounds should be in there though 🤔
aah
but they only have the rain sounds
no the sounds it being on
yeah thats tanoa specifc setup it seems
it could be added into the root config too to enable them in other maps
Hacker style 
How do i make the game treat an AI as a medic class, or as an engineer, etc.
I'm using ALiVE's ORBAT creator to make a custom faction, and I have one unit who's supposed to be a combat medic. When making the unit itself, i inherited from a standard rifleman, and thus the game just sees them as a rifleman.
Is there any line of code I can put into its section of the autogen.hpp to make it become a medic, or is starting over and inheriting from a preexisting combat life saver the only way?
https://community.bistudio.com/wiki/setUnitTrait
Refer to these Description
so, if I understand correctly, I just do this?
👌
Missing semicolon but yes
haa missed that
huh, it was that easy...
<grin>
i'm very very new to scripting in arma, and coding in general, so a lot of this seems like arcane spells that make me confused and unintentionally overcomplicate things
but thanks for clearing it up!
It's not a script we call, it's config
pls do not use the word scripting when describing things cpp. scripting = sqf and u will confuze every1
sqf?
Im looking for some help. Im trying to fix an older mod from Fingolfan, his SFOD one. The issue im having is everytime I reload on of the HK's, the texture/model reverts back to the Niarms class that it inherits from and then once reloaded, goes back to the modified textures. Ive had a a few cracks at it but im coming up empty.
Which is the weapon in question
It does it on all of them
Hi. I decided to rewrite the thing completely. Went down again trough the modules framework documentation and somehow i did it.
Your tips were helpful, so thanks. Looks like Ares' structure is too complicated for me now, so I'll stick to this method.
Not currently at my PC so I can't share exacts, but I've got an interesting (I think) problem.
In trying to recover an old, old retexture mod there's an issue I'm facing of models combining themselves.
On a helmet retexture (Fireteam Zulu ODST helmet) the model of a vanilla Ghillie suit hood is clipping through so it appears there's a Ghillie suit helmet over the ODST helmet. This only happens with the retexture.
Was wondering if this was a config issue that could be resolved easily or if it's something deeper I'll really need to work to resolve - I've got next to no experience with this sort of thing.
class Missile_move_1 {
type="translation";
source="Missiles_revolving";
selection="missile_move";
begin = "pos_missile_01";
end = "pos_missile_04";
minValue = 0;
maxValue = 0.1;
offset0 = 0;
offset1 = 0;
memory = true;
Hi team, I have a question:
I am finding it challenging to determine the precise coordinates for missile movement.
If there are more efficient methods to set this up, especially to simplify aligning multiple missile launch points, I'd appreciate any suggestions.
set up axis points in memorylod
with memorypoint axis the offset from 0 to 1 goes the distance between the points
Are there alternative, more accurate methods?
memorpoints are exact
offset0 = 0 offset1 = 1 moves exactly between axis memorpoints
if memorypoint axis is not defined
translation distance between 0 and 1 offset is 1 meter
thats all there is to it
thank you @hearty sandal
can weapons support AnimationSources like vehicles?`
No
oooof, would be cool if it did 😦
How can it be that when i have scope = 2; scopeCurator = 2; and scopeArsenal = 1; as well as having all "A3_Weapons_F_xxx" as requiredAddons that some weapons are just missing... There are 40 Apex Weapons in the Arsenal, but when i hide the vanilla weapons (no DLC) i only have 33 Apex weapons left... Can i post the config.cpp here?
Why not
i only have 33 Apex weapons left
What does this mean
Also what is the intention of this config
Before my Mod the (Virtual and ACE Arsenal) shows 40 APEX DLC main weapons. After i load my mod i only have 33 left.
The Mod should hide weapons from the (Virtual and ACE) Arsenal, because i am trying to create a WW2 modpack.
No need to show all weapons, to declutter everything.
Since i know i cannot do "scope = 1;" since some weapons rely on certain classes, i only did "scopeArsenal = 1;"
Regarded to requiredAddons, you want to check the pinned post
Ill try!
Also still not sure what it does mean by 33
Do you mean these 33 are defined in the config but not applying the changes?
shows 40 APEX DLC main weapons -> shows 33 APEX DLC main weapons
No, i define only vanilla, non DLC weapons in the config. Before loading the Mod (config) i have 40 APEX DLC Weapons available. Loading the mod (and config) i only have 33 left available.
And what are hidden and what are visible?
All vanilla weapons i have in my config are hidden, like i wanted it to. But this also hides 7 APEX weapons for some reason. But mby APEX weapons also use vanilla classnames, and that is why i hide them? Could this be possible??
Even with the loadorders i only have 33 left instead of 40 APEX weapons
I still am not sure what is the symptom you try to say
33 or 40 don't tell anything useful. What are hidden, what are shown
And what exactly is the goal of this config
Let me try again..
I want to create a WW2 Modpack. I do not need all the vanilla weapons, including APEX, Marksmen and other DLCs.
I want to hide them in the Virtual and ACE Arsenal, so the Arsenal is only showing the Weapons and Items we use.
I have created a config.cpp which will hide the 50 vanilla Weapons. (No DLC icon)
Without any Mods and without the config.cpp i have 40 APEX DLC weapons available to choose from.
After loading my config.cpp i only have 33 APEX DLC weapons left to choose from in the Virtual and ACE Arsenal.
So for some reason the config is hiding 7 APEX DLC weapons without me mentioning them in the config.cpp.
I hope this is better??
What I wanted to know is which weapon is unsupposedly shown or hidden
Im currently looking - one moment
GM6 Lynx (Green Hex) - srifle_GM6_ghex_F
M200 Intervention (Tropic) - srifle_LRR_tna_F
MX (Khaki) - arifle_MX_khk_F
MX 3GL (Khaki) - arifle_MX_GL_khk_F
MX LSW (Khaki) - arifle_MX_SW_khk_F
MXC (Khaki) - arifle_MXC_khk_F
MXM (Khaki) - arifle_MXM_khk_F
As far as i can see i do not have them in my config.cpp
Wow.. arifle_MXM_khk_F uses arifle_MXM_Black_F.
arifle_MXM_Black_F i am hiding in the Arsenal, and thats why the weapon is gone? Why? I have not disabled the scope?
Because they are inherited the scopeArasenal too
..... could i just add arifle_MXM_khk_F and toggle the scopeArsenal to 2? or would this bring back the arifle_MXM_Black_F?
Yes, no
Still not sure what is the goal
To not show the modern weapons since it is going to be a WW2 modpack. Why would i want to make the modern weapons available? This will also make the Arsenal more "Clearer?"
You never really mentioned what you wanted to hide, but I get it I guess
Vanilla (and DLC) modern weapons - im using Spearhead 1944 DLC - i only use these weapons
Thx this fixed my problem!!!!
Not sure why you wanted to hide khaki
MX but not other MXs though
No, i just had an issue that when i hide certain items, other items i want to keep also hide. Other example would be the compass. If i hide the vanilla compass, all other DLC compasses are also hidden (like SPE) and i wanted to get them back ^^
It does mean you need to (re) learn how does class inhetitation works
But i dont want to show the vanilla Items... It works how i want it to work. Its fine now
class inhetitation
it seems to be a recetly added and i dare say, unwanted feature of discord to remove all spaces or tabs to remove indentation. The only way now is to
use backquotes
What's a good way to discourage certain firemodes?
I have aa AA weapon+ammo missile which can be used for AA and AG derived form the S-750, but I want to heavily discourage the AG. Ideally, I'd configure the vanilla LoalDistance as AA and TopDown firemode as AG, but I'm not sure if thats possible.
I'm thinking if I can somehow make one firemode AA and the other AG, I can use the range probabilities to discourage the use of AG in most situations.
discourage for player? ai?
AI
you can create AI specific firemodes that are hidden from player view
but like, whats the point of the AG capability if its not meant to be used
would it not be just simpler to make it AA weapon
The AG firemodes should be usable by players, but discouraged to AI. I want to keep the AI part functional though so I can use it in conjunction with some AI firing scripts
It's an AA weapon in vanilla.
well the problem I guess is that if its same missile that can do both, you cant limit it
at least thats my gut feeling about it
I can understand the gameplay effect you would like to have
but as far as I can think of it, the weapon simulation does not have features for that
unless you make 2 different muzzles with different ammo
but that probably is not what you are looking for
From my testing so far, it seems like the AI doesn't really attack ground targets it sees on datalink except for a landed helicopter.
I think it could be that the aiAmmoUsageType isn't set for ship/ground, which means my problems solved by accident
The muzzle idea is a good one, but due to above, I don't think its necessary.
the muzzle one is not great due to doubling ammo
Discord has always trimmed leading and trailing whitespace from messages
There's also just a quote you can use
some message someone sent
By doing
> some message someone sent
Trying to expand the available pylon options on a vehicle (in cfg, not via in-game scripting).
I got the pylons to appear in all the pylon selection screens, i can equip them, see them, but they dont appear in the fire modes for the pilot or gunner.
tried multiple weapons, from vanilla, sog, ace and none seem to work but the single missile that comes with the mod.
just an example i have like 20 defined and there all like this sqf class vn_rocket_ffar_f4_out_lau3_mk32_atap_x4; class NH90Pylon_4xATAP: vn_rocket_ffar_f4_out_lau3_mk32_atap_x4{ hardpoints[]={"B_PYLON_NH90"};mass=300; }; (from the FFAA mod incase anyone was wondering). the only hardpoint class its looking for it "B_PYLON_NH90", So all my pylons are set to this class, for some i had to override the wight but none work anyway.
Ive also tried scripting the wepaons on to check, they do work.
iev also changed the harpoint class the evhicle looks at to ones these missiles are nativly in, that works (but also rols in a load of other munitions, i wanted a custom selection)
Hi all
I've added artilleryScanner = 1; and availableForSupportTypes[] = {"Artillery"}; to the vehicle I'm controlling via UAV, but I'm still not getting the option to fire using the artillery computer. Does anyone know what might be missing or what I need to adjust to make the artillery system work?
AI fire modes in the weapon config?
Is there anything else must be added to the weapon?
ballisticsComputer = 2; ?
I'll added now then will be try
It seems that the ballistic computer is not compatible with the UAV man.
Am losing my actual mind, or missing a really obvious mistake with this really simple mod?
Getting this error with PBO project:
Processing \Users\seska\Desktop\TEST_BILLBOARD\Addons...
verifying model<scanning files to pack>
.
rapWarning: **********missing file(s)***************
\Users\seska\Desktop\TEST_BILLBOARD\Addons\config.cpp circa Line 28: Texture\test_co.paa
\Users\seska\Desktop\TEST_BILLBOARD\Addons\config.cpp circa Line 29: This setobjecttexture [0,"Texture\test_co.paa"]
rapWarning: **********missing file(s)***************
\Users\seska\Desktop\TEST_BILLBOARD\Addons\config.cpp Rapify:rapWarning: **********missing file(s)***************
.preprocessing files produced an error
failed```
Your filepath (seemingly) doesn't start with an addon path
Whether or not I have the path as TEST_BILLBOARD\Addons\Texture\test_co.paa, Addons\Texture\test_co.paa or Texture\test_co.paa, I get the same error.
Yeah, because none of those are what a path should look like
How should it look?
That depends entirely on your project setup
If you're using something like a main prefix, it'd be
mainprefix\prefix\addons\addonname\path\to\texture
If you're just using a "basic" prefix for each pbo, it'd be like:
prefix\path\to\texture
So if the path is SESKA_BILLBOARD\Addons\Test_Billboard\Texture\test_co.paa, is that how I should reference it in the config?
I'm very new to configs.
The real path alone doesn't tell you everything, what software you're using to package everything matters too
For example, Addon Builder lets you just write anything in the pbo prefix section.
HEMTT, another packing tool, requires you to configure a main prefix (usually specific to a developer / team) and a prefix for the specific mod.
Yeah, it packs with addon builder, but then gives me a missing texture error in-game. Yet if I manually set object texture using the init field in-game, referencing the exact same path as in the config, the texture appears.
Just trying to make a clone wars propaganda billboard and have ended up way in out of my depth lol.
Thank you for trying anyway.
@umbral apex with pboProject, addons must be on a 'P' drive, missions are better employed there but don't have the same restrictions.
SESKA_BILLBOARD
avoid using FULL_UPPER_CASE, they are used for #defines.
which config parameter actually changes a weapon's range?
What range?
Multiple factors are involved on this CfgAmmo timeToLive too
Like POLPOX mentioned, it involves several factors:
In CfgWeapons:
initSpeedin the root of the weapon's class = determines muzzle velocity (m/s). Will override the magazine'sinitSpeedvalue if it isn't set to 0. https://community.bistudio.com/wiki/CfgWeapons_Config_Reference#initSpeed=0- You can use either a multiplier (e.g. Magazine has
initSpeedof 800, Weapon hasinitSpeedmultiplier of 1.5 = 800 * 1.5 = bullets are fired with a muzzle velocity of 1,200 m/s) or a flat number (initSpeedof 800 in the weapon class = bullets are fired with a muzzle velocity of 800 m/s even if the magazine has a higher or lowerinitSpeedvalue).
In CfgMagazines:
initSpeedin the magazine's class (just like in CfgWeapons). However, this value is only used ifinitSpeedis set to 0 in the weapon class or it is multiplied if the weapon classinitSpeeduses a multiplier value. https://community.bistudio.com/wiki/CfgMagazines_Config_Reference#initSpeed=900
In CfgAmmo:
airFrictiondetermines the bullet's air drag. The higher the value, the faster the bullet loses its energy (and therefore the quicker its bullet drop). https://community.bistudio.com/wiki/CfgAmmo_Config_Reference#airFrictiontimeToLiveis another but it determines how long the engine keeps track of the bullet's flight. If the bullet doesn't hit anything before the time expires it simply disappears. https://community.bistudio.com/wiki/CfgAmmo_Config_Reference#timeToLive
Ah yes thanks humanGPT
Super explanation, thank-you.
wow thanks alot! i didnt get the ping for some reason
thrust and thrustTime are also pretty important for missiles and rockets.
Hello, I am currently trying my hand at using #include and hpp files, but it is not working for me. When ever I try and load my mod it gives me an error saying that the hpp can't be found. The error says that the hpp can't be found at the specified path in the config, but the file is definitely there, and the path specified in the config is correct. Any idea what might be wrong?
Read the "Addon Prefix" section here until it makes sense: https://community.bistudio.com/wiki/Arma_3:_Creating_an_Addon
Usually with #include you can use a relative path instead. Depends if you're trying to access a file from another addon.
Got it working, Thank you.
NLAW launcher is not being hidden with this script...
Anyone has an idea why?
A3_Data_F_Decade_Loadorder this should be only loadoder you n eed
Well but should it not work with all the others as well? Ill try in a moment with only Decade Loadorder
Did you check whether your config changes were being applied?
Do the loadorder thing anyway, because that one is an abomination.
XD
I have similar configs for all other ArmA items, and they work without an issue
you dont have these in single config?
Yes
do you test with no other mods on?
Yes
Well only ACE3 - ill try without once
Hm, cant test it since its not hiding in VA 😄
pls tag me with any replies since ill have to go sleep now
you may need to check if ace manipulates it too
or make a test mission with vanilla arsenal
got to rule out any external interference first
Yeah i know 😄
Ill take a look if ACE is adding an NLAW, but the classname is vanilla - ACE usually adds an „ACE“ prefix to the classname as far as i know
https://community.bistudio.com/wiki/Arma_3:_Characters_And_Gear_Encoding_Guide
scopeArsenal = 2; // 2 = class is available in the Virtual Arsenal; 0 = class is unavailable in the Virtual Arsenal.
@bitter osprey
(scopeCurator functions the same way)
Though, that is only listed on the characters, so I'm unsure that it even works for weapons
scopeArsenal is for anything in the arsenal, scopeCurator is for objects
I have also confirmed that scopeArsenal = 0; does work for weapons
I will update the wiki accordingly this evening to include that information
No, 0 is hidden, 1 does nothing
so it seems! 👍
1 is just treated as 0 iirc
I.e. only scopeArsenal >= 2 is shown
I believe this is the case for ACE, but I have not yet tested the effects of 1 for base game
It's definitely the case for ace
it does appear that scopeArsenal = 1; hides the weapon as expected
I'll make sure that gets mentioned as well I suppose
1 is used in vanilla config only once xD
What is the difference/point of scope vs scopeArsenal when it comes to weapons, anyway?
Is there any harm in just using scope = 1;?
I do see that I seem to have generally misread the issue presented, though. Obviously something specific to the NLAW if it's the only one not functioning as expected
No
scopeCurator can be useful for making certain things not available in Zeus (or only available in Zeus), but scopeArsenal doesn't really need to be there
Just doesn't make sense to use scopeCurator or scopeArsenal for weapons
when all scope = 1; does is hide it from the arsenal anyway
I am aware of this, that was kind of my point
there's no reason to use either (in CfgWeapons)
ScopeCurator can be useful, like for the vanilla carrier, which is several objects combined together
That's hidden in Zeus for some technical reasons, been a bit since I messed with superstructures
I think I understand where the communication breakdown here is
I am not talking about anything other than CfgWeapons
Ah gotcha
I think also my discord is cropping messages, it's a mobile bug
I guess you could use scoweArsenal to make something show in only either the ace or vanilla arsenal?
Seems niche though
And also there's a specific config property for hiding from the ace arsenal
So i try to hide the NLAW with = 0?? Does this work?
Odds are this will not change your situation
unfortunately
You can use https://community.bistudio.com/wiki/configSourceAddonList to find out what addons are writing to that class
it may help you determine if one of them is overwriting your change
You should also use the config viewer to verify that your change is or isn't appearing on the class
Alr 🙂 ill try that today in the evening
Anyone have a weapon.cfg they can send me? Working on a new weapon and not sure where to start with it
What is weapon.cfg
Sample weapon in the Arma3 samples can be used as reference for learning.
edited configs for brighter flares, took a while but now just simple value adjustments
And extra fun if you fire them on the ground right in front of another player
Hey guys, can you tell me why my custom attributes don't show up in the editor ?
Try with replace (just for test) your
expression = "systemChat format ['%1, %2', _this, _value]";
and values
class values
{
class 1
{
name="Flecktarn";
value="'value 1'";
picture="\TF11_vests\data\Preview\preview_fleck.paa";
};
Because it get bugged when you are trying use code in _value.
and call that in expression.
It will call expression = "_value", <- defaultValue ,
But it doenst show your other "values".
you could look up A3 config ->
class Attributes
{
class ObjectTextureCustom0
{
displayName = "$STR_3den_object_attribute_objecttexturecustom0_displayname";
tooltip = "$STR_3den_object_attribute_objecttexturecustom_tooltip";
property = "ObjectTextureCustom0";
control = "Edit";
expression = "_this setObjectTextureGlobal [0,_value]";
defaultValue = "getObjectTextures _this select 0";
};
};
Or something similar.
I (not sure) assume that you cannot use your workaround to set selected textures.
i am very much so completely new so i might need a certain amount of handholding, i am looking to make my first config edit, however, i'm lost on the arma specific processes, namely how to go about it, what tools do i need, what and should i make a P: Drive, etc...
To be more specific, my main goal right now is to make a balance change to a existing backpack from a existing mod
You don't strictly need a P drive for a config patch. There are no good starter tools, but the Addon Builder UI in A3 tools is workable for a simple config patch mod.
Latest update broke Frozen VR/Desert VR any other map based on VR because footsteps were changed
I'm attempting to change sounds back... can't seem to get this to work
I'm attempting to overwrite CfgVehicles > CAManBase > SoundEnvironExt > virtual[], rn VR footsteps sound terrible
class CfgPatches
{
class VrFootstepFix
{
author="";
name="";
url="";
requiredAddons[]={"A3_Sounds_F"};
requiredVersion=0.1;
units[]={};
weapons[]={};
};
};
class CfgVehicles
{
class Man;
class CAManBase: Man
{
class SoundEnvironExt
{
virtual[]=
{
{
"run",
{
"soundset",
"footsteps_dirt_run_SoundSet"
}
},
{
"walk",
{
"soundset",
"footsteps_dirt_walk_SoundSet"
}
},
{
"sprint",
{
"soundset",
"footsteps_dirt_sprint_SoundSet"
}
},
{
"tactical",
{
"soundset",
"footsteps_dirt_tactical_SoundSet"
}
},
{
"crawl",
{
"soundset",
"footsteps_dirt_crawl_SoundSet"
}
}
};
};
};
};
mayhaps these maps were configured wrong the first place if they can not adapt
(which is the case of most maps Im afraid)
That was my thought as well, but I'm attempting this in Vanilla, It was broken by the latest update
https://feedback.bistudio.com/T180485
Surely, there's a way to revert the changes, I even attempted modifying the test ~~mission ~~ MOD on the feedback thread, no joy
I dont think it can be done on mission level
needs to be a mod
but reverting isnt really good idea. better would be fixing the stuff thats broken so things work with the changes
yep, config I posted was for an addon patch...
can't change footsteps per map either because vr footsteps were tweaked for CAManBase, and not matter surface type footsteps are the same in VR
Desert/Frozen VR maps were configured correctly with the correct surface types as well, I double checked
I see why you thought It was for mission, I misspoke, fixed
what surface types do those maps use?
if those changes dont apply in game my guess is that the cfgPatches of those maps dont load after latest updates so it does not change the soundEnviron type
Might be so, but surely even without loading the maps, patch should be possible to replace the current footstep sounds
I'm sure I made a mistake in my config, I just can't see where
This single subclass is the problem CfgVehicles > CAManBase > SoundEnvironExt > virtual[]
for brevity, at this point I'm testing on vanilla (with the patch mod) with nothing loaded to find a solution
ah
you dont have cfgPatches required addons done right either
so your mod loads at some point and probably before vanilla
you need the latest loadorder class listed in required addons
A3_Data_F_Decade_Loadorder
All In One config dump for 2.18
https://www.dropbox.com/scl/fi/0ev7wwmu4671dr2z6e8wx/All_In_One_config_A3-2.18.7z?rlkey=zic5ri3sro16pty04oewql3q9&st=9tpf9r5x&dl=0
That solved it, appreciate your time, thank you 🍻
yup, applying fix to maps directly, seems to work 😃
what config value determines how much speed a plane will lose when turning on the ground? my plane seems to lose way too much speed when I'm turning while moving on the ground, I can only make very small turns, otherwise it loses all speed
is it something in the wheel config?
class Wheel, dampingRate?
is that what it does? so should I try setting the values higher?
higher dampingRate = slower
That's what it is for a car, haven't double checked if it's applicable for plane on ground
what the hell, I just noticed that it's different for different sides, if I turn right, I lose all speed pretty quickly, if I turn left, I lose some speed but not all
dampingRate seemed to only affect the left turning
Assuming you have a tricycle undercarriage with nose wheel steering, check the wheel configs to make sure only the nose wheel has steering set, damping rates are low, CofG is balanced (around wing root area), and weight properly distributed on gear (sprungWeight).
what is cofg?
Any help with getting custom mine configs to work? When I point my magazines and 3DEN-placable objects to the vanilla AT Mine Range Ammo, they work fine, but when I point them to my custom ammo, they don't place, and 3DEN-placable versions straight up break the entire game. I based the configs after a satchel charge equivilant of the same functionality, which I confirmed still work just fine. I thouight it may have been a trigger or model issue at first, but when commenting those out, the issue persisted. I also tried commenting everything else out (including my custom eventhandler) but the issue still persists with the config shown below. The only way it differs from the vanilla AT mine (which works when the magazines point there instead) is just the author parameter, so I'm really at a loss.
oh you mean center of gravity
yeah the center of gravity seems to be set properly as you said
Can you post your class Wheels and what total mass in Geo LOD is?
{
class Fwheel
{
boneName = "Fwheel";
steering = 1;
side = "left";
center = "Fwheel_center";
boundary = "f prach";
width = 0.4;
mass = 20;
MOI = 1;
dampingRate = 0.1;
dampingRateDamaged = 1;
dampingRateDestroyed = 1000;
maxBrakeTorque = 0;
maxHandBrakeTorque = 0;
suspTravelDirection[] = { 0, -1, 0 };
suspForceAppPointOffset = "Fwheel_center";
tireForceAppPointOffset = "Fwheel_center";
maxCompression = 0.3;
maxDroop = 0.3;
sprungMass = 750;
springStrength = 150000;
springDamperRate = 30000;
longitudinalStiffnessPerUnitGravity = 300;
latStiffX = 3;
latStiffY = 20.0;
frictionVsSlipGraph[] = { { 0, 1 },{ 0.5, 1 },{ 1,1 } };
};
class Rwheel : Fwheel
{
steering = 0;
boneName = "Rwheel";
center = "Rwheel_center";
boundary = "pravy prach";
maxBrakeTorque = 1500;
sprungMass = 1675;
springStrength = 335000;
springDamperRate = 67000;
longitudinalStiffnessPerUnitGravity = 500;
suspForceAppPointOffset = "Rwheel_center";
tireForceAppPointOffset = "Rwheel_center";
};
class Lwheel : Rwheel
{
boneName = "Lwheel";
side = "right";
center = "Lwheel_center";
boundary = "levy prach";
suspForceAppPointOffset = "Lwheel_center";
tireForceAppPointOffset = "Lwheel_center";
};
};``` in the geo lod mass is set to 3350
the wiki seems to say that the sprungMass of all wheels should add up to the total vehicle mass, but the plane from the samples doesn't do that
in that, the left and right wheel mass adds up to the total and then the front wheel is over that
actually with all the tweaking I tried, I actually made the handling worse, I somehow added extra random drift to one side and the plane doesn't seem to want to stop, this earlier config was working better class Wheels { class Fwheel { boneName = "Fwheel"; steering = 1; side = "left"; center = "Fwheel_center"; boundary = "f prach"; width = 0.4; mass = 20; MOI = 0.4; dampingRate = 0.1; dampingRateDamaged = 1; dampingRateDestroyed = 1000; maxBrakeTorque = 0; maxHandBrakeTorque = 0; suspTravelDirection[] = { 0, -1, 0 }; suspForceAppPointOffset = "Fwheel_center"; tireForceAppPointOffset = "Fwheel_center"; maxCompression = 0.3; maxDroop = 0.3; sprungMass = 1500; springStrength = 150000; springDamperRate = 30000; longitudinalStiffnessPerUnitGravity = 300; latStiffX = 3; latStiffY = 20.0; frictionVsSlipGraph[] = { { 0, 1 },{ 0.5, 1 },{ 1,1 } }; }; class Rwheel : Fwheel { steering = 0; boneName = "Rwheel"; center = "Rwheel_center"; boundary = "pravy prach"; mass = 35; MOI = 1.575; width = 0.6; maxBrakeTorque = 1500; maxCompression = 0.3; maxDroop = 0.3; sprungMass = 3350; springStrength = 335000; springDamperRate = 67000; longitudinalStiffnessPerUnitGravity = 500; suspForceAppPointOffset = "Rwheel_center"; tireForceAppPointOffset = "Rwheel_center"; }; class Lwheel : Rwheel { boneName = "Lwheel"; side = "right"; center = "Lwheel_center"; boundary = "levy prach"; suspForceAppPointOffset = "Lwheel_center"; tireForceAppPointOffset = "Lwheel_center"; }; };
sprungMass totals should equal Geo LOD mass. I normally put about 20-25% on the front wheel and 75-80% on the mains (/2).
MOI for front wheel might be better at 0.5.
springStrength might be better at 25x sprungMass, so much much lower than you currently have.
longitudinalStiffnessPerUnitGravity could be around 1000.
maxCompression and maxDroop - did you remember to match the cosmetic (model.cfg) animation of the suspension movement, using axis_length x offset? (many people ignore the axis_length as being relevant)
I tweaked sprungMass, front wheel MOI, springStrength and longitudinalStiffnessPerUnitGravity and it seemed to help the turning, turning left I don't seem to lose any speed, turning right I lose it very very slowly to a point where it's not really an issue
but some other issues have appeared now, the plane won't start moving until I put the throttle up to like 30% and now it seems to drift slightly to the left when going straight forward
and sometimes it seems to keep going even with the throttle at zero, it will just keep going forward at like 17 km/h, but sometimes that won't happen
it seems like if I only accelerate to a small speed and then set throttle to 0, it will just keep going but if I'm going at a faster speed and then lower throttle to 0, it will stop properly
tweaking the geometry center of gravity actually seems to be getting me better results, I can probably fix the weirdness by just getting the center right
Not at pc now to offer detailed next steps but getting CiofG right is important.
Slow to start moving is often MOI too high.
Physx LOD may need some checking.
Does the front wheel animate same amount to both directions? And is it center
okay so adjusting the center helped with some issues, but it's still not helping me fix the drifting, I figured it might be slightly off-center, but moving it slightly to one side didn't fix the drifting, it only added additional drifting in the opposite direction, so the plane would first drift right and then at a certain speed would start drifting left, I assume the issue lies elsewhere then
Wheel mem points and physx
by physx do you mean the geometry phys lod?
that doesn't have a center of mass, so would the issue there be with the actual shape of the components?
I moved the memory points for all the wheels to be perfectly centered and now I have the same kind of drift, but to the right instead of left
huh, I moved the front wheel memory points slightly to one side and now I have the left drift again, I might need to tweak those just right
center points directly over rim points
wheel tyres on 0,0 at aircraft-on-ground compression
Geometry LOD
Geo Phys LOD - note no wheels
Land Contact - note selection naming
Skeleton - fairly complex as we have a detailed animated undercarriage, but basically
gear_x ---> gear_x_damper ---> wheel_x
in my case it does seem to be just due to the placement of the front wheel memory points, I'm just tweaking them and seeing the result, now I'm at a point where if I move the memory points by 0..0001 one way, it drifts to the left, if I move them the other way, it drifts to the right
Something else is wrong then
Currently working solution: add _ammo to the end of the ammo classname. Probably had an issue where I used the same classname for the magazine, ammo, and ground holder.
Hello, So i am getting strange bug with my mod that seems to be ab time that is crashing when you spawn a specific unofrm, that i made
so the only thing i could thing was its a item
Nothing can really be told without actual error message and actual config etc
not sure wat the best channel for this is, but does anyone know wat error 22 is for:
O:\Arma3CommunityTools\CfgConvertFileChng\CfgConvertFileChange.exe returned error 22: Invalid argument
Invalid argument
quick question about cmimmunity
it is "per one flare", so if a heli drops 20 of then in a burts, that is cmummunity chance 20 times right?
So if I fire 10 flares, it would be 0.8^10 chance the missile will hold lock, right?
Independent probability so it's just 0.8 rolled 10 times
Module "GW_Core" isn't being found when starting ArmA. Packs fine not sure where to go
class CfgPatches {
class ADDON {
author = "GuzzenVonlidl";
name = "GW - Common Component";
url = "https://github.com/GuzzenVonLidl/";
units[] = {};
weapons[] = {};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {
"GW_Core"
};
version = VERSION;
authors[] = {"GuzzenVonlidl"};
};
};
Core has a seperate CfgPatches in a sibling folder
Are you getting a <blank> requires GW_core warning?
I'm getting a GW_Common requires GW_Core warning
Then ADDON isn't defined when you use it
Though it works for other modules, just not this one. No differences
They all import script_component.hpp files
Is your repo public?
I believe it is
https://github.com/oksmantv/GOL_Addon
Could also just launch the game and check CfgPatches to see what it's expanding to
Inside the Config Viewer?
I've got next to no experience in c++ so this is a nightmare
Yeah, no sign of a GW_Core
I guess rapify is jumping over the error and packing it anyway
There's no error, ADDON would be a perfectly fine class name
ADDON doesn't seem to be defined anywhere in the repo as far as I can see
Just add a #define ADDON DOUBLES(gw,COMPONENT) in the script_mod.hpp
That should be enough
I'll give it a try 👍
\x\gw\addons\core\config.cpp Rapify:Rap: In File \x\gw\addons\core\config.cpp: circa Line 3 Expected class {
When moving the #include 'script_component.hpp' to the top of the file for VERSION to be defined. It can't find a cfgPatches
Fixed it, all well and working. Cheers
Is there any ammo config parameter besides timeToLive which can make an ammo explode before hitting its target? I have a missile with 32 km range, and if I fire them from beyond about 16 km, they will explode mid-flight before hitting their target.
They inherit from the Kh-58, so their timeToLive is 40, which should be more than enough (if I launch at 30 km to target and fly at 1 km/s, the missiles hit in under 30 seconds since they are faster than my plane).
I've set the maxControlRange to 32 km to match the missileLockMaxDistance, too.
G'day all, working on my Merkava mod, ive currently got the 60mm mortar in the turrets compartment controlled by the gunner.
Is there a specific line of config i can add or change to stop the launcher from following the elevation of the barrel?
Its attached to the turret in the .cfg so it follows left and right, but i want the distance to be controlled with page up & down, rather than the gunner looking up and down,
Anyone here can point out why "launch_NLAW_F is not hidden in the Arsenal? Taking a look at the config viewer it is still "scopeArsenal = 2"
Is the change working for the RPG32?
any other loaded mods?
Yes
no - all is hidden but not the NLAW
viewed config viewer and only NLAW still has "scopeArsenal = 2"
ADT?
Advanced Developer Tools https://steamcommunity.com/sharedfiles/filedetails/?id=2369477168
Vanilla config viewer is intolerable :P
If you're really running vanilla then the only explanation I can think of is that you have some other config in your mod that also modifies the NLAW.
No, its just this cpp - very weird... no DLC and no mods - but i guess then config viewer showed something bad?
I doubt it.
Is it possible to have my own section in Modules for sound files instead of the normal Play Sound module?
yo bros how do you use #include that compiles existing classes into the current config.cpp
for example :
- my config cpp already has class cfgweapons
- i add a separate .hpp file that has a cfgweapons class containing a different weapon
- i want to include the cfgweapons class from the hpp into the main config cpp
#include does only a dumb copy and paste. Which means, will be replaced without any excuse. So nothing is different. Just don't overthink
well since its a dumb copy paste then there will be 2 cfgweaponsclass in the config cpp
first is the cfgweapons from the hpp, the second is the one existing in the config cpp
class CfgWeapons
{
#include "yourweapon.hpp"
};```And in `yourweapon.hpp` ```cpp
class MyWeapon {};```
This is a valid config
You can have multiple hpps
this only works for 1 main class
There really is no big reason to have only ONE hpp
i've seen mods do many classes in 1 hpp
yeah but its easier for me
It doesn't matter, because it doesn't matter. It is, in fact, and once again, just doing a dumb copy and paste
well it doesnt work in my case cause the cfgweapons in the configcpp wasnt read, and it instead only read the cfgweapons from the hpp
when i use include
Then your syntax is somewhat broken is the best resort to wonder what's wrong with it
class CfgWeapons
{
#include "yourweapon.hpp"
};
class CfgMagazines
{
#include "yourmagazine.hpp"
};```This is a valid config even. Or if you want,```cpp
#include "yourentireconifg.hpp"```is even a valid config
Because, it is just doing a dumb copy and paste without excuse or error check
It is simple as that. Don't overthink
no thats not waht i mean
Then what is
wait i'll write the config
config cpp
#include "mynewweapon.hpp"
class CfgWeapons
{
ABC
};
class CfgMagazines
{
DEF
};
mynewweapon.hpp
class CfgWeapons
{
123
};
class CfgMagazines
{
456
};
When packed, the cfgs from config cpp is wiped, only the ones from mynewweapon.hpp remains
because you can't have multiple of the same class in a single config.cpp 🤷♂️
yeah but ive soon mods do that in their folder structure
so thats what i want to know
You are misremembering something then
^
This never can be a valid config
multiple config.cpps per folder, probably? as in: one cpp per folder, multiple folders per pbo
um yeah they have that
yeah thats how its setup
how does that work
We don't know how it does work without seeing what it is
isnt most mods setup like this?
You need to tell us what exactly is happening. What you told us so far doesn't really make sense
well, how can you have multiple config.cpps in one pbo
one cpp per folder, multiple folders per pbo
ok well thats still multiple config cpps in 1 pbo
how does it connect together
https://community.bistudio.com/wiki/Config.cpp/bin_File_Format#Many_configs,_same_pbo
Any folder within the pbo containing a config.cpp/bin (and cfgpatches class) is automatically an addon in it is own right.
Now this is the explanation i'm looking for!
so the only rule to follow is that you can have multiple config cpps as long as theyre in separate folders yeah?
Yes. As Windows doesn't allow you to have files with the same name, vice versa is a thing too
fantastic this makes thing s WHOLE lot easier, as i dont have to connect all the configs for each weapon with each other 
what about the cfgpatches for each cpp tho, do they need to be different
Yes. Nothing is also different here too
what u mean by vice versa
If they're in different folder, you can have same name
ok so you can have multiple config cpps with same cfgpatches? as long as different location?
No. Different config.cpp does mean different config.cpp sitll
i mean, there's addonRootClass https://community.bistudio.com/wiki/CfgPatches#Sub-folders 
so in folder 1 config cpp i have
class CfgPatches
{
class mymod
{
author = "someone";
units[]={};
weapons[]={};
requiredaddons[]={"A3_Data_F_Oldman_Loadorder"};
};
};
in folder 2 cgfpatches can be same or no?
Well, again, it can't have same name
ooo ok i see so they're treated as a different addon, but simply located within same pbo
Which means nothing is really different. They're working on the same principle
ok so it works the same, just the setup is different (instead of 1 pbo for 1 addon, we have 1 pbo for multiple addons)
To make configuration of meta data simpler, you can simply create a link to the root class instead of defining name, author and url again. A good practice is to have all configs withing one PBO to use the same meta data.
What is this meta data
name, author and url
oooooo ok
but these still needs to be defined individually?
requiredVersion = 1.60;
requiredAddons[] = { "MyAddon" };
units[] = {};
weapons[] = {};
On a side note; you should use The decade load order.
fr i grabbed that one from an old mod
thanks
Thank you polpox, artemoz, r3vo 
each and every cpp is the beginning of an addon. multiple config/cpps mean multiple addons, all with their own cfgpatches, all with unique addon names , all in the same pbo
Nice thank you that explains the whole concept to me 👍
Is there a downside to this setup compared to doing 1 cpp for 1 pbo and using #include instead
#include does not come into this. As others have mentioned,, ALL of them are copy pasted into their relevant config.cpp. The truth of the matter is tjey are an elegant solution to enormous walls of text in cpp if not used. Below is a typical setup that the pros in here generally use. It is entirely, totally, your choice how to use them.
config.cpp
#inc;ude "CfgVehicles.A"
#include "CfgWeaons.B"
#include "CfgMagazines.apples"
#include "CfgAmmo.hpp"
#include cfgFactions.hpp"
#include "elephanntts.Zimbabwe"
two things to note:
*every single addon in your pbo can have the exact same names above in ALL of them because files themsevelves are relative to THE config.cpp, not the pbo.
*#include "AliceInWonderland.txt"
is totally valid. 'hpp' is merely a convention
ah I’ve always forgotten to include elephanntts.Zimbabwe
does using HPPs and includes have any impact on performance?
No it's all compiled on startup.
splendid
is there a good place to find out how mortars work?
i'm adding a 120mm mortar for a big mod i'm helping on
all shots Smoke,Flare,HE 120mm(custom made) all miss their target by a couple hundred meters
the custom HE 120mm ammo has a ridiculous big area to shoot from (compared to smoke and flare that are both vanilla)
Question 1. Which parts of the config adjust the mortar precision
Question 2. how do i adjust the range of the ammunition
Is it possible to attach some sort of light to a unit type via config/rvmat/(if needed) eventhandler? I have a unit which is supposed to "glow" through using the VR Entity uniform with some rvmat tweaks, but currently just the unit itself is lit up and nothing around it is.
No, emissivity is just for the model/material
You'd need to script it and just create a light source
before i script this, i want to make it so the player has to hold the fire key for 1 second before a missile launches, is this possible
Is this an SQF question?
no im asking if i can config this before scripting it
Config doesn't do it. SQF can
like you have to hold the trigger for 1 second before it fires
damn, thanks
just had to check
see: configFile >> "CfgWeapons" >> "cannon_railgun_fake" >> "EventHandlers"
BIS_fnc_RailGun_01_chargingStart in fired
(used in T-100X)
Could someone point me in the direction of where to alter the sound of a vehicles tires on terrain? Currently the vehicle has no third person sounds, only first person noises.
is it inside of here?
class cfgvehicles {
class vehicle: base {
class Sounds {
//here?
};
};
};
hey all, im trying to rename items from a couple mods.
ive got pretty much everything worked out except for the cfgweapons classes.
Im not sure how i should be structuring it to actually rename an item rather than make one.
For instance i am trying to rename the ACE Epinephrine autoinjector to Adrenaline,
displayName = "Adrenaline Pen";
};
If anyone could tell me how stupid i am that would be great.
in my patches for this im only mentioning "ace_medical_tretement" do i need to mention "ace_main" aswell?
only the addon name where Ace_ItemCore exists.
No, ace_medical_treatment (as well as every ace addon) requires ace_main. Medical treatment will be fine
Im not sure how i should be structuring it to actually rename an item rather than make one.
There's not anything different between making or editing with the actual class itself. The only difference is that you need to put where the class you're editing is originally defined in yourrequiredAddons
So if i was to structure it as
class PUGSTHING {
name = "Pug's THING";
author = "pug";
requiredVersion = 1.76;
requiredAddons[] = {"ace_main","ace_medical_treatment"};
units[] = {};
weapons[] = {};
};
};
class CfgWeapons {
class ACE_epinephrine: ACE_ItemCore {
displayName = "Adrenaline Pen";
};
};```
That would be correct? unless im missing something.
That should be fine yeah
thank you very much
Oh well you're missing a reference to ACE_ItemCore
Should be:
class CfgWeapons {
class ACE_ItemCore;
class ACE_epinephrine: ACE_ItemCore {
displayName = "Adrenaline Pen";
};
};
ahhhhh i get you, i would have thought ace_itemcore would have already been referenced in the ace mod, but i have to reference it again in mine.
You always have to reference classes you inherit from
👍
@mighty horizondon't use FULL_IPPER_CASE. It is reserved for #defines. Ignore this advice and regret it later.
so im looking into this, and im missing something, the railgun the player shoots is labeled fake, which triggeres all the funcs, but its a configed, gun shooting ammo that should do damage, i dont see were the round is stopped from the fake
oh nvm, its the submunition deployment deleting it
Hello, the co-pilot of the C-1A trader from NightIntruder which I'm porting to a3 starts with a zoomed in view. Any advice on how to change that? The turret definition is here: http://pastebin.com/Me4asXZ7
Probably want to check how the T-100X railgun works
Is there any documentation on the
class ReplaceObjects{};
class that can be found within many world configs?
if that is the exact syntax you've found, it removes all content from that class.
More of the fact that the class exists in a bunch of terrains, but the class is empty
I'm wondering what it even does
it does not, this simply "patches nothing" on a class, if it had no parent class originaly it would do nothing.
I think they mean it in the context of within another class.
I.e.
class a {
class ReplaceObjects { ... };
};
class b: a {
class ReplaceObjects {};
};
Rather than a root class
context is relevant, even your b example can do nothing if there's same class layout with some props in different pbo.
so, it depends. Anyways that was not a question of brendo.
looks like an OFP remnant to me, was supposed to allow replacement of models on a map via config, eg:
class CfgWorlds {
class CAWorld;
class Stratis: CAWorld {
class ReplaceObjects {
class my_ficusb1s_to_ficusc2d {
replace = "a3\plants_f\tree\t_ficusb1s_f.p3d";
with[] = {
"a3\plants_f\bush\b_ficusc2d_f.p3d"
};
center = 1;
};
};
};
};
Non functional. Or maybe works only in a bulldozer.
isnt that the old thing thats used for the christmas tree easter egg
Already went to bed, if it's, Livonia should have it set. But I thought it's done in p3ds these days.
replace dont seem to exist in all in one config dump at least
maybe i cant remember tbh
I checked Livonia's config specifically when seeing if anything was defined in vanilla terrains.
I bet this might be able be used to modernize older terrains made before Enoch/WS/other terrains with updated versions of old assets came out (if it still works in regular builds of Arma)
of course im about to hit the sack right now too
Unless it's turrets of course. Then that removes the turret because...BI reasons. 
initFOV is lower then min FOV ... not by much though, not sure if thats what you need
hmm, weird, I set initFOV to maxFOV now, when I enter it starts zoomed out for a split second and then zooms in
As far as I can see, that code is still in, and functional in current game version.
Please, do the section names from model.cfg need to correspond to the vertex group names of the HitPoints LOD or the FireGeometry LOD? Or both at the same time?
Looking at the sample tank:
It seems that "motor" is the name for the model.cfg selection of the engine, and this name is also used for the vertex groups of both HitPoints and FireGeometry LODs, while also being the "name" entry in cfgVehicles HitEngine class.
But then I look at "telo", which is the "name" of the HitHull entry in cfgVehicles, but in the model.cfg such a selection does not exist. Nor does such a vertex group exist in the FireGeometry LOD. It only exists in the HitPoints LOD.
The selections for tracks exist everywhere except the FireGeometry LOD.
What gives? Where should I have these sections and selections set up exactly to make class HitPoints work?
hitpoints need only the named points in the hitpoints lod
and a piece of hit geometry to collide with
sections[] in model.cfg are for parts of the model which change texture or material
In the case of damage, the class Hitpoints includes a visual = parameter, which identifies the mesh selection to change when that part is damaged, and it is this selection which needs to go into 'sections'
👍
The visual selection is usually only in the res LOD's.
hitpoints can also connect to animations
ah I see, cheers
taking a gander at CfgMainMenuSpotlight, I'm not sure I understand how to connect the action button to my own mission file
action = "ctrlactivate ((ctrlparent (_this select 0)) displayctrl 149);";```
im not sure how i should navigate it
it doesnt work at all? when i press on the button nothing shows up
action = "playMission ["","ptni_missions\showcases\Indonesian%20Army%20Showcase.Stratis";]";```
Yeah, because made the string wrong
Looking at it with syntax highlighting makes it more obvious
Just use ' when you need quotes inside of a string
You also have a semicolon in an array
action = "playMission ['', 'ptni_missions\showcases\Indonesian%20Army%20Showcase.Stratis']";
got it thanks, had to put a slash before ptni_missions first though
gib proper config then 🙏 as mine does not seem to have any effect
Yours looked about right
Maybe it's not compatible with streaming.
I think it does a replace once. So if it's streamed out, and loaded back from disk. It would get he original again. Maybe that
Sorry for bothering again chief, but is the Sample tank aligned with the HP rules present on the wiki?
Because on the wiki there seemingly are armour components "around" the HP + FG of the module, with free space in between, but when looking at the sample tank, both the HP and FG of the module are "swallowed" inside one single big armour component.
Like, there is this highlighted Component29, inside of which the HP + FG are present. But based on reading the wiki, my assumption was that the HP + FG of the module should be "surrounded" by multiple armour components that in no way touch the HP + FG of the module.
This is what I imagined when reading the wiki
both work if set up with correct kind of armor penetration rvmat
an encompassing blob might have been set up to have plate armor rvmat
and one built from blocks could use plain armor rvmat which then takes the thickness of each component into the calculation
so technically the center of the blob is "empty" in this case, and the armor plates are only along the "outside faces" of the blob?
yes
Ah, thanks for clearing it up
I prefer the separate components
Yeah it sounds more convenient since I can define the thickness myself more easily
I'd say the tank sample is not best practise and would recommend making hollow hull FG, then putting other components such as fuel tanks and crew compartments inside the space.
will do, cheers
@nimble sequoia You prefer to use the armor components too instead of plain hitpoints right?
100%, massive improvement using that method
Example FG for an APC showing hollow interior (top hatch hidden) and internal components with their own hitpoint classes. Massively simplifies the HP lod, as you only effectively need a single hitpoint for each of those components to deal with the indirect hit damage.
Sorry, but what is the unit used in the radius? Meters? So this one is 20 centimeters?
Yes, but because we are using armorComponent Fire Geo, the hitpoint is only used for indirect hit damage, in which case the radius doesn't matter.
ah I don´t have the armorComponent thing included yet
we found that it makes far more consistent damaging
I am trying to work off of the wiki to try and understand the basics first 
If you chose to use the older Fire Geo / hitpoint spheres, you'll need to add lots of hitpoints to encompass the area - it's a real pain and quite inconsistent as HG says
Look up the Tanks DLC new armor damage info
So in this case you simply use a single named FG selection in its place, right?
I will, thanks
Yes, and generally a single HP point.
Only "exception" is hitpoints for the hull, which I place around the outsides
Can be as simple as this
I see, interesting. Does the single vertex have any actual function? Or it is simply "there"?
It's used to receive the indirect damage. I usually put it in the centre of the specific area.
Ah right, okay, thanks a lot, I will look into it 🙂
Hm, after switching from the old way to the new one I seemingly can´t damage the selection anymore with rifles, even though my minimalHit is comically low. I have kept the iron_cast.rvmat on the FG component, but perhaps this is wrong?
The selection still gets destroyed by explosives.
I guess I need to use a thin plate material for a vulnerable internal component?
You might want to try the armor plates of differing thicknesses, depending on what it is you are modelling.
Going through an Alive faction I made and refactoring it to be less maddening. I'm getting the following errors with a few specific classes when I place them down in the editor (the errors don't seem to affect anything at all but still) and I can't see what the issue is.
example of a problematic unit class, versus one that doesn't cause any errors:
what you can do is swap each entry one by one to see which one fixes the error
then focus on that one
that makes sense
i can second this method armorComponents are much better both for the end user and the poor soul setting up the model
Need some help here not sure what i'm doing wrong. I'll respond when i'm awake
Issue is: values are changing but no effect in game. Rounds aren’t showing up
Post your issue
- Why, just post it when you can respond. You didn't even put what issue you have
- Your
unitsarray in CfgPatches is a display name, not a class name. 22Rnd_3BM15_APFSDS, is that a new class you're creating? If so, give it a prefix to make it more identifiable. Also class names just generally shouldn't start with numbers.- There is no
ammoproperty in CfgPatches classes. - There is no
displayNameproperty in CfgAmmo classes. - Just use the loadorder addons for vanilla content, i.e. use
A3_Data_F_Decade_Loadorderinstead ofA3_Weapons_Fin yourrequiredAddons - Your CfgPatches class is also missing a prefix.
he's using full upper casz as well.
and someone told me units[]= weapons in dayz are not used. This is probablly true because they were only used in mission.sqms
one of the mods my community uses disables spotlight.
Im trying to setup a join server spotlight.
How would i reenable the spotlight so my custom one actually shows?
plz ping me if anyone responds to this.
Maybe unload the Mod that is doing it
i have pitched that idea, but they said no, hence me asking if anyone knows a way to reenable it
This is the mod https://steamcommunity.com/sharedfiles/filedetails/?id=366425329
wave
Weapon refuses to make shot sounds
Before I put custom ones in, they still didn't work
I haven't set up anything except the minimum in the weapon muzzle, if that's the problem
sorry for not putting up my issue forgot about it. thanks for the help
are there any guides for creating custom faces and such?
Config wise? You can check vanilla config
moreso mean generally - how to do texture edits for it and such
figured here is the best place to ask as doesnt really fit #arma3_model nor #arma3_texture
class CfgFaces {
class Default;
class Man_A3: Default {
class baseHead; // class you want to inherit from
class TAG_someFace: baseHead {
displayName = "Face"; // Might just be "name", can't check
material = "\path\to\material.rvmat";
texture = "\path\to\texture_co.paa";
};
};
};
Just that should be enough
I haven't touched faces in a bit though
tyvm
You can customize wounded materials/textures too, but probably not needed if you're not doing like a new model
tryna mess with the eyes
Dr. Who type stuff?
it is now
Some things never change 