#arma3_config

1 messages · Page 58 of 1

viral juniper
#

Aye, cheers, I figured. Thanks to everyone who helped, April Fools has gone successfully

#

Download @BaAdditions if you want to fool your players (All players need to have the mod, it's not serverside only)

limber citrus
#

Hey peeps does anyone have experience with using procedual text textures as eventhandlers/hiddenselections for stuff like billboards per chance?
I've been playing around with it for a while now but keep running in the same circle of errors of the compiler missing commas, the text breaking, something else breaking, etc. etc. etc.

wintry fox
#

I'm already 99.99% sure the answer is no, but there's no way to have a unit start with a uniform looking correct without redefining the hsTextures right?

I have a uniform whose uniformClass is set to a scope 1'd unit that sets the selections, textures, materials, etc. I then have a macro that defines a bunch of units to use that uniform, but they inherit from other units to set up the rest of the loadout (weapons, mags, etc.). I do not want to have to set these back up for every single unit. I've tried some stuff like setting the uniformClass and then emptying the selections/textures, putting the uniform in linkedItems, but neither worked.

When spawned, they just look like they have the nakedUniform on

#

I really don't want to have to include all the loadout info in each macro'd class so that they inherit from the scope 1'd unit

paper flume
#

Does anyone know how to disable vehicle skins re-asserting themselves from the inhereted base class despite having the hiddenSelectionsTextures set to the desired paths?

{
    class CUP_O_Tigr_233011_GREEN_RU;

    class MSF_MS_GAZ233011_Tigr: CUP_O_Tigr_233011_GREEN_RU
  {
    faction="MSF_MS_Mako_Security";
    side=2;
    displayName="GAZ233011 Tigr";
    hiddenSelectionsTextures[]={"cup\wheeledvehicles\cup_wheeledvehicles_tigr\data\camo\black\carbody_co.paa","cup\wheeledvehicles\cup_wheeledvehicles_tigr\data\camo\black\hoodold_co.paa","cup\wheeledvehicles\cup_wheeledvehicles_tigr\data\camo\black\grille_co.paa","cup\wheeledvehicles\cup_wheeledvehicles_tigr\data\camo\black\extraparts_co.paa","cup\wheeledvehicles\cup_wheeledvehicles_tigr\data\camo\black\roofold_co.paa","#(argb,1,1,1)color(0,0,0,0)","#(argb,1,1,1)color(0,0,0,0)","#(argb,1,1,1)color(0,0,0,0)"};
    crew="MSF_MS_HS_Agent_Rifle";
    typicalCargo[]={"MSF_MS_HS_Agent_Rifle"};
  };
};```
#

I figure I could clear the eventhandlers but I worry about losing other important code by doing so

wintry fox
wintry fox
#

And/or clear the class as well

paper flume
wintry fox
#

class TextureSources {};

paper flume
#

Thank you. I'd just pop that in after the class CFG vehicles?

wintry fox
#

You'd add it in your MSF_... class

paper flume
#
{
  class MSF_MS_Mako_Security
  {
    units[]={"MSF_MS_GAZ233011_Tigr"};
    requiredVersion=0.1;
  };

};

class cfgFactionClasses
{
  class MSF_MS_Mako_Security
  {
    icon="";
    displayName="Mako Security";
    side=2;
    priority=1;
  };
};


class cfgVehicles
{
    class CUP_O_Tigr_233011_GREEN_RU;
    class MSF_MS_GAZ233011_Tigr: CUP_O_Tigr_233011_GREEN_RU
  {
    faction="MSF_MS_Mako_Security";
    side=2;
    displayName="GAZ233011 Tigr";
    textureList[]={};
    class TextureSources {};
    hiddenSelectionsTextures[]={"cup\wheeledvehicles\cup_wheeledvehicles_tigr\data\camo\black\carbody_co.paa","cup\wheeledvehicles\cup_wheeledvehicles_tigr\data\camo\black\hoodold_co.paa","cup\wheeledvehicles\cup_wheeledvehicles_tigr\data\camo\black\grille_co.paa","cup\wheeledvehicles\cup_wheeledvehicles_tigr\data\camo\black\extraparts_co.paa","cup\wheeledvehicles\cup_wheeledvehicles_tigr\data\camo\black\roofold_co.paa","#(argb,1,1,1)color(0,0,0,0)","#(argb,1,1,1)color(0,0,0,0)","#(argb,1,1,1)color(0,0,0,0)"};
    crew="MSF_MS_HS_Agent_Rifle";
    typicalCargo[]={"MSF_MS_HS_Agent_Rifle"};
  };
};```
#

For the sake of posterity, adding the texturelist[]={}; did work

paper flume
wintry fox
paper flume
wintry fox
#

Not quite, it should be in your vehicle class

I.e. in the same level as the faction = ..., displayName, textureList, etc

paper flume
wintry fox
paper flume
wintry fox
#

If you mean modifying all the vehicles and setting that property, yes

paper flume
wintry fox
#

Yeah
Best to set both, so that it's not looking at textureList and trying to load non-existent textures

#

textureList handles the randomization, and then TextureSources gives the garage options

paper flume
#

Thank you so much

wintry fox
#

No problem

limber citrus
wintry fox
limber citrus
#

Do you mean using ' for the internal strings? I'll try it but iirc I did something similar earlier and it caused issues with the actual rendering of the texture

wintry fox
#

I mean just replacing the outer single Quotes with double quotes

#

The "double double" quotes inside should be fine

#

Yeah I've used single quotes just fine before, granted it was ui on tex but still a procedural texture

"#(rgb,1024,1024,1)ui('NCA_RscDatapad','NCA_datapadDisplay','ca')" // Forced lowercase in-game
limber citrus
#

"#(rgb,512,512,3)text(0,0,'PuristaBold',0.07,'#FFFFFF','#000000','test')"
results in the mod packing but the texture doesnt work ingame

#

when replacing the single quotes with normal quotes in the texture box of the object ingame it works again

wintry fox
#

Interesting

limber citrus
#

yeah its formed an annoying circle of errors/stuff not working that I cant get out of with this idea

#

also tried using an eventhandler instead but it runs into the same problems

#

so if anyone has any ideas they'd definetly be appreciated prayge

grand zinc
limber citrus
# grand zinc You use `""` to escape quotes, in "" quoted strings. Your string is not "" quote...

Thats one of the firstn variants I tried but it leads to the same packing error (58 is that line)

class Land_Billboard_F;
    class Pie_Billboard_SmokeRoles : Land_Billboard_F
    {
        author="Pi123263";
        editorCategory = "Pie292ndAdds_EdCat_292nd";
        editorSubcategory = "Pie292ndAdds_EdSubCat_Billboards";
        scope=2;
        scopeCurator=2;
        displayName="Smoke Usage";
        hiddenSelectionsTextures[]=
        {
            '#(rgb,512,512,3)text(0,0,"PuristaBold",0.07,"#FFFFFF","#000000","test")'
        };
        //class EventHandlers
        //{
        //    init = "(_this select 0) setObjectTexture [0, '#(rgb,512,512,3)text(0,0,\"PuristaBold\",0.07,\"#FFFFFF\",\"#000000\",\"Smokes\nGreen Marking LZs\n\nRed Marking CAS Targets\n\nPurple Mass Casualty Locations\n\nYellow General Concealment - Location Marking\n\nBlue General Concealment - Location Marking\")'];";
        //};
    };
grand zinc
#

Have you tried a better packing tool?

limber citrus
#

hehehe fair

#

just looked at hemtt again and uff still looks too annoying to me because of CLI etc

#

I like my simple gui applications

wintry fox
#

I mean, it's just hemtt build and you're done
Can also make build tasks in VS Code, like I have Ctrl+Shift+B run hemtt launch to do a full build + launch the game, or for our big mod with lots of models that'd take a while, it only builds the addon of the file you're editing

brave crag
#

If I want to add a progress bar timer to the "repair vehicle" action in the scroll wheel that appears if you have a toolkit, is this done via config?

#

Ive never edited base game actions before so dont know how to do that type of thing

wintry tartan
#

Engine level

toxic solar
#

@wintry tartan I did not know u can do the sqrt and min stuff in a magazines intspeed from ur airsoft mod kekega

viral juniper
#

Hey chaps. Does anyone happen to know how to generate a custom sub 1pt font size font?

#

It seems the least I can generate with FontToTGA is size 6

pastel tusk
#

Uhhhh hello,

I was wondering if anyone has the time to help me with an issue I am running into.

When ever I spawn in one of my units here (Editor or Zeus) it spawns in with the default / vanilla unit's uniform that I inherited from. Despite defining a new uniform.

Wierder is that if I go into the arsenal of the unit, it shows <Empty> as the select uniform.

This only happens if the units are OPFOR or INDFOR, if I just change the side to be BLUFOR it seems to work? As if the uniforms are somehow fucky with everything but BLUFOR?

#

The issue seems to also happen if I use vanilla uniforms.

So if I try to give the unit the BLUFOR or INDFOR wetsuit, it will bugout and revert to the issue above, but if I give it the OPFOR wetsuit, then it will work and show?

wintry fox
#

I can't remember the exact name, but there's something like allowedSides in the uniform unit's config, which sets what sides can equip the uniform

pastel tusk
#

5:52:52 Uniform AET_F_catapult_B_CMA_U_combatUniform_shortsleeve_woodland is not allowed for soldier class AET_F_catapult_B_CMA_Marksman
5:52:55 ERROR: Switch uniform! Uniform is not supported by soldier

Somehow during the last 5 hours not once did I think to look the classname of the uniform in the RPT...

wintry fox
#

You can just use the config viewer

pastel tusk
wintry fox
wintry fox
#

(0+1+2+3 for opfor, blufor, independent, and civilian)

pastel tusk
#

Nope, still no luck

#
 6:10:08 Uniform AET_F_catapult_B_CMA_U_combatUniform_shortsleeve_woodland is not allowed for soldier class AET_F_catapult_B_CMA_Marksman
 6:10:09 ERROR: Switch uniform! Uniform is not supported by soldier
 6:10:09 Uniform AET_F_catapult_B_CMA_U_combatUniform_shortsleeve_woodland is not allowed for soldier class AET_F_catapult_B_CMA_Marksman
 6:10:10 ERROR: Switch uniform! Uniform is not supported by soldier
 6:10:10 Uniform AET_F_catapult_B_CMA_U_combatUniform_shortsleeve_woodland is not allowed for soldier class AET_F_catapult_B_CMA_Marksman
wintry fox
#

Can you show your uniform/unit config?

wintry fox
#

You put it in the ItemInfo, not the unit config

pastel tusk
#

Hope you bare with me, Arma 3 configs are like unknown magic to me to this day

wintry fox
# pastel tusk When you say the unit config, what do you mean here exactly? 😅

In your uniform (CfgWeapons) class, you point to a unit (CfgVehicles) with the uniformClass.

This links the uniform to that unit, and is how the game determines how the uniform looks when worn, it's protection, what sides can wear it, etc.

So for your uniforms, you want to go to your linked unit and add the modelSides there

pastel tusk
#

I assume you mean like this

wintry fox
#

So you'd want to add it here in these classes

pastel tusk
#

Ah it works now it seems

wintry fox
#

Yeah, though you can just use 6 to simplify it

pastel tusk
#

Thanks a lot ❤️

pastel tusk
wintry fox
#

No problem

round gulch
#

Anyone knows if there's a way to force a weapon into sort of an auto burst mode just with config?
What I mean is basically a faster fullauto, but with pauses every 3 shots. So you get a pseudo burst mode that allows you to hold the mouse button to fire instead of having to release and click.

hearty sandal
#

not natively anyway.

#

with scripting, possibly yes

round gulch
#

As I suspected. But I could just make an extra fullauto mode and then script it so only that mode has the pause, right?

hearty sandal
#

yes the scripting can be tied to the fired eventhandler

#

and that firemode can be for player only

#

AI can use normal burst

round gulch
#

Yep. Thanks, I'll leave this functionality for more down the line

hollow bison
#

How do I inherit all properties of turrets/gunners of the vehicle only to apply a small change to a specific function (say reload time) of the same turret/gunners vehicle

wintry fox
#

Can't remember for sure

hollow bison
#

Yea I cant seem to inherit them and do a quick add-in 🙁

wintry fox
#

Show your config

hollow bison
#

Trying to edit RHS's M1A1 - let me find the config 1 sec

round gulch
#

Not an expert here, but I'm pretty sure that if they have the access set to 3 (read-only) you can't modify the weapon itself. You can replace it entirely, or create your own version of the weapon which can be 99% the same except that little change you want. But not modify the actual existing weapon.

hollow bison
#

But im inheriting it to another vehicle alltogether - The idea is I inherit rhs's m1a1 and then modify the values i needed in my inherited class (which is the default method of doing)

The only problem is with turrets and event handlers - i cant seem to modify specific ones without also copying all of it that are defined in the main class

round gulch
#

as Dart said, it would help if you showed your config

hollow bison
#

tried this

class Turrets: Turrets {
            class MainTurret: MainTurret {
                maxElev = 75;
                class Turrets: Turrets {
                    class Commander: Commander {
                        maxElev = 75;
                        turretInfoType = "RscOptics_APC_Wheeled_01_gunner";
                    };
                };
            };
        };

and even tried

class Turrets {
            class MainTurret {
                maxElev = 75;
                class Turrets {
                    class Commander {
                        maxElev = 75;
                        turretInfoType = "RscOptics_APC_Wheeled_01_gunner";
                    };
                };
            };
        };

na-da (i know the first one is invalid but i wanted t try)

#

Ideally I want to modify just the turretInfoType and the elevation

round gulch
#

have you tried redeclaring the classes as suggested above?

sweet pecan
hollow bison
#

Lets take this actual ACV config. I want to increase the max elevation of the gunner turret

wintry fox
#

Because from what I'm seeing, both of those are wrong (second is always wrong)

hollow bison
#

All the three ACVs basically

wintry fox
#

Haven't checked but you'd want something like this:

class Car_F;
class Wheeled_APC_F: Car_F {
    class NewTurret;
    class Turrets;
};
class ACV_Base_F: Wheeled_APC_F {};
class ACV: ACV_Base_F {
    class CargoTurret;
    class Turrets: Turrets {
        class CommanderOptics: NewTurret {
            // ...
        };
        class Gunner: NewTurret {};
        class CargoTurret_01: CargoTurret {};
        class CargoTurret_02: CargoTurret_01 {};
        class CargoTurret_03: CargoTurret {};
        class CargoTurret_04: CargoTurret_03 {};
        class CargoTurret_05: CargoTurret_04 {};
        class CargoTurret_06: CargoTurret_04 {};
        class CargoTurret_07: CargoTurret_06 {};
    };
};
class ACV_MK19: ACV {
    class CargoTurret;
    class Turrets: Turrets {
        class CommanderOptics: NewTurret {
            // ...
        };
        class Gunner: NewTurret {};
        class CargoTurret_01: CargoTurret {};
        class CargoTurret_02: CargoTurret_01 {};
        class CargoTurret_03: CargoTurret {};
        class CargoTurret_04: CargoTurret_03 {};
        class CargoTurret_05: CargoTurret_04 {};
        class CargoTurret_06: CargoTurret_04 {};
        class CargoTurret_07: CargoTurret_6 {};
    };
};

class ACV_30: ACV_Base_F {
    class CargoTurret;
    class Turrets: Turrets {
        class MainTurret: MainTurret {
            class Turrets: Turrets {
                class Commander: CommanderOptics {
                    // ...
                };
            };
        };
        class Commandercamera: NewTurret {};
        class CargoTurret_01: CargoTurret {};
        class CargoTurret_02: CargoTurret_01 {};
        class CargoTurret_03: CargoTurret {};
        class CargoTurret_04: CargoTurret_03 {};
        class CargoTurret_05: CargoTurret_04 {};
        class CargoTurret_06: CargoTurret_04 {};
        class CargoTurret_07: CargoTurret_06 {};
    };
};
#

The advanced developer tools mod makes doing this way easier as well

hollow bison
#

But if i am already inheriting ACV as the base for a custom ACV?

narrow swallow
# hollow bison tried this ```cpp class Turrets: Turrets { class MainTurret: MainTur...

You need to study this https://community.bistudio.com/wiki/Class_Inheritance
You have to first have in the parent class class MainTurret;
before you can have class MainTurret: MainTurret { in the child class.
So to get to your_acv >> Turrets >> MainTurret >> Turrets >> Commander you will need 5 steps.

class B_MBT_01_TUSK_F;
class MyTank_Inherit_1: B_MBT_01_TUSK_F {
  scope = 1;
  class Turrets;
};
class MyTank_Inherit_2: MyTank_Inherit_1 {
  class Turrets: Turrets {
    class MainTurret;
  };
};
class MyTank_Inherit_3: MyTank_Inherit_2 {
  class Turrets: Turrets {
    class MainTurret: MainTurret {
      class Turrets;
    };
  };
};
class MyTank_Inherit_4: MyTank_Inherit_3 {
  class Turrets: Turrets {
    class MainTurret: MainTurret {
      class Turrets: Turrets {
        class CommanderOptics;
      };
    };
  };
};
class MyTank_Inherit_5: MyTank_Inherit_4 {
  scope = 2;
  displayName = "My Tank";
  class Turrets: Turrets {
    class MainTurret: MainTurret {
      maxElev = 75;
      class Turrets: Turrets {
        class CommanderOptics: CommanderOptics {
          maxElev = 75;
        };
      };
    };
  };
};
hollow bison
#

Oh I assumed the base inheritance also inherits all the sub-classes

narrow swallow
#

the other option is you go back up the inheritance "Tank","Tank_F","MBT_04_base_F","MBT_04_command_base_F" which is what is actually done. I did the above so the steps are clear

hollow bison
#

So if I want to edit the maxElev of the class that I have already inherited, I need to first have its parent class in as well and do like the steps above?

#

I think I kind of get what you are pointing it - Ill experiment and find out eventually thanks for the right direction

wintry fox
hearty sandal
#

turrets are special case

frail zephyr
#

hi everyone im just messaging to ask if anyone give me a hand with my config some time? im quite new to it i used to do the macro technique and still do for my mod but i was told to try and to the orginal way. i just find it abit confuising and dont know how to do it step by step. is anyone able to help or send a link to a good up to date vid tutrorial or somthing any help would be very much apprecioated thanks#

rain scarab
#

Config for what specifically?

frail zephyr
#

retexture of LS

#

so just a retexture mod

frail zephyr
#

immjust finding it abit confusing. i would like to do the work myself so i a know in the future if i wanted to make another retexture mod. im just confused about the some things aswell with the code but i have an idea that i can just Copy and paste it its mainly the pathing im confsused about that. It would mean alot

hearty sandal
#

people usually answer if they know how to help

frail zephyr
hearty sandal
frail zephyr
round gulch
#

is there a way to make a weapon truly caseless?
I've tried by using
caseless[] = {1};
but it's still ejecting shells. Is it another case of the ejection being baked into the model and unoverridable?

wintry tartan
#

Truly caseless, as in, no visual effect/casing? There should be a config parameter about it, check 6.5mm config

#

Can't tell which exact rn

round gulch
#

yeah I want the weapon to not eject a casing

wintry tartan
#

Vanilla MX has done that

#

I don't know why you wrote
caseless[] = {1};
This is not how it works

#

Who suggested this line?

wheat sluice
#

You can also create a custom ThingEffect class in CfgVehicles and have it use the empty.p3d model + have a timeToLive value of 0 seconds so that it disappears pretty much instantly as soon as your custom bullet gets fired.

class CfgAmmo
{
    class BulletBase;
    class B_MyAmmo: BulletBase
    {
        cartridge = "FxCartridge_caseless";
    };
};
class CfgVehicles
{
    class FxCartridge;
    class FxCartridge_caseless: FxCartridge
    {
        model = "\a3\weapons_f\empty.p3d";
        timeToLive = 0;
    };
};
wheat sluice
# wintry tartan Who suggested this line?

I suspect that it's based on the vanilla configs for some caseless weapons which do use a similar token. MX base class has this, for instance:

caseless[] = {"", 1, 1, 1};
soundBullet[] = {"caseless", 1};

...but this doesn't actually make the gun caseless. It's just for SFX that guns make whenever they eject ammo casings.

round gulch
#

thanks, ill try these momentarily

round gulch
frail zephyr
#

class YourPrefix_phase1_helmet: ls_gar_phase1_helmet { author = "You"; displayName = "Clone Phase 1 Helmet"; hiddenSelectionsTextures[] = { "\path\to\your\helmet_co.paa", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\visor_co.paa", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\illum_co.paa"

#

Hey guys i would like help if thats ok. From my understanding this is the basic config example. Im confused about the "Hiddenselectionstextures slot", the "path to helmet PAA" and the last two lines at the bottom. I dont know were to get nore what some of it means i do understand its telling the mod wear the texture is but i dont understand were to get it.

#

I understand display name is what the item wil be called ingame and the class prefix is the base texture name i used? im guessing

#

other than the path which i understand what it means just dont know how to get it. hidden selection i dont know what that means

#

if anyone is willing to help and guide it would be highly appreciated

wintry fox
#

Then in your class, you swap whatever textures you want to change

wintry fox
#

Yeah

frail zephyr
#

ok ill try that now

viral dragon
#

The prefix is used to distinguish your mod's classnames and reduce the likelihood of conflicts with other mods. For example, if I added an M16, I might call it njt_M16 so that it wouldn't conflict with other mods that might add an M16 class.

frail zephyr
#

Ok i went onto config the to CFGweapons and found Phase2_Helmet ill work with that and change the config for Phase2 but am i in the right spot if so what now?

#

do i copy the PATH and parents?

viral dragon
#

I'd suggest getting the Advanced Developer Tools mod, it makes the config viewer so much nicer to use than the vanilla one

frail zephyr
#

ya i have it just forgot to put in the load order

viral dragon
viral dragon
#

What you need to do next depends on what you're actually trying to achieve here. Are you trying to make a new retextured variant of the helmet? Are you trying to modify the original helmet? Are you trying to change some other property of the helmet?

frail zephyr
#

i just want to add in my retextures thats all really

#

of LS armor and aswell how to do it for simmilar mods in the future but need to learn this first

#

i already have a mod RAE2 But the config is macro and its limiting my work, so i was told to learn how to do the proper way and i find it very diffacult cause somone made the mod for me and it was just a copy/paste for me

viral dragon
#

Okay, so you need to make a new class which inherits most of its properties from the original.
So you have the base class, lsd_gar_phase2_helmet, and for this you're also going to need to know the class that inherits from - it'll be the last entry in the parents array before lsd_gar_phase2_helmet, because you need to change something that comes from that parent class as well.
You're going to do something like this:

class some_parent_class; // one level up
class lsd_gar_phase2_helmet : some_parent_class // the base helmet. we're expanding on this so we need to mention where it inherits from.
{
  class ItemInfo; // we're going to modify this in the new class so we need to mention it
};
class serria6_gar_phase2_helmet_red : lsd_gar_phase2_helmet // the new helmet inherits from the base helmet
{
  displayName = "Clone Phase 2 Helmet (Red)";
  hiddenSelectionTextures[] = { "\youraddon\sometexture_co", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\visor_co.paa", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\illum_co.paa" }; // the 2nd and 3rd textures aren't going to be changed because they're universal elements like the visor, so we use the same ones as the base helmet
  class ItemInfo : ItemInfo
  {
    hiddenSelectionTextures[] = { "\youraddon\sometexture.paa", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\visor_co.paa", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\illum_co.paa" }; // we also have to do this inside the ItemInfo subclass
  };
};```
`\youraddon\sometexture_co` needs to be replaced with the actual path to the new texture, and that's going to depend on what the texture file is called and where it's located within your mod, and what your mod's PBO prefix is. PBO prefix is important, but how you set it depends on the way you're packing it.
viral dragon
frail zephyr
frail zephyr
#

thats the current/base path ya of the model then the one under is where i put my texture path into it ya?

viral dragon
#

You can see where you put your texture path, it's where it says "\youraddon\sometexture_co". You replace that specific text with the actual path to your texture.

frail zephyr
#

ok got it im understanding but were do i get the path?

viral dragon
#

Well, where did you put the texture?

frail zephyr
#

i understand these bits now its actually getting it is the problem

frail zephyr
#

C:\Users\Admin\Desktop\RAE2\data\textures\ls\trooper\helmet

#

instead of the admin/desktop would it be RAE2/data etc?

viral dragon
#

Obviously you can't use a full fixed path like that, because the file won't be in the same place on everyone's PC. You need to use the relative path within your addon, and you need to know your addon's PBO prefix. Exactly how that is set will depend on how you pack your mod.
I make fairly basic mods so I just use the Addon Builder from Arma 3 Tools. In that, the PBO prefix is set in the options before packing. The PBO prefix defines the internal name of the top-level folder of that PBO. So if you set your prefix to serria6_rae2, then your path would be \serria6_rae2\data\textures\ls\trooper\helmet\sometexture_co

frail zephyr
frail zephyr
#

class some_parent_class; // one level up class lsd_gar_phase2_helmet : some_parent_class // the base helmet. { displayName = "Commander Deviss Phase 2 Helmet"; class ItemInfo; // we're going to modify this in the new class so we need to mention it }; class serria6_gar_phase2_helmet_red : lsd_gar_phase2_helmet // the new helmet inherits from the base helmet { hiddenSelectionTextures[] = { "P2_Commander_deviss\\RAE2\data\textures\ls\trooper\helmet", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\visor_co.paa", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\illum_co.paa" }; class ItemInfo : ItemInfo { hiddenSelectionTextures[] = { "P2_Commander_deviss\\RAE2\data\textures\ls\trooper\helmet", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\visor_co.paa", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\illum_co.paa" }; };

#

this is what ive done so far i hope im getting somwhere dont know what to do with the other bits

viral dragon
#

Sorry, I put the displayName property in the wrong class, it should be in the class below (in your new class)

#

If this helmet is not going to actually be red, you can change the classname to say something other than "red", that's just an example

frail zephyr
#

class serria6_gar_phase2_helmet_red i put in the texture name here ya? the name of the actual paa file

viral dragon
frail zephyr
#

ok

viral dragon
#

"P2_Commander_deviss\\RAE2
What's going on here? Is P2_Commander_deviss your PBO prefix? You can't have \\ in a file path.

frail zephyr
viral dragon
#

No, display name goes in the displayName attribute. (As I mentioned I accidentally put that in the wrong class, but you have it set correctly other than that)

frail zephyr
#

no wait sorry

#

thats the name of the texture

#

what you just mentioned P2_commander_deviss is the name of the Paa file

viral dragon
#

Well, you've put it at the wrong end of the file path

frail zephyr
#

ya just realised that il fix it now

#

class some_parent_class; // one level up class lsd_gar_phase2_helmet : some_parent_class // the base helmet. we're expanding on this so we need to mention where it inherits from. { displayName = "Commander Deviss Phase 2 Helmet"; }; class serria6_gar_phase2_helmet_red : lsd_gar_phase2_helmet // the new helmet inherits from the base helmet { hiddenSelectionTextures[] = { "\RAE2\data\textures\ls\trooper\helmet\P2_Commander_deviss\", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\visor_co.paa", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\illum_co.paa" }; // the 2nd and 3rd textures aren't going to be changed because they're universal elements like the visor, so we use the same ones as the base helmet class ItemInfo : ItemInfo { hiddenSelectionTextures[] = { "\RAE2\data\textures\ls\trooper\helmet\P2_Commander_deviss\", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\visor_co.paa", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\illum_co.paa" }; // we also have to do this inside the ItemInfo subclass }; };

viral dragon
#

If you use three ` it'll make a proper code block, easier to read

#

You need to keep class ItemInfo; in the lsd_gar_phase2_helmet class (you've removed it for some reason), and move displayName = "Commander Deviss Phase 2 Helmet"; from that class into the serria6_gar_phase2_helmet_red class (like I said, I put it in the wrong place by accident)

#

You can change serria6_gar2_helmet_red to say deviss or something if you like, I just used red as an example

viral dragon
#

If P2_Commander_deviss is the actual name of the specific PAA texture file, you need to remove the \ at the end

frail zephyr
#

ok removed \ and changed the name to deviss

#

wait im struggling to understand with the iteminfo sorry

viral dragon
#

Go back to the original example I posted. I've just edited it so that displayName is in the right place now. See where it says class ItemInfo; in the lsd_gar_phase2_helmet class? That needs to stay there. You removed it; put it back.

mortal dove
frail zephyr
#
class some_parent_class; // one level up
class lsd_gar_phase2_helmet : some_parent_class // the base helmet. we're expanding on this so we need to mention where it inherits from.
{
  class ItemInfo; // we're going to modify this in the new class so we need to mention it
};
class serria6_gar_phase2_helmet_red : lsd_gar_phase2_helmet // the new helmet inherits from the base helmet
{
  displayName = "Commander Deviss Phase 2 Helmet";
  hiddenSelectionTextures[] = { "\\RAE2\data\textures\ls\trooper\helmet\P2_Commander_deviss", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\visor_co.paa", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\illum_co.paa" }; 
  class ItemInfo : ItemInfo
  {
    hiddenSelectionTextures[] = { "\RAE2\data\textures\ls\trooper\helmet\P2_Commander_deviss", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\visor_co.paa", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\illum_co.paa" };
  };
};```
``
viral dragon
# frail zephyr `````cpp class some_parent_class; // one level up class lsd_gar_phase2_helmet : ...

You have a \\ at the start of one of those file paths.
Don't forget to change your classname to say deviss instead of red.
The next thing you need is to find the actual name to replace some_parent_class with. Remember, we're looking for the immediate parent of lsd_gar_phase2_helmet. You can see that in the config viewer - find lsd_gar_phase2_helmet and look for the last item in its "Parents" array.

frail zephyr
viral dragon
#

I think that array might be reversed. What's the first item?

frail zephyr
#

"lsd_blueforHelmet_base"

viral dragon
#

yeah it's probably that

frail zephyr
#

i think its cause i dragged along abit to highlight

viral dragon
# frail zephyr i think its cause i dragged along abit to highlight

That's why I can't see the first item in the screenshot, but I was expecting to need the last item, not the first item. I was expecting it to be ordered "top-down", so the last item would be the immediate parent of this class. But it's backwards to what I was expecting.
Probably a difference between the vanilla viewer and the ADT viewer.

viral dragon
frail zephyr
#

so i put "lsd_blueforHelmet_base" ya

#

in parent

viral dragon
#

replace some_parent_class with lsd_blueforHelmet_base. Replace both instances where it appears; don't use quotes.

frail zephyr
#
class slsd_blueforHelmet_base; // one level up
class lsd_gar_phase2_helmet : "lsd_blueforHelmet_base" // the base helmet. we're expanding on this so we need to mention where it inherits from.
{
  class ItemInfo; // we're going to modify this in the new class so we need to mention it
};
class P2 Deviss : lsd_gar_phase2_helmet // the new helmet inherits from the base helmet
{
  displayName = "Commander Deviss Phase 2 Helmet";
  hiddenSelectionTextures[] = { "\\RAE2\data\textures\ls\trooper\helmet\P2_Commander_deviss", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\visor_co.paa", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\illum_co.paa" }; 
  class ItemInfo : ItemInfo
  {
    hiddenSelectionTextures[] = { "\RAE2\data\textures\ls\trooper\helmet\P2_Commander_deviss", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\visor_co.paa", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\illum_co.paa" };
  };
};`````
viral dragon
#

You've got an extra s at the start of the first one

frail zephyr
#

fixed

viral dragon
#

class P2 Deviss
Classnames cannot contain spaces. Use an underscore instead. You should also make this classname more unique by including a prefix to avoid conflicts, as we discussed before - that's what the serria6 part was for in the example, but you could use rae2 if that's the name of your mod, or something else

frail zephyr
#

il change it to rae2

#
class lsd_blueforHelmet_base; // one level up
class lsd_gar_phase2_helmet : "lsd_blueforHelmet_base" // the base helmet. we're expanding on this so we need to mention where it inherits from.
{
  class ItemInfo; // we're going to modify this in the new class so we need to mention it
};
class rea2 : lsd_gar_phase2_helmet // the new helmet inherits from the base helmet
{
  displayName = "Commander Deviss Phase 2 Helmet";
  hiddenSelectionTextures[] = { "\\RAE2\data\textures\ls\trooper\helmet\P2_Commander_deviss", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\visor_co.paa", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\illum_co.paa" }; 
  class ItemInfo : ItemInfo
  {
    hiddenSelectionTextures[] = { "\RAE2\data\textures\ls\trooper\helmet\P2_Commander_deviss", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\visor_co.paa", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\illum_co.paa" };
  };
};```
``
viral dragon
#

Include a prefix, not replace the entire classname with just the prefix :U
The classname is the internal name of the type of helmet. When the game goes "what type of helmet do you have?" the classname is the answer. It has to be unique, and ideally slightly descriptive.

#

In line 2, remove the quotes from "lsd_blueforHelmet_base".

frail zephyr
#

were do i put the prefix? sorry

#

removed "lsd_blueforHelmet_base"

viral dragon
#
class serria6_gar_phase2_helmet_red

this is your classname in my original example (it is the name that follows class). I used serria6 as the prefix because it's in your username in Discord. You want to change it to rae2. So, being a pre fix, it goes on the front of the classname, and your helmet is also Deviss' helmet rather than the example's "red" placeholder. This could lead to:

class rae2_gar_phase2_helmet_deviss
class rae2_p2_deviss
class rae2_helmet_deviss_p2```
Anything like that, take your pick really. But it should _start_ with `rae2_`, it should include some unique thing (e.g. `deviss`), and it'd be _cool_ if it included `h` or `helmet` so people can tell what it is.
viral dragon
frail zephyr
#

``class lsd_blueforHelmet_base;
class lsd_gar_phase2_helmet : lsd_blueforHelmet_base
{
class ItemInfo; // we're going to modify this in the new class so we need to mention it
};
class rae2_helmet_deviss_p2 : lsd_gar_phase2_helmet // the new helmet inherits from the base helmet
{
displayName = "Commander Deviss Phase 2 Helmet";
hiddenSelectionTextures[] = { "\RAE2\data\textures\ls\trooper\helmet\P2_Commander_deviss", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\visor_co.paa", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\illum_co.paa" };
class ItemInfo : ItemInfo
{
hiddenSelectionTextures[] = { "\RAE2\data\textures\ls\trooper\helmet\P2_Commander_deviss", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\visor_co.paa", "\ls\core\addons\characters_clone_legacy\helmets\phase1\data\illum_co.paa" };
};
};`

viral dragon
#

Now it's time to pack your mod and see if I've made any huge mistakes

frail zephyr
#

ok

viral dragon
#

Remember to set the PBO prefix to RAE2 in the options when you pack it

frail zephyr
viral dragon
#

Addon Source Directory: C:\Users\Admin\Desktop\RAE2AX
Are you sure that's right? That's different from the file path you mentioned before.

frail zephyr
frail zephyr
terse narwhal
#

Is there anything I can do? I can’t convert a config file.

frail zephyr
wheat sluice
viral dragon
#

According to Mondkalb, the one in ItemInfo is for the dropped object, but there are vanilla helmets [that have different hiddenSelectionsTextures to their base model] that don't have it in ItemInfo but do show the correct textures when dropped, so 🤔

wheat sluice
#

Yeah that's the weird part. Even BI is inconsistent with it and it still works out regardless...

wintry fox
wintry fox
grand zinc
mortal pumice
#

Anyone know what cfgvehicle inheritance classes have the ability to be used as transporters for VIV? things like car_f work for example but Cargo_base_F does not

#

trying to make a cargo container that you can load things into

narrow swallow
mortal pumice
#

Interesting, I've added the config element, but its not allowing me to load anything

This is what I have

#

And i've defined the memory points too

mortal pumice
#

Looks like its tied to the simulation type actually

#

if I add simulation = "carx"; it starts working but obviously with some errors

narrow swallow
mortal pumice
#

Basegame or if they are in mods, any idea which?

narrow swallow
#

Boxloader mod

mortal pumice
#

looks like originally its thingX

#

for cargo_base_f

grand zinc
#

It needs to be a Transport vehicle to ViV transport yes.
I didn't expect thingX to be one tho

mortal pumice
#

It isn’t, thingx doesn’t work

sage wasp
narrow swallow
winged blade
#

question regarding AFM configs; I'm making my own RTDconfig but for some reason when applying it to the RotorLibHelicopterProperties it forces a reversion to SFM. I've verified the file exists as is referenced in another question, and I've tried just copy/pasting a pre-existing RTD config, neither of which work

#

is there anything special with naming conventions like there is with functions?

#

config snippet for reference

        class RotorLibHelicopterProperties: RotorLibHelicopterProperties
        {
            RTDconfig="\x\JSOAC\addons\airframetweaks\RTD_MELB.xml";
            ...
        };
frail zephyr
#

hi guys hope it aint too much to ask but could someone show me, send or point me in the right direction were i can get what a basic config would look like?

#

without anything being added?

winged blade
frail zephyr
#

i just have no clue how to set up configs etc

frail zephyr
winged blade
#

so two things need to be done for every change to an existing config;

a cfgPatches entry, which specifies that your mod is to load after the other mod

class CfgPatches
{
    class JSOAC_airframetweaks // should be unique
    {
        name="JSOAC Airframe Tweaks";
        author="Waylen";
        requiredVersion=1;
        units [] = 
        {
            "vtx_MH60M", // name of the class that you are inheriting from/changing
            "vtx_MH60M_DAP",
            "vtx_MH60M_DAP_MLASS",
            "vtx_H60_base",
            "RHS_MELB_base",
            "RHS_MELB_MH6M",
            "RHS_MELB_AH6M",
            "TF373_SOAR_MH47G_base"
        };
        requiredAddons[]=
        {
            "rhsusf_c_melb", // pbo name / addon name
            "vtx_mh60m",
            "TF373_SOAR_Chinooks",
        };
    };
};```

then, a config for whatever it is your doing, so lets take an MH-6 for example from RHS. we'll just do a simple tweak to the "weapons" it has
```cpp
class cfgVehicles
{
    class RHS_MELB_base; // so the config has the class you're inheriting from
    class RHS_MELB_AH6M: RHS_MELB_base  // defines your new class, then inherits from RHS_MELB_base, copying all values
    {
        weapons[]= // defines the weapons array
        {
            "rhs_weap_MASTERSAFE",
            "Laserdesignator_pilotcamera"
        };
        magazines[]=
        {
            "Laserbatteries"
        };
    };
};
#

but what sticky joe posted is much more rigorous

#

this is a very "quick and dirty" way to do it

frail zephyr
#

just doing retextures atm

winged blade
#

you'd be redefining the hiddenSelectionsTextures array

frail zephyr
winged blade
#

give me a sec and i can pull up an example config

frail zephyr
#

just still abit complicated to get my head around

#

cheers

winged blade
#
class cfgVehicles
{
    class RHS_MELB_base; // so the config has the class you're inheriting from
    class RHS_MELB_AH6M: RHS_MELB_base  // defines your new class, then inherits from RHS_MELB_base, copying all values
    {
            hiddenSelectionsTextures [] =
            {
                "filepathtowhatevertextureyouhave",
                "texture2filepath",
                "texture3filepath"
            };
    };
};```
#

and if theres multiple, then you'll add a comma between each line

frail zephyr
#

@winged blade so other than the config what other technical stuff do i need? excluding the retextures i know that already texturing was my strong suite not config or coding

winged blade
#

as in to build the config into a PBO that can be used?

frail zephyr
winged blade
#

thats all you'd need inside of a config.cpp file, correct

frail zephyr
winged blade
#

small config tweaks are shockingly simple

#

its just when you want more nuance it gets heavier

frail zephyr
#

i find the path abit complicated at times

sage wasp
#

Sorry

faint spruce
#

I'm getting a little bit confused when i see this on the CfgSoundSet wiki. Is FrequencyFactor supposed to change the frequency or the pitch ?

viral dragon
#

For sounds, frequency (modulation of the sound wave in hertz) controls the pitch.

nimble sequoia
faint spruce
#

But thank you, now i get the thing ^^

viral dragon
#

However, you can't increase pitch without increasing frequency, and you can't increase frequency without increasing pitch, because "pitch" is just the human interpretation of a sound's frequency

faint spruce
#

Hmmm that's probably a misunderstanding from me

wintry fox
#

I get this error seemingly when I equip one of my uniforms, but I'm not sure why because it seems like vanilla uniforms (units) also use HitPelvis seemingly without issue

class HitBody: HitChest {
    // ...
    depends = "HitPelvis max HitAbdomen max HitDiaphragm max HitChest";
};
11:26:52 Error compiling 'HitPelvis max HitAbdomen max HitDiaphragm max HitChest' in 'hitbody'
11:26:52 Error in expression <HitPelvis max HitAbdomen max HitDiaphrag>
11:26:52   Error position: <HitPelvis max HitAbdomen max HitDiaphrag>
11:26:52   Error Undefined variable in expression: hitpelvis

For example, configFile >> "CfgVehicles" >> "B_G_Soldier_LAT_F" >> "HitPoints" >> "HitBody" >> "depends" has the exact same depends value and I'm not seeing any new errors come up when I equip its uniform (U_BG_Guerrilla_6_1).

finite bronze
#

let's say I'm making a Helicopter and I want it to land at faster speeds without taking damage? Is there anything in the config to help with that?

Also the Helicopter using skis not wheels

frail zephyr
#

does this look ok?

#

hey guys made my first config from all your advice and help is this gettiung somewhere or is it mush?

hearty sandal
#

for starters cfgPatches is all wrong

#

look up the arma3 samples on steam

#

compare with configs there

sweet pecan
frail zephyr
#

i have the name for the base texture im retexturing, and the path but i think i need to update that

#

i dont really understand the rest other than those

#

under class info is the name of my retexture which i added

#

display name just the name of the item ingame

civic sierra
frail zephyr
#

thanks

#

after that is just a matter of copy and pasting names?

#

of textures and paths i mean

mortal pumice
sweet pecan
frail zephyr
#

ok just changed the texture path to match. moment of truth now

#

helmet is in CFGweapons

civic sierra
#

More or less, you'll need to set up inheritance and such but the basics would look like

class CfgWeapons
{
    class BaseHelmet;
    class OriginalHelmet: BaseHelmet
    {
        class ItemInfo;
    };    
    class MyNewHelmet: OriginalHelmet
    {
        scope = 2;
        displayName = "MyNewHelmet";
        hiddenSelections[]= //this is unique per model, yours' may look different
        {
                "camo",
                "camo1"
        };
        hiddenSelectionsTextures[]= //paths go here
        {
                "Path\To\PAA",
                "Path\To\PAA"
        };
        class ItemInfo: ItemInfo
        {
            hiddenSelections[]= //Do this again YAY!!!!
            {
                    "camo",
                    "camo1"
            };
            hiddenSelectionsTextures[]=
            {
                    "Path\To\PAA",
                    "Path\To\PAA"
            };
        };
    };
};```
frail zephyr
#

OK mod packed fine but item is not in arsenal

frail zephyr
torpid zenith
#

Is it possible to add a hint to an existing class in CfgHints via description.ext? For example, this doesn't work:

class CfgHints
{
    class Weapons_basic
    {
        class MyHint
        {
            ...
        };
    };
};
torpid zenith
#

Trying to add a hint to Field Manual. config.cpp contains this:

class CfgHints
{
    class Weapons_basic
    {
        class SCH_magazinesReloading
        {
            displayName = "$STR_SCH_magazinesReloading_hint_title";
            description = "$STR_SCH_magazinesReloading_hint_description";
            image = "\a3\ui_f\data\gui\cfg\hints\Reload_ca.paa";
            dlc = -1;
        };
    };
};

And I see it using Config Viewer, but not in Field Manual. Any thoughts why?

wintry fox
torpid zenith
wintry fox
#

Same way you would with anything else

#
class Weapons_basic {
    class vanillaClass;
    class SCH_...
};
torpid zenith
frail zephyr
#

hey guys need help if u dont mind me asking my mod packed fine but item aint showing in arsenal were anyone willing to lend a hand?

wintry fox
torpid zenith
rain scarab
mortal pumice
finite bronze
mortal pumice
#

Not sure if it would work exactly but it’s my best guess, this is for the warhammer transport ship thing right?

#

Maybe making something be the gear to take the impact

torpid zenith
frail zephyr
rain scarab
#

in each helmet's class. so like

{
  scope = 2;
  // and the rest of it...
rain scarab
#

Also you should try packing your addon with PboProject. It has a LOT of error checking and will not let you pack if your addon config is majorly fucked up

#

might feel annoying at first but it will make you learn good habits. Lol

tacit zealot
#

Does anyone happen to know which config(s) contain the FX that were used on the 2.0 update's fireworks from the firing drill?

real bluff
#

Is there a way to freeze a unit in place without even having their head do ambient movement?

wintry tartan
visual apex
#

how do i make hidden selections invisible with the simple object thingy from 3den enhanced

hearty sandal
#

so anything that does not originally have transparency on it does not turn transparent

visual apex
wintry tartan
hearty sandal
visual apex
visual apex
wintry tartan
#

You really sure it is 3den Enhanced? Because I don't recognize it. If you mean Simple Object Editor from POLPOX's Base Functions, you need to write it right. It doesn't use any special tech to do so

visual apex
#

i meant from base functions

#

😭

#

ive been working on this project overnight so i am very winded

wintry tartan
#

You need to recognize what you use, meant and write correctly

hardy crow
#

is it ok/good working practice to have two configs; one for anims, one for gestures?

hearty sandal
hardy crow
#

anyway to play gestures in game?

viral dragon
#

I believe that would be playActionNow

narrow swallow
#

There's playGesture as well

wintry fox
#

I'm working on a muzzle attachment but I don't want to change how/where the normal muzzleflash appears. Seems to be handled by the alternativeFire = "Zasleh2"; in the attachment's ItemInfo but I'm not sure what to use instead since that's a class in CfgVehicles

viral dragon
#

GM bayonets use alternativeFire = "";

wintry fox
#

I'll try that, though I thought it gave me an error when it was empty
Might be thinking of muzzleEnd though

#

Doing that makes the muzzleflash appear in a seemingly random area around the muzzleflash proxy
Sometimes its in the correct positions, other times its like down and to the right / left

#

Doesn't seem to be in any pattern

wintry fox
#

Is there a better way to figure out the iconPositions for slot classes other than just trial and error?

wheat sluice
#

This still works pretty well to this day:
https://10dozen.github.io/A3_GIPP/
You may need to check it once in-game just to be absolutely sure that your coordinates are aligned 100% right (especially for muzzle slot attachments), but in most cases it should be good on your first try.

stark lagoon
#

Hi everyone,
I have a quick question about CfgHead/CfgFace

I created a custom head and would like to deactivate its spawn on the AI (to prevent it from being used by AIs when they are placed in Zeus/Eden).
Do we just need to add this function below in the CfgFace?
disabled=0;

wheat sluice
#

Just blank out the identityTypes[] array for the face.
e.g. identityTypes[] = {};
You won't need to change anything for heads since they never get randomly assigned (they're always linked to a face).

stark lagoon
#

Ahhh I see, yeah i have :
identityTypes[]=
{
"NoGlasses"
};

Thank you

frozen bluff
#

Is it possible to prevent AI units occupying FFV slots? Like some config code to tell them to go to door guns instead?

#

Arma 3 prioritizes FFV slots rather than the doorguns, and wondering if there's some way to prevent them from automatically going to them

chilly tulip
#

huh, does it...

#

Sounds like a bug tbh.

#

You mean when you order your personal squad members to board a vehicle or what?

frozen bluff
#

More like they automatically goes for the FFV slots, and not the doorguns

#

Happens on all my helicopters

#

But yeah when I order them in

narrow swallow
#

What order are the turrets in the config?

frozen bluff
#

FFV slots first, then Right and left doorgun, and Copilo/Obs slot

narrow swallow
#

That's why

frozen bluff
#

OKay

#

So how do I order them?

narrow swallow
#

I think they follow the config order, so put what you intend

#

I would think: copilot, crew guns, ffv

frozen bluff
#

Okay, I'll mess with that then, thanks!

fierce dawn
#

Got a config issue. Im trying to make laser light combos that switch back and forth from laser/light. I kept the laser and light variant for each combo but switching back and forth between light/laser is broken. It will switch but wont switch back. Any easy fixes?

wintry fox
viral dragon
#

Keep in mind that switching attachments [for fake mode switching] is a CBA feature, not vanilla, so that's where you'd need to look for documentation

frozen bluff
#

Okay here's the issue: My single-seat attack helicopter is generating a "Gunner" and "Copilot" slots for it, and I have nothing in the config declaring what the turrets are. There are no references to a turret anywhere in the config, but they won't go away

wintry fox
#

#arma3_model message
If you're not defining a Turrets class at all then its going to be using the turrets from whatever helicopter you're inheriting from

frozen bluff
#

It's Helicopter_Base_H

#

So I need to disbable those declearations? I have "HasGunner=0"

wintry fox
#

If you don't have any turrets, just do class Turrets {};

frozen bluff
#

Okay

#

Where do I put that?

#

In the Base?

wintry fox
#
class Helicopter_Base_H;
class YourThing: Helicopter_Base_H {
    class Turrets {};
};
frozen bluff
#

Okay thanks!

#

Okay next. How do I get the pylon weapons accessible to the pilot? Isn't it 1 in turret[]={0};? Do I just make it 1?

wintry fox
#

-1 should be driver

frozen bluff
#

Okay

#

Worked like a charm, thanks!

torpid plinth
#

Making an lsp for config files

toxic solar
#

is keepHorizontalPlacement = 1 only for buildings? will it work on turrets? I dont think so but nothing on wiki for it 🙂

frail zephyr
#

hey having trouble with the config could someone give advice if this is in the right direction? be much appreciated thanks

sweet pecan
rain scarab
# frail zephyr

I dont know if this will work because I dont have your files to test with, but this is how I would do your config. You were entirely missing a CfgPatches which is needed, and there was lots of missing brackets and stuff that would cause it to fail to compile.
https://pastebin.com/KhCEBq0G

#

You will need to fill out line 8 with the cfgPatches name of wherever your lsd_blueforhelmet_base is coming from, in quotes. You can try finding it in the Config Viewer in arma 3 when the helmets are loaded.

frail zephyr
dawn rivet
#

Would anyone have any idea how I could change the dispersion/beaten zone radius on a turret (50 cal) ? I am trying to make the spread when firing wider

#

I've tried messing with the following parameters in the config of the vehicles
accuracy =
precision =
dispersion =

wintry tartan
#

dispersion should handle that. Not sure about others

#

And no, it's not on CfgVehicles but CfgWeapons

chilly tulip
#

dispersion on the fire mode, not the weapon itself.

dawn rivet
#

wdym dispersion on the fire mode?

#

the rpm?

dawn rivet
wintry tartan
#

RPM? It's unrelated term in this context

chilly tulip
#

CfgWeapons classes have fire mode classes, enumerated by modes[]

dawn rivet
#

I'm trying to change the cone of fire on a turret, m2 50 cal on a tripod, but it's a vehicle right?

wintry fox
#

It is, but it still has a weapon (a class in CfgWeapons) that handles the shooting sounds, compatible magazines, etc

Including the fire modes / their dispersion

chilly tulip
#

You can find the weapon class by looking up the turret on the vehicle, if you need to.

dawn rivet
#

Ahh I see, should I increase the value of dispersion or decrease?

chilly tulip
#

Increase.

wintry tartan
#

0 means 0 dispersion, 1 means 1 rad cone

#

And so on

dawn rivet
#
    class Default;
    class ItemCore;
    class InventoryOpticsItem_Base_F;
    class MGunCore: Default{};
    class MGun: MGunCore{};
    class Pistol_Base_F {
        opticsZoomMin = 0.4;
    };
    class Rifle_Base_F {
        opticsZoomMin = 0.4;
    };
    class arifle_MX_Base_F {
        opticsZoomMin = 0.4;
    };
    class srifle_EBR_F {
        opticsZoomMin = 0.4;
    };
    class SMG_02_base_F {
        opticsZoomMin = 0.4;
    };
    class LMG_Mk200_F {
        opticsZoomMin = 0.4;
    };
    class UGL_F {
        opticsZoomMin = 0.4;
    };
    class Launcher_Base_F {
        opticsZoomMin = 0.4;
    };
    class launch_O_Titan_F {
        opticsZoomMin = 0.4;
    };
    class SPE_MLMG_base: MGun
    {
        class manual: MGun
        {
            displayName = "";
            aiRateOfFire = 1;
            aiRateOfFireDistance = 10;
            minRange = 0;
            minRangeProbab = 0.01;
            midRange = 1;
            midRangeProbab = 0.01;
            maxRange = 2;
            maxRangeProbab = 0.01;
        };
    };
    class SPE_M1919A4_tripod: SPE_MLMG_base
    {
        class manual: manual
        {
            dispersion = 0.05;
        };
    };
};```
wintry tartan
#

wtf are these base classes..?

dawn rivet
#

spearhead cdlc

wintry tartan
#

No, I don't mention about SPE, but Pistol_Base_F to launch_O_Titan_F

dawn rivet
#

Oh xD, that's for something else lol, maybe I should put that into a separate config lol

wintry tartan
#

No that's not the concern. They are syntax wise broken. If you say they are not related at all, sure

dawn rivet
#

oh i see, thats funny because they are working like I wanted lol. I reduced zoom amount when aiming on all weapons that inherit from those

#

my problem is the dispersion value on the m1919a4 is still not working, I'm not sure what I am doing wrong

wintry tartan
#

Make sure how you are test is actually correct. Do you use the right weapon and its mode? How you can tell it is not overwritten?

dawn rivet
#

How do I make sure it's not overwritten?

wintry tartan
#

AKA why you can tell it doesn't seem to be applied as you intend

dawn rivet
#

Ohhh because the value remains the same even after loading my mod

wintry tartan
#

How your CfgPatches does look

dawn rivet
#

i didnt have the proper requiredAddons

wintry fox
#

How would I go about setting up passenger seats in a vehicle of mine?
We were having issues setting them up originally, so just implemented them as turrets instead but I'd like to switch them to proper passenger seats

narrow swallow
wintry fox
#

I don't need ffv for this so seems easy enough (hopefully)

#

Also trying to disable the turn in/out actions, which from what I read in here, was handled by the turned in/out lods in config being different. So I set them to the same values but I still have the action

narrow swallow
#

well, cargo won't have those xD (i think)
but for turret you can leave one of the action blank, and/or use canHideGunner

#

I did play around with having a "duck down to take cover" via turn in, like in any movie where ppl in cars get shot at, so it could be nice =p

wintry fox
narrow swallow
#

That's fine, it uses the .001 as index

#

So you if the other seats are using the same proxy 1-3, you cna put cargoProxyIndexes[] = {4, 5};

wintry fox
#

Okay cool that worked, thanks

wintry fox
narrow swallow
#

it means "can turn in"

wintry fox
#

Gotcha, and by the action which one do you mean?
Looking at the turret there's a couple

driverAction = "driver_hemtt";
driverInAction = "driver_low01";
gunnerAction = "ManActTestDriverOut";
gunnerGetInAction = "GetInHigh";
gunnerGetOutAction = "GetOutHigh";
gunnerInAction = "ManActTestDriver";
narrow swallow
#

I think vehicle.gunnerAction shoudln't be a thing, rather vehicle.turret.gunnerAction.
gunnerAction is the turned out pose, gunnerInAction is the turned in pose. getin/out are the open door/jump out moves

wintry fox
#

Yeah those are all in the turret

#

That's what I figured, just wanted to make sure I was looking at the right thing

frail zephyr
frail zephyr
wintry fox
narrow swallow
#

are these the turrets? try gunnerAction=""

wintry fox
#

Yeah they're turrets

#

Nope can still turn out :P

versed geode
#

anyone got a heli config for controller

#

not sure if this is the right chat

rain scarab
versed geode
#

thank you

ashen chasm
#

with matching forceHideDriver to boot

#

a bunch of vanilla vehicles also has canHideGunner = -1; for some reason

pallid sierra
#

brain farting macros... what am I missing

#define LETTER_CLASS(letter) \
    class Option_##letter { \
        name = #letter; \
        value = #letter; \
    };

#define ALL_LETTERS \
    LETTER_CLASS(A) \
    LETTER_CLASS(B) \
    LETTER_CLASS(C) \
    LETTER_CLASS(D) \
    LETTER_CLASS(E) \
    LETTER_CLASS(F) \
    LETTER_CLASS(G) \
    LETTER_CLASS(H) \
    LETTER_CLASS(I) \
    LETTER_CLASS(J) \
    LETTER_CLASS(K) \
    LETTER_CLASS(L) \
    LETTER_CLASS(M) \
    LETTER_CLASS(N) \
    LETTER_CLASS(O) \
    LETTER_CLASS(P) \
    LETTER_CLASS(Q) \
    LETTER_CLASS(R) \
    LETTER_CLASS(S) \
    LETTER_CLASS(T) \
    LETTER_CLASS(U) \
    LETTER_CLASS(V) \
    LETTER_CLASS(W) \
    LETTER_CLASS(X) \
    LETTER_CLASS(Y) \
    LETTER_CLASS(Z)

usage

class Values {
    ALL_LETTERS
};

hemtt doesn't throw a fit but 3den does

narrow swallow
#

Seems fine. worked with mergeConfig

pallid sierra
#

yeah i just found the issue elsewhere. faulty import above it

pliant trench
#

does anyone know if there is a wiki page that defines the function of variables
"dexterity" and "inertia"? I am seeing these values on weapon configs but can't find official sources for what they actually do (although I can make linguistic assumptions)

pallid sierra
tacit zealot
#

Where is a list of sounds that can be accessed via userAction stored? I've checked cfgSounds and all the sound-adjacent cfgSomethings, but I can't find any sound classes that match this one which I know works.

narrow swallow
pallid sierra
#

modules: can we do a defaultValue for a EditCodeMulti5? I've tried \n for breaks, </br>, \, etc etc with no success. Ends up one one line in 3DEN

class ScriptedEventHandlerSample {
    control = "EditCodeMulti5";
    property = QGVAR(ModuleCapturePointSystem_ScriptedEventHandlerSample);
    displayName = "Scripted EH Sample";
    tooltip = "Scripted Event Handler Setup - Use This As A Template.";
    defaultValue = """['MEH_Modules_CapturePoint_OwnerChanged', {\
        params ['_module', '_oldOwner', '_newOwner'];\
        hint format['Point: %1 has changed ownership to %2!', _module, _newOwner];\
    }] call CBA_fnc_addEventHandler;""";
    typeName = "STRING";
};
wintry fox
pallid sierra
wintry fox
#

Oh it's <br/>

pallid sierra
#

pulling it all the way back in the editor fixed it.

rain scarab
#

Why would this animationList array not work in game? I am inheriting from O_G_Offroad_01_F, everything looks good, but not all of the animations in this list are applying. These are copy-pasted out of BIS garage:

animationList[]={
      "HideDoor1",1,
      "HideDoor2",1,
      "HideDoor3",1,
      "HideBackpacks",0,
      "HideBumper1",0,
      "HideBumper2",1,
      "HideConstruction",0,
      "hidePolice",1,
      "HideServices",1,
      "BeaconsStart",0,
      "BeaconsServicesStart",0
  };
narrow swallow
#

is BIS_fnc_initVehicle being run on it?

rain scarab
#

No, I nuked it from the postInit but I'm re-adding it now and trying to call that list via it instead

#

It's gettin wild too when I try it with a different set of animationSources on the comms variant of the offroad. Here's the full configs for the 3 variants I'm trying to make. https://pastebin.com/9zYygmqx

viral dragon
#

That looks like missing textures

#

Are you sure your hiddenSelectionsTextures array is complete? Compare it to a vanilla comms offroad. You might be missing an "accessories" or similar texture from the array.

rain scarab
#

I see the missing textures issue, the comms truck is just a test to see if different animationsources would play. The main issue is the animations not appearing even though they're defined in both animationList[] and in the bis_fnc_initvehicle as seen on the left truck- no backpack, no front bumper, rear door is still visible, etc.

ashen chasm
#

postinit="if (local (_this select 0)) then {[(_this select 0),false,[""hidePolice"",1,""HideServices"",0,""HideCover"",1,""StartBeaconLight"",0,""HideRoofRack"",0,""HideLoudSpeakers"",1,""HideAntennas"",1,""HideBeacon"",1,""HideSpotlight"",0,""HideDoor3"",0,""OpenDoor3"",0,""HideDoor1"",1,""HideDoor2"",1,""HideBackpacks"",0,""HideBumper1"",1,""HideBumper2"",1,""HideConstruction"",0,""BeaconsStart"",0],true] call bis_fnc_initVehicle;};"; huh? Sounds like hardcoded animations in EH? blobcloseenjoy

#
        // """" Random texture source (pick one from the property textureList[])
        >>>>>>>// []: randomise the animation sources (accordingly to the animationList[] property)<<<<<<<<<
        // false: Don't change the mass even if an animation source has a defined mass```
@rain scarab
#

ah, misread on my end, sorry, you're trying exactly that

rain scarab
#

Yeah, it just doesn't work. angrysad

frail zephyr
rain scarab
#

put "ls_armor_bluefor" in line 8

frail zephyr
frail zephyr
ashen chasm
rain scarab
rain scarab
frail zephyr
#

i loaded it up to see if it worked still wont show in the eden editor must be mission some stuff still

severe herald
#

does hitpointsprotectioninfo work on facewear and backpacks?

wheat sluice
#

Nope.

#

Backpacks are vehicles so they wouldn't be using HPPinfo.
CfgGlasses ignores ItemInfo so you can't even define it in the first place.

severe herald
#

dang

#

guess i'll be scripting that handling then 🫠

severe herald
wheat sluice
#

AFAIK it replaces but I've never actually tested if that's the case or not.

severe herald
#

hmm... i'll play it safe and keep it at 0 for the base unit and just let the vests/helmets/uniforms decide then

#

whether it's adding or replacing it's just gonna be the value in the item then

wheat sluice
#

You mean 1? 0 would be nullifying explosive damage.

severe herald
#

1 right 😂

hearty sandal
#

The various gear slots are mainly cosmetics not exactly expected to be used for extra bitsnof armor. 😅

wheat sluice
#

It's a missed opportunity that facewear didn't get support for HPP and other fancy goodies like subItems[].
Western Sahara's facemasks would've benefitted from being facewear as opposed to pseudo "helmets" that somehow protect your entire head instead of only your face.
Same goes for WS's Military Headset and ExpForce's Protecta Headsets. Getting access to a radio once you equip those would've been cool.

wintry tartan
#

Wish we have more ways to dress up, scripted way to add model to a proxy

severe herald
#
  • has dozens of classes for a vest where the only difference is the hiddenselections textures and materials 🫠
wintry tartan
#

Arsenal was one of the best feature in A3, while it is also not so good

frail zephyr
#

hey guys hope all well im just thought id ask this. Would anyone who has good knowledge or basic knowledge in configs mind doing a 1 on 1 call or chat some time next week to help assist me with my config? im abit all over the place and was just thinking a 30 min 1 on 1 would work. if thats ok to ask. if not its all good i just find it easier to learn from someone

hearty sandal
#

those are easier for everyone to give answers to when they see them

#

and benefit others too if they have same questions

#

so feel free to ask here too

frail zephyr
#

thanks anyway

hearty sandal
deep roost
#

hey guys, whats the clothing/backpack counterparts to 'class TransportItems' in a vehicle config?

viral dragon
#

Do you mean "for putting clothing/backpacks into a vehicle" or "for putting items into clothing/backpacks"?

#

For the first one, TransportBackpacks for...backpacks. Not sure about uniforms, but it might be TransportWeapons; if not just try TransportItems.
For the second one, backpacks are vehicles so they just use the same Transport... classes. I don't think there is an equivalent for uniforms, they work differently.

deep roost
#

the first, thanks.

deep roost
#

do the catagories have to be in a certain order within the config or something? only got magazines working so far

viral dragon
#

Not as far as I know.
Make sure you have the right names for the classname attribute as they are different. It's backpack for backpacks, magazine for magazines, name for items, and weapon for weapons.

#

Remember you can look at vanilla vehicle classes in the Config Viewer to see how they're set up

deep roost
#

well it seems to be that my config matches up to what they have in vanilla, Ill post a comparision:
vanilla:

        {
            class _xx_arifle_CTAR_blk_F
            {
                weapon="arifle_CTAR_blk_F";
                count=2;
            };
            class _xx_arifle_CTARS_blk_F
            {
                weapon="arifle_CTARS_blk_F";
                count=1;
            };
            class _xx_launch_RPG32_ghex_F
            {
                weapon="launch_RPG32_ghex_F";
                count=1;
            };
        };
        class TransportMagazines
        {
            class _xx_30Rnd_580x42_Mag_F
            {
                magazine="30Rnd_580x42_Mag_F";
                count=12;
            };
            class _xx_100Rnd_580x42_Mag_F
            {
                magazine="100Rnd_580x42_Mag_F";
                count=6;
            };
            class _xx_HandGrenade
            {
                magazine="HandGrenade";
                count=6;
            };
            class _xx_MiniGrenade
            {
                magazine="MiniGrenade";
                count=6;
            };
            class _xx_SmokeShell
            {
                magazine="SmokeShell";
                count=8;
            };
            class _xx_SmokeShellRed
            {
                magazine="SmokeShellRed";
                count=8;
            };
            class _xx_SmokeShellYellow
            {
                magazine="SmokeShellYellow";
                count=8;
            };
            class _xx_SmokeShellOrange
            {
                magazine="SmokeShellOrange";
                count=8;
            };
            class _xx_1Rnd_HE_Grenade_shell
            {
                magazine="1Rnd_HE_Grenade_shell";
                count=6;
            };
            class _xx_1Rnd_Smoke_Grenade_shell
            {
               ```
#
magazine="1Rnd_Smoke_Grenade_shell";
                count=3;
            };
            class _xx_1Rnd_SmokeYellow_Grenade_shell
            {
                magazine="1Rnd_SmokeYellow_Grenade_shell";
                count=3;
            };
            class _xx_1Rnd_SmokeOrange_Grenade_shell
            {
                magazine="1Rnd_SmokeOrange_Grenade_shell";
                count=3;
            };
            class _xx_1Rnd_SmokeRed_Grenade_shell
            {
                magazine="1Rnd_SmokeRed_Grenade_shell";
                count=3;
            };
            class _xx_RPG32_F
            {
                magazine="RPG32_F";
                count=5;
            };
            class _xx_RPG32_HE_F
            {
                magazine="RPG32_HE_F";
                count=2;
            };
            class _xx_Titan_AT
            {
                magazine="Titan_AT";
                count=2;
            };
            class _xx_Titan_AA
            {
                magazine="Titan_AA";
                count=2;
            };
        };```

mine:
```class TransportBackpacks {
            class _xx_rhs_sidor {
                magazine = "rhs_sidor";
                count = 2;
            };
        };
        class TransportMagazines {
            class _xx_rhsgref_20rnd_765x17_vz61 {
                magazine = "rhsgref_20rnd_765x17_vz61";
                count = 4;
            };
            class _xx_rhs_30Rnd_545x39_7N6M_AK {
                magazine = "rhs_30Rnd_545x39_7N6M_AK";
                count = 6;
            };
            class _xx_rhs_mag_rgd5 {
                magazine = "rhs_mag_rgd5";
                count = 10;
            };
            class _xx_rhs_mag_nspn_red {
                magazine = "rhs_mag_nspn_red";
                count = 10;
            };
        };
        class TransportItems {
            class _xx_FirstAidKit {
                magazine = "FirstAidKit";
              ```
#
count = 10;
            };
            class _xx_MediKit {
                magazine = "MediKit";
                count = 1;
            };
            class _xx_ToolKit {
                magazine = "ToolKit";
                count = 1;
            };
        }```
#

a discord plugin has automatically split up the code blocks to get past the character limit FYI
maybe somebody can spot something out of order, but to me its seems like it should be getting the right result

sweet pecan
deep roost
#

yea I sort of realised that after the fact

novel lava
#

its cuz you used 'magazine' for transportitems

deep roost
fickle sundial
#

Good day. I'm writing a FIX mini-mod for this one (Jurassic Arma - Raptor Pack) and we noticed that enemies occupying static weapons or vehicle turrets are invulnerable to damage meowsweats
In error logs I see stuff like Error position: <HitPelvis max HitAbdomen max HitDiaphrag>
And in config.cpp of original mod I see the author redefined CaManBase class as following:

class CaManBase: Man
{
    class ViewPilot;
    class HeadLimits;
    class HitPoints
    {
        class HitHead;
        class HitBody;
        class HitHands;
        class HitLegs;
    };
};
  • Am I right to understand that this is what's causing the issue? Missing hitpoints from HitPoints subclass?
  • Can I just slap re-redefenition of CaManBase in my FIX mod with hitpoints from error logs? Or is it more complicated than that?

UPD: Found this https://community.bistudio.com/wiki/Arma_3:_Soldier_Protection
Now I'm even more confused notlikemeow , in this example CaManBase also has only these four hitpoints but inhereting class TM4_CAManBase : CAManBase has more of them, including the ones I saw in error logs? What is correct then?

deft frigate
#

Hello have anyone messed with this LightningsConfig part of Map's weather config and know what these values do ? I assume minCloudiness is a level of overcast thunderbolts start appearing, and through trial and error I found out setting scatter to a low value makes lightning strikes happen more often thought I do not know mechanics of why it does that (my current theory is scatter is minimum time between lightning strikes). But I have no idea what the other ones do.

real bluff
#

If you update a mod from using individual P3D's to using one P3D and all versions are just hiddenSelections but everything is still the same class name, will that break everything?

wintry fox
real bluff
# wintry fox What do you mean by "break everything"?

Well I updated my EP Ground Textures to use hiddenSelections and it seems a map maker found that some of the decals give errors where it can't find the model that was used before but majority of the decals works fine using the hiddenSelections. The config doesn't point to the old model but tries to anyways.

viral dragon
#

Well, obviously the first thing is to Ctrl+F your code really hard to make sure there's nothing left.
The other thing is, I'm not sure exactly how it works, but sometimes map objects are baked into the terrain as just p3ds, not as full classes. If they've done that, then it doesn't matter what your config says because it's not being used.

real bluff
#

I guess the baking part is whats breaking it

young mortar
winter talon
#

Hmm not so much into configs but that do not look like the armor system..

young mortar
#

isn't this what hitpoints do? and the armor value makes me think so...

oak beacon
#

What would the config be for a prop item to come with a user action for players to remove/dismantle the item?

i.e a roadblock placeable in editor or by Zeus that can be selected in game by the player and then removed/cleared from game (taking X seconds)

wintry fox
tacit zealot
#

does the lockAcquire parameter not work for vehicles? I've set it to true for some pylon short range AA missiles, but I have no effect, no matter if sensors are on or not. Still have to line up crosshair and manually press the lock button.

latent monolith
#

so apart from
simulation = "shotBullet"
simulation = "shotRocket"
etc what other options do we have to choose from and where can i find them like document/reference wise i cant find a point of it anywhere

wintry fox
narrow swallow
#

Is class Reflectors able to have an IR laser?

toxic solar
#

what does a negative minimal hit mean?

#
armor = -250;
armorComponent = "wheel_1_2_hide";
explosionShielding = 4;
material = -1;
minimalHit = -0.016;
name = "wheel_1_2_steering";
passThrough = 0;
radius = 0.33;
visual = "wheel_1_2_damage";

on the base game m-atv

#

oh I found it

winter talon
#

well im sure someone more qualified can help you out, it just dont look right i think.

tacit zealot
#

I recall seeing somewere within the last few months that someone got a MFD class working for infantry, but any time I try to configure one, nothing shows up. Working with a copy of the FA181 HMD with the conditions set to 1/true/"true"/etc but no joy. Any insight?

rose island
#

So I have retextures for vehicles and are ready to add them into a mod, what I am wondering is what is the simplest config to add them in game. I have looked at how others do it but it's so in consistent. I figured I would ask those that know what their doing. I will eventually use them to make a custom faction.

mortal pumice
#

Not exactly, but probs something like this in your cfgvehicles

class CfgVehicles
{
    class Car_F;
    class My_Custom_Car: Car_F
    {
        author = "Author";
        dlc = "My_Mod";

        scope = 2;

        displayName = "displayName";

        hiddenSelectionsTextures[] =
        {
            "my_mod\data\camo\texture\Texture_1_CO.paa",
            "my_mod\data\camo\texture\Texture_2_CO.paa"
        };
    };
};
rain scarab
#

Anyone know how to stick a preprocessor argument into a second-layer quoted thing like this?

#define BRO_PLATE(ownername) \
class Bro_Plate_##ownername: Bro_Plate_Base { \
    scope = 2; \
    scopeCurator = 2; \
    displayName = 'Nameplate (ownername)'; \
    class EventHandlers { \
        postInit = "if (local (_this select 0)) then {[(_this select 0),'\bro_plate\platedata\ownername.sqf'] call bro_fnc_platechange"; \
    }; \
};

This doesn't work for the postInit, it's outputting:

postInit = "if (local (_this select 0)) then {[(_this select 0),'\bro_plate\platedata\ownername.sqf'] call bro_fnc_platechange";
#

I know that double quotes are ignored by the preprocessor but I can't do two layers of single quotes, and the documentation is either unclear or this simply can't be done and I need to revisit it totally

pastel tusk
#

Heyo, quick question.

Are there any negatives to really long classnames?
Context & Example:
AET_F_catapult_O_NFI_OPTRE_M26_F_OPTRE_M26_LMG_CompOPTRE_M26_Grippod_Bipod
Where:
AET_F_catapult_O_NFI = Addon
_
OPTRE_M26_F = Original /Parent Weapon Classname
_
OPTRE_M26_LMG_Comp = Muzzle Attachment
_
OPTRE_M26_Grippod_Bipod = Bipod Attachment

This is done by a config generator so I only get to edit / modify it afterwards, if there are no negatives other of readability then it'd be easier just to leave as is.

wintry fox
#

Didn't write out the full thing but you get the idea

rain scarab
#

Thank you!

wintry tartan
pastel tusk
wintry tartan
#

Of performance something

pastel tusk
#

Ah okie dokie

fickle sequoia
#

does anyone know where i could get help to find out how i could adjust a existing tanks gunner sight to give it more magnification? i

tacit zealot
#

Turret subclass opticIn IIRC

toxic solar
#

for hitpoint class, for the visual to change damage texture, is there any problem if I use the same name as a hiddenselection? like can I just use camoGun if that is exactly wat I want to change?

#

it works, but is there any problems with that visual being a hiddenselection

brazen merlin
#

is there a soundcontroller for when vehicle radar has been activate? for example in the tigris or cheetah

#

seems currently a spinning radar dish doesn't play any sfx?

fickle sequoia
#

i try changing the fov to something greater but when i load the mod it doesn't appear anywhere

wintry tartan
#

What doesn't what?

rough hatch
#

what config property would affect how much speed a vehicle loses when steering?

rough hatch
#

also just noticed a weird thing, the Wheeled_Apc_F base class has its wheel hit point animations set wrong, the HitLBWheel damage animation is set to the HitLF2Wheel hitpoint and vice verse, same for the right wheels

frail zephyr
#

hey would anyone be intersted in going over my config to see what needs adjusting, added or changed would mean alot? so ican finally get my head around it and fix it up?

wintry tartan
#

What do you mean

toxic stirrup
#

Any tips how to make custom new ammobox visible in Zeus under Ammo?

toxic stirrup
#

I use I_supplyCrate_F class and ScopeCurator=2; scope=2;

real bluff
#

Im trying to just change a texture of a vanilla vest in my mod. The hiddenSelection changes just fine. Vest works just fine. The problem lies with getting a No entry 'bin\config.bin/CfgWeapons/ItemInfo.scope' error. I'm not trying to change the scope of anything. Im just changing the texture. Im inheriting from the class V_PlateCarrier1_blk. I did see that its using a class ItemInfo: ItemInfo to do the damage settings. Would me inheriting from that class cause it to give the error even if I have the necessary classes defined?

wintry tartan
#

Your class ItemInfo; is located in the wrong place

wintry fox
#

Arma creates an empty class to inherit from as a fallback, so it's missing all the properties; hence the missing .scope error

real bluff
#

I don't even touch that part of the code.

wintry fox
#

Not CfgWeapons itself

real bluff
#

Its the only thing that has ItemInfo in my config and I don't even use it.

wintry fox
#

Can you show your config?

real bluff
#

Everything works but I get the error

wintry fox
#

And unloading this addon fixes it?

real bluff
#

yep

wintry fox
#

Unrelated but _generalMacro does nothing, you can remove it

real bluff
#

ok, I just copied from the existing code since they use it everywhere

wintry fox
#

It was a marker from some automated tools to set things like the nameSound of a unit/vehicle so that BI didn't have to do it by hand

real bluff
wintry fox
#

I have no clue how that config is producing that error, shouldn't be coming from vanilla

real bluff
real bluff
#

I'm confused too

rain scarab
#

What is the error you're getting? Still no entry .whatever.Scope?

ashen chasm
#

Inb4 load order shenanigans

rain scarab
real bluff
rain scarab
#

Oh I missed the resolution there sorry lol

frail zephyr
sweet pecan
# frail zephyr will do

Isn't this the same one you've posted like twice before?

  • It should be config.cpp.
  • Your tabs are really inconsistent so it's hard to to read.
  • You're missing the CfgPatches
  • You have a bunch of missing and extra { and };.
  • Line 8 should be class ItemInfo; not class ls_armor_bluefor;.
  • I don't think you need the CfgVehicles part yet or maybe at all.
  • I don't know if hiddenSelectionTextures[] goes in ItemInfo too.
frail zephyr
#

hang on i must have a preset somwhere i can copy

frail zephyr
sweet pecan
frail zephyr
#

Honestly i have no clue anymore im sorry my brain is jus fogged

#

path to PAA i understand the path to the texture thats about it

#

rest no clue

sweet pecan
frail zephyr
#

I am. i trying to get my head around it

#

ya i dont get any of it im finding it quite diffacult the family in heriit property stuff is just not sticking like i understand what it means kind of just the means of doing it, is the hard part

#

il keep reading tho

#

i hope its not too much to ask but could someone go over with me step by step? im just lost complely or is their a video i could watch that would explain better?

#

any help would be much appreciated

sweet pecan
# frail zephyr i hope its not too much to ask but could someone go over with me step by step? i...

I'm not sure if my terminology is correct, but I think the important things are:

  • You can either define a class like class Vanilla_Helmet; or you can open it like class Vanilla_Helmet { scope = 1 }; (scope is just an example of something you might do).
  • If you want a class to inherit from another class (copy everything until you change it), you open it like class Vanilla_Helmet : Base_Helmet { scope = 1 };.
  • If you inherit, you need to define or open the class you're inheriting from.
  • If you open a class that inherits from another class, it will no longer inherit unless you specifically make it. You can safely define a class like class Vanilla_Helmet; without messing with anything. For example, imagine that Vanilla_Helmet inherits from Base_Helmet and Base_Helmet inherits from something else:
class Base_Helmet;
class Vanilla_Helmet : Base_Helmet {
    scope = 1;
}; // good, keeps proper inheritance
class Vanilla_Helmet : Base_Helmet {
    scope = 1;
}; // bad, will error
class Base_Helmet;
class Vanilla_Helmet {
    scope = 1;
}; // bad, breaks Vanilla_Helmet
class Base_Helmet {
    scope = 1;
};
class Vanilla_Helmet : Base_Helmet {
    scope = 1;
}; // bad, breaks both
  • Note that you don't need to do any inheritance for class CfgWeapons {... because it already doesn't inherit from anything.
  • Formatting wise, I like to put a line break after every { and increase the amount of tabs for the lines after by one. I like to put a line break before every }; and decrease the amount of tabs before and on that line by one.
frail zephyr
sweet pecan
# frail zephyr really do appreciate the break down im starting kind of understand it now

Part 2:
The same thing applies to classes in classes. If you open it, you need to set the inheritance and define the class it inherits from. Imagine there are the classes Big_Helmet_Blue inheriting from Big_Helmet_Base inheriting from Helmet_Base, and each one has the class Helmet_Stuff under it:

class Helmet_Base;
class Big_Helmet_Base : Helmet_Base {
    class Helmet_Stuff;
};
class Big_Helmet_Blue : Big_Helmet_Base {
    scope = 2;
    class Helmet_Stuff : Helmet_Stuff {
        cool = 1;
    };
}; // good, keeps proper inheritance
class Helmet_Base;
class Big_Helmet_Base : Helmet_Base {
    class Helmet_Stuff;
};
class Big_Helmet_Blue : Big_Helmet_Base {
    scope = 2;
    class Helmet_Stuff {
        cool = 1;
    };
}; // bad, breaks Big_Helmet_Blue >> Helmet_Stuff
class Big_Helmet_Base : Helmet_Base {
    class Helmet_Stuff;
};
class Big_Helmet_Blue : Big_Helmet_Base {
    scope = 2;
    class Helmet_Stuff : Helmet_Stuff {
        cool = 1;
    };
}; // bad, breaks all
class Big_Helmet_Base;
class Big_Helmet_Blue : Big_Helmet_Base {
    scope = 2;
    class Helmet_Stuff : Helmet_Stuff {
        cool = 1;
    };
}; // bad, will error
frail zephyr
sweet pecan
frail zephyr
#

sorry trying to right it out

sweet pecan
frail zephyr
#
class CfgWeapons
{
    class lsd_blueforHelmet_base;
    class lsd_gar_phase2_helmet:
    {
        class ItemInfo;
    };    
    class rae2_helmet_deviss_p2:lsd_gar_phase2_helmet//
    {
        scope = 2;
        displayName = "Commander Deviss Helmet";
        hiddenSelections[]= (Path here)
sweet pecan
frail zephyr
#

cpp class CfgWeapons { class lsd_blueforHelmet_base; class lsd_gar_phase2_helmet: { class ItemInfo; }; class rae2_helmet_deviss_p2:lsd_gar_phase2_helmet// { scope = 2; displayName = "Commander Deviss Helmet"; hiddenSelections[]= (Path here)

sweet pecan
charred sealBOT
#
How to use SQF syntax highlighting in Discord

```sqf
// your code here
hint "good!";
```
↓ turns into ↓

// your code here
hint "good!";
frail zephyr
#

SORRY

sweet pecan
#

4th time's the charm?
5th time's the charm?

frail zephyr
#

oh my life

frail zephyr
sweet pecan
# frail zephyr now you know what your trying to help🤣

At this point it'll probably be easier to just read the original.
You forgot to put the thing you're inheriting from on line 4 and you probably need spaces before and after the : both times. Otherwise it looks good, assuming you're changing the right things, have the right classes, etc.

frail zephyr
#

but yes those examples were what im trying to change

#

thanks man appreceiate it ill try and do this

stoic nacelle
#

Found a quirk in arma's code related to suppressors / silencers / muzzle attachments. Posting this here in case anyone else ever runs into a similar problem:

If you set audibleFire to 0, it'll cause a desync bug that makes firing client side - the animation + tracers will only play for the client firing the gun. Hits will still work as normal though

hearty sandal
toxic solar
#

What is the difference between defining hitTurret in turrets -> mainturrets -> hitpoints -> hitTurret verrsus turrets -> mainturret -> hitTurret

hearty sandal
#

Inside mainturret it's just class called hitturret

#

That does not have any function

wheat sluice
# toxic solar What is the difference between defining hitTurret in `turrets -> mainturrets -> ...

I suspect you're thinking of how it used to be done for HPs in Arma 1. HitTurret and HitGun used to be defined in the base of the turret class as opposed to a HitPoints class that exists within the turret class. i.e.

class Turrets
{
    class MainTurret
    {
        class HitGun{};
        class HitTurret{};
    };
};

This isn't used nowadays though. It hasn't been the case ever since Arma 2 which requires you to put HitTurret/HitGun inside the HitPoints class.

toxic solar
# hearty sandal That does not have any function

huh thats odd cause for the B_SAM_System_03_F when I look in config viewer theres a hitturret/hitgun inside mainturret and mainturret hitpoint. and I forget what zeus mod allows this but when I double click to go to the damage on hitpoints theres 2 for turret and 2 for gun.

the first gun when set to 100% changes the visual damage texture, the 2nd one makes it so u cant move the gun as intended, but not visual damage texture changes. Bug with that zeus mod?

stoic nacelle
wintry fox
#

I forget, what's the difference between reloadTime in weapon config vs the firemode itself?

#

Looking to add a bit more delay between bursts, but not between the firing of rounds in the burst itself
E.g. say the burst fires 3 bullets with 0.1 seconds in-between them, and then like a 0.5 second delay before the next burst can be fired

#

Hmm, after a bit of testing the weapon one seems unused :P

wheat sluice
# toxic solar huh thats odd cause for the `B_SAM_System_03_F` when I look in config viewer the...

🙃
The Defender/Rhea turrets are weird. So I guess the HP system from Arma 1 still works in Arma 3 somehow, and can even be combined with the Arma 2 HP system...

Eliteness shows that a selection for vez and turret exists in the model's res/HP/FG LODs, so when you set max damage to HitTurret, you're damaging the HP in the base of the turret class and not the HP defined inside the turret's HitPoints class. This is also what causes the damage textures to properly change.
The same applies to HitGun, which has a selection for gun and zbran in the res/HP/FG LODs.
However, the HPs inside the turret's HitPoints class use neither of these and have visual = "autonomous_unhide"; and name = "action";, neither of which exist as selections or mempoints. So if you damage them, no textures will change.
But I cannot disable the turret's elevation and traverse even with this setHitPointDamage ["HitGun", 1]; and this setHitPointDamage ["HitTurret", 1];. So this weird mix of the Arma 1 HP and Arma 2 HP system also technically doesn't work. 🫠

#

...Jets DLC really was such a mess. I wonder what other weird inconsistencies there are that haven't been picked up on yet.

toxic solar
# wheat sluice 🙃 The Defender/Rhea turrets are weird. So I guess the HP system from Arma 1 st...

kekega

I got my desired effect of having it where hitturret/hitgun on death doesnt kill the whole thing by having hitPoints in base of config being empty, deleting hitTurret and hitGun in mainturret, and in mainturret->hitpoints having hitgun and hitturret with the armorComponent stuff, so I guess like a normal static MG turret. IDK it works and I really did just copy my normal MG static turret stuff. but was weird to find

wintry fox
#

How does arma determine which soundX sound to play from an ammo's config?
I'm assuming it's pulling the soundHit from the bisurf, then checking _ammoConfig >> format ["sound%1", _soundHit] (to put it in sqf terms) but I'm not sure how it'd handle multiple hit sounds (i.e. the properties are soundMetal1, soundMetal2, etc.).

For context, trying to add some custom impact sounds for a surface of ours. Our current solution was a little jank and used impact = "prefix_impactThing"; in the bisurf, then modifying HitEffects in BulletBase to add our thing to spawn a particle, which then plays a sound. However I found an issue where inherited HitEffects values aren't used at all

#

Need to make a ticket on that but not a priority for me currently

torpid plinth
#

@ocean relic

#

my side project

#

schemas will allow you to put parsers inside the param parser (like for macros or texture strings or paths) they work with completions group inlay hints aswell.

wintry fox
abstract ice
rain scarab
dusk mesa
#

I need halp. trying to get my kaiser reich mod playlist to work but i keep running into this issue

#

addon I_AUSAmericanunionstate requires addon Ifa3_comp

viral dragon
left grotto
#

Can someone point me to the correct variable names to place a skeleton in the model and main cfg. Adding a custom RTM to a Samples mod. Cannot remember what those are to look up any wiki example. Have the AIO, but same problem, don't know where to narrow things down. Did it ages ago, just need pointed in the correct direction.

hearty sandal
#

what kind of RTM are you adding?

left grotto
#

Thanks! Found it in Samples. Been a long year away from modding, lol. I am just adding a simple static pose that works with the Heli controls.

young mortar
#

hey guys, for some reason my helmet is not there ingame

#

it is in the config viewer but not in the game

#

not in virtual arsenal and not if i spawn a unit wearing it

left grotto
#

I have been attempting to add a simple static RTM into a Samples heli mod example. I did it a long time ago, and must be missing something. I Have added the following class to the model.cpp : OFP2_ManSkeleton. In config I added CfgMovesBasic and CfgMovesMaleSdr: CfgMovesBasic. Mikero is saying "skeleton failed" when crunching. Any ideas where I might need to work on something?

hearty sandal
hearty sandal
#

are your rtms in a separate folder with the model.cfg next to them?

left grotto
#

I have tried separate and the same folder, so far.

hearty sandal
#

so your project could be something like P:\Seldom\Seldoms_helicopter\ <- p3d, config.cpp model.cfg in this folder

#

P:\Seldom\Seldoms_helicopter\data\ you would have textures and rtms

#

and in P:\Seldom\Seldoms_helicopter\anims\ you would have rtm and ofp2_manskeleton model.cfg

left grotto
# hearty sandal and in P:\Seldom\Seldoms_helicopter\anims\ you would have rtm and ofp2_manskelet...

Thanks, nice setup. Did that, started fresh on my config and model files, had errors there, and an error in my rtm export from Blender. When I did this last year, the pose was mostly static, but still used the control stick in the new position, and I was able to adjust the angle and range with points in Blender. This time the pose is truly static. Is there a way to allow input from a vehicle to a new pose. Did it before but can't remember. I know it was something simple.

hearty sandal
left grotto
hearty sandal
#

these and equivalent for feet

#

and separate ones for gunner/turret as well

#

"AnimName" should come up with info either here in chat history of if you grab yourself a all in one config dump for vanilla config reference

left grotto
#

stick_copilot for example? saw that in the config. I have the AIO. That is great to know. As always the master.

left grotto
left grotto
#

yes

hearty sandal
#

they also have to correspond with bone names in your vehicles config/modelc.cfg animations

left grotto
left grotto
hearty sandal
#

and yes you will have to setup what animations different engine driven animation sources use

left grotto
hearty sandal
left grotto
balmy sable
#

If you run "headgear player" after being spawned with it what do you see?

young mortar
#

i was probably using some wrong c lasses to derive from...it's workng now

#

but thanks ^^

#

but I got a harder question: how would I config a laser weapon or how would I config the laser ammo (no bullet drop for example)?

jade brook
#

You can't

#

(without scripting)

young mortar
#

there was a star wars mod not long ago...it worked there...how would I script it?

faint spruce
#

What can cause the Damage class of a vehicle to become non-working ? I'm working on a building, the damage textures were switching properly but for some reason, it's now not working anymore. The hitpoints of the damage area works properly, the animationSource as well but i don't understand why its not switching materials

faint spruce
# hearty sandal is it indestructible?

The building is not destructible i just want the glasses to be destructible. I can destroy the glass without problem, it gets properly hidden but it doesn't switch texture at 0.5 damage

#

It was working, but i don't know why its not anymore

jade brook
#

fired event handler with setAmmo

faint spruce
#

I can send you the files if you want to take a look at it, its very weird

#

My opinion is if the model gets properly hidden when the glass is destroyed, that means the hitpoints config is done properly, even the visual parameter, so i don't understand why it doesn't switch texture

#

Can diagnostic branch help me tyo figure out what's happening ?

young mortar
#

thanks I'll try it as soon as I got the weapons ready

hearty sandal
#

there are some differences between how terrain placed objects and editor placed objects behave when destruction is disabled
Are you testing editor placed objects only?

faint spruce
#

But i have same issue if i spawn the second part separately

hearty sandal
#

then couple of common issues are typo in selection name or the damage selection defining parameter

#

or maybe missing section definition in model.cfg for that p3d

faint spruce
#

Here is the config https://pastebin.com/JM85crd9
Here is the model.cfg https://pastebin.com/9Kyj69Fg

left grotto
hearty sandal
left grotto
#

It starts in the default Arma heli pose, hand in center, and there is no cockpit or controls visible. Then it jumps into the cockpit, with my pose and the hand to the right side. I want to start with my pose.

#

Before I added the config it went straight to my static pose but no function. Current config:

class CfgMovesBasic {
class ManActions {
Seldom_Pilot_Pose = "Seldom_Pilot_Pose";
};
};

class CfgMovesMaleSdr: CfgMovesBasic {
skeletonName = "OFP2_ManSkeleton";
gestures = "CfgGesturesMale";
class Crew;
class States {
class Seldom_Pilot_Pose: Crew {
file="\Seldom_Test_Mods\Seldom_Proto_V1\anims\Seldom_Pilot_Pose.rtm";
looped=0;
speed=1;
leftHandIKCurve[] = {1};
rightHandIKCurve[] = {1};
leftLegIKCurve[] = {0};
rightLegIKCurve[] = {0};
head = "headDefault";
};
};
};

hearty sandal
#

ah maybe its related to the internal parts not showing up at start

#

dont really know what that would be though

#

maybe the get in animation bugs somehow

#

have you defined getInAction?

left grotto
#

Currently I am using the default "pilot_Heli_Light_02_Enter", I am going to look at my blender file for the animation. I made a second one to test this. I have had luck with things just messing with export settings. I also made this with frames 0-2 seated. I remember if I leave the 0 frame the default pose with the rig, and model 1 and 2, change the loop, it does different stuff.

left grotto
hearty sandal
left grotto
# hearty sandal try some other entry action

I used the car one, which looks better for my purpose. That functioned fine, but there is still that odd delay. I don't remember having this problem last time. I am going to redo the pose with a fresh Arma rig and export a new one. That was a very rough pose so it won't take long.

left grotto
wintry fox
#

Can you modify a unit's HeadLimits?
I've tried making some changes in mine but it doesn't seem to be taking effect ingame

severe herald
wintry fox
#

Nah I wanted to limit the freelook range

severe herald
#

ah, yeah that's not headlimits (headlimits is what i described, purely visual) - you need some class with pilot in it... 1 moment lemme boot up the game

wintry fox
#

Oh its ViewPilot, I just saw head limits first and guessed it was that

severe herald
#

yep viewPilot

stoic nacelle
#

Does anyone know what this does? I can't find any documentation for it
I'm guessing something to do with thermals maybe?
(from the model.cfg)

hearty sandal
#

so safe to delete those parts

stoic nacelle
#

Ah k, gotcha. So it belongs in a config?
I'm wondering what it does

hearty sandal
stoic nacelle
#

Any documentation for it? I can't really find any mention of it on the wiki

hearty sandal
stoic nacelle
#

Huh, guess I'll just have to play with it and see what happens
Thanks

hearty sandal
#

you might be able to glean some idea if you look at vanilla classes and how the parameters are used there

#

like here in weapons classes

stoic nacelle
#

Hmm, ok
I'll throw the values into one of my weapon models and play with it there

#

The weird thing is specifically the barrel heats up on vanilla weapons (this case the MX and QBZ95) but there's no definition for it in the model.cfg. Hell the barrel isn't even defined as a vertex group

#

Some screenshots for reference
I'm beginning the suspect it might have something to do with the textures or rvmat

#

Note how the QBZ is solid black while the MX has definition

#

Found it
I'm willing to bet this is a separate texture just for thermals

hearty sandal
#

weapons, driveable vehicles and characters use it

#

static objects like buildings dont

stoic nacelle
#

Ah, ok now its starting to click

grave steppe
#

Anyone have any idea how to get damn Deploy Pivots working correctly?
It is defined in Memory LOD and also the Config.cpp.
THe Memory Point is supposed to be on the rail itself

scarlet oyster
#

@toxic stirrup Make sure to list the classname in the the units[] array of the cfgPatches.

#

For some reason with Zeus the units and weapons array got a purpose again.

remote mist
#

No channel is perfect for this question, but since the answer applies to the config I'm working on I picked this one. When an explosive is placed/armed, which model is visible? Is it the Magazine or the Ammo?

wintry fox
#

model is used for when the explosive is armed, and mineModelDisabled for when its unarmed

remote mist
#

Awesome, thanks. And I assume it's the same for grenades?

wintry fox
#

Yeah, minus the mineModelDisabled bit

remote mist
#

Wicked.

novel lava
#

yeah the magazine is for when you drop the inventory item on the ground

remote mist
#

K, so I'm getting 2 oddities now.
First, the explosive appears in the arsenal under "magazines" instead of "explosives".
Second, when placed the explosive I inherit from is the model that's visible, and the model I'm using doesn't appear until armed.

I think the second is being caused by ACE, but on the off chance it isn't, I'm throwing it out here

wintry fox
remote mist
#

Do you mean editing the line
muzzles = ["..."];
or edit class putMuzzle

lament thicket
#

Hello all, has anyone ran into this RPT issue creating their mods with unit inheritance? I was told years ago that I needed to start my inheritance tree at class SoldierWB to make sure there was no randomisation except for what I had chosen

https://pastebin.com/PJsGwHRU

wintry tartan
#

Though this is very ignorable error (at least never considered improtant, personally), are you sure it's caused by your config

remote mist
#

Ok, still struggling to get it to show as an Explosive. What am I missing?

class cfgWeapons
{
    class Put
    {
        muzzles[] += {"MyMuzzle"};
        class    PutMuzzle;
        class    MyMuzzle: PutMuzzle
            {
            displayName = "My Explosive";    
            magazines = ["MyExplosive_Mag"];
            };
        
    };
};
viral dragon
#

magazines array syntax is wrong

#

In config, arrays are name[] = { "some", "content"};

#

(or += for append to existing array attribute, but you just want = for magazines)

remote mist
#

Fixed that part, still not showing under the Explosives category.

wintry tartan
#

You sure MyExplosive_Mag does even exist

remote mist
#

I renamed it in the example I showed here, but yes it exists.

wintry tartan
#

You also sure whichever the mag config is correct

remote mist
#

Yes, beyond showing up in the wrong category, my explosive 100% works as intended now

wintry tartan
#

Do you mean you can use it ingame but not in Arsenal

remote mist
#

I do my testing in 3den, I can use it, but it's in the "all magazines" category, not the "explosives" category when editing my test loadout with the arsenal

wintry tartan
#

Then check out a working magazine's config and not working your config, compare them to find a possible issue

remote mist
#

The issue was in my cfgPatches. The slap-dash job I did for early testing gave me a functional item, but it wasn't allowing my += to modify the muzzles array in Put.

wintry tartan
#

It is allowed, but overwritten by other config, then

remote mist
#

Either way, I fixed my cfgPatches and am now well on the way to making something people will either love or hate.

left grotto
#

What would I need to do to disable a default HUD for an inherited Vanilla helicopter? I am not sure what to do, but I am certain it is in the main config.

wintry fox
#

class MFD {};

lean bloom
#

Could someone please enlighten me how the minimalHit value in vehicle config should be read?

For example with a value of 0.139 the vanilla M2 doesnt do any damage to the component, but with a value of 0.1 it does.

How is this value supposed to be understood in relation to ammo config values?

toxic stirrup
#

thanks julesOf!

#

but... its listed 😃

severe herald
novel lava
#

It's somewhat complicated but you can get a rough idea
minimalHit is essentially a percentage of the armor value
so if armor = 300 and minimalHit is 0.1 the damage needed to deal damage would be 30

#

but this gets reduced by the vehicles total armor too

#

the exact equation I'm not sure of

novel lava
#

as postive armor values in hitpoints are derived from the vehicles armor value

lean bloom
mortal pumice
#

Out of curiosity, anyone know what "numberOfHatches" is meant to do? found it in the cargo hq base config

#

I assume similar to numberOfDoors as its configured next to it

#

But nothing appears ingame so maybe a configuraiton that never saw the light of day being tied into some functionality?

grand zinc
#

Engine doesn't read it, maybe some script does

wintry fox
mortal pumice
thin anvil
#

Got guided here with this, anyone able to help?

sweet pecan
thin anvil
#

Your solution neither works, nor as per your words in scripting is this a topic for a different channel 🙂

wintry fox
#

There's also logoOver for when hovered over
There's a third one too but I can't remember what it's called

sweet pecan
mortal pumice
# thin anvil

If it’s overwriting it, it may be because of load order? As in your mod loads first, sets the background and logo and then cwr3 loads after and sets the same thing again

#

Not sure how you control that per say but just a thought

sweet pecan
thin anvil
tacit zealot
thin anvil
sweet pecan
charred sealBOT
#
How to use SQF syntax highlighting in Discord

```sqf
// your code here
hint "good!";
```
↓ turns into ↓

// your code here
hint "good!";
copper token
#

I don't know if this is the right channel for it but...

How do I properly do the setflagtexture thing for each one of my vehicles? I am the creator of the Generic Balkan Conflict series (and most notably its first mod, and only mod so far, the Balkan Paramilitary https://steamcommunity.com/sharedfiles/filedetails/?id=3702271995) and I plan on using the setflagtextures to differentiate between factions' vehicles. The problem is, I don't know how and I don't know how to do it in an easy way (I use Virtual Studio Code and I intend on using their replace feature).

The flag in question is balkan_paramilitary.paa ("\BalkanParamilitary\data\balkan_paramilitary.paa")
Also I constructed the faction in ORBAT so there's that too...

sweet pecan
#

cpp on the same line as the ``` with no space and then a line break after.

thin anvil
#
class RscDisplayMain : RscStandardDisplay 
{
    class Controls 
    {
        delete LogoApex;
        class Logo : RscActivePicture 
        {
            text = "\CT_MOD\data\ct_logo.paa";
            onButtonClick = "";
            tooltip = "Combat Team";
            onLoad = "";
        }; ```
#

now works

sweet pecan
thin anvil
#

ok thanks, I´ll try that

wintry fox
sweet pecan
wintry fox
copper token
wintry fox
#

I'd imagine you just need to add the flag proxy, though I don't know the path to it and not home to check it

untold temple
#

IIRC that's what the star wars mod used

placid hedge
#

is anyone familiar with using spearpoint as part of the config, i used their uniform for an OPFOR faction but when i load them in theyre using vanilla NATO uniforms

brazen imp
#

Is there a easy way for me to add custom music to the main menu with a config or sqf file?

torpid plinth
#

Working on my plugin

arctic sparrow
#

Hi everyone,I'm having a frustrating issue with Arma 3 keybinds. I'm trying to change the "Command Slow Forward" (the command for AI drivers to move slowly) from the default W + Left Ctrl to W + Left Alt.The problem is:Even after changing it in the in-game "Command" settings, the new bind is ignored.The game still only responds to the vanilla W + Left Ctrl.I've tried editing my .Arma3Profile file manually (setting keyCommandSlow[]={17, 56}; and keyMoveSlowForward[]={17, 56};), but the game seems to use some hardcoded defaults and ignores these entries.I've also tried setting the profile file to "Read-only", but it didn't help – the old bind still works, and the new one doesn't.I am a tank gunner and I need to use Alt for slow movement because holding Ctrl + W while shooting causes ghosting/input lag on my mouse/keyboard (the fire button stops responding).Has anyone managed to successfully override these hardcoded command binds? Is there some hidden setting in CBA or another config file that forces the default Ctrl modifier?Thanks in advance for any help!

faint spruce
faint spruce
placid hedge
#

As in the mod

severe herald
#

what's the config value that dictates the amount of force required for a unit to be ragdolled? there must be one since nudging a unit slowly with a vehicle doesnt ragdoll until a certain speed

viral dragon
#

Obviously there is a minimum but there's no guarantee that it's config controlled. It could very well be pure engine stuff.

severe herald
hearty sandal
#

mayhaps it could be exposed for config though? blobcat3

severe herald
#

Onto the long list of feature requests 🫠

frail zephyr
#

hey guys im hoping im nearly their with this config been busy with other things does this look good or bad right direction or nah?

sweet pecan
# frail zephyr
  1. It should be config.cpp.
  2. Do the CfgPatches.
  3. I think you either need to do the CfgVehicles part differently or just not have it at all.
viral dragon
#

Helmets don't require a CfgVehicles entry; they're not vehicles.
You could use a CfgVehicles entry to make an Editor/Zeus placeable container object which contains the helmet, but that would be done differently.
Uniforms do require CfgVehicles because they are partly vehicles, but helmets don't.

livid thorn
#

Uniforms do require CfgVehicles because they are partly vehicles
I hate everything about reading this kek
🙈

hearty sandal
#

and trees and rocks

mortal pumice
#

It’s easier to list the things that aren’t vehicles in a3 haha

hearty sandal
#

helmet is not

#

but when on ground its inside an invisble vehicle

#

vest is same

#

but backpack is a vehicle evilpatrick

ashen chasm
#

but when on ground its inside an invisible vehicle

placid hedge
#

does anyone know how to put attachments in the config file, im trying to put susat scopes on an L1A1 & an L85

finite bronze
#

Just a random question about animation source for guns (relevant for a future project). Can a single vechile gun trigger multiple animations? So let's say I want a cannon to have a recoil animation, but also want it to count down a ticker in the interior based on rounds left and want it to activate a red light when empty, is that possible? I remember I had difficulty with something similar in the past so best to check now before it gives me a headache and learn I can't do it.

wintry fox
#

Just goes in the weapon config, usually you have the normal gun without any attachments be visible, and then have pre-set up versions for AI spawn with that are scope 1'd

placid hedge
#

will check it out, thanks!

hearty sandal
#

so yes they can be used on multiple animations

brazen merlin
#

does anyone know what can cause my airfield to end up like this? 🥲

#

for a test i just copied all the stratis airfield positions, but shifted them somewhere else

grand zinc
#

That image isn't telling me whats wrong

brazen merlin
#

meanwhile actual stratis:

#

since i did not change rotation of the points, just moved them somewhere else while having them all keep the same relative positions, i'm not sure what broke

#

ilsPosition obviously seems to be the start point, but i must be missing the end point

rain scarab
# brazen merlin

I had to redo mine from scratch, i just had this issue on sidewinder

#

The image from this part, I remade these markers in 3den in that configuration, and then was just moving them to fit my airfield and copying their position into my config. I think the issue was I got one of the taxiOff or taxiIn arrays reversed

brazen merlin
#

hm. i wrote a script to do marker export, so they shouldnt be wrong. i'll double check

#

also, do i misunderstand something or are the 02 / 20 markers on stratis wrong

chilly tulip
#

Wrong how :/

brazen merlin
#

ok never mind, i got it wrong. it's the magnetic heading, so 20 becomes 2 and 200 becomes 20

inland coral
#

If I had a trigger that played a song, say it was 3 minutes in length, but I only wanted it to play for 1 minute - how would I go about shortening it?

brazen merlin
#

ok, fixed it. my ilsDirection array was broken

wintry fox
#

What'd be the "proper" base class for just a sci-fi terminal thing? I've heard you shouldn't use house for like random props (though I forget the reason)
Nothing special about it, just res/geo/land contact. So I'm guessing like Thing?

rain scarab
#

NonStrategic maybe? Or find the closest equivalent prop in the editor and use config viewer from advanced dev tools to see what it inherits from

wintry fox
#

Yeah couldn't find anything similar so wasn't sure

wintry fox
rain scarab
# wintry fox What exactly is "NonStrategic"? I've seen it before but wasn't sure what it mean...

I dumped out NonStrategic and Thing from arma to notepad++ and did a lil compare, and its just a lot of... litle things? NonStrategic is probably for buildings, since its default editorCategory is EdCat_Structures, while Thing is more for objects since EdCat_things. Same deal for NonStrategic simulation type is house, thing is thing. Thing does not have a DestructionEffects class by default.

#

And between Strategic and NonStrategic the only difference is the editor category and the 'cost' attrib which I think is for Zeus placement budget maybe

wintry fox
#

It is yeah, though pretty sure it's also been fully removed from A3

#

Thanks though, probably gonna use NonStratetic

rain scarab
#

Is your object meant to have PhysX or be static? Just curious

#

Seems like most things derive from Items_base_F and if you wanted it to have no physX interaction I've tricked it before by just doing simulation = "house"; lol

wintry fox
#

Semi-related, anyone know what handles the "Edit vehicle appearance" option appearing? I have a bunch of screen variants and was going to use that to let people change them, but it doesn't appear

#

The TextureSource randomization is working when they're spawned, I just can't open the garage for them

wintry fox
#

Hmm seems to only work on vehicles, so I guess I have to try something else :P

earnest phoenix
#

I've made a faction that overall works fine, however one of the vehicles I'm using is the RHS Tigr (unarmed). The vehicle works in the faction fine, but spawns with a RHS unit in the cargoTurret position. I've gone back and used some previous cargoTurret inheritance examples here, but what I've come up with isn't working. I'm sure my syntax/inheritance is off, but I've run out of (my already non-existent) coding skill to solve this. Any recommendations? Code to follow...

#
{
.
.
.

class MRAP_02_base_F;
    class rhs_tigr_base: MRAP_02_base_F 
    {
        class cargoTurret;
        class turrets;
    };
    class rhs_tigr_vdv: rhs_tigr_base 
    {
        class cargoTurret;
        class Turrets : Turrets
        {
        class cargoTurret_01;
        };
    };
    class rhs_tigr_m_vdv: rhs_tigr_vdv 
    {
        class cargoTurret;
        class Turrets : Turrets
        {
        class cargoTurret_01;
        };
    };
    class rhs_tigr_m_msv: rhs_tigr_m_vdv 
    {
        class cargoTurret;
        class Turrets : Turrets
        {
        class cargoTurret_01;
        };
    };
    
.
.
.
.

class GATOR_PLAMC_YJ2080: rhs_tigr_m_msv  //tigr here
  {
    faction="GATOR_PLA_2021";
    side=0;
    displayName="PLAMC YJ2080";
    crew="GATOR_PLAMC_Rifleman_Veh";
    typicalCargo[]={"GATOR_PLAMC_Rifleman_Veh","GATOR_PLAMC_Auto_Rifleman"};
        class Turrets : Turrets
        {
            class CargoTurret_01: CargoTurret
            {
                gunnerType = "GATOR_PLAMC_Auto_Rifleman";
            };

    };
  };```
#

When doing the above, the RHS unit is no loger there, but when I tell an AI to get into that cargoTurret position, he's stuck standing up.

ashen chasm
#

if you re-inherit from CargoTurret - you need to re-apply everything that RHS changed in CargoTurret_01 🤷‍♂️

wintry fox
#

Just inherit from RHS's cargo turret

earnest phoenix
# wintry fox Just inherit from RHS's cargo turret

Oh, I thought I read earlier you had to go back farther than that... Okay, so does that mean I get rid of everything in the initial CfgVehicles class list except the rhs_tigr_m_msv and then put what I have in the new vehicle class? I think I did that earlier and it didn't like it.

#

I know what you said makes perfect sense, but for coding you have to talk to me like I'm a mentally challenged 4 year old.

chilly tulip
#

As you've already expanded down to CargoTurret_01 for rhs_tigr_m_msv, it should work if you just change the class CargoTurret_01: CargoTurret line to class CargoTurret_01: CargoTurret_01

wintry fox
#

Anyone know of any issues if a vest adds protection to hitpoints that aren't defined?
I'm adding some extra armor to the legs, and adding classes for the left/right leg for ACE. Testing without ace doesn't give any errors or seem to affect the damage

class HitpointsProtectionInfo: HitpointsProtectionInfo {
    class Chest: Chest {
        armor = 20;
        passThrough = 0.2;
    };
    class Diaphragm: Diaphragm {
        armor = 20;
        passThrough = 0.2;
    };
    class Abdomen: Abdomen {
        armor = 20;
        passThrough = 0.2;
    };
    class Legs {
        armor = 2;
        passThrough = 0.2;
        hitpointName = "HitLegs";
    };
    class LeftLeg: Legs {
        hitpointName = "HitLeftLeg";
    };
    class RightLeg: Legs {
        hitpointName = "HitRightLeg";
    };
};
frail zephyr
sweet pecan
young mortar
#

can I somehow config a helmet so that it has integrated night vision?

jade brook
#

no

young mortar
#

can I config a helmet so it has a light?

jade brook
#

NVG is toggled by having something in the NVGoggles slot. That is the only way to add night vision to a unit.

#

can I config a helmet so it has a light?
no

young mortar
#

hmmmm...can I config NVGoggles to have a light and night vision?

jade brook
#

Well, you press N to toggle it on and off.

young mortar
#

so not possible without scripting?

jade brook
#

NVGoggles are always toggled. What's the question?

young mortar
#

I want my soldier to have night vision and a headlight so he can choose between what fits the situation better

jade brook
#

headlights are not possible period.

#

You can't script cone shaped light sources

#

And you can't attach stuff to directional bones (you can in VBS)

#

So rotating the head would not follow the light source

young mortar
#

hmmmm that's sad....thanks anyways 😄

jade brook
#

Yeah. This has been attempted multiple times already.

severe herald
#

Is there any sound that would play permanently on a unit without it being triggered? I wanna add an ambient sound to a unit essentially

#

I.e an idling engine noise but... on a person

knotty sage
#

So you can't declare a light on the NVG item ? Even with scripting ?

subtle iron
#

anyone know how to add options to my vest for example vest only belt only etc