#arma3_config

1 messages · Page 36 of 1

hard chasm
#

you can be 100 % certain its duplicated. reason being the shadow lod is created by binarize in your case you supply it too (and shouldn't)

lethal shuttle
#

your saying i should delete the shadow LOD?

hard chasm
#

yes

#

after cruncching elitness will show you a shadowlod from binarze.

lethal shuttle
#

wouldnt that mean that shadows wouldnt appear on my object?>

hard chasm
#

how do you leap to that comment when it's created for you?

lethal shuttle
#

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

hard chasm
#

temporari;y remove THE statement out of your config,cpp to see if that is the cause.

lethal shuttle
#

well first i have to find the statement first

#

on whats causing it\

#

eliteness says no errros when i use lint feature

hard chasm
#

according to you it's
weapons[] = {"PTNI_SS2_V2", "PTNI_Pistol_01_F", "Throw", "Put"};

lethal shuttle
#

yes, which is the ptni_ss2_v2 one

#

thats the one causing errors

hard chasm
#

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.

lethal shuttle
#

It can be cause by the p3d too?

hard chasm
#

it would be easy for you to change it.

lethal shuttle
#

😭

hearty sandal
#

this lod shadow resolution seems to be wrong shadowlod type if I remember right 🤔

lethal shuttle
#

bruh honestly, if its not gameplay breaking, im fine with it, i can just tell people who subscribe about the error message

hearty sandal
#

"good well working mod" vs "well it works mod"

dreamy granite
#

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?

hearty sandal
#

no the unit its connected to when worn

#

look up the character encoding guide on the wiki

dreamy granite
#

I understand that I require the CFG vehicle

#

Class Vehicle*

hearty sandal
#

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

dreamy granite
#

awesome thank you\

#

eye strain is real at this point, configing and dyslexia is no bueno

hearty sandal
#

🙏

dreamy granite
#

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

hearty sandal
#

you need to list the unit in the units array i believe

#

in cfgPatches

dreamy granite
#

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

hearty sandal
#

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

dreamy granite
#

So it's whatever the base is?

hearty sandal
#

whatever ther base is from

#

the cfgPatches classname of the config you source from

dreamy granite
#

gotcha

hearty sandal
#

or a loadorder class like what Arma has that encompasses all vanilla data

dreamy granite
#

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

hearty sandal
#

units array and scopeArsenal =2 ans scpoeCurator=2 should be the requirements

dreamy granite
#

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

dreamy granite
#

I can see it in the arsenal now but it wont load the model or the texture now, progress

dreamy granite
#

I feel like if it can pull the uniform it would be set

hearty sandal
#

you dont need to define the model path if you are inheriting from exisitng class and it is already defined there

dreamy granite
#

okay I'll give that a shot

hearty sandal
#

and these connect here

hearty sandal
dreamy granite
#

they need to match?

#

GOT IT!

#

Thank you for the help @hearty sandal

brave sentinel
#

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)

slow cypress
#

anyone know what this is supposed to mean?

wintry tartan
#

The PBO is somehow badly made and you can't run it

slow cypress
#

interesting

#

ill take a look at it

#

thank you

wintry tartan
#

There is nothing you can investigate. If this is your PBO, remake with a proper software

slow cypress
#

is there an alternative to the default addon builder?

wintry tartan
#

pboProject or HEMTT

slow cypress
#

got it

#

thanks again

wintry tartan
#

But seems it is a Workshop item which usually means not yours

#

It it is a Workshop item, maybe repair works

ebon pivot
#

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;
};```
lofty zealot
#

@brave sentinel CfgPatches entry is required and the zeus field has to be set in the config

#

also your faction etc.

hearty sandal
#

that is likely not reached

#

since your min and max is between 0 and 1

ebon pivot
#

Is that a rescale not a clamp?

hearty sandal
#

scale if right

ebon pivot
#

Ah

hearty sandal
#

and typically engine animation sources go between 0 and 1

ebon pivot
#

I've literally just put my head down to go to sleep so I can't check right now

hearty sandal
#

and depending on what it is there may be increments

ebon pivot
#

But I'll try tomorrow

ebon pivot
hearty sandal
#

unfortunately weapon mode does not say what range it has

#

if its 0-1 divided by amount of modes

#

or 0-(modecount-1)

ebon pivot
#

Yeah I'll try using like 0.2 as the hidevalue next time

lofty zealot
#

in your module

curatorCost = 0;```
toxic solar
#

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?

lofty zealot
#

and as said, the entry in CfgPatches
units[] = {"ModuleClassNameGoesHere"};

boreal shale
#

Is there any way that I can config a custom groups formation, combat mode, and behavior?

hearty sandal
#

Group formation I recall can be made.

#

combat mode, no

#

behavior yes

boreal shale
#

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

hearty sandal
#

you might want to explain the exact thing you want to do

#

instead of hypotethical parts

boreal shale
#

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?

hearty sandal
#

em

#

dunno

#

probably if you make custom behavior fsm

#

this is probably something very specific and not "normal arma" you want to do

boreal shale
#

Fair

#

Could def just make a composition be part of the mod but … I no no wanna :(

hearty sandal
#

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

ebon pivot
#

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

hearty sandal
ebon pivot
#

theyre just the same thingibobs

hearty sandal
#

Do they have hiddenselections?

ebon pivot
#

nope

hearty sandal
#

Then they probably don't need to be in sections list

ebon pivot
#

roger

hearty sandal
#

It likely is not the issue

ebon pivot
#

ya ill delete them there anyways

hearty sandal
#

But just good practice to not put anything extra in there

ebon pivot
#

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

ebon pivot
#

🤦‍♂️

ebon pivot
#

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

crisp knot
#

Hi, question about MarkerLightsblinking

    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

brazen merlin
#

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

nimble sequoia
# crisp knot Hi, question about *MarkerLights* → *blinking* ```cpp class BeaconBlinker_bl...

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};
    };
};```
burnt kestrel
#

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.

nimble sequoia
burnt kestrel
#

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.

burnt kestrel
#

I have essentially zero understanding of what I would need to do in order to say patch the issue.

peak horizon
#

ModelConfigEditor

Invalid configuration - Missing "AnimationTypes" class definition

#

What's the problem, friends?

tacit zealot
#

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

nimble sequoia
nimble sequoia
hearty sandal
peak horizon
tacit zealot
tacit zealot
#

Do AI jets actually take these figures into account? It always seems like they use their AirTarget range even if Im skimming through valleys

hard chasm
#

@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 .

burnt kestrel
hard chasm
#

there are dozens of them. It doesn't make it worth wasting time on this one.

burnt kestrel
#

There’s dozens of 40K mods that provide what TIOW does? Feel free to link them please.

hard chasm
#

i have no idea what TIOW does. I do know there are any number of DLCS with worthwile content.

burnt kestrel
#

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.

wintry tartan
#

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

burnt kestrel
#

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.

wintry tartan
#

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

languid wing
#

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?

wintry tartan
#

Which article you mean

languid wing
#

under the basic preparation section

wintry tartan
#

I see... regex is just a way that is provided by such text editor. Better to look Google "how regex works in my editor"

languid wing
#

Yeah, I was just figuring that. Ont o the vscode docs

tacit zealot
#

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).

hearty sandal
#

Dont inherit the sensor, write in what you need

real bluff
#

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?

wintry tartan
#

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

real bluff
#

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.

nimble sequoia
# burnt kestrel Uses the same name as a base class for some of its own UI stuff, A3_Ui_f. Either...

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.

wheat sluice
# tacit zealot How can I delete a sensor from an aircraft subclass when the parent has that sen...

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{};
            };
        };
    };
hearty sandal
#

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.

burnt kestrel
hard chasm
#

@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.

burnt kestrel
#

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?

languid wing
hearty sandal
hard chasm
#

i have no idea how or why you mix regex with a config;.cpp

hearty sandal
#

You write config from ground up

languid wing
#

Wasm

#

Wasm

#

oh my lord my hands were in the wrong spot

burnt kestrel
languid wing
#

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?

hearty sandal
#

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

languid wing
#

fair nuff

burnt kestrel
# hearty sandal Does not sound right.

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.

hearty sandal
#

I'm heading to bed so no time to get into it atm.

burnt kestrel
hard chasm
#

moment.....

#

the rest of your above text is missing

#

the above text (almost) says nothing important.

languid wing
#

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?

wintry tartan
#

You need to know how Class Inheritation works

languid wing
#

Thats... vague. I'd like to think I have a decent grasp of inheritance, at least in a general context from college

hard chasm
#

class someclass:someclass
{
// inherts all;original THEN your additions/changes

languid wing
#

I cant remember what I was doing way back then that ended up leading me to this train of though now

hard chasm
#

as mentioned you have not supplied any useful text so far

wintry tartan
#

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

languid wing
#
        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?

wintry tartan
#

Yes

#

And will be vanished into the dust

languid wing
#

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?

wintry tartan
#

No. Declaring such there means nothing to do

languid wing
#

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?

wintry tartan
#

And that understanding is wrong

#

You need to inherit UserActions

hard chasm
#

as mentioned you have not supplied any useful text so far
all you left us with is 2nd guessing you

languid wing
#

I dont know what you mean by useful text lol

#

Full code context?

hard chasm
#

the FULL config.cpp

languid wing
#
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
        // {
        // }
    }
}
wintry tartan
#

This config is not going to run anyways

languid wing
#

well, I hadn't gotten that far 😆

wintry tartan
#

Imagine debugging in your brain. That's not how debug or develop works

languid wing
#

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

wintry tartan
#

Yes. Syntax error so even worse than forgetting UserActions

#

class A: B; is invalid. This is just an error

hard chasm
#

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

languid wing
#

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

hard chasm
#

i'm not trying to be unkind to you.
notice that no one else is disagreeing with me.

languid wing
#

Lol I know you are right and you are helping out. I'll get my head around it with enough work on it

hard chasm
#

your best bet is USE you previous knowledge and figure out why it works.

wintry tartan
#

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

hard chasm
#

^total agreement

languid wing
#

That is definitely something I need to remember

wintry tartan
#

CfgVehicles is not a special something. That is just a class

hard chasm
#

there is NO difference structurally between
class elephants and
class apples

languid wing
#

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

hard chasm
#

there is of course huge differences between
fruit=apples; and elephants which don't eat them

wintry tartan
#

CPP really means nothing. Forced Habit, just nothing. But you just need to follow. Don't too overthink this too

hard chasm
#

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

wintry tartan
hard chasm
#

^

#

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

languid wing
#

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

hard chasm
#

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

wintry tartan
#

Nested parenting or inheriting is sometimes headache maker. But you need to understand

languid wing
#

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;
        }
    }
wintry tartan
#

You are getting it

#

Besides being psuedo code idea is correct

hard chasm
#

only fault is
class MY_basePlane

languid wing
#

is that a tagging thing for arma specifically?

hard chasm
#

you cannot do naughty things to basePlane

#

nope

#

as i said it's used since before arma1

wintry tartan
#

Tagging is important too, tho

hard chasm
#

class basePlane automatically assumes it's an already exusting class

languid wing
#

OH, I understand what you mean now. In this case I was assuming that basePlane was my class, not an external class

hard chasm
#

agreed

wintry tartan
#

Keep it mind that, config is always shared with your entire game

#

And everyone can access and mod

hard chasm
#

you simply cannot have 2 x
class apples

wintry tartan
#

Which means if you have no label to put, people might borrow your class accidentally, and forgets

hard chasm
#

yes indeed

languid wing
#

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

wintry tartan
#

...And end users will complain

#

Let's say in Reaction Forces we made, always have _lxRF or _RF tag for both script and config

hard chasm
#

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.

languid wing
#

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

hard chasm
#

sqf is different again

#

sqf (generally) on;y applies to your addon

languid wing
#

can one cfgFunctions not conflict with another?

wintry tartan
#

Or treat similarly with any files you got

hard chasm
#

a million times better if you never mix the two in your understanding

wintry tartan
#

It can. This is also why tag is nice habit

hard chasm
#

yes again

languid wing
#

Ok yeah. That's what I was thinking of, specifically cfgFunctions, not the sqf files linked to the given functions

hard chasm
#

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

languid wing
#

thats good to know

hard chasm
#

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

languid wing
#

I am learning all sorts of things today lmao

hard chasm
#

only one
class thing:thing //answers most of it

languid wing
#

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
        }
    };
hard chasm
#

only fault i can find quickly

    {
      class wings;  // external class
    };
#
    {
        class wings: wings
        {```
languid wing
#

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?

hard chasm
#

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

languid wing
#

so it will inherit first, then replace. That makes sense then

hard chasm
#

👌

languid wing
#

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

hard chasm
#

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.

languid wing
#

I have never actually gotten your tools working meowsweats

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

wintry tartan
#

Maybe you really need to care about errors if it throws one

languid wing
#

wdym?

wintry tartan
#

Usually error message tries to tell something. You need to listen and understand it

languid wing
#

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

#

😆

wintry tartan
#

Or maybe pay pennies

#

/jk

languid wing
#

another dollar thrown into the exception jar

languid wing
#

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'";
            };
        };
    };
};
wintry tartan
#

You need to put UserActions within A29

hard chasm
#

it's telling the truth you haven't declared
class UserActions; // anywhere surely this is lesson 101?

languid wing
#

lesson 102, it's just C++ stop thinking it does not C++ things

hard chasm
#

nothing further from me, tired of repeating the basics.

languid wing
#

thanks again for the help!

grand zinc
hard chasm
#

and enums <grin>

lethal shuttle
#
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?

lethal shuttle
#

does that also go for the unit classes?

hearty sandal
#

yes

#

side is class specific property

lethal shuttle
#

damn 💀

hearty sandal
#

well nearly all of them are

lethal shuttle
#

that seems like unnecesarily alot of work just to make the same roster within a faction, but with a different side

hearty sandal
#

its not really typically needed

peak horizon
#

Hi all

#

class EventHandlers
{
fired = "(_this select 0) animate ['Hide_Cover_01', 1]; _this call (uinamespace getvariable 'BIS_fnc_effectFired');";};

peak horizon
#

anyone can help me?

hearty sandal
#

why not just tie them to the animation source AMMO?

nimble sequoia
# peak horizon I have 8 missiles covers, I want them to disappear sequentially with each shot F...

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";
    };
};```
peak horizon
#

where I can paste this class
on vichele class ?
or weapon

nimble sequoia
#

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.

peak horizon
peak horizon
#

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

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

hearty sandal
#

also "clamp" sourceAddress might work better?

nimble sequoia
#

no

hearty sandal
#

whys that?

nimble sequoia
#

depends if you want it to work or not 😉

peak horizon
#

8 missiles were fired but no cover disappeared hmmyes

nimble sequoia
#

did you set up the animation source in config.cpp?

peak horizon
#

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";
};
};

nimble sequoia
#

and you have cover_01 etc set-up as bones in the skeleton?

#

and MAG_COUNT defined

peak horizon
#

what is this ?
MAG_COUNT

nimble sequoia
#

a #define is a macro, and shown by being in CAPITAL LETTERS

peak horizon
#

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",
""
};

nimble sequoia
#

It might be ok there, but put it just above the Hide_Cover animation like I showed

peak horizon
#

I'll Add it now

peak horizon
#

Why the difference here?

nimble sequoia
#

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

peak horizon
#

Contains only one weapon

#

Can the missile be launched from its own nozzle? Does this require assigning missile position points in the model config?

nimble sequoia
#

Yes, you have to animate the muzzle points too

peak horizon
#

you can help me please ?

peak horizon
#

@nimble sequoia
@hearty sandal

hearty sandal
#

also its night over here

peak horizon
#

No problem, he serves with love

real bluff
#

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?

hard chasm
#

without indentation very few, if any, will bother with this.

real bluff
#

I see the file decided to display messed up when it does have indentation

real bluff
hard chasm
#

apologies to you. ```you need to use backquotes
what on earth is NO_CATEGORY

real bluff
#

we were basing off sample code he got from another sound mod. Thats what was in it.

hard chasm
#

ouch

real bluff
#

its working

hard chasm
#

yep amd the .rpt should be screaming about it.

real bluff
#

what should it be then?

hard chasm
#

sorry no idea. it seems to be a #define

real bluff
hard chasm
#

good grief, don't they ever learn?

real bluff
#

Its on the Wiki that way

hard chasm
#

j e s u s

#

nah, have to check for myself too. they can't be that stoopid (thank u)

peak horizon
#

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:

  1. Utilizing the memory points for the eight rocket positions on the platform, ensuring each rocket launches from its designated point.
  2. I want the cover to disappear from the platform with each rocket launch.
  3. I want to show the covers on the platform again once the weapon is reloaded.
peak horizon
#

thanks all

wintry tartan
#

If you're looking for a person to work with, #creators_recruiting please. Beware of scammers tho (check the channel's pins)

peak horizon
#

thank you @wintry tartan

loud raven
#

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?

wintry tartan
#

I'd like to ask what are "selections" in this case. Do you mean Virtual Garage/Vehicle Customization?

brazen merlin
#

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

loud raven
loud raven
vagrant idol
#

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

molten musk
#
        class test_editmulti:Default
        {
            property = "test_editmulti";
            control = "EditCodeMulti5";
            displayName = "TEST";
            tooltip = "TEST Dest";
            typeName = "STRING";
            defaultValue = "''";
        };
placid jay
rain scarab
#

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.
#

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.

hearty sandal
#

the ambient sounds are terrain specific yeah

rain scarab
hearty sandal
#

etc

rain scarab
#

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.

hearty sandal
#

sure

#

also there are "default" envsound definitions in the root of the config vanilla terrains inherit from

rain scarab
#

Ahhhh, got it. Thank you for the info!

hearty sandal
#

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

silent acorn
devout plume
#

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?

wintry tartan
hard chasm
#

attendant = 1; in CfgVehicles

#

(also applies to hospitals)

devout plume
hard chasm
#

👌

wintry tartan
#

Missing semicolon but yes

hard chasm
#

haa missed that

devout plume
#

huh, it was that easy...

hard chasm
#

<grin>

devout plume
#

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!

wintry tartan
#

It's not a script we call, it's config

hard chasm
#

pls do not use the word scripting when describing things cpp. scripting = sqf and u will confuze every1

devout plume
#

sqf?

hard chasm
#

.sqf and .sqs are scripts

jagged thistle
#

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.

wintry tartan
#

Which is the weapon in question

jagged thistle
#

It does it on all of them

brave sentinel
#

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.

flint cape
#

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.

peak horizon
#

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;

peak horizon
hearty sandal
#

set up axis points in memorylod

#

with memorypoint axis the offset from 0 to 1 goes the distance between the points

peak horizon
hearty sandal
#

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

peak horizon
toxic solar
#

can weapons support AnimationSources like vehicles?`

wintry tartan
#

No

toxic solar
#

oooof, would be cool if it did 😦

bitter osprey
#

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?

wintry tartan
#

Why not

wintry tartan
#

i only have 33 Apex weapons left
What does this mean

#

Also what is the intention of this config

bitter osprey
# wintry tartan > i only have 33 Apex weapons left What does this mean

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;"

wintry tartan
#

Regarded to requiredAddons, you want to check the pinned post

bitter osprey
#

Ill try!

wintry tartan
#

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?

bitter osprey
#

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.

wintry tartan
#

And what are hidden and what are visible?

bitter osprey
#

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

wintry tartan
#

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

bitter osprey
#

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??

wintry tartan
#

What I wanted to know is which weapon is unsupposedly shown or hidden

bitter osprey
#

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?

wintry tartan
#

Because they are inherited the scopeArasenal too

bitter osprey
#

..... could i just add arifle_MXM_khk_F and toggle the scopeArsenal to 2? or would this bring back the arifle_MXM_Black_F?

wintry tartan
#

Yes, no

bitter osprey
#

oh

#

well in that case im just going to do that. Kinda du*b but if it works 😄

wintry tartan
#

Still not sure what is the goal

bitter osprey
#

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?"

wintry tartan
#

You never really mentioned what you wanted to hide, but I get it I guess

bitter osprey
#

Vanilla (and DLC) modern weapons - im using Spearhead 1944 DLC - i only use these weapons

bitter osprey
wintry tartan
#

Not sure why you wanted to hide khaki
MX but not other MXs though

bitter osprey
#

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 ^^

wintry tartan
#

It does mean you need to (re) learn how does class inhetitation works

bitter osprey
#

But i dont want to show the vanilla Items... It works how i want it to work. Its fine now

hard chasm
#

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

tacit zealot
#

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.

tacit zealot
#

AI

hearty sandal
#

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

tacit zealot
#

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.

hearty sandal
#

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

tacit zealot
#

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.

hearty sandal
#

the muzzle one is not great due to doubling ammo

wintry fox
#

There's also just a quote you can use

some message someone sent

By doing
> some message someone sent

spark flower
#

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)

peak horizon
#

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?

nimble sequoia
peak horizon
peak horizon
nimble sequoia
#

ballisticsComputer = 2; ?

peak horizon
#

I'll added now then will be try

peak horizon
#

It seems that the ballistic computer is not compatible with the UAV man.

umbral apex
#

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```
wintry fox
umbral apex
wintry fox
#

Yeah, because none of those are what a path should look like

umbral apex
wintry fox
#

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
umbral apex
#

I'm very new to configs.

wintry fox
#

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.

umbral apex
#

Thank you for trying anyway.

hard chasm
#

@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.

lethal shuttle
#

which config parameter actually changes a weapon's range?

wintry tartan
#

What range?

lethal shuttle
#

how far the bullets go

#

initspeed doesnt seem to work

wintry tartan
#

Multiple factors are involved on this CfgAmmo timeToLive too

wheat sluice
# lethal shuttle which config parameter actually changes a weapon's range?

Like POLPOX mentioned, it involves several factors:

In CfgWeapons:

  • initSpeed in the root of the weapon's class = determines muzzle velocity (m/s). Will override the magazine's initSpeed value 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 initSpeed of 800, Weapon has initSpeed multiplier of 1.5 = 800 * 1.5 = bullets are fired with a muzzle velocity of 1,200 m/s) or a flat number (initSpeed of 800 in the weapon class = bullets are fired with a muzzle velocity of 800 m/s even if the magazine has a higher or lower initSpeed value).

In CfgMagazines:

In CfgAmmo:

wintry tartan
#

Ah yes thanks humanGPT

nimble sequoia
lethal shuttle
#

wow thanks alot! i didnt get the ping for some reason

chilly tulip
#

thrust and thrustTime are also pretty important for missiles and rockets.

swift yacht
#

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?

chilly tulip
#

Usually with #include you can use a relative path instead. Depends if you're trying to access a file from another addon.

swift yacht
#

Got it working, Thank you.

bitter osprey
#

NLAW launcher is not being hidden with this script...
Anyone has an idea why?

hearty sandal
#

A3_Data_F_Decade_Loadorder this should be only loadoder you n eed

bitter osprey
#

Well but should it not work with all the others as well? Ill try in a moment with only Decade Loadorder

chilly tulip
#

Did you check whether your config changes were being applied?

#

Do the loadorder thing anyway, because that one is an abomination.

bitter osprey
#

XD
I have similar configs for all other ArmA items, and they work without an issue

hearty sandal
#

you dont have these in single config?

bitter osprey
hearty sandal
#

do you test with no other mods on?

bitter osprey
#

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

hearty sandal
#

or make a test mission with vanilla arsenal

#

got to rule out any external interference first

bitter osprey
#

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

wheat flicker
#

@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

wintry fox
wheat flicker
#

I have also confirmed that scopeArsenal = 0; does work for weapons

#

I will update the wiki accordingly this evening to include that information

hearty sandal
#

isnt it just 1 or 2?

#

what would 0 do?

wheat flicker
wheat flicker
hearty sandal
#

so it seems! 👍

wintry fox
#

1 is just treated as 0 iirc
I.e. only scopeArsenal >= 2 is shown

wheat flicker
#

I believe this is the case for ACE, but I have not yet tested the effects of 1 for base game

wintry fox
#

It's definitely the case for ace

wheat flicker
#

it does appear that scopeArsenal = 1; hides the weapon as expected

#

I'll make sure that gets mentioned as well I suppose

hearty sandal
#

1 is used in vanilla config only once xD

wheat flicker
#

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

wintry fox
#

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

wheat flicker
#

Just doesn't make sense to use scopeCurator or scopeArsenal for weapons

#

when all scope = 1; does is hide it from the arsenal anyway

wintry fox
#

scopeCurator doesn't do anything in CfgWeapons

#

It's only for objects

wheat flicker
#

I am aware of this, that was kind of my point

#

there's no reason to use either (in CfgWeapons)

wintry fox
#

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

wheat flicker
#

I think I understand where the communication breakdown here is

#

I am not talking about anything other than CfgWeapons

wintry fox
#

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

bitter osprey
wheat flicker
#

unfortunately

#

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

bitter osprey
#

Alr 🙂 ill try that today in the evening

clever creek
#

Anyone have a weapon.cfg they can send me? Working on a new weapon and not sure where to start with it

wintry tartan
#

What is weapon.cfg

hearty sandal
undone forge
#

edited configs for brighter flares, took a while but now just simple value adjustments

placid jay
undone forge
#

nvm i cant spell

tidal rose
#

Hey guys, can you tell me why my custom attributes don't show up in the editor ?

molten musk
# tidal rose 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.

thorn anchor
#

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

chilly tulip
#

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.

night belfry
#

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"
                    }
                }
            };
        };
    };
};

hearty sandal
#

(which is the case of most maps Im afraid)

night belfry
#

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

hearty sandal
#

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

night belfry
#

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

hearty sandal
night belfry
#

sand for Deserted VR, snow for Frozen VR

hearty sandal
# night belfry

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

night belfry
#

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

hearty sandal
#

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

night belfry
hearty sandal
#

👍

#

that would probably solve the changes the altertnate vr maps make too

night belfry
#

yup, applying fix to maps directly, seems to work 😃

rough hatch
#

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?

nimble sequoia
rough hatch
#

is that what it does? so should I try setting the values higher?

nimble sequoia
#

higher dampingRate = slower

#

That's what it is for a car, haven't double checked if it's applicable for plane on ground

rough hatch
#

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

nimble sequoia
#

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).

rough hatch
#

what is cofg?

tacit zealot
#

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.

rough hatch
#

oh you mean center of gravity

#

yeah the center of gravity seems to be set properly as you said

nimble sequoia
#

Can you post your class Wheels and what total mass in Geo LOD is?

rough hatch
#
{
    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"; }; };

nimble sequoia
#

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)

rough hatch
#

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

rough hatch
#

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

nimble sequoia
#

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.

hearty sandal
#

Does the front wheel animate same amount to both directions? And is it center

rough hatch
#

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

nimble sequoia
#

Wheel mem points and physx

rough hatch
#

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

nimble sequoia
#

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

rough hatch
#

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

nimble sequoia
#

Something else is wrong then

tacit zealot
silver lion
#

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

wintry tartan
#

Nothing can really be told without actual error message and actual config etc

toxic solar
#

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
hard chasm
#

Invalid argument

livid trail
#

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?

livid trail
#

So if I fire 10 flares, it would be 0.8^10 chance the missile will hold lock, right?

ebon pivot
#

Independent probability so it's just 0.8 rolled 10 times

autumn kindle
#

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

wintry fox
#

Are you getting a <blank> requires GW_core warning?

autumn kindle
#

I'm getting a GW_Common requires GW_Core warning

wintry fox
#

Then ADDON isn't defined when you use it

autumn kindle
#

Though it works for other modules, just not this one. No differences

#

They all import script_component.hpp files

wintry fox
#

Is your repo public?

autumn kindle
wintry fox
#

Could also just launch the game and check CfgPatches to see what it's expanding to

autumn kindle
#

Inside the Config Viewer?

wintry fox
#

Yeah

#

Setup looks fine though, at least from a brief look

autumn kindle
#

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

wintry fox
#

There's no error, ADDON would be a perfectly fine class name

autumn kindle
#

ADDON doesn't seem to be defined anywhere in the repo as far as I can see

wintry fox
#

Yeah I was just about to say I did a search for it and found nothing

#

So that's why

autumn kindle
#

Yet the other components compile 😄

#

Well

#

Common and Main does

wintry fox
#

Just add a #define ADDON DOUBLES(gw,COMPONENT) in the script_mod.hpp

#

That should be enough

autumn kindle
#

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

autumn kindle
#

Fixed it, all well and working. Cheers

tacit zealot
#

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.

loud raven
#

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,

bitter osprey
#

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"

chilly tulip
#

Is the change working for the RPG32?

ashen chasm
#

any other loaded mods?

bitter osprey
bitter osprey
#

viewed config viewer and only NLAW still has "scopeArsenal = 2"

chilly tulip
#

Can't replicate. File works fine here.

#

Loaded with CBA and ADT

bitter osprey
#

ADT?

ashen chasm
chilly tulip
#

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.

bitter osprey
#

No, its just this cpp - very weird... no DLC and no mods - but i guess then config viewer showed something bad?

chilly tulip
#

I doubt it.

real bluff
#

Is it possible to have my own section in Modules for sound files instead of the normal Play Sound module?

reef shore
#

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
wintry tartan
#

#include does only a dumb copy and paste. Which means, will be replaced without any excuse. So nothing is different. Just don't overthink

reef shore
#

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

wintry tartan
#
class CfgWeapons
{
  #include "yourweapon.hpp"
};```And in `yourweapon.hpp` ```cpp
class MyWeapon {};```
This is a valid config
reef shore
#

i want to do multiple classes in 1 hpp

#

for example cfgweapons and cfgmagazines

wintry tartan
#

You can have multiple hpps

reef shore
wintry tartan
#

There really is no big reason to have only ONE hpp

reef shore
reef shore
wintry tartan
#

It doesn't matter, because it doesn't matter. It is, in fact, and once again, just doing a dumb copy and paste

reef shore
#

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

wintry tartan
#

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

reef shore
#

no thats not waht i mean

wintry tartan
#

Then what is

reef shore
#

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

ashen chasm
#

because you can't have multiple of the same class in a single config.cpp 🤷‍♂️

reef shore
#

so thats what i want to know

wintry tartan
#

You are misremembering something then

ashen chasm
#

^

wintry tartan
#

This never can be a valid config

ashen chasm
#

multiple config.cpps per folder, probably? as in: one cpp per folder, multiple folders per pbo

reef shore
#

yeah thats how its setup

#

how does that work

wintry tartan
#

We don't know how it does work without seeing what it is

reef shore
wintry tartan
#

You need to tell us what exactly is happening. What you told us so far doesn't really make sense

reef shore
#

well, how can you have multiple config.cpps in one pbo

wintry tartan
#

one cpp per folder, multiple folders per pbo

reef shore
#

how does it connect together

ashen chasm
wintry tartan
#

Multiple configs are loaded into the game

#

They are not directly connected

reef shore
#

so the only rule to follow is that you can have multiple config cpps as long as theyre in separate folders yeah?

wintry tartan
#

Yes. As Windows doesn't allow you to have files with the same name, vice versa is a thing too

reef shore
#

fantastic this makes thing s WHOLE lot easier, as i dont have to connect all the configs for each weapon with each other carereact

#

what about the cfgpatches for each cpp tho, do they need to be different

wintry tartan
#

Yes. Nothing is also different here too

wintry tartan
#

If they're in different folder, you can have same name

reef shore
wintry tartan
#

No. Different config.cpp does mean different config.cpp sitll

ashen chasm
reef shore
#

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?

wintry tartan
#

Well, again, it can't have same name

reef shore
#

ooo ok i see so they're treated as a different addon, but simply located within same pbo

wintry tartan
#

Which means nothing is really different. They're working on the same principle

reef shore
#

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

ashen chasm
#

name, author and url

reef shore
#

oooooo ok

#

but these still needs to be defined individually?

    requiredVersion = 1.60;
    requiredAddons[] = { "MyAddon" };
    units[] = {};
    weapons[] = {};
placid jay
reef shore
#

thanks

#

Thank you polpox, artemoz, r3vo arrowheaddude

hard chasm
#

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

reef shore
#

Is there a downside to this setup compared to doing 1 cpp for 1 pbo and using #include instead

hard chasm
#

#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

frail grotto
#

does using HPPs and includes have any impact on performance?

hearty sandal
frail grotto
tender fiber
#

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

tacit zealot
#

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.

wintry fox
glacial spear
#

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

wintry tartan
#

Is this an SQF question?

glacial spear
#

no im asking if i can config this before scripting it

wintry tartan
#

Config doesn't do it. SQF can

glacial spear
#

like you have to hold the trigger for 1 second before it fires

#

damn, thanks

#

just had to check

opal crater
#

see: configFile >> "CfgWeapons" >> "cannon_railgun_fake" >> "EventHandlers"

#

BIS_fnc_RailGun_01_chargingStart in fired
(used in T-100X)

stuck nest
#

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?
    };
  };
};
mighty horizon
#

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?

hard chasm
#

only the addon name where Ace_ItemCore exists.

wintry fox
#

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 your requiredAddons

mighty horizon
#

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.
wintry fox
#

That should be fine yeah

mighty horizon
#

thank you very much

wintry fox
#

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";
    };
};
mighty horizon
#

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.

wintry fox
#

You always have to reference classes you inherit from

mighty horizon
#

ahhh, im getting it now

#

HA that worked, thank Dart!

wintry fox
#

👍

hard chasm
#

@mighty horizondon't use FULL_IPPER_CASE. It is reserved for #defines. Ignore this advice and regret it later.

glacial spear
#

oh nvm, its the submunition deployment deleting it

gritty rune
#

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

tacit zealot
#

Is there any documentation on the

class ReplaceObjects{};

class that can be found within many world configs?

hard chasm
#

if that is the exact syntax you've found, it removes all content from that class.

tacit zealot
#

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

opal crater
wintry fox
#

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

opal crater
#

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.

opal crater
#

Non functional. Or maybe works only in a bulldozer.

novel lava
#

isnt that the old thing thats used for the christmas tree easter egg

opal crater
#

Already went to bed, if it's, Livonia should have it set. But I thought it's done in p3ds these days.

hearty sandal
#

replace dont seem to exist in all in one config dump at least

tacit zealot
#

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

wheat sluice
strange egret
#

initFOV is lower then min FOV ... not by much though, not sure if thats what you need

gritty rune
#

hmm, weird, I set initFOV to maxFOV now, when I enter it starts zoomed out for a split second and then zooms in

grand zinc
lean bloom
#

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?

hearty sandal
#

and a piece of hit geometry to collide with

nimble sequoia
#

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'

hearty sandal
#

👍

nimble sequoia
#

The visual selection is usually only in the res LOD's.

hearty sandal
#

hitpoints can also connect to animations

nimble sequoia
lean bloom
#

ah I see, cheers

lethal shuttle
#

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

lethal shuttle
#

it doesnt work at all? when i press on the button nothing shows up

#
action = "playMission ["","ptni_missions\showcases\Indonesian%20Army%20Showcase.Stratis";]";```
wintry fox
#

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']";
lethal shuttle
#

got it thanks, had to put a slash before ptni_missions first though

opal crater
grand zinc
#

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

lean bloom
# hearty sandal hitpoints need only the named points in the hitpoints lod

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

hearty sandal
#

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

lean bloom
lean bloom
#

Ah, thanks for clearing it up

hearty sandal
#

I prefer the separate components

lean bloom
#

Yeah it sounds more convenient since I can define the thickness myself more easily

nimble sequoia
#

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.

lean bloom
#

will do, cheers

hearty sandal
#

@nimble sequoia You prefer to use the armor components too instead of plain hitpoints right?

nimble sequoia
#

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.

lean bloom
# nimble sequoia

Sorry, but what is the unit used in the radius? Meters? So this one is 20 centimeters?

nimble sequoia
lean bloom
#

ah I don´t have the armorComponent thing included yet

hearty sandal
#

we found that it makes far more consistent damaging

lean bloom
#

I am trying to work off of the wiki to try and understand the basics first harold

nimble sequoia
#

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

lean bloom
lean bloom
nimble sequoia
#

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

lean bloom
#

I see, interesting. Does the single vertex have any actual function? Or it is simply "there"?

nimble sequoia
#

It's used to receive the indirect damage. I usually put it in the centre of the specific area.

lean bloom
#

Ah right, okay, thanks a lot, I will look into it 🙂

lean bloom
#

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?

nimble sequoia
austere thunder
#

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:

hearty sandal
#

then focus on that one

austere thunder
#

that makes sense

novel lava
undone forge
#

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

wintry tartan
#

Post your issue

wintry fox
# undone forge Need some help here not sure what i'm doing wrong. I'll respond when i'm awake I...
  1. Why, just post it when you can respond. You didn't even put what issue you have
  2. Your units array in CfgPatches is a display name, not a class name.
  3. 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.
  4. There is no ammo property in CfgPatches classes.
  5. There is no displayName property in CfgAmmo classes.
  6. Just use the loadorder addons for vanilla content, i.e. use A3_Data_F_Decade_Loadorder instead of A3_Weapons_F in your requiredAddons
  7. Your CfgPatches class is also missing a prefix.
hard chasm
#

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

mighty horizon
#

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.

wintry tartan
#

Maybe unload the Mod that is doing it

mighty horizon
lime mesa
#

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

undone forge
ebon pivot
#

are there any guides for creating custom faces and such?

wintry tartan
#

Config wise? You can check vanilla config

ebon pivot
#

moreso mean generally - how to do texture edits for it and such

wintry fox
# ebon pivot are there any guides for creating custom faces and such?
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

ebon pivot
#

tyvm

wintry fox
#

You can customize wounded materials/textures too, but probably not needed if you're not doing like a new model

ebon pivot
#

tryna mess with the eyes

wintry fox
#

Dr. Who type stuff?

ebon pivot
#

it is now

wintry fox
#

Some things never change kappa