#arma3_config

1 messages · Page 18 of 1

wintry fox
#

Ah the vehicle I was going to modify did have a "glass" hiddenSelections, but it apparently isn't set up correctly 🙃

balmy atlas
#

is there a way to force an event handler, via config, onto all children of man class? I need to force **ItemSlotChanged **on all human units, but it's currently not supported by CBA_A3 extended event handlers.
I attempted to run Init and PostInit, which would issue it via script, but it'd be lost after returning back to editor from mission file and would fail to work again.

wintry fox
#

Init/PostInit should still fire after returning to the editor and starting again

balmy atlas
#

perhaps i missed something. i'll give it another try, thanks.

opal crater
#

We should be doing CBA update soon™️ it will support that EH for XEH

pseudo kite
#

Hey guys, been working on a Top Secret Mod.Promise you guys wont tell anyone!!

#

Its a One AI Tank mod that makes the Tanks use only one ai and has the weapons under the drivers control aswell as being able to move the turret.I have been tinkering with it for awhile now only in free time.Have had some wins with it but am having trouble with getting all the turrets weapons under the command of the driver.Was gonna ask for help or for someone to help with its development but am gonna leak it here and see if someone here is interested in developing it.Its inspired by a mod for OFP from a very long time ago.Fantastic for saving cpu resources in large scale missions.I envisioned extending development to pretty much all of Arma 's vehicles under there own category to maximise efficiency in all vehicles in all missions.For those interested and capable heres a link to my dev version.Config's been edited.Best to use a fresh version.-https://www.mediafire.com/file/nyyh94bqdss1yn2/@One+AI+Tanks+Mod.7z/file

#

I'am handing the mod/concept to anyone capable and motivated.

#

Steve.

cunning reef
#

okay,
My quest to turn the basic
initPlayerLocal.sqf
onPlayerKilled.sqf
onPlayerRespawn.sqf
(save respawn loadout)
into a mod, I have set up a new modfolder in my P drive.
set up a basic config.cpp

class CfgPatches
{
    class HAMS_Spawn
    {
        author=    "Hamsch";
        name="Hamsch's Loadout Saver";
        weapons[]={};
        magazines[]={};
        ammo[]={};
        units[]={};
        requiredVersion=0.1;
        requiredAddons[]=
        {
            
        };
    };
};

class CfgFunctions
{
    class HAMS_Spawn
    {
        class SpawnSettings
        {
            file = "HAMS_Loadout_Saver\functions";
        };

        class myFSMFunction
        {
            preInit        = 1;
        };
    
    };
};



with fnc_SaveLoadout.sqf containing

HAMSCH_EH_onPlayerRespawn = player addEventHandler ["Respawn", {
    params ["_newObject", "_oldObject"];

    deleteVehicle _oldObject;

    player switchMove "UnconsciousFaceDown";
    player playMove "UnconsciousOutProne";

    player setUnitLoadout (player getVariable ["Saved_Loadout", (configFile >> "EmptyLoadout")]);

    private _loadout = getUnitLoadout player;
    private _radio = (_loadout select 9) select 2;
    if (_radio isEqualTo "") then {
        player addItem "TFAR_anprc152";
        player assignItem "TFAR_anprc152";
        hint "Radio Added";
    };
}];

HAMSCH_EH_onPlayerKilled = player addEventHandler ["Killed", {
    params ["_unit", "_killer", "_instigator", "_useEffects"];

    _unit setVariable ["HAMSCH_Saved_Loadout", getUnitLoadout _unit];
}];```
cunning reef
#

okay I ran a test of it and nothing happened

molten musk
cunning reef
#

uhh

#

that would be incorrect, I belive

#

P:\HAMS_Loadout_Saver\functions

chilly tulip
#

You CfgFunctions looks completely wrong anyway. You're supposed to be declaring a class for each function.

cunning reef
#

for each function?

chilly tulip
#

As for the paths, it depends on your PBO prefix.

#

yes

cunning reef
#

Isnt there just one?

chilly tulip
#

Well, you're not declaring that one.

cunning reef
#

ah

chilly tulip
#

It looks like you're giving it a folder name and expecting it to include all files inside.

cunning reef
#

well how would one declair it?

chilly tulip
#

I don't know. What's your PBO prefix?

cunning reef
#

huh?

#

pbo prefix?

#

ah

#

right

#

you mean

#

$PBOPREFIX$

#

I honestly had no idea what I was suppose to put in there so I just guessed and put P:\HAMS_Loadout_Saver in there

chilly tulip
#

right, it's important.

cunning reef
#

like when I read about it on the wiki the need for it confused me

chilly tulip
#

PBO prefix is where that PBO's contents are loaded in the virtual filesystem.

cunning reef
#

right

#

so should that be directed to like, @ folder or something?

chilly tulip
#

If you only have one PBO I guess you could use \HAMS_Loadout_Saver

cunning reef
#

yeah

#

I dont see a need for more PBOs atm

#

okay so I put just that in the $PBOPREFIX$

#

anything else?

chilly tulip
#

I guess it doesn't need the backslash.

cunning reef
#

I figure its still not declaired

cunning reef
#

how do I declare class for each function then?

#

since im guessing thats not what I just did

chilly tulip
#

Give me a sec, I need to compile like four pieces of info you put in different places :P

cunning reef
#

(Dont read too much into what I wrote way earlier)

#

(as I re-did it like an hour ago)

chilly tulip
#

The function name doesn't matter here, right? You're just going to call it using preInit?

cunning reef
#

I mean thats how I understood it

#

its suppose to do just what any usual

initPlayerLocal.sqf
onPlayerKilled.sqf
onPlayerRespawn.sqf
in the mission folder would

#

and function like that but, mod

#

so yeah, somewhat straightforward

#

I heard preinit being needed, and probobly just that

#

I am not myself confident but its the clue im going on

chilly tulip
#
class CfgFunctions
{
    class HAMS_Spawn    // tag, will be added to function name
    {
        class myfunctions  // name here doesn't matter
        {
            class SaveLoadout {
                file = "HAMS_Loadout_Saver\functions\fnc_saveLoadout.sqf";
                postInit = 1;
            };
        };
    };
};
#

I'm not sure postInit is late enough though, because you need player to exist.

cunning reef
#

thanks for writing where name doesent matter becouse that always throws me off otherwise

chilly tulip
#

Function probably needs a check.

#

function name there would be HAMS_Spawn_fnc_SaveLoadout

cunning reef
#

alright

cunning reef
chilly tulip
#

no, it builds the function name from the data in CfgFunctions.

cunning reef
#

okay

chilly tulip
#

TAG_fnc_CLASSNAME

cunning reef
#

any other changes I should do to all this?

#

Currently its

config.cpp

class CfgPatches
{
    class HAMS_Spawn
    {
        author=    "Hamsch";
        name="Hamsch's Loadout Saver";
        weapons[]={};
        magazines[]={};
        ammo[]={};
        units[]={};
        requiredVersion=0.1;
        requiredAddons[]={};
    };
};

class CfgFunctions
{
    class HAMS_Spawn    // tag, will be added to function name
    {
        class myfunctions  // name here doesn't matter
        {
            class SaveLoadout 
            {
                file = "HAMS_Loadout_Saver\functions\fnc_saveLoadout.sqf";
                postInit = 1;
            };
        };
    };
};

fnc_SaveLoadout.sqf

HAMSCH_EH_onPlayerRespawn = player addEventHandler ["Respawn", {
    params ["_newObject", "_oldObject"];

    deleteVehicle _oldObject;

    player switchMove "UnconsciousFaceDown";
    player playMove "UnconsciousOutProne";

    player setUnitLoadout (player getVariable ["Saved_Loadout", (configFile >> "EmptyLoadout")]);

    private _loadout = getUnitLoadout player;
    private _radio = (_loadout select 9) select 2;
    if (_radio isEqualTo "") then {
        player addItem "TFAR_anprc152";
        player assignItem "TFAR_anprc152";
        hint "Radio Added";
    };
}];

HAMSCH_EH_onPlayerKilled = player addEventHandler ["Killed", {
    params ["_unit", "_killer", "_instigator", "_useEffects"];

    _unit setVariable ["HAMSCH_Saved_Loadout", getUnitLoadout _unit];
}];```
chilly tulip
#

Now if you wanted more than one function you'd ideally do something like this:

class CfgFunctions
{
    class HAMS_Spawn    // tag, will be added to function name
    {
        class myfunctions  // name here doesn't matter
        {
            file = "HAMS_Loadout_Saver\functions";
            class SaveLoadout { postInit = 1; };
            class OtherFunction1 {};
            class OtherFunction2 {};
        };
    };
};
#

but then you need your function names to match, and start with fn_ not fnc_

cunning reef
#

is there any bad to it starting with fnc_ now? Should I change it?

#

Also, when I build all of this, should I have all these checked?

chilly tulip
#

I wouldn't bother binarizing that.

cunning reef
#

alright

chilly tulip
cunning reef
chilly tulip
#

Well, also if you didn't want to put your entire codebase in one file.

#

but as your current codebase is tiny it doesn't much matter.

cunning reef
#

the most I would expand on this

#

would be having 2 versions of the whole save loadout system and the option to change between them

#

but that could honestly be done by having 2 mods

#

as the other method is only needed when running PIR

#

or if I would expand on the give radio mechanic but

#

I dont think I need that. I will probobly mostly remove it anyway

#

But

#

anyway

#

I will give this a try

#

thanks for the help

cunning reef
#

First of all, I spawn without anything.
Second of all, I dont seem to respawn with my stuff

chilly tulip
#

You're not changing what players spawn with?

cunning reef
#

No

#

It restores loadout on players that respawn

#

form when they died

#

But I place a normal character, and came back as naked

#

(tested by hosting on lan with respawn on)

#

Issue is probobly within this

#

fnc_SaveLoadout.sqf

HAMSCH_EH_onPlayerRespawn = player addEventHandler ["Respawn", {
    params ["_newObject", "_oldObject"];

    deleteVehicle _oldObject;

    player switchMove "UnconsciousFaceDown";
    player playMove "UnconsciousOutProne";

    player setUnitLoadout (player getVariable ["Saved_Loadout", (configFile >> "EmptyLoadout")]);

    private _loadout = getUnitLoadout player;
    private _radio = (_loadout select 9) select 2;
    if (_radio isEqualTo "") then {
        player addItem "TFAR_anprc152";
        player assignItem "TFAR_anprc152";
        hint "Radio Added";
    };
}];

HAMSCH_EH_onPlayerKilled = player addEventHandler ["Killed", {
    params ["_unit", "_killer", "_instigator", "_useEffects"];

    _unit setVariable ["HAMSCH_Saved_Loadout", getUnitLoadout _unit];
}];```
chilly tulip
#

Have you confirmed that your code is running?

cunning reef
#

Yeah, it did do the radio part correctly

#

I should say the scripts themselves worked flawlessly

#

should I try to just, directly call them or something?

#

instead of condensing them into one thing

chilly tulip
#

Saved_Loadout in the first EH, HAMSCH_Saved_Loadout in the second EH

#

Out of scope for this channel anyway.

cunning reef
#

ah

#

right

#

I guess I should ask there then

cunning reef
chilly tulip
#

Read the code :/

#

Your getVariable and setVariable are using different variable names.

cunning reef
#

huh

#

I guess the intial person who corrected it did it wrong then

#

But could I replace one
fnc_SaveLoadout.sqf
with just using
initPlayerLocal.sqf
onPlayerKilled.sqf
onPlayerRespawn.sqf
?

chilly tulip
#

why

cunning reef
#

I guess I would need more functions

cunning reef
# chilly tulip why

if it would work like those do seperately (as scripts), it would be more reliable

chilly tulip
#

The only automatic execution options you have in CfgFunctions are preInit and postInit.

cunning reef
#

hm

#

so should I try to just

#

correct the code instead?

chilly tulip
#

If you want to trigger on killed or respawn then you have to use event handlers.

cunning reef
#

ah yeah

chilly tulip
#

uh yes, it's a trivial error?

#

Stop making me type stuff and fix it.

cunning reef
#

I'll try

#

What does the EH mean?

#

HAMSCH_EH_onPlayerRespawn

Instead of

HAMSCH_onPlayerRespawn

chilly tulip
#

It doesn't. It's just a variable name.

cunning reef
#

actually all this looks bunk, ima see why its so different

chilly tulip
#

It's saving the EH handles in global vars so you could potentially remove them later.

#

That's not the issue.

cunning reef
#

right

#
HAMSCH_EH_onPlayerKilled = player addEventHandler ["Killed", {
    
    
    params ["_unit", "_killer", "_instigator", "_useEffects"];
    player setVariable ["HAMSCH_Saved_Loadout ",getUnitLoadout player];
}];


HAMSCH_EH_onPlayerRespawn = player addEventHandler ["Respawn", {
    
    
    
    player setUnitLoadout (player getVariable ["HAMSCH_Saved_Loadout ",[]]);    
    
    params ["_newObject", "_oldObject"];
    deleteVehicle _oldObject;
    player switchMove "UnconsciousFaceDown";
    player playMove "UnconsciousOutProne";

    private _radio = (HAMSCH_Saved_Loadout select 9) select 2;
    if (_radio isEqualTo "") then 
    {
        hint "Radio not found";
    };
}];```
#

Here is what I have now made. Hope it works

chilly tulip
#

_loadout doesn't exist.

cunning reef
#

ah right

chilly tulip
#

Also when you're making a mod it's important to avoid namespace collisions, so HAMSCH_Saved_Loadout is a much better variable name.

#

Otherwise any other mod that uses "Saved_Loadout" as a var name is gonna conflict.

cunning reef
#

There, corrected

#

hope that now works

chilly tulip
#

sighs

#
HAMSCH_EH_onPlayerKilled = player addEventHandler ["Killed", {
    
    
    params ["_unit", "_killer", "_instigator", "_useEffects"];
    player setVariable ["HAMSCH_Saved_Loadout",getUnitLoadout player];
}];


HAMSCH_EH_onPlayerRespawn = player addEventHandler ["Respawn", {
   
    private _loadout = player getVariable ["HAMSCH_Saved_Loadout",[]];
    player setUnitLoadout _loadout;    
    
    params ["_newObject", "_oldObject"];
    deleteVehicle _oldObject;
    player switchMove "UnconsciousFaceDown";
    player playMove "UnconsciousOutProne";

    private _radio = (_loadout select 9) select 2;
    if (_radio isEqualTo "") then 
    {
        hint "Radio not found";
    };
}];
cunning reef
#

ahh

chilly tulip
#

wait, extra spaces in there...

#

Not entirely happy about using player everywhere rather than the EH parameters but it's probably correct.

cunning reef
#

I do hope so

#

it should be mostly player specific and I do hope it does that

#

so one player wont get the saved loadout of another

#

That wasnt a problem with the script so, hopefully thats not a problem here either

chilly tulip
#

The issue's more that it's undocumented when player changes in the respawn case.

#

I think at that point player is equal to _newObject but I'd need to test.

cunning reef
#

im testing

#

or at least testing the mod I mean

#

im curius if this mod will mess with like, pre-made missions in arma and stuff. I will have to test

#

(stuff that didnt intend to use a save loadout system like the coop missions)

#

Now it seems to work!

#

keeps guns, ammo, all that

teal basin
#

still having questions on armor penetration:If I model a fire geometry with some thickness,how to set this thickness a good value to get a realistic results if that part armor is a composite armor?like T-80b,it have a 205mm composite armor,68°,which means it will have about 600mm LOS thickness,then I need have a model with 600mm thickness?

ashen chasm
#

wut

ashen chasm
#

my only point of reference on that is tank from A3 Samples pack. It splits the turret armor into a bunch of convex components that (i think) follow the desired armor thickness. And then there's another internal component that's supposed to take damage 🤷‍♂️

teal basin
# ashen chasm wut

My mind not very clear,messed up something.
Let me explain what I thought
up front hull of T-80B have 205mm thickness and 68° slope.when a ke round impact armour horizontally,about 600mm thickness will used to penetration detection.This is what will happened when using "armour.ravmat" and have a exact thickness model fire geometry.
what if this part armour is composite in reality?It should have more thickness than 600mm to be used for penetration detection when in the game

ashen chasm
#

screenshot with the roof removed. Selected (green with orange outline) is the damage-taking component. Multicolored mess outside are the armor components that need to be penetrated before the projectile can reach the damageable thing.

#

if you need to provide more protection than your geometry thickness allows - i'd assume you'd need to use either .bisurf with lower bulletPenetrability in the assigned rvmat. 🤷‍♂️

#

or indulge in some CfgArmorSimulations shenanigans to further lower the projectile speed after it exits the armor component, i'm not totally sure how that works

teal basin
ashen chasm
teal basin
gusty timber
#

Hey guys, does anyone know how to increase the togglable range inside the SENS page through the config file? I've setup my aircraft to have a active radar range of 16km but the SENS page only allows me to select 2km and 4 km.

spark zinc
#

Howdy folks! I need some help adding ordnance to aircraft. Specifically I want to learn how to change what missiles are available to load on an aircraft, current issue being that I would like to load the FIRAWS brimstone onto aircraft other than the tornado. Can anyone point me in the right direction? I've got the names of the weaponry I need to add, just no clue on how to add them onto diff aircraft

gusty timber
deep roost
#

identityTypes[] = {"LanguageCZ","Head_Euro"};
anyone know what the name is for the polish heads from contact?

wheat sluice
#

Head_Enoch

deep roost
#

thx

terse forum
#

could anyone help me figure out how to add/create a new high capacity magazine config for a weapon using a base game mag as the base for it but just changing the capacity and making it compatible for a certain weapon or weapon mod in the config.bin ?

wintry tartan
#

CfgMagazines and probably CfgMagazineWells are the things you need to tweak

fervent glacier
#

Hello, i'm trying to make a campfire that can't be turned off.
But it seems there is no UserActions class in Campfire_burning_F or its parents.
Does it mean that the actions to turn on / off the fire are added by the engine and there is no way to change that ?
I tried to change the line : simulation="fire" by something else , it removes the action , but the fire doesn't work :/

terse forum
#

tried the cfg magazines and the magwells

#

i probably did it wrong im sure but there isnt a very specific guide on how to really do it

wintry tartan
#

We can't provide any insights without knowing your config

terse forum
#

okay this is the part i edited, i added a 30rnd mag based off the BI one. but it wont show up in the selection. what am i doing wrong ? this exceprt isnt the full config, but just the part i edited, and this one i did not do the magwells thing because i couldnt rebin it.

#

or i could just send the whole config file

wintry tartan
#

If you can yes. This is a horrible formatting to read

terse forum
#

yeah sorry

wintry tartan
terse forum
#

for some reason it wont let me upload the config to this channel

wintry tartan
#

AFAIK it should allow you to upload a file

terse forum
wintry tartan
#

This is definitely not the proper way to mod a thing

terse forum
#

well i didn't make it. i just edited it. and all i wanted to do was make the glocks have the ability to have full auto and some high capacity mags.

wintry tartan
#

Redefining the same thing same parameter is definitely not recommended way
You can just define what you just want to redefine/edit

#

Editing an existed config is also not a proper way to Mod

terse forum
#

well i don't know how to do that.

#

i got it to work with the full auto like i wanted to, but i cant get the mags to work.

#

and i promise i have looked on google and the arma/bis wikis on how to try to do it but its not very clear for me.

wintry tartan
#

First off, let's make a very simple config.```cpp
class CfgPatches
{
class DOOM_YourTestMod
{
requiredversion=0.1;
units[]={};
weapons[]={};
requiredAddons[]=
{
"A3_Data_F_Decade_Loadorder"
};
};
};

class CfgVehicles
{
class arifle_MX_Base_F
class arifle_MX_F: arifle_MX_Base_F
{
displayName = "This MX has modded name";
};
};```

terse forum
#

not much on google and the wikis im not very sure about.

wintry tartan
terse forum
#

if there is a good tutorial on how to do this that you know of and can link me to i would greatly appreciate it, i dont expect you to have to do it all in this channel or chat. if you dont feel like it

#

or you can dm me if you rather.

wintry tartan
#

Having “I want to edit this!” into a config is the way to make a config, not the whole

#

And no, I will not DM you only to answer this specific question

terse forum
#

thats fine.

#

so what should i do then ?

wintry tartan
#

So, let's sort things - what exactly you need to have? List up changes you need to have

terse forum
#

just want the glocksto be full auto (which i was able to do by editing even though thats not the proper way to do things) and i want to create/add additional high capacity magazines that are compatible with the glocks in that config.

wintry tartan
#

And is there any Mod that you based on?

terse forum
#

yes the LTF pistols mod.

#

thats where that config came from.

wintry tartan
#

I don't know which one it is

terse forum
#

its private

#

he left the modding community and isnt around anymore afaik

#

it was on the steam workshop but its gone now.

wintry tartan
#

Hmm not sure how legit the LTF pistols mod you say is

terse forum
#

IDK i havent seen them in any other game except tarkov and there are tarkov mods on the steam workshop so ?

#

the models anyways

wintry tartan
#

Okay that is not legit

terse forum
#

so you wont help me cause its "not legit" ? im not putting it on the steam workshop and im only using it for my personal game. what difference does that make ? im not profitting from it ?

#

i should've figured. oh well it was worth a shot.

#

have a good day.

winter rain
wintry fox
hearty sandal
fast ruin
#

How do you make it so that modded assets appear in Zeus?

#

Infantry, tanks, etc

nimble sequoia
fast ruin
nimble sequoia
#

Yes

narrow swallow
#

May also be classnames not in CfgPatches units[] ?

nimble sequoia
hearty sandal
#

needs both

#

if I remember right

balmy atlas
wintry fox
remote salmon
#

If anyone could help me it would be appreciated. I am trying to add in a modded pistol light. I have it in-game, it works, it attaches it to the handgun. I want it to emit the same light as the standard arma one however I can't seem to find were arma defines the standard light settings.

#

The light on the left is standard Arma and the light on the right is mine. Here is the current config I have.

#

Any help would be greatly appreciated.

wintry tartan
#

Do you want to have the same light settings with vanilla acc_flashlight you mean?

remote salmon
wintry tartan
#

Then you don't need to redefine class ItemInfo {...};

remote salmon
tawdry coral
cursive cliff
#

The class EventHandlers inside cfgvehicles is only executed on the machine where the entity is getting created and it dosent retrigger when the entity changes locality , right ?

balmy atlas
#

IIRC, it's executed on all machines. You can use isServer condition to make it run only on server.

#

someone correct me if wrong

opal crater
#

init runs everywhere during entity creation

lofty thistle
#

Greetinge. I'm making a mod for my community that will add supply crates to the 3den editor and Zeus, but we're in a spot of bother. I have CfgVehicles.hpp and config.cpp all done and complete and I get no errors if I pack it all into PBOs with PBOman3 but when my admin tries to pack it using AddonBuilder with A3 Tools, he gets an error after loading into the game saying that CFGPATCHES is not an array and the addon will not work. He says that everything he's tried points to config.cpp not being written correctly, but I grabbed the config.cpp from another working addon in the same mod and modified it to suit the new addon. I can post the config.cpp in a block of text if that'll help. TIA

chilly tulip
#

If you're not binarizing then it won't check the config until you load the game.

#

So yeah, post the config.cpp.

lofty thistle
# chilly tulip So yeah, post the config.cpp.

class CfgPatches {
  class ADDON {
    units[] = {"EVLT_Fireteam_US_crate", "EVLT_Fireteam_FAL_crate", "EVLT_Fireteam_SWAT_crate","EVLT_Fireteam_Stealth_crate","EVLT_Fireteam_Rangers_SCAR_crate","EVLT_Fireteam_PMC_ACR_crate","EVLT_Fireteam_GER_crate","EVLT_Fireteam_CZ_VZ58_crate","EVLT_Fireteam_CZ_BREN_crate","EVLT_Fireteam_ME_Guer_crate","EVLT_AR_MG36_crate","EVLT_AR_HK416_crate","EVLT_MMG_MG3_crate","EVLT_AR_RPK74_crate","EVLT_HAT_TOW_crate","EVLT_MAT_MAAWS_crate","EVLT_HAT_9M133_crate","EVLT_LAT_RPG7_crate","EVLT_HAT_FGM148_crate","EVLT_Fireteam_Russia_AK762_crate","EVLT_Fireteam_FinlandArmy_AK103_crate","EVLT_Fireteam_FinlandSF_Mk16_crate","EVLT_Fireteam_TLA_crate","EVLT_Fireteam_AK74_std_crate","EVLT_Fireteam_AK74_ep_crate","EVLT_MMG_CZ_M84_crate","EVLT_RAT_RPG75_crate","EVLT_RAT_M136_crate","EVLT_MMG_PK_RU_crate","EVLT_MMG_M240_M60_crate","EVLT_Fireteam_M14_crate","EVLT_Fireteam_M16_crate","EVLT_Fireteam_M16A2_crate","EVLT_Explosives_crate","EVLT_Medical_crate","EVLT_RAT_M72A6_crate","EVLT_RAT_M72A7_crate","EVLT_AAM_Igla_crate","EVLT_AAM_Stinger_crate","EVLT_HAT_MetisM_crate","EVLT_AR_RPK762_crate"};
    weapons[] = {};
    requiredVersion = 1.0;
    requiredAddons[] = {"evlt_main","evlt_medical","A3_Supplies_F_Exp"};
    author[] = {"Ferdilanz"};
    authorUrl = "";
  };
};

#include "CfgEditorCategories.hpp"
#include "CfgVehicles.hpp"```
chilly tulip
#

Hmm. Does look fine. Must be something up with one of the includes.

lofty thistle
#

My admin says when he removes the include for script_component the error goes away but the crates do not appear anymore

chilly tulip
#

well, ADDON won't be defined then.

lofty thistle
#

yeah, here's script_component

#include "\z\evlt\addons\main\script_mod.hpp"

// #define DEBUG_MODE_FULL
// #define DISABLE_COMPILE_CACHE
// #define CBA_DEBUG_SYNCHRONOUS
// #define ENABLE_PERFORMANCE_COUNTERS

#include "\z\evlt\addons\main\script_macros.hpp"
chilly tulip
#

Are you setting the PBO prefix correctly in addon builder?

lofty thistle
#

I assume he is, it should be the same as in $PBOPREFIX$ correct? or will AddonBuilder automatically generate it when that field is filled?

#

let me post that...

#

$PBOPREFIX$ is something I created by hand, this is what i put in there
z\evlt\addons\crates

chilly tulip
#

With addon builder you have to feed it the prefix manually. It doesn't read $PBOPREFIX$

#

You can check the PBO prefix with PBO manager to make sure it's correct.

lofty thistle
#

he does fill out the field. but should he just put crates in that field or should he type out z\evlt\addons\crates ?

#

just got my answer, then
he should be typing out z\evlt\addons\crates
Assuming he's done this, what else could it possibly be?

chilly tulip
#

Does the other one also have the correct prefix? That's the one that matters here.

#

As script_component is referencing it.

lofty thistle
#

yep, it does

chilly tulip
#

hmm, you're not editing config in something weird, are you

#

Given that expecting your admin to pack it for you is a red flag :P

lofty thistle
#

Notepad plusplus
he's the one who has control over the server, so he's got final say also considering i'm the resident modder and not an admin myself
he's... my manager

lofty thistle
chilly tulip
#

Are you saying that it packs & runs fine for you?

lofty thistle
ebon pivot
#

if youre trying to copy the ace format you should use hemtt for building

lofty thistle
ebon pivot
#

what

#

thats just macros

#

the pboprefix is set up for hemtt

chilly tulip
#

We use a similar prefix and I can build it fine with addon builder.

#

The error's odd though. Not sure what's going on there.

#

If you like you can send me the whole non-working mod and I'll figure it out.

lofty thistle
#

over this channel or by DM?

chilly tulip
#

DM unless someone else wants it too.

#

I dunno if you'd have file paste permissions in this channel.

#

Oh, this has an ACE dependency?

lofty thistle
#

Yessir!

chilly tulip
#

You should put that in the required addons then :P

lofty thistle
#

eh, the players will already have ACE loaded. but is that such a required thing that the mod will not work without it being required in the configs?

chilly tulip
#

Yes. It's trying to include ACE's script_macros somewhere.

#

which feels like it might be a bug to start with :P

#

Ok the error I get with ACE loaded is actually:
Include file z\evlt\addons\crates\CfgEventHandlers.hpp not found.

#

Which seems reasonable given that it's not in there.

lofty thistle
#

yeah, we decided it could be deleted

chilly tulip
#

You were wrong :P

lofty thistle
#

forgot to remove it from the configgywiggy

chilly tulip
#

huh, can't see where it's being included.

lofty thistle
#

if it isn't in the config.cpp in the folders, try looking in the pbo itself

#

may have forgotten to repack the pbo after deleting that include

wintry fox
#

Uniform protection values are set up in the unit set with uniformClass correct?
Been a bit since I've set up uniform protection

fast ruin
#

Okay so I've got a modded uniform all set up, however when I spawn it in on an AI a player can't put on the uniform that the AI is wearing, it's a very minor and not at all important bug but I was wondering if anyone knew how to fix this. (Both the uniform in CfgWeapons and CfgVehicles have the same uniformClass name so that shouldn't be the issue.)

nimble sequoia
fast ruin
#

No I don’t believe so though I could definitely check my code.

#

It’s weird cause the uniforms are for blufor and my blufor player couldn’t pick it up but there might be a bit of an issue in the code

wintry fox
#

A blufor uniform should be modelSides[] = {1};

bright leaf
#

Not sure if this is the proper place but im trying to use the BIS_fnc_exportEditorPreviews function but having some issues. Some of the pictures save and others don't. Has that happened to anyone before? How can i fix it?

ashen chasm
bright leaf
#

i will try that but the screenshots folder is only 150mb atm

fast ruin
#

One more question. Can I add scopes and other attachments to AI compositions and if so how?

wintry fox
#

You can do it by making a separate version of a weapon and adding a LinkedItemsclass

wintry fox
#

Something to note is that if you use ace, the ace arsenal will intentionally ignore the attachments in your LinkedItems.

fast ruin
#

Thank you

deep roost
#

anybody have experience with making config using rhs mod that can explain why this doesnt work?
the offending code:
class rhs_weap_aks74n_npz_acog : rhs_weap_aks74n_npz { class LinkedItems { class LinkedItemsOptic { slot = "CowsSlot"; item = "rhsusf_acc_ACOG"; }; }; };

#

correct me if im wrong but the second line is the base class right?

wintry tartan
#

Regardless it is ingame, you always need to define in your config

#

And... why CfgVehicles? A weapon is defined in CfgWeapons

deep roost
#

tru

#

k should be simple enough now, thx

ebon pivot
#

will description.ext overwrite stuff in the main configfile

#

i.e
configFile >> "CfgKJWCapitalShips" >> "Submarine"
would i be able to use description.ext to edit submarine/add new classes to cfgkjwcapitalships or will i need some more script crap

ashen chasm
#

no, desc.ext is available via missionConfigFile root

ebon pivot
#

guh

ashen chasm
#

or even campaignConfigFile if you get that far

ebon pivot
#

ill have to make some sort of findordefault thing wont i

ashen chasm
#

and decide on order of precedence, overrides and so on

ebon pivot
#

the real question is can i be bothered

#

(no i cant)

#

i still need to rewrite this so i can use filepatching

celest badger
#

Could someone provides me an example for a working configuration using scopeArsenal=0?

It doesn't seem to work for me. 🙄

hearty sandal
#

or how do you expect it to work?

#

and what exactly do you try to do?

celest badger
balmy atlas
#

can we see config class and params?

hearty sandal
celest badger
balmy atlas
#

oh well, you should put scopeArsenal in CfgWeapons?

#

cfgVehicles is for ground holders

celest badger
balmy atlas
#

you can always use scope=1; as well, it will still work on ground holders

#

but wont be visible in arsenal (and 3den inventory attribute)

celest badger
#

I just want to hide from Arsenal 1/3 and 2/3 water bottles. They don't make sense being visible there. So, 3Eden will not be a problem.

balmy atlas
#

in this case scope=1; is the way to go

#

i do the same for female balaclavas. they're assigned via function but not visible anywhere else.

#

it will perform normally ingame as long as you have a way of spawning them

paper flume
#

Does anyone know why RHS uniforms don't like to stay on units produced by drongo's config editor?

#

The uniform class appears to be defined correctly so I'm not sure why it does this

#
class MSFI_AA_Specialist: C_Man_casual_1_F_afro
  {
    faction="MSFI_First_International";
    side=2;
    displayName="AA Specialist";
    uniformClass="rhs_uniform_emr_patchless";
...
};

#

Everything else works fine, the backpacks, weapons, etc.

#

but the uniforms just don't work, it defaults back to the base unit's clothing

paper flume
#

Is this caused by randomization of C_Man_casual_1_F_afro?

#

Or is it that the clothing is faction restricted?

hearty sandal
#

could be either or both

paper flume
#

if the forceadduniform works, I'll try disablerandomization next

#

forceaddonuniform doesn't work, unfortunate

#

Hm... So, neither disabling randomization nor utilizing forceAddUniform worked

#

class MSFI_AA_Specialist: C_Man_casual_1_F_afro
  {
    class EventHandlers: EventHandlers{
      init = "_this forceAddUniform "rhs_uniform_emr_patchless"; ";
    };```
hearty sandal
#

try force add a civilian uniform

paper flume
hearty sandal
#

yeah

#

since the base character seems to be civilian

#

why you use it as base I dont quite undrstand though

#

since you are changing the uniform

paper flume
#

plus I'm using drongo's config generator

hearty sandal
#

I dont quite remember how that worked

#

but it might not be suitable for what you are making blobdoggoshruggoogly

paper flume
#

class MSFI_AA_Specialist: C_Man_casual_1_F_afro
  {
    class EventHandlers: EventHandlers{
      init = "_this forceAddUniform "U_C_Poloshirt_Blue"; ";
    };```
#

Running this

hearty sandal
#
        identityTypes[]=
        {
            "Head_African",
            "G_CIVIL_male"
        };```
#

this should get you african head

paper flume
#

I want it to randomize is the thing

hearty sandal
#

that will randomize african heads

paper flume
#

I'll take a look over those

hearty sandal
#

its straight from that man_casuals config you use

paper flume
#

I'm wondering if I just change the side of the faction. hold on, hypothesis test. I'm going to change the side of the entire faction, and if it works then I know it's because of the faction side

#

MY STUPID-

#

Hold on, I haven't been exporting these as pbos so nothing I've done registered

#

I am so tired

hearty sandal
#

We do recommend modding after sleep

wintry tartan
#

Or sleep after modding

paper flume
#

I like this

#

class MSFI_AA_Specialist: C_Man_casual_1_F_afro
  {
    class EventHandlers: EventHandlers{
      init = "_this forceAddUniform "rhs_uniform_emr_patchless"; ";
    };

#

Do I have too many quotations?

#

or should it be formatted init = "[_this#0, 'rhs_uniform_emr_patchless'] call forceAddUniform;";

wintry tartan
#

You cannot use " within "

#

So yes, you need to have it '

paper flume
#

gotcha, I'll try the new formatting

#

New formatting passed the launch, but did not successfully change the uniform

wintry tartan
#

_this is an array _this#0 is the unit I guess?

#

I highly recommend to use a class within class EventHandlers so nobody would overwrite the EH tho

#

Also, better to stop using pboManager

paper flume
#

Yeah, looks like I may start using _this#0

paper flume
wintry tartan
#

Eliteness is not a proper pack software either, if you can handle Mikero's Tools you better to use pboProject

#

So it can detect such “easy” errors even before you pack

paper flume
wintry tartan
#

You don't really need to have a dedicated hard drive but a part of your current drives

opal crater
wintry tartan
#

I always forget that thing 😅

opal crater
#

if you're doing mostly configs I recommend to switch to HEMTT

#

it's way more modern in it's design and its projects are portable.

paper flume
#

I tried HEMTT, I am watching it. I know they're coming out with an installer soon and when the installer comes out I'll def use it

opal crater
#

won't happen soon.

#

it's literally a single binary you can add to the PATH and be done with it.

#

or if you're on a W11 or have winget installed on W10 you can run:
winget install BrettMayson.HEMTT in the cmd (yes windows has package manger these days)

paper flume
#

I did try to run HEMTT, I just couldn't get it working, most likely due to my lack of technical know how

opal crater
#

it's one of the simplest way to get arma mods going.

paper flume
#

So, I got the command to change the uniform after the launch and such but it sadly does not keep the items which were supposed to be stored in the uniform of the unit stored there.

paper flume
# opal crater it's one of the simplest way to get arma mods going.

I understand that, but that doesn't really help me since I personally can't get it to work. Unless you want to sit down and walk me through how to install it, which a friend of mine who uses it on the ACE team tried to do and couldn't, I don't think that I can get it working

opal crater
#

I doubt anyone on ACE team was unable to get it working.

paper flume
#

She was able to get it working on her pc, but was unable to teach me how to get it working on my pc. It is not her fault, it is entirely my own ineptitude

#

I am not blaming her for it not working, I am saying I am not skilled enough to get it working even with her help

#

I spent several days trying to install it and couldn't.

#

So the proposition of using HEMTT isn't something that I'm opposed to, it's just that I literally already tried and have found that I am unable to due to my lack of technical knowledge

opal crater
paper flume
opal crater
#

Then maybe you're not persistent enough, if you have troubles with such simple things moding will be also painful.

paper flume
#

I'm not asking you to teach me how to set up HEMTT, I'm totally cool with the way my workflow is now, especially because I'm only making mods for me and my friends to dick around with as opposed to a large community project.

paper flume
#

Ah, so, I 100% Isolated the problem. The RHS clothing I'm looking to use is side locked. I did see that it's possible to assign units multiple sides, does anyone know if there's a way to do this in this instance?

chilly tulip
#

We should probably make a HEMTT build option for Antistasi given that none of the ones we have in our wiki work reliably :P

paper flume
chilly tulip
#

That one only handles vanilla uniforms but it's an example.

opal crater
#

so I'm providing you with an example.

paper flume
paper flume
#

Thank you so much

opal crater
#

consider reading into what you're sent more and writing less.

chilly tulip
#

Note that it's set on the linked unit of the uniform, not the uniform itself.

#

On the plus side there are fewer of those.

opal crater
paper flume
chilly tulip
#

Debug console.

paper flume
#

and I would put the file path to the .pbo in the brackets, right?

chilly tulip
#

no

#

Load ACE no uniform restrictions along with the uniform mods you want to extract from, then run that function as written. It should dump something into the clipboard.

paper flume
#

(tfw I forgor I already have ace3 so I can just copy it from there into the directory of the mod)

paper flume
chilly tulip
#

Probably :P

#

I haven't seen what it outputs. Hard to say because macro shit.

paper flume
#

class CfgVehicles {
    class SoldierGB;
    class SoldierWB;
    class rhsusf_socom_mc_uniform;

    class rhs_infantry_msv_base: SoldierGB {
        modelSides[] = {6};
    };
    class rhs_infantry_vdv_base: rhs_infantry_msv_base {
        modelSides[] = {6};
    };
    class rhs_infantry_vdv_des_base: rhs_infantry_vdv_base {
        modelSides[] = {6};
    };
    class rhs_mvd_izlom_rifleman: rhs_infantry_vdv_base {
        modelSides[] = {6};
    };
    class rhsusf_socom_uniform_base: SoldierWB {
        modelSides[] = {6};
    };
    class rhsusf_infantry_army_base: SoldierWB {
        modelSides[] = {6};
    };
    class rhsusf_infantry_socom_armysf_base: rhsusf_socom_mc_uniform {
        modelSides[] = {6};
    };
    class rhs_g_uniform1_base: SoldierGB {
        modelSides[] = {6};
    };
    class rhsgref_cdf_ngd_base: SoldierGB {
        modelSides[] = {6};
    };
    class rhsgref_cdf_reg_base: SoldierGB {
        modelSides[] = {6};
    };
    class rhsgref_cdf_para_base: rhsgref_cdf_reg_base {
        modelSides[] = {6};
    };
    class rhsgref_nat_base: SoldierGB {
        modelSides[] = {6};
    };
    class rhsgref_ins_base: SoldierGB {
        modelSides[] = {6};
    };
    class rhsgref_hidf_base: SoldierWB {
        modelSides[] = {6};
    };
    class rhsgref_tla_base: SoldierGB {
        modelSides[] = {6};
    };
};```
chilly tulip
#

looks good

paper flume
#

Yup, it worked

#

thank you so much

#

@opal crater I know things got tense but I do genuinely appreciate the help, it worked. Tysm!

rain scarab
#

Hello! Fun question ahead: So I've got some buildings that inherit from House_f and DestructionEffects from within House_f. In my cfgPatches, I am including a3_structures_f as a required addon.

In cfgVehicles, I am setting up the inheritance for House_f and DestructionEffects like this:

    {
        class DestructionEffects;
    };

After compile, I am seeing this in the RPT:
Updating base class House->HouseBase, by VTF\vtf_korsac_structures\config.bin/CfgVehicles/House_f/ (original (a3\structures_f\config.bin - no unload))

Is this going to be a problem? I have always inherited this way, but am looking to do this cleaner, if it can at all be done without seemingly overwriting House_f's contents. If I remove a3_structures_f from requiredAddons, pboproject no longer compiles with this error:
config.cpp uses external classes but has no RequiredAddons to say where they are.

wintry tartan
#
  • You need the parent class for House_F
  • You ALWAYS need requiredAddons
rain scarab
#

Got it, so:

    class House;
    class House_F: House
    {
        class DestructionEffects;
    };
chilly tulip
#

you missed the inheritance.

rain scarab
#

Oh, god yeah. Sorry, sleepy. I copied it from the a3 sample now lol

chrome elm
#

I'm brand new to modding stuff. I've made a retexture for a WH40k Space Marine vehicle but I want to be able to mount into it with vanilla skeletons. Does anyone know where I can start looking for solutions as I can't seem to find any tutorials or forums that discuss skeleton configs?

wintry tartan
#

There's no way

hearty sandal
#

I think it should work as long as all different sized animation sets have same named action

#

The action would the correspond with suitable animation

#

That fits the character

teal mirage
#

Big question, but does anyone here have a bit of time in the near future to help me get a config working? it's a gear mod that refrences another mod for the 3d model, but i can't figure out how to both refrence the base model and change the armour values. I've asked several other people for help on this before, but no one could figure it out.

Big ask, but it would be amazing if someone was willing to go through it with me

hearty sandal
#

people usually answer if they got answers to give

teal mirage
#

fair enough, well so this is the config that worked, but i coudn't adjust armour values:

   { 
       class ItemInfo; 
   }; 

   class CW_Test_armour : SC_MDF_Heavy_White 
   { 
       scope = 2; 
       displayName = "CW test armour"; 
       picture = "-"; 
       hiddenSelections[] = {"Camo"}; 
       hiddenSelectionsTextures[] = {"\armour_Tester\Data\TestChest2.paa","\armour_Tester\Data\LegsTest2.paa"}; 
       class ItemInfo: VestItem 
       {
           containerClass = "Supply120"; 
           mass = 80; 
           armor = "5"; 
           passThrough = 0.3; 
           hiddenSelections[] = {"camo"}; 
       }; 
   };
   class CW_Armour_White : SC_MDF_Heavy_White 
   { 
       scope = 2; 
       displayName = "CW Armour white"; 
       picture = "-"; 
       hiddenSelections[] = {"Camo"}; 
       hiddenSelectionsTextures[] = {"\armour_Tester\Data\CW_Chest.paa","\armour_Tester\Data\CW_Legs_1.paaa"}; 
       class ItemInfo: VestItem 
       { 
           containerClass = "Supply120"; 
           mass = 80; 
           armor = "5"; 
           passThrough = 0.3; 
           hiddenSelections[] = {"camo"}; 
       }; 
   };
#

^got this as a result

#

but when i tried a more complicated version that includes changed armour values, the model didn't show up.

chilly tulip
#

For what it's worth, this one is pretty hard :P

#

Give me a few minutes.

teal mirage
#

it's supost to retexture an armour set from the scion conflict mod

#

and it has to refrence their base model, as i'm not allowed to reupload any of their models ofc

hearty sandal
#

are the armor parts all vests/gear and not uniforms?

teal mirage
#

it's a vest yea

#

in the pic, all the white armour except for the helmet is one vest

chilly tulip
#

oh, you want to retexture, not change armour values?

teal mirage
#

no i want to change the texture and armour values

#

i just have to refrence their base model for it wich has been giving me a headache for a month lol

chilly tulip
#

Ok, I think this is the minimum config to create a vest with one different armour value:

class CfgWeapons {
    class VestItem;
    class ItemCore;
    class Vest_Camo_Base: ItemCore {
        class ItemInfo: VestItem {};
    };
    class V_TacVest_blk_POLICE: Vest_Camo_Base {
        class ItemInfo: ItemInfo {
            class HitpointsProtectionInfo {
                class Chest;
            };
        };
    };
    class JJ_Vest_Test: V_TacVest_blk_POLICE {
        class ItemInfo: ItemInfo {
            class HitpointsProtectionInfo: HitpointsProtectionInfo {
                class Chest: Chest {
                    armor = 20;
                };
            };
        };
    };
};
#

If you were working from a vest where the armour values are defined further down the tree then it's more complicated :P

teal mirage
#

hm, i see

#

well i'll try to plug in the working config into that one and see if it works!

chilly tulip
#

Vest_Camo_Base doesn't have much defined in HitpointsProtectionInfo so you could just override it from there. Just need the ItemInfo inheritance.

#

And then H_HelmetB only has one hitpoint defined so I guess you can just respecify that too rather than dealing with the hitpoint inheritance.

teal mirage
#
    class VestItem;
    class ItemCore;
    class Vest_Camo_Base: ItemCore {
        class ItemInfo: VestItem {};
    };
    class SC_MDF_Torso_Base: Vest_Camo_Base {
        class ItemInfo: ItemInfo {
            class HitpointsProtectionInfo {
                class Chest {};
            };
        };
    };
    class CW_Armour_White: SC_MDF_Torso_Base {
        class ItemInfo: ItemInfo {
            class HitpointsProtectionInfo: HitpointsProtectionInfo {
                class Chest: Chest {
                    armor = 5;
                };
            };
        };
    };
};
#

would this work?

#

or well, is it filled in properly at least?

chilly tulip
#

Is the SC vest one of yours or from another mod?

teal mirage
#

it's the vest in the original scion conflict mod that i want to inherit the 3d model from

chilly tulip
#

Does it inherit from Vest_Camo_Base?

teal mirage
#

umm, let me check

ebon pivot
#

you dont need to do {};

#

and class Chest {}; will cause addon builder to break usually

chilly tulip
#

You do for inheritance.

ebon pivot
#

no you dont

chilly tulip
#

yeah, the chest one is bad.

ashen chasm
#

i'll just leave this here: ```
Vest class 1: abdomen/body/chest/diaphragm, armor 8, passtrhough 0.5
Vest class 2: abdomen/body/chest/diaphragm(/pelvis), armor 12, passtrhough 0.4
Vest class 3: abdomen/body/chest/diaphragm, armor 16, passtrhough 0.3
Vest class 4: abdomen/body/chest/diaphragm, armor 20, passtrhough 0.2
Vest class 5: abdomen/body/chest/diaphragm/arms/neck, armor 24, passthrough 0.1

Vest class ER:abdomen/body/chest/diaphragm/arms/neck/pelvis, armor 8/16/78, passthrough 0.5/0.3/0.6```

ebon pivot
#

walk it back up by one more than that to not do {};

chilly tulip
#

This one is needed syntactically for some reason:
class ItemInfo: VestItem {};
This one breaks shit:
class Chest {};

ebon pivot
#
class CfgWeapons {
    class VestItem;
    class ItemCore;
    class Vest_Camo_Base: ItemCore {
        class ItemInfo: VestItem {
             class HitPointsProtectionInfo;
        };
    };
    class V_TacVest_blk_POLICE: Vest_Camo_Base {
        class ItemInfo: ItemInfo {
            class HitpointsProtectionInfo: HitPointsProtectionInfo {
                class Chest;
            };
        };
    };
    class JJ_Vest_Test: V_TacVest_blk_POLICE {
        class ItemInfo: ItemInfo {
            class HitpointsProtectionInfo: HitpointsProtectionInfo {
                class Chest: Chest {
                    armor = 20;
                };
            };
        };
    };
};``` better
chilly tulip
#

Although curiously it worked here.

ebon pivot
#

the only regular use case for {}; that exists is turrets afaik

#

not standard inheritance

chilly tulip
#

The HitpointsProtectionInfo in V_TacVest_blk_POLICE doesn't inherit from Vest_Camo_Base though.

ebon pivot
#

then define it wherever it inherits from

chilly tulip
#

It doesn't.

#

That's why I didn't.

ebon pivot
#

then just give it a base class

#

oh wait

#

ok in this one instance {}; is usable

#

as it wont inherit any properties

#

for chest that is

#

for iteminfo you can just do class ItemInfo;

#

no need for {}; there

chilly tulip
#

The class ItemInfo: VestItem {};?

ebon pivot
#

yes

chilly tulip
#

yeah maybe.

ashen chasm
#

🧠 start by getting the full tree with ADT. Check if it works. When it does work - don't fix what ain't broken.

ebon pivot
#

no parent class is probably why class Chest {}; works

ebon pivot
#

oh wait no that looks fine now

#

somewhat

#

you still need to know when you stop though

chilly tulip
#

I start from ADT and simplify, missed a couple of bits thoguh.

#

Still not sure why Chest {} worked. That should blank it.

ebon pivot
#

e.g here you dont need to inherit off headgearitem

ebon pivot
#

{}; only blanks inherited values

chilly tulip
#

Ah, yeah.

ebon pivot
#

biki example makes it easiest to understand

#

(surprisingly)

#

(dont kill me lou)

ashen chasm
#

"you don't need it" vs "shit be broken" are two different things, as always

ebon pivot
#

no because if someone ends up doing ItemInfo: HeadgearItem {}; it will wipe anything iteminfo inherits from headgearitem

#

which will most likely break things

ashen chasm
#

it wouldn't if the load order is correct and inheritance isn't borked

ebon pivot
#

yes it would thats literally what {}; does

chilly tulip
#

The empty brackets have different meaning if you specify the inheritance.

#

IIRC it doesn't even let you do ItemInfo: HeadgearItem;

ebon pivot
#

no you dont need to define headgearitem at all

chilly tulip
#

That's true but not the point.

ebon pivot
#

will still break things either way

#

{}; is very rarely required and teaching it to be standard is a bad idea

ashen chasm
#

because guess what? It removes the inheritance

ebon pivot
#

exception not the rule

chilly tulip
#

The empty brackets have different meaning if you specify the inheritance.

ebon pivot
ashen chasm
#

class Jacob {}; = "screw whatever happened before, Jacob here inherits from nowhere"

chilly tulip
#

It's pointless specifying the inheritance there but doesn't hurt.

ashen chasm
#

class Jacob: Jacob {}; = "this Jacob is just like the Jacob above"

ebon pivot
#

soulless empty jacob

chilly tulip
#

You might need it for weird cases where you're modifying stuff at multiple levels.

#

Although you can probably just skip the definition then.

ashen chasm
#

as in: you need subclass of Jacob that isn't present in Isaac but is defined in Rebecca 🤷‍♂️

#

but still need other changes to Jacob that are made in Isaac

chilly tulip
#

Anyway, fully reduced example:

class CfgWeapons {
    class ItemCore;
    class Vest_Camo_Base: ItemCore {
        class ItemInfo;
    };
    class V_TacVest_blk_POLICE: Vest_Camo_Base {
        class ItemInfo: ItemInfo {
            class HitpointsProtectionInfo {
                class Chest;
            };
        };
    };
    class JJ_Vest_Test: V_TacVest_blk_POLICE {
        class ItemInfo: ItemInfo {
            class HitpointsProtectionInfo: HitpointsProtectionInfo {
                class Chest: Chest {
                    armor = 20;
                };
            };
        };
    };
};
ashen chasm
#

yeah, that's one convoluted mess

ebon pivot
#

hee hee

ashen chasm
#

and iirc all the vanilla vests do fully define their protection values if they ever do not like hpp class HitpointsProtectionInfo { class Chest { hitpointName="HitChest"; armor=12; passThrough=0.40000001; }; class Diaphragm { hitpointName="HitDiaphragm"; armor=12; passThrough=0.40000001; }; class Abdomen { hitpointName="HitAbdomen"; armor=12; passThrough=0.40000001; }; class Body { hitpointName="HitBody"; passThrough=0.40000001; }; }; would blow your config that much

chilly tulip
#

Often easier to just rewrite the HitpointsProtectionInfo :P

ebon pivot
#

macro it

ashen chasm
#

then forget about it, accidentally build your PBO with KJW's file tree somewhere in valid include paths and then be surprised when your vests suddenly have over nine thousand armor, glow in the dark and pollute everything with radiation and syphilis

ebon pivot
#

thats part of kjws medical expansion 😄

chilly tulip
#

In that case it'd be:

class CfgWeapons {
    class Vest_Camo_Base;
    class V_TacVest_blk_POLICE: Vest_Camo_Base {
        class ItemInfo;
    };
    class JJ_Vest_Test: V_TacVest_blk_POLICE {
        class ItemInfo: ItemInfo {
            class HitpointsProtectionInfo {
                // All hitpoints go here
            };
        };
    };
};
teal mirage
#

so... what now?

chilly tulip
#

As above but replace V_TacVest_Blk_POLICE with SC_MDF_Torso_Base and JJ_Vest_Test with your classname, then fill in the hitpoints data.

#

That SC_MDF_Torso_Base doesn't have much in it though, so it might not be worth inheriting.

teal mirage
#

i see

#

so this

#

also, where do i add the change of texture for this armour?

#

this seems right

chilly tulip
#

I don't know anything about textures personally.

teal mirage
#

fair enough

#

i'll give it a test and report back 👍

#

it's not showing up in the arsenal

chilly tulip
#

You'd need to set scope=2 for it to show up in the arsenal.

#

Anything with "base" on the end of the name is probably scope 1.

vernal flame
#

So I'm trying to make a smoke grenade, that once it pops it activates a script. How would I go about adding such a function to the config?

wintry fox
#

Grenades exploding triggers the killed EH?

vernal flame
#

Would this be correct?

#

I have a CfgFunctions set up for the sqf, only issue is getting it to trigger on the smoke

wintry fox
#

Depending on how you did your params [...] in your function, you could probably replace those brackets with parenthesis

tacit zealot
#

Is there a way to use the CombatModeChanged eventHandler within the EventHandlers class of a unit? The wiki says it's for groups only, so I'm not sure if I realistically could.
I really just need a good eventhandler that will fire off at helpful times so I can run some code that does things based off unit combat mode.

wintry tartan
#

Probably not. I think you can have a fnc to detect if a group has created and use it to add an EH

tacit zealot
#

I think I'll go for a simpler, but limited, approach, then.

tacit zealot
#

New venture: is there a way to disable placing things in the Uniform slot of a unit? Basically to make sure it always appears as the specified nakedUniform, even if player controlled.
Only relavent subclass I could find was related to binoculars, NVGs, scuba, and something else that wasn't it.

wintry fox
#

Could make like a Supply0 containerClass with no space

wintry tartan
#

configfile >> "CfgVehicles" >> "Supply0" exists. So yes

wintry fox
#

Wasn't sure if there was an already existing one

wheat sluice
#

Pretty sure brendo means locking the uniform slot completely so that you always appear "naked" (and therefore default to whatever underwear class you defined in the unit).

wintry fox
#

Ah yeah reread it
I guess just use an Event Handler for a unit's loadout changing and remove the uniform?

CBA has a player event handler for it

wintry fox
#

Oh yeah I forgot that SlotItemChanged is finally in with 2.14

tacit zealot
wintry fox
#

🤨 Never played it, but that seems like a weird thing to have

tacit zealot
#

Sexism

wheat sluice
#

Well, the way that was handled back in the day was with weaponSlots but I don't think it accepts the new slot types used in A3.

tacit zealot
#

Should be the last of my questions - is there a way to make entities emit ambient light? I'm currently only using the emissive on the .RVMAT, but that only illuminates the unit itself.

teal mirage
#

this is where i'm currently at. it shows up in the arsenal, and it has the right texture and armour value, though it does not inheret the right 3d model

wintry fox
#

Your inheritance is incorrect

wintry fox
# teal mirage

SC_MDF_Heavy inherits from SC_MDF_Torso_Base, not Vest_Camo_Base

teal mirage
#

Hmm, interesting

wintry fox
#

You should be getting an "Updating base class" in your rpt file

#

Is there a specific sound property for a plane canopy opening/closing or would it have to just be lumped in with the engine on/off sounds?

balmy atlas
#

sound can be added to your animations as param

#
class Animations {
  class myAnim {
    sound="mySound";
  };
};
wintry fox
#

Not my animations, wanting to add a sound to a pre-existing vehicle

#

Oh cool they're in config

balmy atlas
#

note you have to define the sound in CfgSounds

wintry fox
#

I did also find cabinOpenSound in the vehicle root as well

fast ruin
#

how do I set the carrying capacity?

teal mirage
wintry fox
fast ruin
wintry fox
# fast ruin Uniform, vest, and backpack

Uniforms and Vests' carrying capacities are done through their ItemInfo class

class ItemCore;
class Vest_NoCamo_Base: ItemCore
{
    class ItemInfo;
};
class V_PlateCarrier1_rgr: Vest_NoCamo_Base
{
    class ItemInfo: ItemInfo
    {
        containerClass = "Supply140"; // containerClass is a vehicle defined in CfgVehicles
    };
};
#

Backpacks (and anything defined in CfgVehicles) are much simpler, and their carry capacity can be tweaked by chaning the maximumLoad, which can be any number

fast ruin
#

Thank you.

shadow brook
#

does anyone know how i could correct this?

opal crater
#

do what it says?

#

add missing }

#

class Body...

shadow brook
#

Fuck I’m just blind thank you

#

ah now im getting the build failed i'll fuck wit again later

balmy atlas
#

each scope (class) {}; has opening { and closing }; bracket, so make sure they're all setup properly

#
class SomeClass {
  class Subclass1 {
    class SubSubClass {
    };
  };
};
dusk jungle
#

When you shoot a HE tank shell through trees it explodes on every contact, but 40mm GMG shell doesnt. What config properties dictates such behaviour in the engine?

#

Pictured, tank shell explodes on each penetration, grenade only explodes on ground hit

#

Both are shotShell

#

I did a test by increasing GMG shell speed x10 but it still didn't explode through trees

novel lava
#

hmm

#

maybe explosive = 1 makesi t go off no matter what

#

thats all I can think of, its the same simulation afterall

dusk jungle
#

Still, its it strange that HE shell explodes like 20 times when flying through trees? Isn't it a bug?

novel lava
#

Yeah it shouldnt be doing that

novel lava
#

when it does it im not sure its just the effect or if the explosion actually does damage

dusk jungle
#

Yet it triggers HitPart\HitExplosion on both target and shell hitting the foliage

novel lava
#

any damage? or just no indirectHit?

#

cuz I assume it still does hit

#

but it might be too low to not deal damage or something

dusk jungle
#

PROJECTILE HitPart, HitExplosion, ENTITY HitPart on the quad bike

#

No HandleDamage fires at all

#

HitPart on Quad Bike because of these fake two explosions nearby

#

Dies properly on direct hit so its not my mistake

novel lava
#

yeah its probably still dealing hitdamage but trees tend to have very high armor with high explosiveshielding so onmly indirectHit really deals any damage to them iirc

#

but most likely the 'bug' is because when explosive is above 0.6 or whatever impact effects use explosionEffect etc instead

#

so its technically working as intended just uh, not the way it should

#

at least that's what I think is happening

dusk jungle
#

These effects still trigger HitPart like vehicle is about to be damaged

#

Perhaps tree absorbs all damage and only ~0 damage is propagated to the quad enough to trigger HitPart but not enough for HandleDamage?

#

Welp, here goes my idea to try to connect HitPart and HandleDamage

#

All these fake HandleDamage calls and now tons of fake HitPart calls

lofty thistle
#

RE: ⁠#arma3_config message
Alright well it appears I framed my problem incorrectly, and I say that because it's not a packing issue, it's a config issue. This is the error we get when we try to load into an empty editor mission with a rifleman and a crate. We're able to move past it and the addon still works after the error is closed but we want to get rid of that for when we play our missions.
This is my config.cpp for addon crates

#include "script_component.hpp"
class CfgPatches 
{
    class ADDON
    {
        units[] = {"EVLT_Fireteam_US_crate", "EVLT_Fireteam_FAL_crate", "EVLT_Fireteam_SWAT_crate","EVLT_Fireteam_Stealth_crate","EVLT_Fireteam_Rangers_SCAR_crate","EVLT_Fireteam_PMC_ACR_crate","EVLT_Fireteam_GER_crate","EVLT_Fireteam_CZ_VZ58_crate","EVLT_Fireteam_CZ_BREN_crate","EVLT_Fireteam_ME_Guer_crate","EVLT_AR_MG36_crate","EVLT_AR_HK416_crate","EVLT_MMG_MG3_crate","EVLT_AR_RPK74_crate","EVLT_HAT_TOW_crate","EVLT_MAT_MAAWS_crate","EVLT_HAT_9M133_crate","EVLT_LAT_RPG7_crate","EVLT_HAT_FGM148_crate","EVLT_Fireteam_Russia_AK762_crate","EVLT_Fireteam_FinlandArmy_AK103_crate","EVLT_Fireteam_FinlandSF_Mk16_crate","EVLT_Fireteam_TLA_crate","EVLT_Fireteam_AK74_std_crate","EVLT_Fireteam_AK74_ep_crate","EVLT_MMG_CZ_M84_crate","EVLT_RAT_RPG75_crate","EVLT_RAT_M136_crate","EVLT_MMG_PK_RU_crate","EVLT_MMG_M240_M60_crate","EVLT_Fireteam_M14_crate","EVLT_Fireteam_M16_crate","EVLT_Fireteam_M16A2_crate","EVLT_Explosives_crate","EVLT_Medical_crate","EVLT_RAT_M72A6_crate","EVLT_RAT_M72A7_crate","EVLT_AAM_Igla_crate","EVLT_AAM_Stinger_crate","EVLT_HAT_MetisM_crate","EVLT_AR_RPK762_crate"};
        weapons[] = {};
        requiredVersion = REQUIRED_VERSION;
        requiredAddons[] = {"evlt_main","evlt_medical","A3_Supplies_F_Exp","ace_main","ace_compat_rhs_afrf3","ace_compat_rhs_usf3","ace_compat_rhs_gref3","ace_compat_rhs_saf3","UK3CB_Factions_Weapons","rhssaf_c_weapons","rhsusf_c_weapons","niaweapons_226","UK3CB_Factions_Weapons","rhs_main","rhsusf_main","rhs_c_weapons","rhsusf_c_weapons","rhsgref_c_weapons","cup_weapons_ammunition","cup_weapons_fnfal","cup_weapons_xm8","cup_weapons_m72a6"};
        author[] = {"Ferdilanz"};
        authorUrl = "";
    };
};
#include "CfgEditorCategories.hpp"
#include "CfgVehicles.hpp"

The mod itself can be found on GitHub here: https://github.com/CypherV0/Everlight_Adjustments/tree/Test
I tried putting as many requiredAddons as possible to try and fix this stupid error but I can't get it to go away.

gray coyote
#

does anyone have an idea how i remove the green nametag?

hearty sandal
gray coyote
#

groupIndicators=0;
friendlyTags=0;
enemyTags=0;
detectedMines=0;
commands=1;
waypoints=0;
weaponInfo=1;
stanceIndicator=2;
reducedDamage=0;
staminaBar=1;
weaponCrosshair=0;
visionAid=0;
thirdPersonView=0;
cameraShake=1;
scoreTable=0;
deathMessages=0;
vonID=0;
mapContent=0;
autoReport=0;
multipleSaves=0;

gray coyote
hearty sandal
#

Maybe it's not in use

#

Or something else you run overwrites it

ebon pivot
#

DUI nametags in CBA options

gray coyote
void palm
#

has anyone ever encountered an issue when building a p3d where one of your textures just wont apply? Upper and Lower here are setup the same way, triple checked all filepaths and naming conventions, triple checked the rvmat values, but for some reason the upper comes in just pitch black

#

only difference I can see is the upper has these values filled out while the lower doesnt, but I also cant find a way to get rid of the values (I didnt setup the p3d)

lofty thistle
void palm
#

I thought that originally but figured itd be more along the config/importing end, as its not a problem with the texture

#

messing with those values is producing results so something in this import has gotten screwy

lofty thistle
hearty sandal
#

@void palm he is right. This is model. Issue, best take it there

pallid sierra
lofty thistle
lyric spire
#

Hey guys, been messing with my project and I need some help.

I am trying to replace the Commanders MG with another weapon class but I am confused as to how I find one and utilize it in the code.

Where/How would I search to find another weapon class to use and do I just replace the bit here in Line 140 of CfgVehicles?

pallid sierra
tacit zealot
#

Any ideas why my module isn't playing the sound I want it to? I've made sure the cfgRadios entry is properly spelled, and I've verified that the audio file works in a cfgSounds entry that I have confirmed works when played on a trigger's sound effects box.
The globalChat works perfectly fine.
Both the sender unit and I have a radio.

Wait, I think I know what's up... the speaker is deleted before the audio plays.

toxic solar
#

what is the difference between a bisurf having bulletPenetrabilityWithThickness and Thickness?

like armour.bisurf doesnt have those 2 fields, and armour_plate.bisurf has Thickness=30; and bulletPenetrabilityWithThickness=15;, how would I compare/figure out which bisurf protects against bullets better?

fast ruin
#

Are there any tools to quickly create ace extended arsenal compats?

lyric spire
lyric spire
#

I am dence, was looking for the wrong file type in the config viewer

gritty rune
#

hi, facing once again a physx problem. A renovated tail dragger aircraft in Unsung, the O-1 Bird Dog, is hardly sitting on the gear. There are two anomalies right now: When placed in Editor the rear wheel touches the ground, but the main gear is sunken in the ground; the second is, as soon as power is applied to the engine via shift the plane starts rolling and cannot be stopped via z or x. Any ideas how to fix and/or debug this?

gritty rune
#

I see in diag exe with the All toggle that the brake is never applied once the engine runs

lofty thistle
runic basin
#

Hey all. How can I create a patch for an existing mod that allows me to replace certain parts of it, without including/publishing the entire mod? I know it has to do with CfgPatches, and I want to be able to reference it so that people are required to download the original creator's mod for it to work.

#

Unfortunately the mod maker left no means to leave feedback or contact, neither in the mod itself nor the mod profile.

#

I'd only be replacing the p3d files with the correct rvmat references. I want to keep everything else out of my patch mod in order to force the dependencies to the original mod.

ebon pivot
#

you cannot edit p3ds that you do not have permission to edit

runic basin
ebon pivot
#

no

runic basin
#

I'll also add that the modder left the source files within a .rar archive within the mod itself, and did not bfsign it.

#

Hm, okay.

ebon pivot
#

it is not only illegal but it is not possible

runic basin
#

Not possible?

ebon pivot
#

p3ds are binarised

#

they cannot be unbinarised and edited

runic basin
#

Ah, okay.

#

And here's inside the mod folder:

#

And here's inside the .rar file, including the non-binarized p3d's:

winter rain
#

source & not binarized so its okey to edit

runic basin
#

Okay, whew. That's what I figured.

winter rain
runic basin
#

I'll try; the only problem is that they have a private profile and no means to post on the mod itself. I've tried to add them as a friend - but that assumes they even respond.

winter rain
#

in my opinion its not needed to make it dependent of that mod cause its source at all + he has included a rar file with all source stuff included and unbinarized etc

so i think just to credit that guy and maybe add the link of his steam workshop mod might work but no dependency to his mod, so keeping standalone

runic basin
#

Anyway; how do I create a patch that only includes the patched p3d's?

ebon pivot
#

unless permission to edit is given in the description they cannot edit it

winter rain
ebon pivot
#

giving out source material doesnt mean its free to use

#

see: a significant number of projects on github

winter rain
#

its declared as source and also has a rar file in it with unbinarized content as source files

maybe that guy doesnt have github

ebon pivot
#

i already said

#

giving out source material doesnt mean its free to use

#

this is quite basic ip law

winter rain
#

yeah like a license is missed

ebon pivot
#

yes, no license means most restrictive applies

winter rain
#

sounds for me more like that guy didnt know about that, cause makes no sense to release something as source and declare it as source

ebon pivot
#

doesnt matter

#

there is no such thing as implicit permission

runic basin
#

~~Yeah, unfortuately, sounds to be the case, sadly.

Since that's the case, I'll have to do it using a config.cpp, and create (or copy?) the three files it is 'missing'. Specifically, it has these three lines within its p3d's:

color_01.paa (only in drr_trafficlight_p11.p3d & drr_trafficlight_p12.p3d)
a3\data_f\lights\weapon_chemlight_drr_emit.rvmat```

`color_00.paa` and `color_01.paa` doesn't exist at all, and has no file name, so I'm not sure how to parse that in the config.cpp. In addition, `a3\data_f\lights\weapon_chemlight_drr_emit.rvmat` doesn't exist in Arma 3 whatsoever despite the link pointing to `data_f.pbo`.  However, looking at the working green and yellow lights, they link to `a3\data_f\lights\weapon_chemlight_green_emit.rvmat` and `a3\data_f\lights\weapon_chemlight_yellow_emit.rvmat` respectively. Therefore, my assumption is that `a3\data_f\lights\weapon_chemlight_red_emit.rvmat` is the intended path.

Therefore, the simplest fix is, optimally, to somehow redirect the file to the correct file. But I don't think that's doable. Instead, I could contain a copy of Bohemia's `weapon_chemlight_red_emit.rvmat`, and rename it to the correct file. But in either case, how would I get it to read as a3?

Any help would be appreciated as this is a bit above my paygrade.~~ Sounds like this would also affect the IP, even then. Sadly nothing else I can do. 😦
gritty rune
#

Also asked on Twitter: what is the Engine RPM in the diagnostics output and why would the RPMs increase when throttle is zero of a plane? The plane rolls forward though, brake is never applied. I'm looking for the root cause of this forward movement, but a bit lost currently

novel lava
#

rpm is scuffed for planes

#

its basically 0-1, with it reachign 1 after the engine is running for a couple seconds

#

the plane rolling forward can sometimes be the landcontacts

#

if landcontact on plane is under the physx wheel geometry it will roll forward

balmy night
#

I have a problem that I need help with. The point is that I created a warlords scenario and also a custom asset list. The basic AI skill is 70% but I want the AI ​​skill to vary depending on the unit. For example, the sniper should have a higher skill than the normal shooter. What code do I have to write in the description.ext or other file for this to work and above all HOW DOES IT WORK (I have 14,000 hours in Arma 3) please help. i try it in arma Scripting, arma AI modding but nobody can help me there. i hope you know here becurse the People there tell me that.

class CfgWLRequisitionPresets
{
class MyWLAssetList
{
class WEST
{
class Infantry
{
class B_recon_TL_F
{
cost = 100;
requirements[] = {};
};
class B_T_Recon_TL_F
{
cost = 150;
requirements[] = {};
};
is this possible to add it for any unit hete?

#

is it possible to Set by "requirements[_setunitskill...]"

pallid sierra
#

requirements[] = {} in that warlords config is for things like requiring an airstrip, helipad, harbor etc

gritty rune
# novel lava rpm is scuffed for planes

interesting! The engine RPM value went really high, up to 2000 for the O-1. I changed the landcontacts name to the wheels instead of dampers, and moved the CoG even more forward, almost on top the main gear. The plane stopped rolling now, can take off, but flips over the nose upon landing 😦

fast ruin
#

Am i correct in my assumption that you can’t edit the max carry weight in your configs?

wintry fox
fast ruin
#

But it doesn’t matter cause I clarified what the person I’m making the mod for wanted and they wanted to add to the holding capacity for a uniform and vest so it’s all good now. I know how to do that

hearty sandal
#

Id recommend not using such mods. it undermines all the hard work real modders do

tidal relic
hearty sandal
#

👍

wintry fox
#

Can you use a sound set for a weapon's dry sound?

remote salmon
#

https://gyazo.com/ac1346febaf4b89bd25321107f0d49cb
Anyone know how I can fix this? I only have the one rotation action at the moment. Before it's asked yes the axis is centered. When I remove the roatation the bolt moves perfectly back however oncee I add the rotation it moves the entire bolt outside the rifle like that. It's weird because when I preview in in bulldozer it works perfect, however once brought in-game it does that.

fleet adder
#

Macros that are gonna be used inside config require to be defined inside the config itself or can i define them anywhere and still be able to use them inside classes?

Im including a .hpp file that contains a defined macro function so I don't have to define every single bit of config, but for whatever reason it says that it has ; instead of = (as in improper definition of a class), I checked the content of the macro itself and without macroing it, it works just fine so I'm probably not just defining the macro correctly. The include is being read properly, as if I rename it or point to a different path to look for it it tells me that the file has not been found.

Is there anything special I need to do for it to work properly?

I have never defined anything but static values, let alone multilines so Im prolly missing some context

ebon pivot
#

so long as they are included in the config theyre fine

#

send the macro you are using

fleet adder
#
#include "\MK_mod\SystemInit\mk_hitpoints.hpp" //Wondering if this should go inside cfgVehicles itself

class CfgVehicles
{
    class Land;
    class Man: Land
    {
        class EventHandlers
        {
            class MKClass
            {
                init = "[] call mk_initSystems;";
            };
        };
    };
    
    class CAManBase: Man 
    {
        class HitPoints
        {
            MK_CUSTOMHITPOINTS; //The macro itself
        };
    };
};

This is the content included:

#define MK_CUSTOMHITPOINTS\
class HitHands;\
class HitLegs;\
class HitRArm: HitHands\
{\
    material = -1;\
    name = "hand_r";\
    radius = 0.08;\
    visual = "injury_hands";\
    minimalHit = 0.01;\
};\
class HitLArm: hitRArm\
{\
    name = "hand_l";\
};\
class HitRLeg: HitLegs\
{\
    material = -1;\
    name = "leg_r";\
    radius = 0.1;\
    visual = "injury_legs";\
    minimalHit = 0.01;\
};\
class HitLLeg: hitRLeg\
{\
    name = "leg_l";\
}
ebon pivot
#

cant tell if its discord but you seem to have spaces after the backslashes

#

yeah nvm its discord

#

it doesnt need to go inside of cfgvehicles

#

i would probably put the opening braces on the same line as the class def but thats not it

#

i need to go sort my washing though so brb

fleet adder
#

np

winter rain
#

Just take care of editing the CAManBase class and adding new Hitpoints, it could be that ACE wont work anymore

fleet adder
#

I know, the system im making is incompatible with ace medical by default so not big issues

winter rain
fleet adder
#

it is actually an alternative to ace medical for specific solution required for us.

#

Its not really a big deal since its for the sake of tidiness, was just really wondering how im I supposed to declare and use these macros correctly.
If it doesn't work I might as well just include the file as is instead of using the macro multiple times

winter rain
#

Yeah thats fine. Cause i did something "similar" but i didnt add a Hitpoint by myself, i have just reactivated a thing that BI has deativated and it disturbed ACE at least cause that thing added its own Hitpoint by itself and i had to find a solution with ACE devs to make it working cause a lot ppl want to use ACE with my modification and i did it just for the community at least to find a solution

fleet adder
#

now that I think of it, can you even #include the same file multiple times?

winter rain
#

What does the file include?

fleet adder
#

this but without the macro definition

#define MK_CUSTOMHITPOINTS\
class HitHands;\
class HitLegs;\
class HitRArm: HitHands\
{\
    material = -1;\
    name = "hand_r";\
    radius = 0.08;\
    visual = "injury_hands";\
    minimalHit = 0.01;\
};\
class HitLArm: hitRArm\
{\
    name = "hand_l";\
};\
class HitRLeg: HitLegs\
{\
    material = -1;\
    name = "leg_r";\
    radius = 0.1;\
    visual = "injury_legs";\
    minimalHit = 0.01;\
};\
class HitLLeg: hitRLeg\
{\
    name = "leg_l";\
}
winter rain
#

You can include that for your base class and your next class have to be inherited of your base class so you dont need to include it several times.

But yes in your class HitPoints you can include it every time for every unit class

#

If you dont inherit of your base class

fleet adder
#

Ill have to see if doing the include is required in multiple instances since ACE does the macro fro their hitpoints in 20 or so different base classes

#

i would assume that using camanbase is enough, but i dont see them doing so

winter rain
#

The CAManBase is the most oldest base class, next classes are the that B_Soldier_F or something, O and G if im right

fleet adder
#

since doing it man doesnt make camanbase inherit it

fleet adder
#
  • some additional for VRs units and campaign units
winter rain
#

You might try out if it works with only CAManBase class

Just to note, editing this one will edit also everyone, even custom mod ones

#

Only if they didnt own Hitpoints and didnt inherit of HitPoints

fleet adder
#

which is fine, I already have a less none invasive solution but i can see it become network intensive so I wanted to see it it was possible to have an allrounder solutions for all the playable unit types.

Thanks for the info

lethal shuttle
#

so i made a tank and used the physx.hpp from the sample, and it seems that the tank would not go farther anymore than 22 km/h.

ive changed the enginepower, gearboxratio, transmisionratio/losses, and it seems to have affected anything at all.

I changed the MOI and dampingrateinAir but it just let to the vehicle being way too fast and unsteerable

i have set the weights to 30000 and 15000 and both have resulted in the same thing... would love some help on how i can increase my tank speed :)

hearty sandal
#

are you sure you have edited the same file you have packed into the game?

#

are you sure you include the physx.hpp in the config you pack?

lethal shuttle
hearty sandal
#

are you sure the changes you make actually go into game?

#

as what you describe sounds like changes do nothing

#

and they should do a lot

lethal shuttle
#

well i did change the MOI and dampingrateinair and did change drastically (went over 300 km /h)

#

but the others ones i mentioned did not do any difference

#

so im pretty sure the changes got into the game...

#

for example i increased enginepower from 500 to 1500, and there was no difference

undone patio
#

So, is there any guide that includes documentation for things like TransportMagazines and such? I'm defining a few custom ammo boxes.

wintry fox
#

It's basically the same as the other Transport classes

class TransportMagazines
{
    class _xx_YourMag
    {
        magazine = "YourMag";
        count = 1;
    };
};
#

Just swap out the class and then change magazine to item, weapon, etc.

#

Also the _xx_YourMag is just convention, you could just do YourMag if you wanted to

undone patio
#

Thanks

wintry fox
#

Running into some (seemingly) weird behavior when trying to add XEH to an object. Instead of using the CBA_Extended_EventHandlers_base root class, it's creating a class with the same name in CfgVehicles and inheriting from that

Here's the code after packing and then unbinning, thought it might have been a weird packing issue but it's all correct

class CBA_Extended_EventHandlers_base;
class CfgVehicles
{
    class BNA_KC_Object_Base;
    class BNA_KC_Utility_Base: BNA_KC_Object_Base
    {
        // ...
        class EventHandlers
        {
            class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers_base
            {
            };
        };
    };
};
wintry fox
#

I changed it to inherit from the normal CBA_Extended_EventHandlers instead of _base and it worked perfectly fine
Not sure why

remote salmon
winter rain
#

What is the exact problem? The slow speed or that the bolt is to much left while moving forward again?

ashen chasm
#

i'd assume the fact that bolts moves left at all

winter rain
#

If thats the case the problem is:
A) in the cfgSkeletons hirarchy
B) your memorypoint axis is not straight

remote salmon
#

He is correct, the bolt should just be rotating almost like a block and coming backwards.

#

it uses the same axis as the bolt coming back which is perfect. How would I adjust the hierarchy then? Just place the rotation before the translation? I was under the impression that in the model cfg regardless of order of actions if they are produced by the same source they would happen simultaneously?

winter rain
#

The axis is completly in the middle of it and it contains 2 points?

remote salmon
#

On the reload without any rotation the bolt comes perfectly back

winter rain
#

What happens if you add to the bolt_reload1 sourceAdress=clamp aswell?

#

Cause the other 2 have it

winter rain
remote salmon
#

I added it and no change.

fathom zealot
#

Or do like what I do, ALT+Z everything it call it a day.

remote salmon
#

My biggest frustration is like I said when I preview it in object builder it functions flawlessly. It's only when I get in-game

#

Well I'd like to solve the issue so I can finish my project and know why it's broken for future reference as awell lol

winter rain
#

Try to change on it angle1= rad 57

ashen chasm
#

does repro with what i believe to be the correct setup notlikemeowcry

winter rain
#

I always add to rotation anims rad number maybe thats the problem instead of just a number

remote salmon
#

It has defiantly made it more interesting

winter rain
#

Looks for me like cfgSkeleton issue

remote salmon
#

What would you suggest I do? just re-write it from scratch?

winter rain
#

HG might know it now kekw2

hearty sandal
#

Autocenter property set up correctly in geometry lod?

novel lava
#

post the skeleton

ashen chasm
#

no named properties at all in whatever i've done

remote salmon
#

class cfgSkeletons
{
class EC_Huntingrifle
{
skeletonInherit = "";
isDiscrete = 0;
SkeletonBones[]=
{
"trigger" ,"",
"bolt" ,"",
"ch" ,"",
"chh" ,"ch",
"magazine" ,"",
};
};
};
class CfgModels
{
class Default
{
sections[] = {};
sectionsInherit="";
skeletonName = "";
};
class EC_Huntingrifle:Default
{
skeletonName="EC_Huntingrifle";
sections[]=
{
"zasleh",
"camo"
};
/<potential axis>
backsight
bolt
bolt_axis
camo
eye
foresight
konec hlavne
leg_l
leg_l_axis
leg_r
leg_r_axis
magazine
magazine_axis
nabojniceend
nabojnicestart
trigger
trigger_axis
usti hlavne
zasleh
</potential axis>
/
class Animations
{
class no_magazine
{
type="hide";
source="hasmagazine";
selection="magazine";
// sourceAddress = clamp;// (default)
minValue = 0.0;//rad 0.0
maxValue = 1.0;//rad 57.29578
hideValue = 0.5;
// unHideValue = -1.0;//(default)
animPeriod = 0.0;
initPhase = 0.0;
};
class trigger
{
type="rotation";
source="reload";
selection="trigger";
axis = "trigger_axis";
sourceAddress="clamp";
minPhase=0;
maxPhase=1;
minValue=0;
maxValue=1;
memory=0;
angle0=0;
angle1=-0.5235988;
};
class bolt_reload_move1
{
type="translation";
source="reload";
selection="Bolt";
axis="bolt_axis";//probably
// sourceAddress = clamp;// (default)
minValue = 0.1;//rad 5.729578
maxValue = 1.0;//rad 57.29578
offset0 = 0.0;
offset1 = -1.0;
animPeriod = 0.0;
initPhase = 0.0;
// memory = true;//(default assumed)
};
class bolt_reload1
{
type="rotation";
source="reload";
selection="Bolt";
axis="bolt_axis";
minValue= 0.000000;
maxValue= 0.100000;
angle0=0;
angle1=0.57;
memory = true;
};
class bolt_reload_move_last
{
type="translation";
source="isemptynoreload";
selection="Bolt";
axis="bolt_axis";//probably
// sourceAddress = clamp;// (default)
minValue = 0.1;//rad 5.729578
maxValue = 1.0;//rad 57.29578
offset0 = 0.0;
offset1 = -1.0;
animPeriod = 0.0;
initPhase = 0.0;
// memory = true;//(default assumed)
};
class bolt_magazine_reload_move_1
{
type="translation";
source="reloadmagazine";
selection="Bolt";
axis="bolt_axis";//probably
// sourceAddress = clamp;// (default)
minValue = 0.12;//rad 6.8754935
maxValue = 0.17;//rad 9.740283
offset0 = 0.0;
offset1 = -1.0;
animPeriod = 0.0;
initPhase = 0.0;
// memory = true;//(default assumed)
};

#

class bolt_magazine_reload_move_2
{
type="translation";
source="reloadmagazine";
selection="Bolt";
axis="bolt_axis";//probably
// sourceAddress = clamp;// (default)
minValue = 0.795;//rad 45.550144
maxValue = 0.811;//rad 46.466877
offset0 = 0.0;
offset1 = 1.0;
animPeriod = 0.0;
initPhase = 0.0;
// memory = true;//(default assumed)
};
class magazine_hide
{
type="hide";
source="reloadmagazine";
selection="magazine";
// sourceAddress = clamp;// (default)
minValue = 0.0;//rad 0.0
maxValue = 1.0;//rad 57.29578
hideValue = 0.31;
unHideValue = 0.565;
animPeriod = 0.0;
initPhase = 0.0;
};
class magazine_move_1
{
type="translation";
source="reloadmagazine";
selection="magazine";
axis="magazine_axis";//probably
// sourceAddress = clamp;// (default)
minValue = 0.302;//rad 17.303324
maxValue = 0.312;//rad 17.876284
offset0 = 0.0;
offset1 = 0.7;
animPeriod = 0.0;
initPhase = 0.0;
// memory = true;//(default assumed)
};
class magazine_move_2
{
type="translation";
source="reloadmagazine";
selection="magazine";
axis="magazine_axis";//probably
// sourceAddress = clamp;// (default)
minValue = 0.57;//rad 32.658592
maxValue = 0.581;//rad 33.288845
offset0 = 0.0;
offset1 = -0.7;
animPeriod = 0.0;
initPhase = 0.0;
// memory = true;//(default assumed)
};
};//</Animations>
};//</Modelclass>
};//</CfgModels>

remote salmon
#

Actually scratch that. I haven't even setup geo yet because of the animation issue.

winter rain
#

Try to add just a Geometry LOD and add the property

remote salmon
#

What do you mean? I have the actual LOD layer there, just nothing in it.

#

Is your suggestion I go build the geo and retry?

winter rain
#

Cause in OB viewer it works even without it but ingame it can go completly different

remote salmon
#

Alright standby a moment

winter rain
#

And add the property autocenter

novel lava
#

yeah just an empty one with the property will do

remote salmon
#

I have a basic geo built, how do I add the autocent property?

winter rain
#

Alt+P opens your property window

#

In OB

#

Right click into it and add new one called autocenter and bottom line add 0

remote salmon
#

I assume I'm doing that for all lods?

winter rain
#

Only geometry lod

remote salmon
#

👍 , I am packing and trying in now

winter rain
winter rain
remote salmon
#

Thank you so much for the help. I really appreciate it. This has been causing me a headache for days.

winter rain
#

@hearty sandal s tip

remote salmon
#

@hearty sandal Thank you too again, I know you have helped me on previous occasions as well.

ashen chasm
#

yaay, works on my end as well 🎉

hearty sandal
#

Moment of clarity when waking up

#

Well spent

ashen chasm
#

autocenter tearing poor vertex families apart again

#

but OB/ingame inconsistency is notlikemeow

hearty sandal
#

Autocenter always baffles me. It needs to be turned off for so many things you would think it would be off by default and turned on when needed

#

It messes up so many things

ashen chasm
#

things like sanity

lyric spire
#

Hey guys, Been working on my project and ran into an issue where the weapon I am using for my tank is not working correctly.

Issue: The commanders gun, the bullets come out from the right place and cause no problems, the muzzle flashes and smoke however are coming from the main gun.

I made a new weapon cfg to try and allow me to define where the effect come from(see the attached file for what I did), this did not work and I do not understand where I am going wrong here or if I am missing a step of some kind.

ashen chasm
lyric spire
nimble sequoia
lyric spire
nimble sequoia
#

No, in your config.cpp find the class Turret with weapon 2 and also in your p3d name the proxy on the end of weapon 2 with that named selection.

#

So class Turret, model.cfg sections[] and p3d proxy name.

graceful tree
#

Someone have any good tips for re rigging lasers and lights for weapons?
I have a few weapons in my units mod pack that are projecting from the magazine instead of the laser units.

hearty sandal
#

so not much you can do if they dont have correct things in the models

graceful tree
#

Well, what if only the itn stuff is messed up, but the vanilla laser/light is correct?

graceful tree
#

I have all of the features of ITN, but they all project from the magazine. Like ITN recognizes the modded guns, but not the data points for where it should be emitting from.

I guess I should reach out to the mod maker for help

hearty sandal
deep roost
#

anybody have any good guide to changing the units a vehicle spawn with when making a new vehicle with inheritance? something like this:
class rhsgref_cdf_b_t72ba_tv_rev_14: rhsgref_cdf_b_t72ba_tv { author = "Orter"; scope = 2; crew = "rhsgref_cdf_b_reg_crew_rev_14"; faction = "CDF_REV_BLU"; editorSubcategory = "CDF_TANKS_14" displayName = "T-72B (obr. 1984g.)"; class Turrets: Turrets { class MainTurret: MainTurret { class Turrets: Turrets { class CommanderOptics: CommanderOptics { gunnerType = "rhsgref_cdf_b_reg_crew_commander_rev_14"; }; }; }; }; };
right now only the driver is spawning and the animation is frozen as if simulation was turned off, i,e: muzzle flashes frozen in place

wintry tartan
#

Show the entire config please

deep roost
#

youll have to download it unfortunately

wintry tartan
#

You haven't defined rhsgref_cdf_b_t72ba_tv's Turrets, MainTurret, Turrets, CommanderOptics

deep roost
#

right. I was under the impression that line 1076 thru 1079 defined those, at the very least it removed the prompt from the game. do I have to define for each individual vehicle class?

wintry tartan
#

1076 to 1079 is not something how it works, let me fetch an official example

#
class LandVehicle;
class Tank: LandVehicle
{
    class NewTurret;
    class HitPoints;
};
class Tank_F: Tank
{
    class Turrets
    {
        class MainTurret: NewTurret
        {
            class Turrets;
        };
    };
    class HitPoints;
};
class MBT_01_base_F: Tank_F
{
    class HitPoints: HitPoints
    {
        class HitHull;
        class HitFuel;
        class HitEngine;
        class HitLTrack;
        class HitRTrack;
    };
    class Turrets: Turrets
    {
        class MainTurret: MainTurret
        {
            class Turrets: Turrets
            {
                class CommanderOptics;
            };
        };
    };
};
class B_MBT_01_base_F: MBT_01_base_F{};
class B_MBT_01_cannon_F: B_MBT_01_base_F
{
    class AnimationSources;
    class HitPoints: HitPoints
    {
        class HitHull;
        class HitFuel;
        class HitEngine;
        class HitLTrack;
        class HitRTrack;
    };
};
class B_MBT_01_TUSK_F: B_MBT_01_cannon_F
{
    class Turrets: Turrets
    {
        /*
            things to define
        */
    };
};```
#

Basically you need to define “which” turret it was

#

Or something else you want to define/inherit

deep roost
#

so if im reading it correctly. instead of defining just like:
class Turrets; class MainTurret; class CommanderOptics; class CommanderMG;

I should have: class B_MBT_01_TUSK_F: B_MBT_01_cannon_F { class Turrets: Turrets { class MainTurret; class CommanderOptics; class CommanderMG; }; };

and if I am inheriting from another vehicle with everything already set up, can I miss anything that I am not planning on editing and it will just fallpack to the parent class correct?

wintry tartan
#

The example I've posted above, does nothing for those base classes

deep roost
#

you mean it doesnt inherit from any base class?

wintry tartan
#

Hm guess I misunderstood your last question?

#

Oh yeah I guess I did. Yeah if you have things that is already defined, you don't need to re-define once again if I get it correctly

deep roost
#

yea thats correct.

deep roost
#

still havent got it working unfortunately :/ clearly missing something crucial. same result as previously

remote salmon
#

Is it possible to have two different side proxys? So that way I can use one to define a different model placement for a specific attachment?

remote salmon
#

😢

narrow swallow
#

Is animationSourceElevation (strider cam mast/science ugv arm) only for turrets? I'd like to use that input/animation for a driver-only vehicle.

nimble sequoia
autumn crater
#

does anyone, at all, know why when changing a pylon (in game) it changes who controls the weapon?

#

specifically, the proxyid for the gunner is set to 1.

this is both model and config side.

Inside of the pylon, I have it set as turret[]={1}

I have also tried turret[]={0} to no avail

If my pylons are different weapons for example (A / B) then the gunner controls them as intended.

If I set my pylons to the same weapons (A / A) then they, for some reason, move to a door gun on the aircraft.

My current turret and pylon config:
https://pastebin.com/N5pareav

#

update:

Was told to check to ensure the class GunnerTurret was commanding, this did not correct the issue.

wind jewel
#

Im currently making a mod that adds the M728 CEV to the game. I made a new weapon in CfgWeapons in my config for a 165mm cannon. The issue is that it will not fire in game. It doesnt throw up any errors in game either so im quite confused

#

here's my current config if someone wants to look at it and help me solve this issue

#

feel free to DM if you want/need more info

wintry fox
#

You should definitely add a tag to your classes

wintry fox
wind jewel
#

do you mean a prefix?

wind jewel
winter rain
languid aurora
#

Hello , i need some help

#

Im trying to replace the doorguns in the RHS UH1Y with another weapon

#

i have sucessfully replaced it but in the process, i have broken some other stuff

#

The observer (Co-pilot) is no longer available along with other passanger seats

wintry fox
# languid aurora The observer (Co-pilot) is no longer available along with other passanger seats

(On mobile currently so can't really give a good example)
When you inherit from a vehicle's Turrets class, none of the turrets are "actually inherited".
You'll need to specify what all turrets (i.e. seats) you want to inherit and then define them in your vehicle.

class YourVehicleBase: ... {
    class Turrets {
        class DoorGunner1;
        class CoPilot;
        // ...
    };
};
class YourVehicle: YourVehicleBase {
    class Turrets: Turrets {
        class DoorGunner1: DoorGunner1 {};
        class CoPilot: CoPilot {};
    };
};
#

Syntax may not be 100% right, but you get the idea

languid aurora
#

This is what i've done so far:

#

class CfgVehicles
{
class CopilotTurret;
class Turrets;
class MainTurret;
class CargoTurret;
class CargoTurret_01;
class CargoTurret_02;
class CargoTurret_03;
class CargoTurret_04;
class CargoTurret_05;
class CargoTurret_06;
class RightDoorGun;
class RHS_UH1Y
{
class Turrets: Turrets
{
class CopilotTurret;
class MainTurret;
class RightDoorGun;
class CargoTurret_01;
class CargoTurret_02;
class CargoTurret_03;
class CargoTurret_04;
class CargoTurret_05;
class CargoTurret_06;
};
};
class tato_uh1y_base: RHS_UH1Y
{
class Turrets: Turrets
{
class CopilotTurret;
class MainTurret: MainTurret
{
weapons[] = {"vtx_wpn_m134"};
magazines[] = {"vtx_2000Rnd_65x39_Belt_Tracer_Red"};
};
class RightDoorGun: RightDoorGun
{
weapons[] = {"vtx_wpn_m134_2nd"};
magazines[] = {"vtx_2000Rnd_65x39_Belt_Tracer_Red"};
};
class CargoTurret_01;
class CargoTurret_02;
class CargoTurret_03;
class CargoTurret_04;
class CargoTurret_05;
class CargoTurret_06;
};
};
class csg12_uh1y: tato_uh1y_base
{
scope = 2;
displayName = "UH-1Y CAG";
author = "P. Tato";
faction = "HMLA_267";
model = "\rhsusf\addons\rhsusf_a2port_air2\UH1Y\UH1Y.p3d";
hiddenSelections[] = {"camo1"};
hiddenSelectionsTextures[] = {"\exp_csg12_uh1y\data\hmla267_uh1y_hivis.paa","\exp_csg12_uh1y\data\uh1y_int.paa","\exp_csg12_uh1y\data\uh1y_glass.paa"};
};
};

rose haven
#

Hi there, I'm trying to overwrite the model of a vanilla weapon sight with a different model inside the description.ext for my mission and can't get it to work. I hope this is the right place to ask. My description.ext:


class CfgWeapons {
    class optic_Aco {
        displayName = "C-More Railway (broken)";
        model = "\acco_aco_emp_F.p3d";
    };
};
wintry tartan
#

You can't

rose haven
#

I can't?

wintry tartan
#

No

rose haven
#

Gotta make a mod for it?

wintry tartan
#

Yes

rose haven
#

Dang 😦

#

Well, thank you kindly

wintry fox
#

Also what's the point of these?
There shouldn't be any classes with those names defined in CfgVehicles

languid aurora
wintry fox
#

Fair enough

languid aurora
#

Heres the original one where the guns were replaced but the seats were broken

#

class CfgVehicles
{
class Turrets;
class RHS_UH1Y
{
class Turrets: Turrets
{
class MainTurret;
class RightDoorGun;
};
};
class tato_uh1y_base: RHS_UH1Y
{
class Turrets: Turrets
{
class MainTurret: MainTurret
{
weapons[] = {"vtx_wpn_m134"};
magazines[] = {"vtx_2000Rnd_65x39_Belt_Tracer_Red"};
};
class RightDoorGun: RightDoorGun
{
weapons[] = {"vtx_wpn_m134_2nd"};
magazines[] = {"vtx_2000Rnd_65x39_Belt_Tracer_Red"};
};
};
};
class csg12_uh1y: tato_uh1y_base
{
scope = 2;
displayName = "UH-1Y CAG";
author = "P. Tato";
faction = "HMLA_267";
model = "\rhsusf\addons\rhsusf_a2port_air2\UH1Y\UH1Y.p3d";
hiddenSelections[] = {"camo1","camo2"};
hiddenSelectionsTextures[] = {"\exp_csg12_uh1y\data\hmla267_uh1y_hivis.paa","\exp_csg12_uh1y\data\uh1y_int.paa"};
};
};

wintry fox
#

I'm sure that RHS_UH1Y inherits from something

languid aurora
wintry fox
#

You should include that in your inference, otherwise you're updating it to inherit from nothing

languid aurora
#

i see..

languid aurora
# wintry fox You should include that in your inference, otherwise you're updating it to inher...

class Turrets;
class RHS_UH1Y_US_base
class RHS_UH1Y: RHS_UH1Y_US_base
{
class Turrets: Turrets
{
class MainTurret;
class RightDoorGun;
};
};
class tato_uh1y_base: RHS_UH1Y
{
class Turrets: Turrets
{
class MainTurret: MainTurret
{
weapons[] = {"vtx_wpn_m134"};
magazines[] = {"vtx_2000Rnd_65x39_Belt_Tracer_Red"};
};
class RightDoorGun: RightDoorGun
{
weapons[] = {"vtx_wpn_m134_2nd"};
magazines[] = {"vtx_2000Rnd_65x39_Belt_Tracer_Red"};
};
};
};
class csg12_uh1y: tato_uh1y_base
.....

wintry fox
#

Getting there, but now the Turrets class that you're inheriting from is undefined

Find what class that RHS_UH1Y_US_base's Turrets inherits from

rose haven
# wintry tartan Yes

I changed my model into a mod and it works perfectly, but I do get this warning:

14:19:45 Warning Message: No entry 'bin\config.bin/CfgPatches/NPCProvidence.units'.```
#

Any way to get rid of it?

wintry fox
#

Define units in your CfgPatches

rose haven
#

units[] = {};

#

Like so?

wintry fox
#

Yep

rose haven
#

Ah, I see

wintry fox
#

Should also get one for weapons

rose haven
#

Do I need to add the attachment to the object?

#

The one that I edited?

#

Or is it only for new attachments

wintry fox
#

Did you edit the original class or did you make a new one?

rose haven
#

I edited the original

#

Seemed easier for my purposes

wintry fox
#

Then no you shouldn't have to change anything

rose haven
#

Awesome, thank you

#

Just trying to make a cool effect for a mission I wanna host with my unit 😄

languid aurora
#

Im looking throught the UH-1Y config, and RHS_UH1Y_US_Base doesnt have any mention of turrets
Only locations i could find turrets, is in the base class definitions:

class CfgVehicles
{
    class Air;
    class Helicopter: Air
    {
        class Turrets;
        class HitPoints
        {
                  //stuff
        };
    };
    class Helicopter_Base_F: Helicopter
    {
        class Turrets: Turrets
        {
            class MainTurret;
        };
        class HitPoints: HitPoints
        {
             //stuff
        };
        class AnimationSources;
        class Eventhandlers;
        class CargoTurret;
        class ViewOptics;
        class Reflectors
        {
            class Right;
        };
    };
    class Heli_Attack_01_base_F: Helicopter_Base_F
    {
        class HitPoints: HitPoints
        {
             //stuff
        };
        class Sounds;
    };
    class Helicopter_Base_H: Helicopter_Base_F
    {
        class Turrets: Turrets
        {
            class CopilotTurret;
        };
        class AnimationSources;
        class Eventhandlers;
        class Viewoptics;
        class HitPoints;
        class Components;
    };
    class Heli_Transport_01_base_F: Helicopter_Base_H
    {
        class Sounds;
        class SoundsExt
        {
            class Sounds;
        };
        class HitPoints: HitPoints
        {
             //stuff
        };
    };
    class Heli_Transport_02_base_F: Helicopter_Base_H{};
    class Heli_Transport_03_base_F: Helicopter_Base_H{};
    class Heli_Light_03_base_F: Helicopter_Base_F
    {
        class ViewPilot;
        class HitPoints: HitPoints
        {
             //stuff
        };
    };
    class HelicopterWreck;```
#

and then its mentioned again:

class RHS_UH1Y: RHS_UH1Y_US_base
    {
        //stuff
        class Turrets: Turrets
        {
            class CopilotTurret: MainTurret
            {
                //stuff
            };
            class MainTurret: MainTurret
            {
                //stuff
            };
            class RightDoorGun: MainTurret
            {
                //stuff
            };
            class CargoTurret_01: CargoTurret
            {
                //stuff
            };
            class CargoTurret_02: CargoTurret_01
            {
                //stuff;
            };
            class CargoTurret_03: CargoTurret_01
            {
                //stuff
            };
            class CargoTurret_04: CargoTurret_01
            {
                //stuff
            };
            class CargoTurret_05: CargoTurret_04
            {
                //stuff
            };
            class CargoTurret_06: CargoTurret_04
            {
                //stuff
            };
        };
    };
wintry fox
#

Are you using the config viewer ingame?

languid aurora
#

im using the dev tools mod to find config stuff

wintry fox
#

Go to RHS_UH1Y and find its Turrets class

Click on it and next to the "Parents" line, click the box looking icon

languid aurora
#

class CfgVehicles {
class All {};
class AllVehicles: All {};
class Air: AllVehicles {};
class Helicopter: Air {
class Turrets {};
};
class Helicopter_Base_F: Helicopter {
class Turrets: Turrets {};
};
class Heli_light_03_base_F: Helicopter_Base_F {
class Turrets: Turrets {};
};
class RHS_UH1_Base: Heli_light_03_base_F {};
class RHS_UH1Y: RHS_UH1Y_US_base {
class Turrets: Turrets {};
};
class RHS_UH1Y_base: RHS_UH1_Base {};
class RHS_UH1Y_US_base: RHS_UH1Y_base {};
};

#

@wintry fox

#

this is what im seeing

wintry fox
#

Use the inheritance you got from the advanced dev tools as a reference

languid aurora
wintry fox
#

Yep