#arma3_config

1 messages · Page 15 of 1

wintry tartan
#

I would prefer not

#

Text is always better for logging

lament thicket
#

Okay, I will try my best to explain

#

From the beginning

In my Addons folder, I have multiple parent and children folders.

One of them is Addons\ADF_Air\adfrc_apache\config.cpp
Another one is Addons\ADF_Core\config.cpp (this config and the folder have sensors.hpp)

I want to #include sensors.hpp without needing to have that file in the apache root folder

#

At the moment I have #include "\Addons\ADF_Core\sensors.hpp" as the line, but it fails to find it because it keeps wanting to find \ADF_Air\adfrc_apache\Addons\ADF_Core\sensors.hpp
This is obviously not where it is meant to be going

wintry tartan
#

Well, I think you're misunderstanding what exactly is the P Drive structure. Please allow me to take a few...

lament thicket
#

Okay :) I have been using AddonBuilder recently because of these errors but really want to move to using Mikeros

wintry tartan
#

If you convert Arma 3 folders in it, they will make folders like

P:\a3\3den
P:\a3\3den_language
P:\a3\air_f
[...]```
lament thicket
#

Yep, I have that

wintry tartan
#

So your point, I mean your “making P” part is correct it seems

hearty sandal
#

you would need the actual real path to the file in the pbo

wintry tartan
#

However, yeah as HG said, the P location represents where the PBO's path, aka PBOPREFIX

lament thicket
#

So would need to go #include "P:\@ADFRECUT\Addons\ADF_Core\config.cpp"?

wintry tartan
#

Which means, if you place a folder like
P:\UrMod\Foo\Bah\Yeah\config.cppAnd crunch Yeah, will make a PBO with the PBOPREFIX UrMod\Foo\Bah\Yeah and the game recognizes the config is located in UrMod\Foo\Bah\Yeah\config.cpp

lament thicket
#

Okay I understand now thank you very much, I will try this quickly with the Core pbo and then try to pack the ADF_Air folder

wintry tartan
#

So like, in the first place, P Drive SHOULD not have the actual pbo or such, but only its files and folders. Therefore, having @ folder or Addons is very strange, I don't mean you cannot but that indicates you might misunderstood the concept is

#

Since I'm not really good at explaining what my brain thinks, sorry if you're simply confused but hope it works for you

lament thicket
#

Okay:

  1. have only project files (*.cpp, *.hpp, *.p3d etc)
  2. Have Mikeros pack and send PBO to another place such as X:\testing\@modname\addons
  3. Test that as a local mod in Arma, make changes as needed.
#

Is that correct?

wintry tartan
#

I think 2 is wrong

#

Let me explain further about what is the difference between Mod and a PBO

lament thicket
#

I am so sorry for mis-understanding

wintry tartan
#

Nada no problem. We're all here to try to help and at least you're better than bunch of them since you are trying to listen to us

lament thicket
#

Oh yes of course, you guys are the gurus after all. This is actually using the Apache from A3 Atlas lol

wintry tartan
#

Worst dudes are simply ragequit after we explain and don't listen and try to answer no question then removes everything and taunts me

#

Anyways...

#

Mod (sometimes it is called Addon): it is made from bunch of PBOs, as you can see in the Arma 3 game folder, it looked like

@Mod\Addons\PBO2.pbo
[...]```
#

And what you load is @Mod there ingame

lament thicket
#

Yep, I understand that

wintry tartan
#

And P Drive, as I said, just should contain files. Let's say, a P Drive is a PBO Library, not Mods

wintry tartan
lament thicket
#

Yep, I still understand what you are saying

wintry tartan
#

So who is misunderstanding might be me 🙃

lament thicket
#

Maybe? I will give a more simple example

wintry tartan
#

So like, you can
G:\SteamLibrary\steamapps\common\Arma 3\!LocalAddons\@YourAwesomeMod
as the Output Folder in PBOProject, (Yeah this is what I actually use) will generate
G:\SteamLibrary\steamapps\common\Arma 3\!LocalAddons\@YourAwesomeMod\Addons\Yeah.pbo
and @YourAwesomeMod is now ready to load

lament thicket
#

Yep we are miscommunicating

#

Bear with me

wintry tartan
#

Looks like we are, sorry

lament thicket
#

That's okay, I am not the best at explaining what I mean

#

so

#

Wait, I will actually show this better

#

I have the following file structure

  • ADFRECUT
  • Addons
    • ADF_Air
    • adfrc_apache
    • config.cpp
    • adrc_c130
    • config.cpp
    • ADF_Core
      • config.cpp
      • sensors.hpp
wintry tartan
#

Oh that's smart way to show the structure lol

lament thicket
#

Okay I hope this explains

#

sensors.hpp is just definitions
I just want those definitions to be inherited in the config for the apache

wintry tartan
#

So Addons in this root is located in P?

lament thicket
#

I have it as P:\ADFRECUT\Addons\...

wintry tartan
#

Hm

lament thicket
#

I fixed up my example to show

wintry tartan
#

While PBOProject tries to crunch folder you tell, it will look every files that the folder requires. hpp or any other things too

#

They must be located in P properly, and not to mention that, the correct path too

lament thicket
#

So the only way is to put sensors.hpp in the root of the config?

#

I just wanted to try and optimise file size by having one PBO that kept all the basic definitions.hpp files in it

wintry tartan
#

If the config requires
MyMod\Bra\Bra\thing.hpp
and your config is located in
BestMod\Foo\Bar\config.cpp
it will cause no problem, actually. Where exactly the included file is not a concern, as ling as it is in P

lament thicket
#

It is very weird that it is not working then, I will try to re-organise and remount my P drive

wintry tartan
#

Just, just in case - what config tries to load the hpp? Whats are both path?

lament thicket
#

I will show the path
Config is located at:
P:\ADFRECUT\Addons\ADF_Air\adfrc_apache\config.cpp
Config requires
P:\ADFRECUT\Addons\ADF_Core\sensors.hpp

chilly tulip
#

What's the PBO prefix for ADF_Air btw?

lament thicket
#

Yknow this could be my issue

#

This is all that's in there

wintry tartan
#

It looks there is no PBOPREFIX than the folder structure itself?

#

But how about ADF_Core?

lament thicket
#

I just added Prefix to both of them

chilly tulip
#

what did you set it to? ADFRECUT\Addons\ADF_xxx?

lament thicket
#

Oh no, I just set it to ADF_xxx
Best practice to do it your way?

wintry tartan
#

I actually do like

  • P
  • plp
    • plp_projectA
      • config.cpp
    • plp_projectB
    • config.cpp
    • data
      - something.paa
      this
chilly tulip
#

shrugs

wintry tartan
#

And not really having manual PBOPREFIX

chilly tulip
#

I don't make binarized mods personally so I'm not even sure if the binarization has any dependency on the PBO prefix.

wintry tartan
#

Hmm

chilly tulip
#

what's the actual include statement that's breaking here?

wintry tartan
#

I would like to hear the same, with Noisy and your current log

lament thicket
pallid sierra
#

is this the part where I say use github + hemtt?

lament thicket
#

#include "\Addons\ADF_Core\sensors.hpp" --> Doesn't work
#include "\ADF_Core\sensors.hpp" --> Doesn't work
#include "ADF_Core\sensors.hpp" --> Doesn't work

chilly tulip
#

It'd be "\ADFRECUT\Addons\ADF_Core\sensors.hpp" if it's not using the PBO prefix

lament thicket
#

That worked

chilly tulip
#

Hence people normally include all that crap in the PBO prefix so that it matches, I think.

lament thicket
#

Thankyou very much

chilly tulip
#

Otherwise you have different paths for binarized and non-binarized and it falls apart under pressure.

wintry tartan
#

Things might be simple as that 🙃

lament thicket
#

Can you please explain the $PBOPREFIX$ system? If I just have \ADFRECUT\Addons\ADF_Core\sensors.hpp in the prefix inside ADF_Core what does that actually do?

chilly tulip
#

Ok, so when Arma actually loads PBOs it's putting the contents into a virtual filesystem based on the PBO prefixes.

lament thicket
#

Differently to using the cfgPatches class Addon_Name?

chilly tulip
#

Completely separate.

#

Say your PBO has the prefix x\wibble\addons\core, any files in the root of it will be treated as being at the absolute path \x\wibble\addons\core\

#

$PBOPREFIX$ files just tell that pboproject utility to set the PBO's prefix attribute to that. If you use addon builder then you don't need them because you feed the prefix on the command line instead.

lament thicket
#

Ah okay thanks

#

makes sense

chilly tulip
#

Point of a P drive is basically to match that virtual filesystem that Arma creates on launch.

lament thicket
#

Yeah that makes sense

lament thicket
#

Just want X:\ProjectDrive to be my new P drive folder

chilly tulip
#

You'd need to unmount the old one first :P

lament thicket
#

Uh oh

#

That folder is gone, I will remake it and unmount

lament thicket
#

How would I fix this @chilly tulip ?
[WARN] [WorkDrive.Startup.CheckUac]: 0x30098001 STARTUP_ELEVATED_NO_PARENT: Elevated process without parent.

chilly tulip
#

No idea. I never actually made a P drive myself. Didn't need to.

wintry tartan
#

Uh, what says this?

#

WorkDrive? So you're bout to remount P?

lament thicket
#

Yep this is workdrive. Mounting the new folder isn’t working

wintry tartan
#

I think you want to Mikero's one to mount and extract

lament thicket
#

Not Arma Tools? Okay 🫡

wintry tartan
#

Yeah, Arma Tools are always unreliable

lament thicket
#

Is there a Mikeros tool that does this?

wintry tartan
#

Especially if you mod Arma 3

#

I forgot the name, but it should have obvious name

chilly tulip
#

The warning's about permissions (you would probably need admin permissions to mount a drive). The very limited documentation is not clear on how you're supposed to run it.

lament thicket
#

What a pain >_<

pallid sierra
#

queue me suggesting HEMTT + github

#

none of the p drive nonsense

lament thicket
#

If it was easy to use I’d probably use it

hearty sandal
#

For config modding it's not as much a requirement, but for models and terrains it is since the tools are designed around it.

lament thicket
#

Is there somewhere within Mikeros tools I can get pboProject to include .jpg files? It’s for my editorPreview

hearty sandal
lament thicket
lament thicket
#

It’s really just one thing after another. I keep getting cannot read registry key HKEY_LOCAL_MACHINE/Software\BIStudio\BinMake

#

After it fails to binarise

hearty sandal
#

The binmake thing is inherent issue from tools install and pbo project works around it, it does not affect anything

lament thicket
atomic jetty
#

I'm trying to recreate the classic "bow tie" fragmentation pattern of rockets (65 - 120 degrees), is there any way to force the submunition fragments into that slice of a cone? or is it one of those things that ArmA can't do?

wintry fox
#

Was trying to add a cooldown to a UserActions for a vehicle, but keep getting a Error Generic error in expression, but it all looks to be correct.

Error in .rpt

15:08:13 Error in expression <eOn this and (time - (this getVariable ['BNA_KC_EMP_lastUsed' 0])) > BNA_KC_Vehi>
15:08:13   Error position: <'BNA_KC_EMP_lastUsed' 0])) > BNA_KC_Vehi>
15:08:13   Error Generic error in expression

Config

// Defined elsewhere
#define QUOTE(CODE) #CODE

class ActivateEMP
{
    condition = QUOTE((ace_player == currentPilot this) and (isEngineOn this) and ((time - (this getVariable ['BNA_KC_EMP_lastUsed', 0])) > BNA_KC_Vehicle_empCooldown););
    statement = QUOTE(this call BNAKC_fnc_ActivateEMP;);
};
digital pier
#

hello, Q: need some help sorting out the config and/or criteria in order to correctly classify whether a compatibleMagazines for a given weapon class. it is mostly working but is failing to properly categorize primary from secondary magazine slots. DM me perhaps for a bit more in depth orientation on the patterns behind the code, but the algo here is otherwise pretty straightforward I think.
https://github.com/mwpowellhtx/KP-Liberation/blob/rewrite/v0.98/s35/Missionframework/modules/0456_inventory/fnc/fn_inventory_compatibleAccessorySlots.sqf#L151
have done a couple of adjustments but still not quite there as the following screenshot illustrates...
https://pasteboard.co/1sBqNjFqQlTs.png
any insights would be greatly appreciated. thanks...

GitHub

The work on GreuhZbugs Liberation Mission for Arma 3 continues... - mwpowellhtx/KP-Liberation

#

the algo is loosely based upon the ACE virtual arsenal bucket-ization approach.
focused on the weapon class, compatibleMagazines, in particular.

heady iron
wintry fox
#

Ah that's what it was lol

#

Kept staring at it but couldn't tell lol

wintry fox
heady iron
#

There wasnt before you edited so that was my guess.

wintry fox
#

That's not what I had edited

heady iron
#

there was no comma in the .rpt log, so thats why that was my guess. Now that you've posted the config, lemme take a quick look to see if anything jumps out

lament thicket
#

Hi I am back with another quick question, probably for @wintry tartan or @chilly tulip to answer lol

If I use addonRootClass in my cfgPatches for any folders within another folder (for instance in the structure I have in this reply), can my absolute pathing just be from that root folder down?

lament thicket
wintry tartan
#

I never know what it does actually 🤔

lament thicket
#

I just saw it in the OPTRE files I have, thought it would be handy to include in child folders for a main PBO

So it would go (for me)

  • ADF_Air.PBO (with its own config)
  • adfrc_classname (with its own config with root as ADF_Air)
#

I think that changes pathing

hearty sandal
#

I'm not so sure it does.

chilly tulip
#

I'm pretty sure it doesn't.

#

file paths and config are separate things in general.

lament thicket
#

I’ve just learned that all it does it inherit meta data from CfgPatches for the child folder

ebon pivot
#

Hello fellows, am I correct in assuming classes with no base class cannot be inherited?

#

i.e if I have

class myfunnyclass;
class 1 {
  class 2: myfunnyclass {
    myfunnyvalue = 2;
  };
};``` i cannot edit `class 2` without redefining everything, right?
hearty sandal
#

should be no need to redefine everything

#

in current setup class 2 should inherit stuff from myfunnyclass

ashen chasm
#

wut

#

to inherit stuff in the same config: hpp class myfunnyclass; class 1 { class 2: myfunnyclass { myfunnyvalue = 2; }; }; class new1: 1 { class new2: 2 { otherfunnyvalue = 42; }; };
to edit class2 in the separate config you pretty much need to repeat all of what's in the original here: hpp class myfunnyclass; // extern to use as a base class class 1 { class 2: myfunnyclass { // opening { means you need to state a base class myfunnyvalue = 3; // redefine here }; }; blobdoggoshruggoogly

cursive talon
#

Hello, is there any eventhandler for opening the Zeus interface?

grand zinc
#

Do you have CBA?

cursive talon
#

Yes I do

grand zinc
#

Then yes, one sec

cursive talon
#

Thank you kindly

#

Appreciated

wintry fox
#

Odd, I just put the code into a function and it worked fine

feral arch
#

Does anyone know why my textureSources aren't working? The liveries don't appear in the available list for any faction, here's the config

`class vn_wheeled_car_base;

class vn_wheeled_m151_base: vn_wheeled_car_base {
class TextureSources
{
class PSR_MDF_M151
{
displayName="MDF (Jungle)";
author="Hyena";
textures[]=
{
"\PSR_Data\skins\SOG\MDF\Jungle\M151\vn_wheeled_m151_01_co.paa",
"\PSR_Data\skins\SOG\MDF\Jungle\M151\vn_wheeled_m151_02_co.paa",
"a3\data_f\clear_empty.paa",
"a3\data_f\clear_empty.paa",
"a3\data_f\clear_empty.paa",
"a3\data_f\clear_empty.paa",
"a3\data_f\clear_empty.paa",
"a3\data_f\clear_empty.paa",
"a3\data_f\clear_empty.paa",
"a3\data_f\clear_empty.paa",
"a3\data_f\clear_empty.paa",
"a3\data_f\clear_empty.paa",
"a3\data_f\clear_empty.paa",
"a3\data_f\clear_empty.paa",
"a3\data_f\clear_empty.paa"
};
factions[]= {};
};`

#

Meanwhile my config for the M41A3 works exactly fine
`class vn_armor_tank_base;

class vn_armor_m41_base: vn_armor_tank_base {
class TextureSources
{
class PSR_MDF_M41
{
displayName="MDF (Jungle)";
author="Hyena";
textures[]=
{
"\PSR_Data\skins\SOG\MDF\Jungle\M41\m41_ext01_co.paa",
"\PSR_Data\skins\SOG\MDF\Jungle\M41\m41_ext02_co.paa",
"a3\data_f\clear_empty.paa",
"a3\data_f\clear_empty.paa"
};
factions[]= {};
};
};
`

wintry fox
feral arch
#

the m151 has
textureList[] = { "PSR_MDF_M151", 1 };
and the m41 has
textureList[] = { "PSR_MDF_M41", 1 };

#

it's not just that the livery doesn't automatically apply, it doesn't appear in the list at all

#

I've managed to use hiddenSelectionsTextures to manually apply the livery to the M151 but I want it to appear in the virtual garage

#

and yes I've tried manually defining factions in textureSources

#

I'm also having similar issues with other vehicles, despite others working fine

#

this is what my main issue is

#

as you can see the M151 livery isn't in the list for some reason

wintry fox
#

Well if you're trying to add texture sources to another vehicle, you should inherit the TextureSources class

#

Or are you trying to completely overwrite it?

feral arch
#

Ideally I want the liveries to be selectable for all renditions of that vehicles on top of the already existing ones from SOG

nimble sequoia
#

You're overwriting VN base classes

feral arch
#

so if I wanted I could apply it to the one in my faction or the US Army variant if I really wanted to

feral arch
#

or is it because the M41 liveries are defined somewhere futher down the hierarchy than I defined mine?

nimble sequoia
#

After you have loaded your mod, go in game and find the vehicle in the config viewer.
Then have a look at TextureSources to see what the result of your coding has actually done.

#

I recommend using Leopard's Advanced Developer Tools from Steam, which significantly improve the config viewer.

feral arch
wintry fox
#

I forget how bad the vanilla one is until I try to do something while on my unit's modlist

nimble sequoia
#

This is what it should look like without your mod loaded in the M41 BASE class

#

I see you've cross-posted in the SOG PF discord, and as it's VN specific, might be better to continue over there?

feral arch
#

sure

wintry fox
#

How can you #include a file from another addon?

#

I tried just doing #include "\BNA_KC_Gear\Macros.hpp" in my second addon; however, that gave me an error on launch saying the file could not be found

ashen chasm
#

including in config? Just have the needed hpp available when binarizing the cpp. Or make sure .hpp is available in-game and don't binarize (and take the loading time penalty) blobdoggoshruggoogly

wintry fox
#

Yeah but it is available, it just happens to be in another config
x_Gear
ico1Config.cpp
ico2Macros.hpp
x_Vehicles
ico2Config.cpp

#include "\BNA_KC_Gear\Macros.hpp"

class CfgVehicles...
#

It's mostly just for some utility stuff, like a getNumber and being able to pass a default value
Just don't want to have the same macros defined in like 10 files

ashen chasm
#

you can #include "..\x_Gear\Macros.hpp" then if you build from common location blobdoggoshruggoogly

#

*probably

wintry fox
#

That just gives an error that the file couldn't be found

gritty rune
#

hi, in Unsung we have the problem that our artillery pieces have excessive recoil and move from a few meter to (reportedly, not observed) outer space ... The artillery pieces are old fashioned StaticCannon subclasses and have no class wheels physx definitions. I wonder if these are needed (wheels) and if there's a better class to use

ashen chasm
grand zinc
#

Recoil only? not impact explosion effect? We did a change with impacts

chilly tulip
gritty rune
gritty rune
novel lava
#

Yeah for statics you'll generally need to lower it greatly or up their mass

gritty rune
#

the piece was already at 4 tons ...

earnest flax
#

Hi, complete noob here. Was wondering if anyone knew how to add/code in a suppressor to be compatible/equipable for a certain gun? I'm trying to add a suppressor to a gun from the NIArms mod (PSG1A1). Irl that gun can equip suppressors but in the mod you can't put any on it, and it's bugging me.

hearty sandal
hearty sandal
#

well you might be able to

#

but the attachment would appear in the middle of the gun if there is no proxy position in the gun for it

earnest flax
#

I can try to figure out a proxy position after

hearty sandal
earnest flax
#

Can I still try having a suppressor anyway even if it isnt in the right spot?

hearty sandal
#

sure

earnest flax
# hearty sandal sure

Do you know how to do that specifically and teach me how? I have zero clue where to start with that.

hearty sandal
#

BI wiki has some info on that but I doubt there is something that complelety explains this specific thing

earnest flax
hearty sandal
#

it is complicatted at first

#

what you want to do is not exactly the easiest starting point as it assumes you know a lot already

runic heart
#

Evening y'all, quick inquiry. I'm looking to make unit configs that will spawn based on a pool of equipment. Similar to how 3CB does their unit randomization. However, i can't read into their pbos to learn and i can't really find any good information to see how i can do it online.

So, what i'm looking to do is create units that will randomly spawn equipment based on a defined pool of gear such as AK-47, FAL, and M16A1 while also having a random selection of uniforms, vests, backpacks and helmets to use.

I know how to define faceware and helmets, however, can i use

headgearList[] =
        {
            "", 0.7, // Empty array means no headgear nor face wear
            "H_FakeHeadgear", 0.9, // In this case, there is no headgear but there is a face wear
            "H_HelmetB_light", 0.6, // Formerly member of the first list which had 60% to be selected
            "H_Booniehat_khk", 0.6,
            "H_Booniehat_oli", 0.6,
            "H_Booniehat_indp", 0.6,
            "H_Booniehat_mcamo", 0.6,
            "H_Booniehat_grn", 0.6,
            "H_Booniehat_tan", 0.6,
            "H_Booniehat_dirty", 0.6,
            "H_Booniehat_dgtl", 0.4,  // Formerly member of the alternate list which had 40% to be selected
            "H_Booniehat_khk_hs", 0.4,
            "H_HelmetB_plain_mcamo", 0.4,
            "H_HelmetB_plain_blk", 0.4,
            "H_HelmetSpecB", 0.4,
            "H_HelmetSpecB_paint1", 0.4,
            "H_HelmetSpecB_paint2", 0.4,
            "H_HelmetSpecB_blk", 0.4,
            "H_HelmetIA", 0.4,
            "H_HelmetIA_net", 0.4,
            "H_HelmetIA_camo", 0.4,
            "H_Helmet_Kerry", 0.4,
            "H_HelmetB_grass", 0.4
        };
        // If the parent class doesn't have the headgear randomization
        class EventHandlers : EventHandlers
        {
            // The function must be triggered to benefit from the randomization, its usage is documented in its header (see link above) 
            init = "if (local (_this select 0)) then {[(_this select 0), [], []] call BIS_fnc_unitHeadgear;};";
        };

to define uniforms, vests, and backpacks? What about weapons, grenades, and magazines?

Any suggestions, tips, or directions on where to look would be greatly appreciated.

wintry tartan
#

Since is just really a scripted solution, you can write one

runic heart
#

like with a .sqf?

#

can i put that into a mod PBO and it not get all... phooey?

wintry tartan
#

An SQF is frequently included into a PBO. Thing is how you call it and nothing else

runic heart
#

i'm working to co-create a invasion of iraq campaign and would like to use this equipment with RHS weapons. i'm probably going to use ALiVE to create the factions

#

ahh okay

#

do you have a point of reference that i can review?

wintry tartan
#

CfgFunctions and Functions Library BIKI article

runic heart
#

i did see mention of it, but i'm just not the most confident in trying write it

wintry tartan
#

Understandable. Can't write one since I'm outside

runic heart
#

no worries mate. i'm still looking at what all there is to work with. would love your assistance on it and i'll be more than happy to credit you into the unit config when published

lapis bough
#

If i do this:
extCameraParams[] = {0,0,0,0,0,0,0,0,0 };

Would that mean that the 3rd person camera view would be fixed and not move?

lapis bough
#

Is it even possible?

hearty sandal
#

why would you?

lapis bough
#

Just wanted to try something out, is it possible to have multiple extCameraPosition[] ?
and switch between them?

hearty sandal
#

no

lapis bough
#

Fine, how does the underbarrel gl view work ?

#

trying to create something like a gun camera

hearty sandal
#

or draw its view through PIP

#

as any config method would require also adding of memorypoints for alternate view positions

ashen chasm
lapis bough
#

The config method would be better i think

mighty urchin
#

How am I supposed to structure my packed addon folder with regards to prefix in addon builder?

chilly tulip
#

The conventional method is that you mirror the unpacked folder structure in the prefix.

#

Makes binarizing and filepatching a lot easier.

mighty urchin
#

Is this class needed only when I have trid party addons included?
class ADDON {
name = COMPONENT_NAME;
units[] = {};
weapons[] = {};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_common"};
author = "";
authors[] = {"ACE Team", "Glowbal"};
authorUrl = "http://ace3mod.com";
VERSION_CONFIG;
};

chilly tulip
#

is that CfgPatches?

mighty urchin
#

Yes

chilly tulip
#

You need a CfgPatches entry otherwise it won't take any notice of the rest of your config.cpp.

#

and you'll likely need that for CfgFunctions at least.

mighty urchin
#

Yes, but do I need class ADDON?

chilly tulip
#

That's a CBA-style macro.

#

where you have a script_component.hpp with COMPONENT defined, and that includes a central script_mod.hpp that sets up ADDON and all the other crap.

#

You can just hardcode that stuff in there instead.

#

In which case you replace ADDON with something unique to your addon.

mighty urchin
#

I don't use CBA, I was just lookin in some github source codes for any exmaples, so this probably does not apply for me 😄

chilly tulip
mighty urchin
#

I have my folder called: source - > Functions; config.cpp

chilly tulip
#

this is fine.

mighty urchin
#

in config.cpp, I defined patches, and also this function.

class Other
        {
            class customInit 
            {
                postInit=1
                file = "Functions\Other\fn_customInit.sqf"
            };
        };

But when I put the pbo in addons or load as a mod through launcher, it does nothing in the game. I am not sure what I am doing wrong.

chilly tulip
#

not enough classes

mighty urchin
#
//FUNCTIONS
class CfgFunctions
{
    class TAG
    {
        class AI_Detection
        {
            class targetDetected {};
            class shouldIgnoreTarget {};
            class isTargetInRange {};
            class isGunshotHeard {};
            class loseTarget {};
            class playerFired {};
        };
        
        class Stance
        {
            class stanceChanged {};
            class changeCamouflage {};
        };
        
        class Other
        {
            class customInit 
            {
                postInit=1
                file = "Functions\Other\fn_customInit.sqf"
            };
        };
    };
};
#

So maybe I use wrong prefix, or name the .pbo file wrongly, I don't know. 😄

chilly tulip
#

file needs the addon prefix added to it.

#

Normally use macros for this because it gets quite long.

mighty urchin
chilly tulip
#

Ok, so when Arma loads an addon, it puts the contents into a virtual filesystem with the prefix as the base path.

mighty urchin
#

I get this part.

chilly tulip
#

How are you building your addon?

mighty urchin
#

Via Addon builder, source files are in my source folder as shown above. I tried to put "TEST" in the prefix, and also tried to leave it empty. Both build succesfully. Then I tried to put the .pbo file in the Arma3/Addons.

chilly tulip
#

Don't do that. You want to make your own mod folder.

#

Just copy the structure of some other tiny mod.

#

I'm not sure what happens if you have a blank prefix but that seems bad.

#

Every addon get dumped into the same virtual filesystem.

#

if you had TEST as a prefix then you'd need file = "TEST\Functions\Other\fn_customInit.sqf"

mighty urchin
chilly tulip
#

Once you built the PBO the source folder structure above that doesn't matter.

mighty urchin
chilly tulip
#

Yeah, you can add it per function folder rather than per file though.

mighty urchin
#

Why do I even need to do that? 😄 This is silly as hell. I have my addon named, prefix set, tag set, and it still needs something that is virtual added to my non virtual file system path.

chilly tulip
#

It might help to remember that Arma has no separation between mods. Everything shares the same virtual filesystem and everything shares the same config heirarchy.

#

And the CfgFunctions tag has no relationship to the CfgPatches addon name which has no relationship to the filesystem :P

mighty urchin
#

DAM* 😄 I will print my code on papers and distribute that in physical copies or on github. 😄

chilly tulip
#

Note that you can use config viewer to check that the first few stages are working at least.

mighty urchin
ebon pivot
#

it doesnt binarize the scripts, only the config

digital pier
#

Q: given a 'weapon' (loosely speaking, i.e. evaluating gear types), as I understand it, the path is something like getNumber (_cfgWeapons >> _class >> 'ItemInfo' >> 'type'), correct? is there a wiki page for these enumerated types?

digital pier
graceful plume
#

how to completely remove gunner and pilot controls from UAV plane (e.g. UAV_02_dynamicLoadout_base_F) by config ? I would like to make drone controllable only by terminal & waypoints (by AI in it)
Have a idea how to realize this by script but maybe by config it would be better.

digital pier
graceful plume
digital pier
#

two things you said there tell me "you don't" (i.e. understand it...). first "remove gunner and pilot", second "controllable only by terminal...". that's not how AI works. but I'd be happy to help clarify from there.

#

one exception to that use case, AFAIK, are things like 'turrets'. players can be present on site and 'enter' those assets. or with AI present can be controlled via terminal. entirely up to the mission maker to decide how that spawns.

graceful plume
#

when you open UAV terminal after connecting to some UAV vehicle you can take control of it as a gunner or as a pilot. These buttons are in right side of terminal screen. Question is "how to remove possible to control UAV by player from these buttons".
In my case i want to disable any control of UAV by player except by placing waypoints

digital pier
#

not sure that's possible without also havin 'AI' in the slots.

#

I could be wrong, would have to read into the wiki pages for sure.

#

it is the presence of AI in those slots that enable connecting and setting of waypoints. players may then 'fully control' as you put it, which is to say proxy into one of the slots as well, as desired.

graceful plume
#

if you don't know the answer you can just ignore it. I am asking in someone who understand this things better than me (it's not necessarily you)

digital pier
#

I do know about it, that is what I am telling you. you are barking up the wrong tree. but again, if someone is more well versed than I, feel free to chip in. AFAIK the premise of the question is incorrect.

graceful plume
#

don't get hung up on words. The meaning of the question is simple

digital pier
#

can't set waypoints or anything, AFAIK, without having AI present in the slot. bottom line.

#

present i.e. 'removing gunner pilot'

#

and by extension 'fully controllable' i.e. proxying into slots where AI are present.

#

if there are docs that say otherwise, I do not know about them, don't know what I don't know. but AFAIK that is how it is.

#

IDK, HTH... good luck and good hunting.

nimble sequoia
graceful plume
nimble sequoia
#

Put the lock command in the init EH. Doubtful you can do it without scripts as it's not vanilla behaviour.

graceful plume
nimble sequoia
#

So you have lockDriver and lockTurret. No idea if it will work the way you want, but easy to find out through experimenting.

graceful plume
#

I'll check it soon

mighty urchin
nimble sequoia
#

Have you looked at the binarise log for messages?

mighty urchin
#

The log which is being shown in Addon Builder window did not report any problems.

chilly tulip
#

Do you have any #includes in your config?

mighty urchin
#

No.

chilly tulip
#

shrugs

#

check the results in config viewer, see what's different.

#

Usually what would happen there is that the binarization process would break, not the runtime.

mighty urchin
chilly tulip
#

Well, what's the first thing that should be working and definitely isn't?

ebon pivot
#

enable extended logging

chilly tulip
#

If the only config you have is CfgPatches and CfgFunctions then just look at those.

nimble sequoia
#

You might benefit from the extended messaging present in mikero's pboProject, as Addon Builder is rather basic.

ebon pivot
#

guess is its to do with cfgfunctions as i tend to use file param for every one of them

mighty urchin
chilly tulip
#

Look at the actual config.

#

CfgPatches first. If that's working correctly then CfgFunctions.

mighty urchin
chilly tulip
#

Are you sure the only thing you changed was the binarization?

ebon pivot
#

ive had binarization fuck up packing when i was first starting out too

#

was cfgfunctions related

chilly tulip
#

If CfgFunctions is correct in config viewer then I can't see how there's anything wrong with the binarization. Beyond that it's just a matter of whether the function files are where they should be.

ebon pivot
#

show your functions folder/s

nimble sequoia
#

class TAG should be class functions (maybe)

ebon pivot
#

forgot to disable ping, sorry

mighty urchin
#

the TEST is the prefix

#

that directory does not exist in my file sys

chilly tulip
#

Do you have PBO manager or something for examining the addon PBO?

chilly tulip
#

what's it say for the prefix there?

#

That's not binarized anyway?

mighty urchin
#

Oh, wait a moment, that one was not binarized. XD

chilly tulip
#

lol

#

Binarized PBOs should still have the same function files. It doesn't touch those.

#

Only difference should be config.bin vs config.cpp in your case.

mighty urchin
chilly tulip
#

It's a mod that doesn't have any functions in it.

heady iron
#

Hey everyone,
When loading up just my mod and CBA, I get the following error:
In my config file, I have the following which is relevant (skipping cfgammo/mags/weapons):

class CfgPatches
{
    class RUF_DroneGun
    {
        addonRootClass="A3_Weapons_F";
        requiredAddons[]=
        {
            "A3_Weapons_F", "cba_jr"
        };
        requiredVersion=0.1;
        units[]={};
        weapons[]=
        {
            "RUF_DroneGun_Tactical"
        };
        magazines[]=
        {
            "DroneGun_Battery",
        };
    };
};

and later on:

class eventhandlers;
class CAManBase;
class CfgVehicles
{
    class CAManBase
    {
        class eventhandlers: eventhandlers
        {
            class cuas
            {
                fired = "params ['_unit', '_weapon', '_muzzle', '_mode', '_ammo', '_magazine', '_projectile', '_gunner']; if ((currentWeapon _unit == 'RUF_DroneGun_Tactical') || (currentWeapon _unit == 'RUF_DroneGun_Tactical_Launcher')) then {[_unit, _weapon] call RUF_fnc_cuas}";
            };
        };
    };
};
#

Error doesn't pop up if you also load up DLC or something, as far as I can tell. So I imagine that I'm missing something in the required addons or something, so DLC overwrites/overrules my config or something.

#

But honestly not sure. Anybody got any thoughts?

chilly tulip
#

You didn't declare the inheritance of CAManBase.

#

At least, that's the first problem. The requirements for changing values in inherited subclasses is deeply confusing.

heady iron
chilly tulip
#

How many event handlers does CAManBase have?

#

oh, just the CBA stuff

#

Shouldn't be the hardest inheritance problem ever :P

mighty urchin
ebon pivot
#

what do you have in your includes in addon builder settings

chilly tulip
#

hmm, -include might be broken in the command line addon builder.

#

UI version works.

#

Command line works fine with -packonly but I can't persuade it to include non-binarized files otherwise.

#

-include claims to support wildcards but throws errors if you put a * anywhere.

mighty urchin
#

When I put *.sqf in the first line there it copies the files, is it as its expected? 🫠

wintry fox
#

Yeah, normally you don't want to binarize scripts

#

Is it "EmptyCursor" or just "" that you set cursor to in order to remove it?
Can't remember off the top of my head

#

It's "EmptyCursor"

sweet crescent
#

Hey I'm probably missing something very obvious here but if I'm making a custom crate and do this SQF class TransportWeapons { class _xx_weap_fgm148 { weapon = "rhs_weap_fgm148"; count = 5; }; };It adds the launchers to the crate as expected BUT they're all unloaded. if I add the magazines usingSQF class TransportMagazines { class _xx_fgm148_magazine_AT { magazine = "rhs_fgm148_magazine_AT"; count = 5; }; };then it adds the magazines separate. How do I get the launchers in the crate to come loaded?

tight belfry
#

Hello i have created and signed a cfg patch workshop item but the signature does not work. When testing with the tool it diplays no errors. Meta data is good and links to workshop etc.. But the signature does not work on server. Any help is appreciated

ebon pivot
#

you need to include the bikey

tight belfry
wintry fox
teal mirage
#

Does anyone here know how to make a mod that's just an audio file with a config to refrence the audio file in this init script:
UH addAction ["Play Nowhere to run",{[UH, ["track01", 2250, 1]] remoteExec ["say3D", allPlayers]},nil,1.5,true,true,"","_this in _target"];

i've tried Cfgsounds and CfgMusic and i can't seem to be able to refrence the files

frigid flower
#

Track01 != track01

#

I do believe it's case sensitive

teal mirage
#

that doesn't seem to work

#

though i did just realise i need a Cfgpatches

wintry fox
#

That's probably why then

teal mirage
#

yea, but i'm moving from using this script (sfgsounds) in a description.ext to a dedicated mod so that large audio files aren't stored in the mission file

#

if not obvious i'm new to modding lol

wintry fox
#

It's alright, (most) people here don't bite

teal mirage
#

There we go, this seems to make sense

wintry fox
#

Typically you'll want to add a "Tag" to your classnames and CfgPatches, to prevent things from overwriting stuff from other mod.
Could be anything, you could do BR_... for Brain or anything that you think fits.

So the CfgPatches would be: BR_audio_holder_tester, and the music track would be BR_Track01

teal mirage
#

well at least i know it's detecting the class of track01

molten musk
#

You may need an addon path to sounds.
An example is for a description.ext,
And addon you need to use the addon path.

BR_audio_holder\sounds\letter2.ogg
wintry fox
#

It'd be BR_audio_holder_tester\sounds\letter2.ogg

teal mirage
#

hmm, i'll check it out

wintry fox
#

Basically, you add the CfgPatches name as the first part of your file path, basically letting arma know "Start from here when looking for this file"

teal mirage
#

damn, still same sound not found

#

could it be possible that the Say3D script specifically needs the Cfgsounds entry and not Cfgmusic?

wintry fox
#

Oh I didn't realize you were using say3D, yeah it uses a CfgSounds entry

molten musk
wintry fox
#

Yeah switch it to playMusic "BR_Track01";
And you can use playMusic ""; to stop the music

teal mirage
#

well i'm not looking at playing music, i'm looking at playing an audio file from a certain object

#

the script is for playing psyops audio stuff from helicopters

#

rn i have it working with audio files in the mission file

#

but you get limited to like a few mb of audio before servers don't boot

wintry fox
#

Couple of options:

  • You can use playSound3D to play the sound file directly (doesn't matter if it's music, a sound, etc.)
  • You can switch your CfgMusic to a CfgSounds and tweak the things you need, and then you can just use say3D to play the BR_Track01 sound
#

Using playSound3D is directly easier, but if this were multiplayer, having it as a CfgSound would also let you play the sound through the Play Sound zeus module

teal mirage
#

Well i got it to work with the play3d stuff just by using a cfgsounds thingy

#

what would be the benifit of changing it to playSound3D?

wintry fox
#

Quicker to write, that'd be about it
If you've got it working now, there's really not much of a reason to

teal mirage
#

fair enough

#

thanks for the help btw

wintry fox
#

👍

teal mirage
#

realy realy appreciate it as this stuff isn't easy at all lol

hearty sandal
#

it gets easier after a few years

chilly tulip
#

In some ways more depressing, once you realise that it's not just your newbie fault that stuff doesn't work :P

ebon pivot
#

me after spending 6 months working on a movement system within sqf only for it to not work if non local because of a lack of angular velocity commands

heady iron
#

What's the easiest way to find out which addon is at fault for emptying out the MainTurret config? When I've got all my mods loaded, I end up with a "missing file" error for the MainTurret config.
I've looked at the rpt file and the last one that seems to be updating it is an RHS one, but I doubt it's at fault. Will I have to check the configs of every addon that updates it, one by one, to see which is breaking it/loading one mod at a time? Or is there an easier process?

ebon pivot
#

leopards advanced developer tools let you see which addons modify the class in config viewer

heady iron
#

Yeah, that was my first step. But unless it's supposed to look like this....

ebon pivot
#

erm.

#

interesting

heady iron
#

lol

ebon pivot
#

unfortunately seems youll have to remove mods until you find the culprit

heady iron
#

Yeah I was afraid of that. One by one it is.

chilly tulip
#

Yeah, you can only tell which mods are involved, not which one does what.

ebon pivot
#

Yeah would've at least narrowed it down

heady iron
#

I guess I'll have to check all the addons that update that class, according to rpt file. Gonna take a while lol

chilly tulip
#

configSourceAddonList might be quicker than the RPT file.

heady iron
#

I'm not familiar with that.

ebon pivot
#
private _addons = configSourceAddonList (configFile >> "MainTurret")```
#

though fairly sure leopard probably just runs that to get it anyways

chilly tulip
#

yeah

heady iron
#

Thanks! I'll give that a go. I'm trouble-shooting my unit's modpack

ebon pivot
#

i tend to just build modpacks from scratch every 6 months or so

heady iron
#

See, I'm not usually the guy who does this for my unit, but he claims that I know more than him about all this now.
Either he doesn't know much, or he's trying to politely delegate 🤣

ebon pivot
#

im too much of a control freak prefer to do this stuff myself whenever i run units

#

how many mods have you got in the pack out of curiosity

heady iron
#

too many

#

Hence why I didnt wanna do 1 by 1 heh

ebon pivot
#

is it at least below triple digits

ashen chasm
ebon pivot
#

(needs turrets attached so cant do local vehicles)

heady iron
ebon pivot
#

dear lord

heady iron
#

Not including DLC and maps, maybe close to 70-80 gb?

ebon pivot
#

my modpacks tend to be ~1gb per mod on average for milsim

heady iron
#

When I was testing my mod, and just had that and CBA loaded, I was like wait, Arma can load up in 15 seconds? Had I forgotten this?

ebon pivot
#

kjws mods and ace are all you ever need 🗿

ashen chasm
#

Not to sound rude, but sounds like "not just the clowns but the entire goddamn circus" kind of modpack

ebon pivot
#

its milsim of course its a circus

chilly tulip
#

ACE is the worst load-time hog of all :P

#

Not really surprising given what it does.

heady iron
heady iron
chilly tulip
#

..huh

ebon pivot
ashen chasm
#

With 0.002 granular weight?

ebon pivot
#

im not going into that level of fidelity yet.

#

damn rv4 with no dynamic item info association

heady iron
ebon pivot
#

yeah its probably some addon doing mainTurret {};

chilly tulip
#

I don't think there's supposed to be a MainTurret in config root anyway, although that doesn't explain why configSourceAddonList isn't returning anything.

#

MainTurret is normally something you declare inside class Turrets in a vehicle.

ashen chasm
#

Except rpt screenshot calls for configFile>>CfgVehicles>>MainTurret and config viewer and code are for configFile>>MainTurret tanking

ashen chasm
chilly tulip
#

Oh, I remember vanilla config viewer often bugged out and put MainTurret in config root actually.

#

Doesn't mean it's really in there.

#

Use ADT, it doesn't do that.

heady iron
#

I tried both the code KJW typed out and with configFile>>CfgVehicles>>MainTurret

#

and cfgVehicles>>MainTurret is also empty

ashen chasm
heady iron
ashen chasm
#

That's royally derped

chilly tulip
#

It probably shouldn't be in CfgVehicles either :P

heady iron
#

Yeah, hence why Im pulling my hair trying to figure out which addon is doing all this heh

ashen chasm
#

inb4 hpp class CfgVehicles{ class MainTurret; class Broken_Tonk { class MainTurret: MainTurret{}; }; }; only half-declares CfgVehicles/MainTurret notlikemeow

#

🧠 filter the vehicle classes to find MainTurret that inherits from the broken one. And configSourceAddonList that vehicle

heady iron
ebon pivot
#

they shouldnt be your units tech guy for much longer

heady iron
#

Nah, he normally does great work. Just small typos here and there. Why Im trying to help by bug-hunting.

heady iron
ashen chasm
#

something like this in the debug console, i'd say

private _broken_tonks = toString {
  private _classes = "true" configClasses _x;
  _classes findIf {inheritsFrom _x isEqualTo (configFile >> "CfgVehicles" >> "MainTurret")} > -1
} configClasses (configFile >> "CfgVehicles");
_broken_tonks apply {[configName _x, configSourceAddonList _x]}```
heady iron
#

lol returned []

ashen chasm
heady iron
#

is really not trying to make it easy

heady iron
ashen chasm
#

vanilla doesn't have MainTurret in config root

#

so MainTurret shouldn't be mentioned in config root blobdoggoshruggoogly

heady iron
#

Yeah that's why it jumped out at me.

#

But im still fairly new at config-making, so I wanted to double-check.

ashen chasm
#

just give him Leo's ADT, that can export config snippets with proper inheritance

#

class UAV doesn't have NewTurret in vanilla, so it probably shouldn't be declared as external base class as well

#

class UAV inherits NewTurret from AllVehicles.
ViewPilot/ViewOptics are inherited from Plane
AnimationSources/Components are inherited from Air
so that entire class looks like hot mess blobdoggoshruggoogly

heady iron
#

lol his response is that that .pbo is one of the first configs he did from scratch

#

So "that entre class looks like hot mess" checks out 😂

ashen chasm
#

the advice about ADT and exporting still stands. Way to free brain cells even when you understand what's going on there

heady iron
#

What happens if/when you inherit stuff in a messy way like that? (just for me to understand)

ebon pivot
#

it breaks the inheritance

#

and the class

#

(you should also never do class a: b {};)

ashen chasm
#

class a: b{}; sounds like it can be useful in certain usecases, though

#

class a: a {}; even

heady iron
#

so, just for example, if you try to get UAV to inherit NewTurret from Plane rather than AllVehicles, what does that do?

#

It changes the properties to whatever they are in Plane, no?

ashen chasm
#

it has nowhere to inherit from, because Plane doesn't have it's own NewTurret

heady iron
#

ah

ashen chasm
#

so all reads point to emptiness of space

ebon pivot
heady iron
ashen chasm
#

if you enter configFile >> "CfgVehicles" >> "Plane" >> "NewTurret" into debug console - it would likely spit out bin\config.bin/CfgVehicles/AllVehicles/NewTurret

heady iron
#

Oh, so its inheriting it from AllVehicles

ebon pivot
# ebon pivot you never need to do it
class 1;
class 2: 1 {
  class a;
};
class 3: 2 {
  class b: a {
    class z;
  };
};
class 4: 3 {
  class c: b {
    class y: z {
      //you get the idea (i hope)
    };
  };
};```
not once do you ever need to {}
ashen chasm
#

yes, it's inherited, not owned

ebon pivot
#

you can still inherit off of that

#

just need to set requiredaddons properly

ashen chasm
#

yeah. But then you go hpp class 5: 3 { class c: c {}; }; and when you create your next addon you can go just hpp class 3; class 5: 3 { class c; }; class 6: 5 { class c: c { muh new totally needed changes }; }; blobdoggoshruggoogly

ebon pivot
#

you dont need to do c: c {}; meowsweats

#

if you inherit off 3 you already inherit c with it

ashen chasm
#

and now imagine this stuff with NewTurret that's actually 15 levels of inheritance deep

ebon pivot
#

you dont need to go that deep

#

if plane has newturret you can inherit off plane

#

only exception is if any class is deleted later down the tree

ashen chasm
#

but you can't class SecondaryTurret: NewTurret { something}; if you're only inheriting from Plane. You need NewTurret external declaration to be actively present in your new config blobdoggoshruggoogly

ebon pivot
#

yeah, so

class planeparent;
class plane: planeparent {
  class newturret;
};
class mynewclass: plane {
  class newturret: newturret {
    myfunnyvalue = 1;
  };
};```
ashen chasm
#

cool

#

and you end up with broken inheritance because plane doesn't have newturret of its own blobdoggoshruggoogly

ebon pivot
#

but it does, it inherits it from its parent

#

unless its deleted

ashen chasm
#

last time i've checked it didn't, let me retest blobdoggoshruggoogly

heady iron
#

why the "newturret: newturret"?
Is that just saying, the newturret for mynewclasss, inherit from plane's newturret?

ebon pivot
#

else you would just leave it

ebon pivot
heady iron
#

I didn't wanna hijack the channel, but I definitely appreciate all this. I've been learning how to do configs mostly by trying to do/reading others (after checking out articles in Biki) so this helps a lot.

ebon pivot
#
//file 1
class a;
class b: a {
  class 1;
};
class c: b {
  class 2: 1 {
    ilovemonkeys = 1;
  };
};```
the tree could be infinitely long and you would only need to go that far back to edit one nested class
ebon pivot
heady iron
ashen chasm
#

okay, i'm officially talking shit, after actually testing that works. Thanks, KJW

ebon pivot
#

i never actually have issues with config or scripting not working nowadays, its only either rv4 stopping me (height matters, capital ships) or i dont know what to do (any time i message #arma3_scripting)

#

it is quite a peculiar situation to be in

heady iron
#

"Oh look at me, im so good" 😛

#

/j

ebon pivot
#

it creates an interesting set of circumstances when trying to script anything involving vector manipulation

#

(so of course i am off to do a physics degree)

ashen chasm
#

as a consolation piece: the way i've done shit isn't likely to break stuff and is just excessively wordy

ebon pivot
#

using {} in config is how i empty classes.

ashen chasm
#

class a: a {}; doesn't empty anything, though. Just creates an unnecessary class that delegates all access to parent blobdoggoshruggoogly

ebon pivot
#

we had this discussion a while ago and concluded {} would empty classes in some instances

#

or it mightve been with john

#

either way is a red flag for me if i extract the config

heady iron
#

I thought {} just prevented inheritance, not necessarily emptied it completely.

ebon pivot
#

it empties in some cases

#

possibly not in full inheritance tree

#

but either way is completely unnecessary

ebon pivot
#

yeah, so empties.
if a class isnt inheriting properties then its just got the properties you have added

ashen chasm
#

eyyy, third opinion. Class inheritance is hell of a mess anyways 🤣

#

all the history digging made me skip the latest part of conversation meowsweats

ebon pivot
#

🤷 no reason to do {}; in most cases where it is used

ashen chasm
#

welp, ADT exports are suboptimal then 😄

ebon pivot
#

indeed, i just use them as a visual and do it myself

ashen chasm
#

my bottom line would be: if it's automated (and as such requires literally 0 effort) and doesn't break anything - the only benefit of further manual optimization would be saving couple of bytes of drive space and, possibly, some nanoseconds of loading time :3

ebon pivot
#

and readability/neatness

wintry fox
#

Trying to figure out why my custom muzzle doesn't have any sound effects when firing.
Reloading and dry sounds work fine, but firing does not.

Context: Making a "fake" ugl since the normal UGL_F values cause the cursor to appear in the incorrect place as well as messing with the camera while ADS'ing

class Rifle_Base_F;
class BNA_KC_Launcher_Muzzle: Rifle_Base_F
{
    displayName = "Launcher";
    magazines[] = {};
    magazineWell[] = {};

    nameSound = "";

    changeFiremodeSound[] = { "A3\Sounds_F\arsenal\weapons\UGL\Firemode_ugl", 0.316228, 1, 5 };
    reloadMagazineSound[] = { "A3\Sounds_F\arsenal\weapons\UGL\Reload_UGL", 0.562341, 1, 10 };
    drySound[] = { "A3\Sounds_F\arsenal\weapons\UGL\Dry_ugl", 0.562341, 1, 10 };

    recoil = "recoil_pistol_light";
    recoilProne = "recoil_prone_pistol_light";

    cursor = "EmptyCursor";
    cursorAim = "gl";
    textureType = "semi";

    autoFire = 0;

    class Single: Mode_SemiAuto
    {
        textureType = "semi";

        recoil = "recoil_pistol_light";
        recoilProne = "recoil_prone_pistol_light";

        // For AI units
        maxRange = 400;
        maxRangeProbab = 0.05;
        midRange = 200;
        midRangeProbab = 0.7;
        minRange = 30;
        minRangeProbab = 0.1;

        nameSound = "";
        sounds[] = { "StandardSound" };
        class BaseSoundModeType
        {
            closure1[] = { "A3\Sounds_F\arsenal\weapons\UGL\Closure_UGL", 1, 1, 10 };
            soundClosure[] = { "closure1", 1 };
        };
        class StandardSound: BaseSoundModeType
        {
            begin1[] = { "A3\Sounds_F\arsenal\weapons\UGL\UGL_01", 0.707946, 1, 200 };
            begin2[] = { "A3\Sounds_F\arsenal\weapons\UGL\UGL_02", 0.707946, 1, 200 };
            soundBegin[] = { "begin1", 0.5, "begin2", 0.5 };

            soundSetShot[] = { "UGL_shot_SoundSet", "UGL_Tail_SoundSet", "UGL_InteriorTail_SoundSet" };
        };
    };
};
ashen chasm
#

i'd say it doesn't use "Single" at all because i there is no modes[]= array to tell it to do so blobdoggoshruggoogly

wintry fox
#

Seems like a good guess, didn't realize I hadn't set it

#

Yep that's exactly what it was

wintry fox
#

Is there a way to make a parachute ignore wind?

nimble sequoia
#

After counting to three thousand, don't pull the cord? 😉

wintry fox
#

Wouldn't take much convincing, it's for a crate lol

proud wave
#

If certain unit is controlled by the headless client, can I modify that units parameters by running a mod on the headless client (in a vanilla game server)? Or must the mod be run on the server? I guess this won't require other vanilla clients connecting to that server to have the mods?

#

Looking to extend a weapons range

chilly tulip
#

If you mean AI-related range values then I'd expect it only matters where the unit is local.

#

If you mean changing muzzle velocity/air resistance then that should be a global config change, because bullets are locally simulated everywhere.

ashen chasm
#

aren't all but the shooter-local bullets purely visual, though?

proud wave
#

I guess I'll try it out

chilly tulip
#

and audio effects.

#

but yeah, it's not necessarily a big problem if the bullets behave a bit differently on non-local machines.

#

Metis will be a global projectile so that's another matter entirely.

opal crater
#

they are, depends on projectile types, missiles are global IIRC

#

but bullets are local.

#

We did an agent based AI test one day and the script that was handling them was cheating a bit and adjusting the bullet velocity to fire towards players (as they were unable to aim properly) and we ran into an issue where on the clients it was looking like they're shooting into the sky.

#

It was glorious, 150+ "AI" units fighting with great frames.

dark anchor
#

pasting this from another channel
moving to another project rq is there a flag to make it to where the crew of a vehicle is deleted or killed on vehicles death?
I know there's an event handler but

Basically my situation is i have "drones" and the AI used for drones seems to be too passive (They set themselves to careless even when being actively shot at and just hover over enemies)
But they dissapear when the vehicle pops

I am currently using opfor marksman as the pilot and gunner but when the vic pops they jump out. even though i have the crash protection set to(if the wiki is right idk) kill them on impact
Image
it says lower = better protection, so i have it set to "1" which theoretically should kill them right?

#

my apologies
the "image" towards the bottom lol

dark anchor
#

For more info
I already tried inheritance with the UAV_AI and while it solved the getting out problem, it didn't solve the aggression problem 😦

dark anchor
#

going to try Simulation = "UAVPilot"

dark anchor
#

negatory

undone patio
#

So, which of the many things in all these configs I'm reading has to be present to make a custom faction on BLU that uses all vanilla equipment

#

like, can you not just extend a NATO unit into being a custom faction and override his stuff?

dark anchor
#

sorry i just laid down but now im back on my pc so there is more to that than just "you can"

#

so what is your intention, do you want a new unit or a new group?

#

and by faction do you mean the big 3?
or sub faction

#

I.e.
bluefor> CTRG
Opfor> CSAT

#

independent> IAF
ect?

undone patio
#

I do mean faction, as in like CTRG or FIA

dark anchor
#

huh

#

i tried to send an example but wasnt able to

#
class CfgGroups
{
    class East
    {
        class My_Faction
        {
            name = "factionname";
            class My_Squad
            {
                name = "my squad";
                #pragma region -- Specialist Teams --
                class my_SquadPatrol
                {
                    name = "Patrol";
                    side = 0;
                    
                    rarityGroup = 0.30000001;
                    
                    class Unit0
                    {
                        side = 0;
                        vehicle = "MyUnit";
                        rank = "CORPORAL";
                        position[] = { 0,0,0 };
                    };
                    class Unit1
                    {
                        side = 0;
                        vehicle = "myUnit";
                        rank = "PRIVATE";
                        position[] = { 5,-5,0 };
                    };
                    class Unit2
                    {
                        side = 0;
                        vehicle = "myUnit";
                        rank = "PRIVATE";
                        position[] = { 10,-10,0 };
                    };
                };
            };
        };
    };
#

there

#

obviously you'd change yours to
class West

And side = 1

for bluefor

undone patio
#

Okay, but what if I wanted them to have different guns?

#

Do I still need the giant block of text where you have to define EVERYTHING about the unit?

dark anchor
#

nah you could just inherit everything and just change the gun

#

though im sure like all things arma you're gonna probably have to tinker with it

#

i reccomend checking out the template files for a character config file. you're answers should be in there
Characters_f also has a config file for reference if you've downloaded the a3 tools and unpacked the game files an such when setting it up

undone patio
#

Okay, thanks

undone patio
wintry tartan
#

Inheriting just work like that

undone patio
#

I was hoping but you never know with arma

#

it might look fine but then some weird inheritance quirk runs out of the bushes at you with a knife, screaming

wintry tartan
#

I thought I know how an inheriting in config in Arma works

dark anchor
wintry fox
#

Is there a way to set 3DEN attribute to a given value for a specific object?

Say I have an attribute that defaults to false, but I want it to default to true for X object

dark anchor
hybrid terrace
#

Hi, I'm working on an ammo mod but the ammo when i fire it bounces? I'm wondering what part oif the cfgammo plays into that?

hearty sandal
#

Deflection

#

And explosiveness

hybrid terrace
#

yeah after play testing figured that one

#

and what would increase penetration?

ashen chasm
hybrid terrace
#

awesome ty

hearty sandal
#

Caliber and speed of the shot.

#

I'd recommend using some existing ammos values as base and tweaking that

ashen chasm
#

eh, maths are simple enough. Double caliber with same speed = twice the penetration. Same caliber with double speed = twice the pen. blobdoggoshruggoogly

bright leaf
#

Besides being more organized is there a benefit to having several seperate pbos and configs instead of just one? Like each vehicle being a diferent pbo instead of one pbo with all of the vehicles

wintry fox
wintry fox
nimble sequoia
#

There's a 2GB file size limit on pbo's.

wintry fox
#

Oh really?
Never heard of there being a filesize limit, the more you know

wintry fox
#

Trying to make a custom 3DEN attribute, and while it does appear in the menu, the value is reset whenever the menu is closed.

class Cfg3DEN
{
    class Object
    {
        class AttributeCategories
        {
            class BNA_KC
            {
                displayName = "Keeli Company Aux Mod";
                collapsed = 1;
                class Attributes
                {
                    class isJetpackRefuelStation
                    {
                        displayName = "Jetpack Refuel Station";
                        tooltip = "Set if the object should have a refuel action attached to it.";
                        
                        property = "BNA_KC_isJetpackRefuelStation";
                        control = "CheckboxNumber";

                        expression = "[_this, _value] call BNAKC_Jetpacks_fnc_addRefuelActions";
                        condition = "true";
                        defaultValue = 0;
                    };
                };
            };
        };
    };
};
// fn_addRefuelActions.sqf
params ["_object", "_showAction"];

// Prevents creating an ACE action that will never be shown
if !(_showAction isEqualTo 1) exitWith { systemChat "_showAction is 0" };
...
#

The script works fine when directly called on an object, so it appears to just be a mistake in the config

cursive talon
#

Hello, is there some way to change the displayName or descriptionShort of a class through a sqf script?

wintry tartan
#

No

cursive talon
#

Alright, thanks.

pliant trench
#

does anyone know why this is happening?

#

I can see steam... right there... it is most certainly running

#

unless I've gone fucking mad

wraith cipher
#

What is minimally required to define to be able to use engineOn sqf function on a vehicle defined in CfgVehicles? In other words, what is required for a vehicle to have an engine which can be turned on? (I mean without inheriting from additional classes)

heady iron
#

Out of curiosity, what happens if in a config.cpp file, you set up the class inheritances perfectly, but DONT specify anything in “required addons” in CfgPatches?
Im looking at a few mod configs and thats what theyre doing. Is it an actual problem, or more like “bad form, but doesnt cause any errors” sorta thing

chilly tulip
#

IME you generally get away with not specifying vanilla dependencies, as it loads the Arma PBOs first by default. I'm not sure if there's a case where this breaks down.

#

We forgot to set them for a couple of the Antistasi addons and I think some guy managed to break it by dumping them into the Arma addons folder.

heady iron
#

So as long as its vanilla dependencies, probably fine but otherwise can be a big problem?

chilly tulip
#

for anything else you're rolling the dice.

hearty sandal
wraith cipher
hearty sandal
#

for example. though it may be better to explain what exactly you are trying to make. It usually ends up with better answers

wraith cipher
# hearty sandal for example. though it may be better to explain what exactly you are trying to m...

I want to make AI units to be able to target an object from CBA_A3, classname CBA_B_InvisibleTargetVehicle, name: "Invisible Target (Vehicle)", using launchers like Javelin (launchers targetting via IR), for unknown reason it doesn't work with it and I suspect its because the heat signature is not triggered/increasing because engine for that obj is always off.

configfile >> "CfgVehicles" >> "CBA_B_InvisibleTargetVehicle"
["CBA_B_InvisibleTarget","B_TargetSoldier","TargetSoldierBase","StaticWeapon","LandVehicle","Land","AllVehicles","All"]

#

"simulation = "tankX"; doesn't work, its set like that by default for that obj

hearty sandal
#

yes well if it never does anything the engine probably never gets on

#

or the thing never gets hot

#

because it never does anything

#

you can try setting its temperature though

#

I recall there is a script command for that

wraith cipher
hearty sandal
#

👍 that it was

wraith cipher
#

but still it doesn't work, I also checked and just empty, newly placed vehicle is possible to be targeted by Javelin but Invisible Target not :/ (I have custom mod which added irTarget = 1; to config of Invisible Targets too)

wraith cipher
#

This is crazy, I also tried by adding other random configs which I thought might help but still no luck:
_generalMacro = "Tank_F";
tBody = 250;
radarTarget = 1;
radarTargetSize = 1.2;
radarType = 8;
irScanGround = 2;
irScanToEyeFactor = 1;
idleRPM = 550;
htMin = 60;
htMax = 1800;
engineLosses = 25;
enginePower = 205;
engineShiftY = 0.1;
engineStartSpeed = 5;

inland crater
#

Hello everyone, a complete and utter noob to ARMA 3 modding here. I've tried looking at various modding guides, but they all seem to start off from the deep end, and I'm getting overwhelmed. Please be gentle with me. ❤️

What I want to do: As simple as possible mod, that adds a magazine with a specific type of ammo to a gun.

Why I want to do this: Due to mod interactions I guess, a specific Soviet body armor (6B5-19 and variants of it) is completely unpenetrable to many if not most 5.56x45mm rounds (literally hundreds of rounds won't cause a target to go down), with only a few actually working. I have that specific type of ammo that works available in 30rnd mags for AR-15 type rifles, but there is no mag with that ammo for the M249, making it completely ineffective against the Soviets, unless you score head or groin shots.

I have the IDs of the gun, type of magazine I want to use, and the ammo type needed, but I have no idea how to even get started on creating a mod that would add it, let alone publish it on Steam Workshop (I play with friends and that would be the easiest way to share). Do I use an external program for it? Do I use the editor for it? Do I make every file by hand? Literally no clue where to even get started.

heady iron
# inland crater Hello everyone, a complete and utter noob to ARMA 3 modding here. I've tried loo...

Im typing on my phone, so will stay very general.
But general idea is:
You want a text document titled config.cpp where you’re going to have four broad categories of things:
-cfgPatches: this is the first part of the file and it tells the game what your mod includes, what you need for this mod to work (“Required Addons”) and what this mod will be adding to the game.
-cfgAmmo: this defines the type of bullet (its class) and the properties of rhe bullet;
-cfgmagazines: this defines the magazine, what kind of ammo it uses (the one you defined in cfgammo) and number of bullets, if theres tracers in the mag, etc
-Cfgweapons: here, you wont be creating a new weapon but rather just specifying that the new mag you created is compatible with the M249 you want.

Since youre not making new models or anything, your mod could be as simple as this text file. Now, for what exactly goes in each section and how it works, look up the relevant BI wiki articles on cfgammo etc. or, look at how some of the mods you use, or some of the vanilla weapons, do their configs

#

After you have your textfile ready, you’ll “pack it” into a .pbo, which is the type of file repository Arma uses, by using either the Bohemia tools (available in Arma Tools in steam) or by downloading thirdparty software like ProjectPBO.
Then, use the Publisher in Arma tools to upload to steam workshop

inland crater
#

Thanks! I'm trying to find an example of a config.cpp from another mod to have a look at, but I'm only seeing mod.cpp and meta.cpp files.

heady iron
#

They’ll be inside their .pbos. When you download a mod, youll get several .pbos that go into your !workshop folder in your steam install arma folder.

#

You’ll need a program like PBOManager to open the .pbo.

inland crater
#

Ah, right.

#

OK, I'll grab PBOManager and have a look see.

heady iron
#

Some files may be “binarized”, which is Arma’s way of transforming the files to the format their engine can read. To unbinarize, you can use the Arma tools on Steam. Not all files (models, for example) can be unbinarized but config files generally either arent binarized, or can be unbinarized

#

You can also take a look at rhe default arma files, see if you can find configs for weapons there. If i recall correctly, might be under the data_f folder

inland crater
#

Massive, massive thanks. ❤️

This should get me rolling, I might be back later if I run into a wall again, but you've been immensely helpful already.

Just one last note, found PBO Manager's github page, said it was deprecated in favor of pboman3, does this sound legit to you?

heady iron
#

You also prob wont need to build stuff from scratch in your mod. If you already have the type of bullet you want, you might not need much in cfgammo, as you might only need to create the mag and tell it to use the ammo that the AR-15 rifles you have already take.

inland crater
#

Yeah, that was my idea, just copy the currently existing mag, save it under a different name, then modify it to use the ammo I want.

heady iron
#

Dm me if you want, and later today I can help you more direcrlt through that

#

Im still new to configs, but I should be able to help you wirh this

inland crater
#

What timezone are you? I'm about to head to bed because it's past 2AM here, but I could get back to you tomorrow?

heady iron
#

Sure!

echo shell
#

hey can somone help me with my confige and scripting ?

wintry tartan
#

This channel is for config not scripting, and as I said, don't ask to ask

heady iron
echo shell
#

somone got to was big help pointed me right direction

steady beacon
#

Need some help/advice with targeting with vehicles and weapons. I have a vehicle and some weapons setup with 360 anti radiation sensor and LOAL enabled on the weapon(ammo) but 1. I can't make the weapon lock (r key) anything not in front of the aircraft and 2. the weapons won't track anything outside its forward view in LOAL mode.
Am I missing something or is a feature/bug?

hearty sandal
#

is it on a turret?

wintry fox
#

What'd be the easiest way to make ammo (vehicle) armor piercing?
I'd assume just increasing the caliber, hit and/or typicalSpeed?

ashen chasm
#

*decreasing typicalSpeed 😛

wintry fox
#

Oh really?
Hadn't seen typical speed, guessed it was an "average" speed of the bullet

ashen chasm
#

caliber = how much geometry it can pass through. Bullet loses speed when penetrating stuff.
hit = how much damage it would inflict at or above typicalSpeed. When the bullet is slower - damage is reduced.

wintry fox
#

Makes sense

chilly tulip
#

hmm. Does caliber do anything against body armour, or just vehicles & scenery?

cursive talon
#

Question: Is it possible to have separate animations/exits for actions GetOut and Eject?

tight belfry
wraith cipher
#

Hi, is it possible to adjust object model scale via config? (something like setObjectScale but via config)

#

or how to make an object to be visible to AI but not be visible when rendering it? i. e. invisible target from cba but it has to have model defined to be targetable via launchers like Javelin

steady beacon
fringe radish
chilly tulip
#

Thing is, for body armour there isn't really a penetration calc. It's just doing velocity-modified-hit / armour-on-part

wheat sluice
bleak scarab
#
class cfgammo
{
    class M_Titan_AT;
    class DB_AT_Dummy: M_Titan_AT
    {
        soundFly[]=
        {
            "",
            0.13095701,
            1
        };
        indirectHit=350;
        indirectHitRange=40;
        manualControl=0;
        timeToLive=1800;
        flightProfiles[]=
        {
            "TopDown"
        };
        submunitionAmmo="ammo_Penetrator_Titan_AT_improved";
        submunitionInitSpeed=1250;
        lancet_speedArray[]={75,43,7,1000,1};
    };
};

class cfgMagazines
{
    class Titan_AT;
    class DB_customAT: Titan_AT
    {
        displayname="Custom AT";
        ammo="DB_AT_Dummy";
        mass=300;
        author="DB";
        scope=2;
    };
};

Hello everyone, there is a config, I want to know why in the virtual arsenal I can put DB_customAT in a backpack, but I can't put it in a ammo box/vehicle cargo in 3DEN?

cursive talon
lucid inlet
#

i was using the Metis Nature mod, when i noticed that when you place the terrain clutters of it (it allows the player to use terrain clutter in the editor), they actually cast shadows.
But the in-terrain clutter doesn't.

#

Would there be some way to enable the terrain clutter to cast shadows?

hearty sandal
hearty sandal
#

you have very simple scene there

#

just single type of object in empty map

#

not really real use case

lucid inlet
# hearty sandal not really real use case

i can do it on a normal map as well.
Ground Clutter is already present on the maps, and it has a draw distance and density level of it's own (present on the terrain config).

#

With mods (or the current devbranch version) we can also push the shadow distance to higher distances than before (3000 meters to be exact), and the FPS impact it does is less than one would think.
Also, the ground clutter is actually affected by shadows anyway, it just doesn't cast shadows of it's own.

#

anyway, i have no idea if it's even possible to make the ground clutter cast shadows, or what reason it doesn't.
But i guess it would be cool if it is possible.

hearty sandal
#

performance

lucid inlet
#

would be cool to atleast have an option to allow it to cast shadows.
Like with the newer graphic settings where we can push the draw distance to 40 kilometers just for the fun of it.

hearty sandal
#

and have 1 fps blobdoggoshruggoogly

#

some things are just not worth the trouble

wintry tartan
#

Ground clutter Simple Objects usually don't have shadows

wraith hornet
#

hi everyone, can anyone help me a little?

#

so i made a mod some time ago, one that add a Balaclava with armor on it, it is added to the Helmet section, now i need to add some lenses to it that goes together with the Balaclava, it needs to be added as a facewear item, i tried adding cfgGlasses and the model named Armored_Balaclava_Goggles to the mod file like this:

#

here is my cfgGlasses:

#

but it seems im missing something or doing something wrong, ingame the lenses/goggles does not appear

wintry tartan
#

Why you have AiO config there?!

wraith hornet
#

i think it was inside the sample i used

wintry fox
#

There any way to show the number of bullets in a magazine in the descriptionShort?
Don't think there is but checking anyways

cursive talon
#

Hello, I am currently trying to implement FFV for a vehicle and while I have met much success, I am currently stuck in a position where the unit:

  1. Can fire when turned in
    • Using inGunnerMayFire puts the first person camera at the feet of the unit.
  2. Can turn entire torso around while turned in (as opposed to just the head)

Does anyone know any solutions to these problems?

nimble sequoia
# cursive talon Hello, I am currently trying to implement FFV for a vehicle and while I have met...
{    
    class cargoTurret_01: CargoTurret
    {
        proxyIndex = 1;
        proxyType = "CPCargo";
        gunnerName = "FFV 1";
        primaryGunner = 0;
        primaryObserver = 0;
        lodTurnedIn = 1200;                // -1 Default, 1000 Gunner, 1100 Pilot, 1200 Cargo
        lodTurnedOut = 0;
        memoryPointsGetInGunner = "pos_gunner_01";
        memoryPointsGetInGunnerDir = "pos_gunner_01_dir";
        gunnerGetInAction = "GetInHigh";
        gunnerGetOutAction = "GetOutHigh";
        gunnerDoor = "";
        gunnerInAction = "interior_seated_rtm";
        gunnerAction = "exterior_ffv_rtm";
        personTurretAction = "exterior_ffv_rtm";
        animationSourceHatch = "hatchTop";
        gunnerForceOptics = 0;
        outGunnerMayFire = 1;
        hideWeaponsGunner = 1;
        isPersonTurret = 1;
        viewGunnerInExternal = 1;
        initOutTurn = 0;
        minOutTurn = -90;
        maxOutTurn = 90;
        initOutElev = 0;
        minOutElev = -20;
        maxOutElev = 75;

        class HitPoints {};

        class TurnOut
        {
            limitsArrayTop[] = {{45.0, -84.1}, {45.0, 80.7}};
            limitsArrayBottom[] = {{-16.8, -86.0}, {-12.8, -50.3}, {-15.3, -13.2}, {-11.6, 43.6}, {-10.0, 77.7}};
        };
        class TurnIn: TurnOut {};
    };
};```
whole quarry
#

I made firing modes for a mortar to cover its full firing range. It works in the virtual arsenal and flat areas but once elevation is in play, there are massive gaps where it cannot fire. Is this a try until you die kind of issue or is there a general way things work? (Limited by mortar elevation of 15 degrees up and 0.5 down. All from 45 degrees, so it has 17 firing modes to cover from 250m to 1600m).

#

So I now remember that altitude differences matter, but if the ranges are stacked back to back then why are there gaps?

bright leaf
#

How do i enable or disable vehicle customization in a config? In this game i want to add a CUP Blackhawk without the Filters and Extra equipment.

hybrid terrace
#

Hey, when making a cfgammo, im having the issue of my rounds bouncing off armour when i need it to be penning. What should I do?

#
        ACE_bulletLength = 75.5;
        ACE_bulletMass = 110.16;
        ACE_ammoTempMuzzleVelocityShifts[] = {-26.549999,-25.469999,-22.85,-20.120001,-16.98,-12.8,-7.6399999,-1.53,5.96,15.17,26.190001};
        ACE_ballisticCoefficients[] = {0.67000002};
        ACE_velocityBoundaries[] = {};
        ACE_standardAtmosphere = "ASM";
        ACE_dragModel = 1;
        ACE_muzzleVelocities[] = {1000};
        ACE_barrelLengths[] = {763.7};
        airFriction = -0.00042;
        audibleFire = 20;
        caliber = 20;
        cost = 40;
        dangerRadiusBulletClose = 16;
        dangerRadiusHit = 40;
        explosive = 0;
        hit = 200;
        indirectHit = 10;
        indirectHitRange = 40;
        penetrationDirDistribution = 10;        
suppressionRadiusBulletClose = 10;
        suppressionRadiusHit = 14;        
        typicalSpeed = 400;
        tracerScale = 20;
        tracerStartTime = 0.050000001;
        tracerEndTime = 20;
        visibleFire = 20;        
        visibleFireTime = 3;```
hearty sandal
hybrid terrace
#

nope, every itteration bounces, even if I use explosive

hearty sandal
#

is this custom armor thing?

#

got any other mods running?

hybrid terrace
#

testing on RHS vics

#

as that whay my unit mainly goes against

hearty sandal
#

I see you use ace

#

you probably need to fiddle with those settings then

hybrid terrace
#

testing mod list is ace, CBA, rhs & my ammo

hearty sandal
#

RHS and ACE are not very compatible if I've understood right

hybrid terrace
#

there isnt much documentation on what each ace ballistics are

#

there are references but no indept as to what each one does

#

at least from what i can find diging in ace wiki and git

#

even removing the ace ballistics stuff its still bouncing

hearty sandal
#

If I rememeber right RHS armor values and setup is different from vanilla so you will need to look into RHS weapons to find something that behaves how you want and work from there

cursive talon
hearty sandal
cursive talon
winter rain
#

Probably a model thing, missing getIn mem points or proxies or viewGunner

rapid crystal
#

Is there a way you can make a grenade "Stick" to whatever you throw it at?

cursive talon
#

If you want to make it stick to only certain objects you can make it call a function that checks whether the target is valid and if it is, executes the attachToRelative function.

cursive talon
ashen chasm
opal crater
#

If I recall correctly CfgAmmo was only supporting init in config, at least officially.

#

As there was something being used by the LoW training mine but it was never documented.

#

ah, AmmoHit (don't use it)

ashen chasm
#

Although that documentation sounds more like "init can only be used in config" than "only init can be used in config"

ashen chasm
#

nah, deleted/hitPart don't seem to work from config, so init it is meowsweats

nimble sequoia
# cursive talon Yes, I am aware, I have modified it for my specific vehicle with no success.

Check:

  1. you have a CARGO proxy, index 1, in both a res LOD and Pilot/Gunner/Cargo LOD
  2. you changed lodTurnedIn = 1200; and lodTurnedOut = 0; to numbers matching the LOD's you have
  3. you have memory points with names matching the get-in dir and pos configs
  4. you have changed the 3 rtm's for valid animations (either from vanilla A3 or your own custom static/FFV)
  5. you have changed the animationSourceHatch name to match the name in model.cfg for the hatch opening, or you leave it blank
  6. you have checked that your vehicle has a class Turrets to inherit and a sub-class CargoTarget
cursive talon
unkempt helm
#

I'm not sure if this is the right place but if you add a new ammo type/magazine to a weapon will that magazine be displayed from the weapon or will it need a specific model for it ?

hearty sandal
#

so the magazine is separate model

#

however you can use existing magazine model

#

and make a new magazine class

unkempt helm
#

Alright thanks! Do you happen to know the right direction to look to find how to make a new magazine class?

hearty sandal
#

I doubt there is specifig guide for that but its same as any config work

sly ice
#

What physx value(s) determine how much a vehicle banks during a sharp turn at speed?

I'm having an issue where the wheels on the outside of the turn just can't reach the ground but I'm certain my damper selection is working correctly based on the behaviour when it stops and starts moving

nimble sequoia
sly ice
#

will give it a look. Regarding damper movement though, are we talking about the translation range of the damper in model.cfg or a physx value?

nimble sequoia
#

both, they should be tied together

#

the physx config is what the game uses to calculate vehicle response, but the model.cfg and memory points in the p3d are what makes it "look" right

#

what many people don't know is that the distance between the translation memory points is important

sly ice
#

right, but this is the ranges we're currently looking at.

nimble sequoia
#

what is the distance in m between the two points making up the wheel_1_1_damper_axis?

sly ice
#

I know there's a ruler function, give me a minute to find it

#

alright i give up. Il play with the values.

nimble sequoia
#

weird response to help offered, oh well

sly ice
#

No i wasn't trying to insult you

#

I meant i give up on finding the ruler function

#

Il play around with the values a bit and get back

nimble sequoia
#

you could just ask... is it Object Builder?

sly ice
#

yeah

#

02

nimble sequoia
#

Menu ... Window > Measuring
Move Pin tool

sly ice
#

0.470 i think

nimble sequoia
#

The other way you can check, is that the grid squares in OB are 1m each.

#

So if you have a 0.47m distance between the axis points, your wheel will move +- 0.3 x 0.47m on full damper deflection (not 0.3m as you probably expect)

#

The easiest solution to this is to make your damper axis = 1.0m

sly ice
#

right i see. Makes sense

nimble sequoia
#

That will then start matching the visual animation of the model in game with what the physx believes is happening via code

sly ice
#

giving it a test now

nimble sequoia
#

btw, +-0.3m is quite a large suspension movement for many vehicles

sly ice
#

So in turns its doing the right thing now

#

only 1 issue

#

obviously settles down correctly but yeah

#

lmao

nimble sequoia
#

have you modelled the wheels/suspension in the p3d to be correct for 50% compression (ie midway between fully up and fully down)?

sly ice
#

Am i interpreting it correctly that the offset/compression/droop values should be the distance between the points or were the original values alright?

sly ice
nimble sequoia
#

Are your wheels maintaining contact with the ground now?

sly ice
#

yeah

#

Modifying the values to something like 0.1 has the wheels stick into the ground now (Bound and landcontact im pretty sure is correctly setup)

nimble sequoia
#

There are multiple steps to making this work perfectly.

#

Does you skeleton look something close to this:

            "wheel_1_2_damper_land",        "",
            "wheel_2_1_damper_land",        "",
            "wheel_2_2_damper_land",        "",

            "wheel_1_1_damper",            "wheel_1_1_damper_land",
            "wheel_1_2_damper",            "wheel_1_2_damper_land",
            "wheel_2_1_damper",            "wheel_2_1_damper_land",
            "wheel_2_2_damper",            "wheel_2_2_damper_land",

            "wheel_1_1_steering",            "wheel_1_1_damper",
            "wheel_1_2_steering",            "wheel_1_2_damper",
            "wheel_2_1_steering",            "wheel_2_1_damper",
            "wheel_2_2_steering",            "wheel_2_2_damper",

            "wheel_1_1",                "wheel_1_1_steering",
            "wheel_1_2",                "wheel_1_2_steering",
            "wheel_2_1",                "wheel_2_1_steering",
            "wheel_2_2",                "wheel_2_2_steering",```
sly ice
nimble sequoia
#

So you're missing the damper_land bones. Check the A3 car sample

sly ice
#

going to give my samples an update in case i changed anything, because im not seeing any damper_land selections in the visual LOD

#

Only ones i could find are memorypoints in LandContact

nimble sequoia
#

Correct, they're not in the visual LOD

#

That's right, LandContact

sly ice
#

Wouldn't any memorypoint in landcontact suffice or does Arma 3's engine specifically only deal with "damper_land"?

nimble sequoia
#

It can be called anything, but you're completely missing that bone level

#

and most mods will follow the tried and tested sample formats, so no reason not to use it

sly ice
#

fair

#

Doesn't seem to have resolved the issue of the sunken wheels, could be that my wheel axis and bound mempoints might be off a little bit. Either way going to bed. Appreciate the assistance

sullen lotus
#

what is the most basic unit config possible (no animations, but follows orders and possibly uses weapons and enters vehicles)? it seems like when i try to inherit from something like MAN it requires setting a lot of variables including moves

#

i want it to pathfind and move but in a very basic manner, just like float along the path without actual walking/running

#

basically i want a functional unit that doesnt use/require an animated humanoid model

slim halo
#

Soldier simulation uses the animation to move

#

So it's not possible

#

There are virtual men that are hidden. You could use those instead

swift yacht
#

I have a problem with a replacement config I am making, I made a config that replaces the uniforms, vests, & helmets on CSAT units with gear from the Aegis mod development branch. While the config seems to work overall, it only replaces the uniform on the units, leaving the vest & helmet unchanged, with the exception being the Rifleman unit, where the uniform, vest, & helmet is replaced correctly. I have no idea what to do as I use the same layout for all the units, & have tried redoing the config with no success.

wintry tartan
#

Are you 100% sure your requiredAddons is right?

swift yacht
#

I only have the base game & DLC as required addons, I will try adding the Aegis mods as required addons & see if that works.

hybrid terrace
#

hi, when making a cfgmagazines, when hovering over item in inventory it says 5 rounds but my count is 3. What do I need to do to make it say 3 or even have it a custom classs?

{
    class CA_Magazine;
    class 5Rnd_127x108_Mag;
    class AM_MAG: 5Rnd_127x108_Mag
    {
        displayName="20x102mm Anti Material Round";
        displayNameShort="20mm AM";
        ammo="20mm_AM";
        initSpeed=980;
        count=3;
        tracersEvery=1;
        mass=50;
    };
};```
ashen chasm
hybrid terrace
cursive cliff
#
{
    class Default;
    class States
    {
        class RCC_recoil11: Default
        {
            file="A3S_Recoil\anim\recoil11.rtm";
            canBlendStep=1;
            looped=0;
            speed=-0.60000002;
            mask="recoil_static";
            minPlayTime=0.15000001;
            relSpeedMin=0.80000001;
            relSpeedMax=1;
            duty=0.69999999;
            leftHandIKBeg=1;
            leftHandIKCurve[]={1};
            leftHandIKEnd=1;
            rightHandIKBeg=1;
            rightHandIKCurve[]={1};
            rightHandIKEnd=1;
            weaponIK=1;
            enableOptics=1;
            head="headDefault";
            showWeaponAim=1;
            disableWeapons=0;
            disableWeaponsLong=0;
            leaning="empty";
            aimingBody="empty";
            aiming="aimingDefault";
            forceAim=1;
            limitGunMovement=1;
            headBobMode=2;
            headBobStrength=0.1;
            canPullTrigger=1;
            canReload=1;
            enableDirectControl=0;
            enableMissile=0;
            weaponLowered=0;
            variantsPlayer[]={};
            variantsAI[]={};
            interpolateFrom[]={};
            InterpolateTo[]={};
            interpolationSpeed=8;
            interpolationRestart=2;
            ragdoll=1;
            ignoreMinPlayTime[]=
            {
                "Unconscious",
                "DeadState"
            };
            ConnectFrom[]={};
            ConnectTo[]={};
            soundOverride="";
            soundEnabled=1;
            showHandGun=0;
            showItemInRightHand=0;
        };```
#

Im getting this error all the time

#

15:05:20 Warning Message: No entry '.rcc_recoil11'.
15:05:20 Warning Message: '/' is not a value

#

Is there a fix to this ?

rapid crystal
#

Trying to make a satchel charge. But it is not showing up in the menu under explosives at all. However, It is in game becuase I can give it to myself via a command. Is there something special I need to do to get it to appear in arsenal?

ebon pivot
#

baseWeapon or something like that iirc

hallow briar
#

trying to make custom music play in the menu, where would i start?

ebon pivot
#

or just needs scopeArsenal = 2

hallow briar
minor oriole
#

I’m currently running into a no entry bin/config error when I’m in game for a smoke effect I’m testing. I’m trying to tweak the GAU8 smoke cloud to be more realistic, in my CfgCloudLets Ive kept all relevant values in respect to vehicle speed and positioning but Ive replaced values regarding smoke with that of hydra missiles because that smoke trail is more fitting to what the GAU produces. Is what I’m trying to do even possible or am I just messing something up ?

hearty sandal
#

I have a "how to read no entry error" reference in the pinned messages

minor oriole
hearty sandal
#

Means class gau8_smokecloud does not exist

#

So your addon breaks the config somehow

minor oriole
wintry tartan
#

Imagine sharing your config. It will help you

minor oriole
wintry tartan
#

This does not explain anything. Post the entire

minor oriole
wintry tartan
#

Yes there is no GAU8_SmokeCloud

#

GunParticles does not require CfgCloudlets but the set of effect that is located in the root of config

#
class AAMissileExplosion
{
    class LightExp
    {
        simulation = "light";
        type = "ExploLight";
        position[] = {0, 1.5, 0};
        intensity = 0.001;
        interval = 1;
        lifeTime = 0.25;
    };
    class Explosion1
    {
        simulation = "particles";
        type = "ExplosionParticles";
        position[] = {0, 0, 0};
        intensity = 3;
        interval = 1;
        lifeTime = 0.25;
    };
    class SmallSmoke1
    {
        simulation = "particles";
        type = "CloudMedLight";
        position[] = {0, 0, 0};
        intensity = 1;
        interval = 1;
        lifeTime = 1;
    };
};```It should look like this, where `simulation = particles` is where CfgCloudlets is required
minor oriole
wintry fox
#
class CfgWeapons
{
    class ThrowMuzzle;
    class GrenadeLauncher;
    class Throw: GrenadeLauncher
    {
        muzzles[] += { "YourMuzzle" };
        class YourMuzzle: ThrowMuzzle
        {
            displayName = "Top Right Menu Name";
            magazines[] += { "YourGrenade" };
        };
    };
};


class CfgMagazines
{
    class HandGrenade;
    class YourGrenade: HandGrenade
    {
        ammo = "...";
        // ...
    };
};
mighty urchin
#

Which properties affect a weapon's audibility, and how does a muzzle affect these values? Is there any documentation where I can learn more about these parameters or some example?

wintry fox
#

As in how far AI can hear it fire or something else?

mighty urchin
wintry fox
#

I think the ai values are in the ammo, I don't remember there being weapon equivalents but granted I've also mainly done mag/ammo configs recently

mighty urchin
#

I have consulted ChatGPT on this matter. 😄 And it told me that there are: audbileFire, audibleDistance and multiplierAudible.

audibleFire: This parameter determines how far the sound of a weapon's firing can be heard by other entities in the game world. It's a value that affects the overall audibility of the shots. A higher value for audibleFire means that the sound of the weapon firing will be audible over a greater distance. It represents the "loudness" of the shots and how well they can be heard by characters (AI or players) within a certain radius.

audibleDistance: This parameter specifies a maximum distance beyond which the weapon's sound will not be audible, regardless of the audibleFire value. In other words, it sets a cutoff point for how far the weapon's shots can be heard. If the distance between the shooter and the potential listeners (AI or players) exceeds the audibleDistance, the sound won't be heard by them.
wintry fox
#

Can't really advise using chat gpt

mighty urchin
wintry fox
#

I can't seem to find anything on audibleDistance

#

If you want to check the max distance that a gun firing can be heard, go into the weapon's firemodes and check the StandardSound class, it will have the sound file, volume, pitch, and max distance.

heady iron
#

Could missing "requiredAddons" in CfgPatches cause missing entry errors in the RPT log?

ashen chasm
#

Only with some bizarre inheritance-breaking also being in the mix, i guess

wintry fox
#

Tried giving a name to my CfgPatches but the Required Addons tab in a mission didn't seem to update with it, is there something else you need to change as well?

teal mirage
#

Hi all, just a quick question about CFGSounds as i'm getting an error. When i boot the game i get the message that line 29 is already defined and i'm not sure what exactly is wrong

#

and line 28 when i clear that open space

ashen chasm
#

Well, yes, you define sounds array multiple times. For once error message means exactly what it says.

wintry fox
teal mirage
#

oh, thanks!

chilly tulip
#

@wintry fox Did you find sensitivity and sentitivityEar in CfgVehicles? IIRC these are pretty important parameters for the detection calcs.

heady iron
#

So, I've got a couple of questions about config sytax and stuff.
In an addon (not mine)'s config, I've got this:

chilly tulip
#

cackles

heady iron
#

Two questions:
a) In the class UAV: Plane, they're declaring "class NewTurret". Does that work? Or should it be: Class UAV>>class Turrets>>class NewTurret?

  • I thought classes like MainTurret/NewTurret should always be within class Turrets, right?
wintry fox
heady iron
#

b) later, in class UAV_02_base_F: UAV>>class Turrets, they have class MainTurret: New Turret {};
--Is the {} after New Turret breaking anything? I'm going by the BIKI article on it, but it seems to me that this is telling the class MainTurret to NOT inherit anything from NewTurret, right?

chilly tulip
#

I think at best it's a no-op?

heady iron
#

(again, just trying to understand nuances of configs. In these two points, things dont look right, but just trying to see if Im on the right track)

heady iron
chilly tulip
#

Yeah. But in general this stuff is poorly documented, counter-intuitive, inconsistent and extremely slow to test. I don't personally have a strong grasp of the correct syntax.

heady iron
#

like, what jumped out at you in the screenshot I posted?

chilly tulip
#

oh, whole thing is "typical config override disaster"

#

I'm not even sure what they were trying to change as it cuts off before then.

#

It's like entire page of boilerplate, half of which is hopefully unnecessary.

heady iron
#

Oh, some stuff about pylons and things later on. My unit's modpack has a missing "MainTurret" entry error, so I'm trying to track down where it might be coming from, taking a look at the .pbos for the mods we have.

#

(can't track down via configviewer to see which addon is the last to modify)

chilly tulip
#

Missing MainTurret in what vehicle?

wintry fox
#

I read that as "My unit's backpack" and was very confused, was about to say that's something I haven't heard of

wintry fox
heady iron
chilly tulip
#

Yeah, but that won't generate an error on its own? I remember this issue but I don't remember the actual problem.

#

Some actual vehicles are also getting broken, right?

heady iron
#

uhhh, I haven't tested all vehicles on our modpack to see which/if any are broken. Currently just trying to cut down on errors in rpt and when I open up editor/join a mission

chilly tulip
#

Ah, because something's adding a blank mainturret and other code assumes that everything in CfgVehicles is valid.

heady iron
#

Also have similar errors where I think a blank entry is being added into CfgWeapons too

chilly tulip
#

I don't see anything in that pic that would create a blank CfgVehicles/MainTurret anyway.

heady iron
#

But also, still got the first question, too. Config has:

Class UAV:Plane
 {
   Class newTurret;

Shouldn't it be:

class UAV:Plane
{
  class Turrets
    {
      class NewTurret

As in... don't I need to declare the parent of NewTurret (aka class Turrets), rather than just declaring class NewTurret directly?

chilly tulip
#

NewTurret is initially defined in the root of AllVehicles.

heady iron
#

Not sure I follow.

#

(its a friday so Im slow)

chilly tulip
#

shrugs

#

It's not only things in class Turrets that inherit from NewTurret.

#

There is also CargoTurret. Maybe others.

heady iron
#

Oh! Got it. So you don't need class Turrets to declare NewTurret.

chilly tulip
#

I'm not sure if pre-declaring NewTurret in UAV is valid given that it's actually defined in AllVehicles. Maybe that's acceptable.

#

I don't think the brackets in class Child : Parent {} have any effect, as the special case of adding brackets is just for removing the previous inheritance.

#

class Child {} would break the previous inheritance chain.

#

(unlike class Child;)

lunar aurora
#

I just want to have flags on a flag pole.
If anyone knows what the heck to do, shoot me an @
I have the textures necessary and ready to go, I just need to make them as objects I can place in-game. I keep trying to google the answer but all I ever get is how to set flag textures. No, I want them as pre-made objects I can place in Eden and Zeus.

Making banners would be nice too.

wintry fox
#

You set the flag texture with a script command:

class YourFlag: FlagCarrier
{
    displayName = "Your Flag Pole";
    scope = 2;
    scopeCurator = 2;
    
    class EventHandlers
    {
        init = "(_this select 0) setFlagTexture 'YourFlagTexture.paa'";
    };
};
#

Banners are just like any other object, you set the texture for it in hiddenSelectionsTextures

#

@lunar aurora

opal widget
#

Hey people, I'm using an eventhandler to randomize a unit's gear on spawn. The script works fine but whenever someone joins the game, every unit with this event handler has the script run again (and newly spawned units have the script run per players in the game). Is there a way to specify the script to only run on the unit's spawn? Should I use postInit instead?

class FAC_TUR_Rifleman: I_Soldier_lite_F {
      class EventHandlers {
            class CBA_Extended_EventHandlers : CBA_Extended_EventHandlers_base {};
            class FAC_rand {init = "(_this select 0) execVM ""\fac_TUR_AF\TUR_rand_rifleman.sqf"";";};
      };
};
wintry tartan
#

Use local to check if which machine has the responsibility for the unit

#

Also you should to inherit EventHandlers too if you want to rely on CBA

opal widget
#

How would I go about using local for that? And are there any real repercussions of not importing cba event handlers?

wintry tartan
#
  1. No, in the script itself
  2. class EventHandlers: EventHandlers {...};
opal widget
#

Ah, okay

opal widget
wintry tartan
#

local _unit or whatever brings you a boolean true if the unit exists in the computer or false if not, aka existed over the internet

#

And an unit can be local only for one computer

wintry fox
#

Was making a user action for people who prefer to use the scroll wheel over ace interact, but I seem to be mixing up what variable should be used for the action/condition.

I know the code works since it obviously works fine for the normal ace action, just need to convert it to a normal action.

class BNA_KC_ACE_CSW_Deploy
{
    // ...
    condition = "[_originalTarget] call ace_csw_fnc_assemble_canDeployTripod";
    statement = "[player] call ace_csw_fnc_assemble_deployTripod";
};

I guess this is more config than it is scripting, since it's what variable to use

opal widget
wintry tartan
#

Latter

#

And, sometimes an unit does not exist at all on other computers (createVehicleLocal) so this is the way to check if the unit exists

#

In your current EH, basically executes the init globally

#

This is why JIP overwrites it

opal widget
#

Is there a way to execute the script just once serverside? Maybe I shouldn't use the unit's init?

wintry tartan
#

local should do the trick. An unit can be created in every computer (aka networked) but only once

#

Not sure what exactly your script contains, but if you put if (local _unit) then {}; or something it is basically done, it makes sure it runs only once and never again

opal widget
#

alright I'll give it a go, thank you for the help!

heady iron
#

(I also get errors for missing entries for CfgVehicles>>Commander_out and all the rest I highlighted there)

#

Instead of being declared in CfgVehicles, they'd need to be declared from a parent class that the mod's new vehicle inherits from, no?

#

It causes these kinds of errors:

hearty sandal
heady iron
#

Would it make more sense to have it be something like...

cfgVehicles
{
  class oldvehicle
    {
      class MainTurret;
    };
  class newvehiclemodisintroducting: oldvehicle
      {
        class Turrets
         {
           class MainTurret: MainTurret
         };
        }
}

or some such thing?
Its not my mod, but just wondering how it'd be fixed.

hearty sandal
#

About like that yeah. Also would need to delete the invalid classes

#

It can be made as a config patch mod on top

heady iron
#

Yeah, that made sense to me. I posted on the mod's workshop page, hopefully they'll fix it.
Thanks!

hearty sandal
#

That deletes the invalid classes and changes the vehicle inheritance setup

lapis bough
wintry tartan
#

Model

steady beacon
#

So how do I work out pos10 Params with HUDs? Anyone know?

wintry tartan
#

pos10 Params with HUDs
What is this?

wintry tartan
#

Hm, I have zero experience with MFDs

steady beacon
#

Lol trial and error it is 🤣 until I find a better solution

wintry tartan
#

Why not just use diag exe?

steady beacon
#

🙃 cause I didnt think about that

chilly tulip
rapid crystal
#

Is there a way to disable the simulation of an item after you've dropped it?

chilly tulip
#

IIRC dropping items creates a GroundWeaponHolder not a SimulatedWeaponHolder?

wintry fox
#

Wanting to remove the "Disassemble" option from a static weapon, trying to delete the class didn't do anything, and emptying it (obviously) gives an error

chilly tulip
#

What did you delete exactly?

wintry fox
#

Just the assembleInfo class itself

chilly tulip
#

So when you removed that, what did it do when you disassembled it?

wintry fox
#

It worked as normal, nothing from the class itself was actually removed

chilly tulip
#

Are you sure no other classes are derived from the vehicle you tried to delete from?

wintry fox
#

Yeah, it's my own mortar I made

#

Do you need to inherit it first in order to be able to delete it?

chilly tulip
#

You're inheriting the whole vehicle from another mortar, right?

wintry fox
#

Yep

#
class Mortar_01_base_F;
class B_Mortar_01_F: Mortar_01_base_F
{
    ...
};
class BNA_KC_Mortar_Base: B_Mortar_01_F
{
    ...
    delete assembleInfo;
};
wintry fox
chilly tulip
#

Within the new class?

wintry fox
#

It wasn't that, it just didn't pop up with the error that time

chilly tulip
#

Yeah I can't convince delete to do anything.

wintry fox
#

The class is still there, but it doesn't cause any error to appear
So.. I guess it works?

#

Kinda not really

chilly tulip
#

Blanking dissasembleTo instead does work.