#arma3_config

1 messages Β· Page 92 of 1

hearty sandal
#

but Arma3 for example is already in way different direction

north plinth
#

there is still lot of shared commands at least

#

shared i mean not changed since

hearty sandal
#

that is not relevant on how the weapon and vehicle configs are different

north plinth
#

well yeah

hearty sandal
#

but I dont want to talk shop too much on my free time

#

I like modding arma way more than vbs

hard chasm
#

that's because you're a masochist like the rest of us.

hearty sandal
#

@ruby pine one tip I can give to you. VBS3 should have a optional configviewer addon somewhere in the install

#

and you can export the allConfig too out of it

#

as in all loaded configs in one file

ruby pine
#

oh right the allconfig

#

completely forgotten about that

hearty sandal
#

your version may or may not have the switchable part system in it too

#

but depends really on what version you have

ruby pine
#

what's switchable part system

hearty sandal
#

enough shop. if you dont know about it I doubt you have it πŸ˜›

ruby pine
#

aside from the lectures I hold, i've played around for about an hour on this game

#

so if its an ingame feature I wouldnt have a clue

hearty sandal
#

its an ingame feature that is not very videly introduced

#

at least not in the version i've used

#

so chances are you dont have it and it does not really matter

ruby pine
#

fair enough

inland gulch
#

is there a config property that makes an object, say, a house, stay properly oriented without aligning to the slope of the terrain below it?

#

I think I found it actually keepHorizontalPlacement = 1

#

the buildings I have that don't have that value inherit from House and the ones that work inherit fromHouse_F

hard chasm
#

not relevant to structures baked into a wrp of course, in the geolod properties for houses it is:

placement vertical

inland gulch
#

I just want my houses not to end up sideways in eden lol

toxic solar
#

w8 whats VBS3?

#

is that the Super Arma?

grand zinc
#

Google can tell and show you pretty well what it is. Also look at "VBS blue"

sick zephyr
#

The springs are retracted waaaay more than I would expect them to

#

and the tank basically lies on it's bottom on the ground

#

tweaking mass up and down didn't really change much apart from springs going a bit more or a bit less up/down

#

so my question is: what variables should I focus on in PhysX?

#

or it's some other issue?

hot pine
#

@sick zephyr can you show us your model.cfg?

#
  • physx cfg
sick zephyr
#

I'll be able to do that today's evening EU time

opal cape
#

hello arma modders, i made a simple bolt addon that can be thrown, itβ€˜s like the handgrenade, everything works fine and its also listed under the grenade section in arsenal. is there any way to make this bolt into an object once throwed at the target so i can detect with other scripts? right now it’s always nullObject

grand zinc
#

It should already be an object

#

How are you trying to get that object value?

opal cape
#
typeof cursorobject (-target) returned ""
#

here is my config

opal cape
#

you are right

#
nearestObjects [player, [], 50]

return
[B Alpha 1-1:1 (Player,9: tzr_bolt.p3d]

grand zinc
#

That's Ammo right? You might be able to use the new Ammo Fired eventhandlers

opal cape
#

its the bolt, ammo whould be ammo = "tzr_bolt_ammo"; `?

#

i just was thinking something with my config is worng, but its working fine

outer sapphire
#

is possible to modify groundWeaponHolder?

grand zinc
#

define "modify" ?

outer sapphire
#

@grand zinc i want use model for groundWeaponHolder

grand zinc
#

Sure. You can make your own model

strange egret
#

@sick zephyr check offset0 and offset1 values of damper animation (model.cfg), it must match with maxdroop and maxcompression in physx setting

#

use diag mode "EPEVehicle" via arma3diag.exe to display if the wheel centers and contact points are in the right place

sick zephyr
#

oh amazing tips mate ❀

nimble sequoia
#

@strange egret @sick zephyr true only if the distance between the axis memory points is 1m, otherwise the damper animation movement scales with the distance between the axis points

strange egret
#

if you use the same setup as sample tank and vanilla, aye. If you dont, better know what yer doing πŸ˜›

nimble sequoia
#

well it's only true in one very specific case, so good to know that all other cases won't be true

strange egret
#

? no. Animation offset is always in meter

#

you dont need the 0 to 1 damper "scale" memorypoints

nimble sequoia
#

distance moved = (offset1-offset0) x distance between axis mem points

strange egret
#

if you use the axis then yes.

#

no

#

only if you use begin and end memorypoint

#
    type="translation";
    sourceAddress=0;
    selection = "";
    source="";    
    axis="";
    minValue=0;    maxValue=1;
    offset0=0;    offset1=1;
};
    
class BaseTranslationP2P { //point to point (begin to end) translation
    type="translation";
    sourceAddress=0;
    selection = "";
    source="";    
    begin="";
    end="";    
    minValue=0;    maxValue=1;
    offset0=0;    offset1=1;
};```
nimble sequoia
#

try increasing the distance between axis memory points, you'll see what happens

strange egret
#

axis length never had effect for me unless i defined begin and end memorypoint, then the offset acts relative to the distance between those memorypoints

hearty sandal
#

odd because I use the axis length all the time

#

witouht th begin and end points

nimble sequoia
#

yeah, I don't use begin and end points. It does scale.

outer sapphire
#

is possible to get folder config with script?

strange egret
#

i always use p2p when i want to move specific from a to b and always use the 'regular' when i want to move normal meters. Never not worked for me... i guess im a unicorn then.

hearty sandal
#

folder config? @outer sapphire

#

whatever works @strange egret Β―_(ツ)_/Β―

outer sapphire
#

@hearty sandal yes, path to config folder in addons

grand zinc
#

what "config folder" ?

outer sapphire
#

pbo name where defined class

#

GroundWeaponHolder

hearty sandal
#

and I would say no config paths are no longer in the game files. GroundWeaponHolder is likely in some main config

#

or with weapons

#

but dedmens link should get you there

hard chasm
#

there is no such thing as a 'pbo name' in the game, there is only an addon name, as defined in cfgpatches of the pbo

outer sapphire
#

thank you, dedmen

grand zinc
#

If you just want to read that config you don't need to know in which pbo that was added

#

if you want to inherit it, you don't need to know that either

#

if you want to edit it, you don't need to know that either

#

so I have no idea what you need that for

outer sapphire
#

that for example πŸ˜ƒ

grand zinc
nimble sequoia
#

How do you prevent a vehicle with a large gun (howitzer type) from recoiling - moving backwards?

untold temple
#

muzzleImpulseFactor

nimble sequoia
#

Cheers πŸ‘

#

@untold temple I tried muzzleImpulseFactor[] = {0, 0}; in the CfgAmmo shell definition, but the vehicle still flings backwards (dramatically) on firing. What did I miss?

#

Does it need to go in cfgMagazines as well maybe?

#

yes - putting it in magazines fixes the problem

toxic solar
#

is there anything special I have to do if I want to have my own config variable? like for example in ACE3 there is

ACE_caliber
``` for cfgAmmo,
grand zinc
#

no

#

also they are called entry not variables. We had a huge confusion about that recently on BIF.
If you add an entry, you've added it and can read it via script

hard chasm
#

my code calls them entries, my documentation calls them properties 😎

#

and yes, it's deadly to think of them as variables because they are baked in constants that can't be changed only read.

grand zinc
#

Okey yeah. I also differentiate like that. Entry is anything, properties are just values. So a class is also a entry but not a property

livid heath
#

is there any way to get diag.exe to compile macros?

#

or is it simply impossible?

livid heath
#
#define CONT(n)        containerClass = "Supply##n##";\
            mass = 10+(n/4);```
#

this is throwing badvehicletype supply##n##

#

when i patch a unit config that is wearing a vest that has this macros enabled on it

grand zinc
#

Why diag exe? should be same everywhere

livid heath
#

in diag.exe

grand zinc
#

I'd say
#define QUOTE(x) #x
containerClass = QUOTE(Supply##n)
What are these ## at the end ? They shouldn't be there

livid heath
#

ooh does QUOTE add quotes around the string?

grand zinc
#

yes

#

OH

#

I see

livid heath
#

thanks a lot for that, that was why i was adding the extra ##

grand zinc
#

Macros aren't evaluated inside double quotes

#

but they are inside single quotes

#

So you are using double quotes. Preprocessor just says "Hey, a string! I don't need to do anything! let's skip ahead till the end of the string"

livid heath
#

i tested the compiled pbo, and the config looked fine

#

using pboproject

grand zinc
#

And I think I found a armake bug.. Not sure if it ignores macro parameters inside double quoted strings.. Probably doesn't

livid heath
#

butthat may do some fancy binarizing

#

so maybe because im using diag.exe tocompile instead of pboproject we're seeing different behaviour

#

so what should i use?

#
#define QUOTE(x) #x
containerClass = QUOTE(Supply##n)```
grand zinc
#

ideally pboproject should comply with what Arma does

livid heath
#

or maybe

grand zinc
#

Yeah use QUOTE macro

#

Don't try to mess around with quotes and hope it works

livid heath
#

sorry im confused by your macro

#
#define CONT(n)        containerClass = "Supply##n##";\
            mass = 10+(n/4);```
#

this is mine right now

#

what should i change it to?

grand zinc
#

Yeah I mean just replace thenow quoted thing with my QUOTE thing

#

Btw thanks. I found a bug in armake. I guess mikero might be making the same mistake

livid heath
#

pboproject compiles my macro perfectly

#

but using diag.exe it breaks

grand zinc
#

Yeah it shouldn't work. Stuff inside double quotes shouldn't be evaluated @hard chasm

livid heath
#

um

hot pine
#
            mass = 10+(n/4);```
grand zinc
#

I mean if you have free time. Try out single quotes. That should work in diag.exe too. Just to confirm that

#

Or just take the easy way πŸ˜„

#

The ## at the end is not needed. The semicolon isn't a valid macro name char anyway, it will stop there

livid heath
#
#define WIN_OPEN_ACTION(n) class Open_##n##: Open_window_01\
            {\
                position = "axis_##n##_support_01";\
                condition = "((this animationPhase '##n##') < 0.5) && (cameraOn isKindOf 'CAManBase')";\
                statement = "this animate [""##n##"", 1];  this animate [""##n##_support_01"", 1]; this animate [""##n##_support_02"", 1]";\
            };\
            class Close_##n##: Close_window_01\
            {\
                position = "axis_##n##_support_01";\
                condition = "((this animationPhase '##n##') >= 0.5) && (cameraOn isKindOf 'CAManBase')";\
                statement = "this animate [""##n##"", 0];  this animate [""##n##_support_01"", 0]; this animate [""##n##_support_02"", 0]";\
            };
//WIN_OPEN_ACTION(window_02)```
#

also compiles and functions perfectly

grand zinc
#

Though I personally prefer not do trust the safety net of the preprocessor catching me when I don't properly quote things

hot pine
#

I would also use __EVAL on that mass like
mass = __EVAL(10 + (n/4));

grand zinc
#

use single ` not triple if you have it in a single line

#

Well... πŸ˜„

#

I would also use __EVAL on that mass like mass = __EVAL(10 + (n/4));

hot pine
#

damn markdown

livid heath
#

ok so

#
#define CONT(n)        containerClass = Supply##n;\
            mass = __EVAL(10+(n/4));
#

any advice on my window animations above? they use a lot of nested strings

grand zinc
#

I'd say use QUOTE and ' if you need strings inside strings

#

You are already using ' at some places. But mix it together with "" in other places. Just choose one and stay consistent

livid heath
#

so maybe like this?

#
#define WIN_OPEN_ACTION(n) class Open_##n: Open_window_01\
            {\
                position = axis_##n##_support_01;\
                condition = '((this animationPhase ''##n'') < 0.5) && (cameraOn isKindOf ''CAManBase'')';\
                statement = 'this animate [''##n'', 1];  this animate [''##n##_support_01'', 1]; this animate [''##n##_support_02'', 1]';\
            };\
            class Close_##n: Close_window_01\
            {\
                position = axis_##n##_support_01;\
                condition = '((this animationPhase ''##n'') >= 0.5) && (cameraOn isKindOf ''CAManBase'')';\
                statement = 'this animate [''##n'', 0];  this animate [''##n##_support_01'', 0]; this animate [''##n##_support_02'', 0]';\
            };
//WIN_OPEN_ACTION(window_02)```
grand zinc
#

Eww. that makes it even worse πŸ˜„

livid heath
#

i removed all the "

#

and the extra ##

#

and used only ' or double '

grand zinc
#
#define WIN_OPEN_ACTION(n) class Open_##n: Open_window_01\
            {\
                position = QUOTE(axis_##n##_support_01);\
                condition = QUOTE(((this animationPhase 'n') < 0.5) && (cameraOn isKindOf 'CAManBase'));\
                statement = QUOTE(this animate ['n', 1];  this animate ['n##_support_01', 1]; this animate ['n##_support_02', 1]);\
            };\
            class Close_##n: Close_window_01\
            {\
                position = QUOTE(axis_##n##_support_01);\
                condition = QUOTE(((this animationPhase 'n') >= 0.5) && (cameraOn isKindOf 'CAManBase'));\
                statement = QUOTE(this animate ['n', 0];  this animate ['n##_support_01', 0]; this animate ['n##_support_02', 0]);\
            };
//WIN_OPEN_ACTION(window_02)
#

Now you don't need any double ' anymore

#

The QUOTE macro will turn this into a "string" once all internal macros are resolved

livid heath
#

#define QUOTE(x) #x

#

so also this macro goes above all my macros?

grand zinc
#

yeah

#

CBA/ACE use that everywhere

livid heath
#

well i guess i have a lot of rewriting to do damn

#

thanks!

grand zinc
#

As I said, the config parsers fallback that it treats everything as string that it can't understand is nice, but I personally wouldn't trust the safety net.

#

So yeah. You could leave the QUOTE away on the position but I'd personally just won't

livid heath
#

glad i asked now, seemed like just a diag.exe issue

grand zinc
#

diag.exe should have exact same preproc as normal Arma

#

might just be mikeros that's different (armake has the same "bug")

livid heath
#

yeah which i dont use lol. i only use pboproject

#

ok one clarification

#
containerClass = QUOTE(Supply##n)```
#

what about the ;

#
#define QUOTE(x) #x
#define CONT(n)        containerClass = QUOTE(Supply##n);\
            mass = __EVAL(10+(n/4));```
#

does that look right?

grand zinc
#

yeah

hard chasm
#

Stuff inside double quotes shouldn't be evaluated @hard chasm
i am unware of ever NOT following that rule

#

nothing "between quotes" is ever decoded futher

#

"axis_##n##_support_01";\

unless I have an undocumented feature, the ## would never be detected

grand zinc
#

Well your tools seem to work in this case. So something has to be happening here

#

Yes confirmed
Input:

#define testMacro(n) "test##n"


var = testMacro(5);

Through your Rapify and your Debin
Output:
var = "test5";
Should be
var = "test##n";

#

Armake has the same bug currently. When finding occurences of parameters in the marco value it doesn't check for doublequotes

Rapify.exe v6.33.0.1
DePbo v6.44.0.1

livid heath
#

my configs were compiling and working fine, in pboproject. i only received the badvehicletype error when i used diag_exe to recompile the config on the fly. atthat point i guess the macro broke, due to the quotes

#

am using pboproject 2.36, haven't updated tools in a month or so

grand zinc
#

I'm on 2.24 haven't updated in over a year ^^

hard chasm
#

var = "test5";

as far as I am concerned i now have a bug

#

thank you for the heads up

#

@livid heath , diag.exe will be interpreting it correctly, which means you will get errors with anything "blah##"

#

fix coming soon, and you need to edit your #defines to remove the innappropriate "quotes"

livid heath
#

done thanks mate

#

u maybe might expect a lot of sudden - "hey my macros stopped working" after the fix is out πŸ˜‰

hard chasm
#

😊

grand zinc
#

So.. Two bugs found and fixed in one week πŸ˜„
Gotta keep that average >1 per week πŸ˜„
Next week will be hell

hard chasm
#

that. at least. keeps up with my updates to the dll of 1/week for past 10 years.

livid heath
#

ok next question of the day. what animationsource is best to use on a helicopter that has wheel dampers, like the Huron?

#

as altradar causes it to bounce on the USS freedom. and altsurface doesn't seem to work at all.

#

i could try creating custom animsources like jets have, but configviewer shows the Huron does not use any custom damper sources

#

sample model has

#
            class gear1
            {
                type="rotation";
                source="altSurface";
                selection="gear1";
                axis="gear1_axis";
                memory=1;
                minValue=0.000000;
                maxValue=0.300000;
                angle0=0;
                angle1=-0.4;
            };
            class gear2
            {
                type="translation";
                source="altSurface";
                selection="gear2";
                axis="gear2_axis";
                memory=1;
                minValue=0.000000;
                maxValue=0.300000;
                offset0=0;
                offset1=-0.4;
            };
livid heath
#

wiki says this

#

altSurface(A3) Altitude above land surface (ignoring water). Usable for wavebreakers on amphibious vehicles or possibly water depth indicators for ships. CarX + ?

worthy beacon
#

Hi
Is it possible to configure a heli like a VTOL plane that move on wheels on the ground and can fly when hiting a defined button?

toxic solar
#

What part of it would be a helicopter then?

livid heath
#

got my CH53 dampers sorted, so they don't constantly vibrate on the carrier deck

#

took ages adjusting the size of the damper axis by 1cm increments til it worked

#

wish i had some understanding of why it oscillates up and down

#

when i cut the axis from 16cm to 10cm it miraculously works like a dream

#

then did the exact same animation on the huey skids, and... it shakes itself to destruction...

#

i don't understand why the value input of altsurface would change when you're parked on the carrier deck

#

it seems to wildly vary

#

causing the dampers to pump like a piston on crack

#

they work perfectly on terrain

strange egret
#

maybe contact with roadway is updated at different (lower) time intervall compared to terrain

#

if its updated at low intervall maybe a force pushes at update, then does nothing, then updates again. If update frequency is near eigenfrequency of the spring dampers, it results in resonance -> shaking to death

livid heath
#

well, it's a helicopter so it doesn't have any physx dampers

#

afaik

#

it only has a simple damper animation that is changingthe height of the geometry, based on the altsurface source value

#
            class Damper_left
            {
                type = "translation";
                source = "altSurface";
                sourceAddress = "clamp";
                selection = "damper_rear";
                axis = "damper_rear_axis";
                minValue = -0.06;
                maxValue = 0.06;
                offset0 = 1;
                offset1 = 0;
            };
            class Damper_right: Damper_left
            {
                selection = "dampers";
                axis = "damper_axis";
            };```
#

that's all there is to it

#

each skid has its own axis and selection

#

what i'm not understanding is what value altradar delivers to this animation

#

it looks like this basically

livid heath
#

seems to have fixed it by removing the damper selections from the geometry and roadway lods

livid heath
#

seems to me that it's something to do with the maths. like the distance the damper moves (axis points are 10cm apart) and the min and max value of the altsurface source value (-6cm to +6cm)

#

so when it lands, somehow the animation goes into a perpetual loop

#

I fixed it by removing the damper selections from geo and landcontact

#

but that feels like a cheat, as now the dampers won't actually protect the helicopter.

#

would love to hear some good advice on this problem! thanks!

#

it causes 2 critical issues ```
1/ player can bestuck in helicopter, unable to get out
2/ helicopter can damage itself or bounce across the deck, if left unattended

and 2 minor issues
1/ helicopter is flickering constantly - visual
3/ helicopter is animating constantly - performance

strange egret
#

why do you think this animation would protect the helicopter? What you are doing is just telling the system to "raise gear a little up". You control the position based on position. There is no dampening here, it's not force driven. If you land too hard this animation should have no impact whatsoever to the collision damage. It's 100% visual eyecandy only.

#

therefore it's not exactly a cheat if you leave it out of roadway and geo

#

if you look closely in your video, landing on normal terrain doesnt look 100% smooth either (the animation)

strange egret
#

wouldnt surprise me if planes are hardcoded to not float

steep pawn
#

What is the selection name to define where a holstered pistol would go in a custom uniform model? I originally thought it was just the pistol_holstered proxy but that seems to be doing nothing

untold temple
#

I think they only work on vests, not uniforms

steep pawn
#

Well even in the case of a vest how could I sort that out? Tried doing it both ways but it just doesn't show

#

Should it be a proxy or just a selection called something?

#

Tried looking on the forums and google but couldn't seem to find anything definitive

untold temple
#

seems not. Just needs a proper path to \A3\Characters_F\Proxies\pistol_holstered

#

needs to be weighed to the vest model though

steep pawn
#

Got it like that atm

untold temple
#

and is it weighed to the same body part as the holster mesh?

steep pawn
#

I have no idea how to do that, first time properly experimenting with uniforms & vests

steep pawn
#

I've had a look at some of the default p3ds for A3 like the carrier rigs, as far as I can tell I have done the exact same but it won't show

sacred canopy
#

Hello, I'm playing around with the eden attributes. But i can't get it to work like i want. So I want an attributes category which holds subcategories which have checkboxes inside (Even better would be a multiselect listbox). How would I do this? I'm a little bit confused about the attributes thing.

sick zephyr
#

The "eye" and "eye_look" points are added to memoryLOD

strange egret
#

you dont have a class OpticModes with classes in it. I defined my Ironsight also as opticmode, just without optic model or vision mode

untold temple
#

also need a view Pilot LOD

sick zephyr
#

It's an infantry weapon though

#

it has a pilotLOD

#

I mean the files I'm basing on don't have a an OpticModes class

#

I've tried implementing such class but didn't work

#

one thing I've observed is that on right-click the weapon stops this idle movement so looks like it's technically in optics mode, yet the camere stays in the same spot

hearty sandal
#

absolutely sure the memorypoint names are right?

sick zephyr
untold temple
#

You don't have class OpticsModes {

#

all the view stuff should be in one of those rather than the body of the weapon

toxic solar
#

hello, so im tryna make my own grenade but its not showiing up in the grenade section in vritual arsenal. If I look in the all magazine section I can see my grenades mag there so im assuming my cfgMagazine and cfgAmmo are working and its my cfgWeapons thats an issue ,this is what I have so far

cfgWeapon

class CfgWeapons
{
    class ThrowMuzzle;
    class HandGrenadeMuzzle: ThrowMuzzle
    {
        displayName = "Namenai Grenade weap";
        magazines[] = {"HandGrenade","HandGrenade_Namenai"};
    };
    
};
#

cfgMagazine

class CfgMagazines
{    
    class CA_Magazine;
    class HandGrenade_Namenai: CA_Magazine
    {
        author = "Bohemia Interactive";
        mass = 10;
        scope = 2;
        value = 1;
        displayName = "Namenai test nade mag 2";
        picture = "\A3\Weapons_F\Data\UI\gear_M67_CA.paa";
        model = "\A3\Weapons_f\ammo\Handgrenade";
        type = 256;
        ammo = "GrenadeHand";
        count = 1;
        initSpeed = 18;
        nameSound = "handgrenade";
        maxLeadSpeed = 6.94444;
        descriptionShort = "Type: Defensive Grenade<br />Rounds: 1<br />Used in: Hand";
        displayNameShort = "RGO Grenade";
    };
};
#

and cfgAmmo

class CfgAmmo
{
    class Grenade;
    class GrenadeHand_Namenai: Grenade
    {
        hit = 8;
        indirectHit = 8;
        indirectHitRange = 6;
        dangerRadiusHit = 60;
        suppressionRadiusHit = 24;
        typicalspeed = 18;
        model = "\A3\Weapons_f\ammo\Handgrenade";
        visibleFire = 0.5;
        audibleFire = 0.05;
        visibleFireTime = 1;
        fuseDistance = 0;
        ace_frag_enabled = 1;
        ace_frag_skip = 0;
        ace_frag_force = 1;
        ace_frag_classes[] = {"ace_frag_tiny_HD"};
        ace_frag_metal = 210;
        ace_frag_charge = 185;
        ace_frag_gurney_c = 2843;
        ace_frag_gurney_k = "3/5";
    };

    
};
``` any ideas what im doing wrong?
grand zinc
#

you need to add it to the throw weapon

#

you created a magazine and the ammo, But your weapon (your hand) cannot load that magazine

#

need to use magazines[] += ...

#

you should be able to find that in ace

#

look at flashbang or frags ace component. They should have a cfgWeapons with what you need

toxic solar
#

oh is that wat the big list of grenade muzzels is?

outer sapphire
#

hello, i have a model without geometry and roadway. I defined that to weaponholder. But is no any actions on created weaponholder

#

any idea?

toxic solar
#

so its all 1 weapon with a lot of mags?

grand zinc
#

yes

#

actions?
What did you inherit from @outer sapphire
geo lod has mass and is convex?

outer sapphire
#

when i use another model - i see inventory action

toxic solar
#

oooff,aye thx ill go do that

grand zinc
#

I wonder if grenade throw weapon can use magazineWells.... @hot pine if it doesn't.. That might be a very good idea wouldn't it?

outer sapphire
#

@grand zinc that my config.

#
    class GroundWeaponHolder: WeaponHolder
    {
        author="$STR_A3_Bohemia_Interactive";
        mapSize=5.1799998;
        _generalMacro="GroundWeaponHolder";
        model = "TheranosStart\obj\box\InvBox.p3d";/*"\A3\Structures_F\Civ\Market\Sack_F.p3d";*/
        scope=2;
        class EventHandlers
        {
            init = "[_this select 0] spawn {waitUntil {(((_this select 0) nearEntities [""Man"", 10]) isEqualTo [])}; deleteVehicle (_this select 0);};";
        };
    };```
#

about model - i used backpack base for my model

grand zinc
#

So you are editing the original one.
is your requiredAddons correct?
And what about my other questions?

outer sapphire
#

yes

grand zinc
#

backpack probably has no geo lod I'd say

#

again. does your geo have mass and is it convex?

outer sapphire
#

but backpack have inventory action

grand zinc
#

No

outer sapphire
#

on scroll

grand zinc
#

they are put into a weaponholder on ground

outer sapphire
#

no, when i use for backpack model for weaponholder

grand zinc
#

If you have time till tomorrow evening (in 17 hours) send me your p3d that you are trying. i have the ground weapon holder p3d laying around somewhere. I'll try to check what's missing. But I have to sleep now

outer sapphire
#

thank you!

grand zinc
#

Just remind me. I tend to forget things quickly

hard chasm
#

old age does that

outer sapphire
#

kk, thank you again! have a good night

toxic solar
#

the grenade now workz thx dedmen

toxic solar
#

is setting a grenades simulation type to

simulation = "shotShell";

the only way to make it so the grenade detonates on impact?

toxic solar
#

So i ve noticed that if for a grenade I set

initSpeed = 32;

The grenade shows up in arsenal in the grenade section but isnt throwable
but if I did

initSpeed = 28;

the grenade is throwable, any ideas why?

nimble sequoia
#

What is the fix for this rpt error? Dimensions in class <className> should be an array of size 2

hard chasm
#

1,2,4,8,16

#

where's this coming from me , addon breaker or, binarise?

stoic lily
#

from reyhard

only way to "fix" it right now is by adding ViV memory points for transport
VehicleTransport->Cargo->Dimensions```
#

@nimble sequoia best to ignore

grand zinc
#

@toxic solar the only way to make it so the grenade detonates on impact
Can look into what 40mm grenades do...
Okey they use shotShell too.

toxic solar
#

Yea thats wat i did,it ended up working nicely

#

But i noticed

#

if the initspeed=30 in cfgMag was greater then 30 then there would be no throwing animation

#

and if less then 30 then there was a throwing animation

#

which makes it hard cause im tryna make a spear XD

#

and wat I saw with grenades that are simulated as normal grenades is that they can have initspeed greater then 30 and still have a throwing animation

#

thats why I wanted to see if there was another way to make a grenade detonate on impact

livid heath
#

random question ofthe day. if i have a sandbag bunker, earth slope on one side, sheet metal on the inside wall, in the fire geo, this is one triangular component. can i apply sheet metal rvmat on the inside wall face, and hard dirt rvmat on the outer slope - both on the same component?

#

or do i need to make a separate component for each rvmat applied in fire geo?

livid heath
#

i'm guessing adding materials only to faces will give me the different bullet impacts desired, but will it bork the penetration calculation for the component?

grand zinc
#

I would assume the penetration is calculated based on the material that the bullet goes into. So the material on the input facing side.
Meaning things like (you can shoot from outside in, but not inside out) could happen

hearty sandal
#

πŸ‘† how I see it too

grand zinc
#

Okey. It intersects in bullet direction. And takes the surface of all faces that it intersects.
So the first face will definitely get it's penetration simulated.

Question is if the backface of the second face also counts...
Yes it does.. Generates a entry and a exit collision.
Okey yes. It only uses the minimum collision. Aka the closest one in direction of travel.

It will simulate the bullet till it leaves the object again. At that point it's gone through. And it will not recheck the exit face.
So yes. What I wrote above.

Of course I could be making mistakes here. Trying goes over Studying! πŸ˜„

nimble sequoia
#

Thanks @stoic lily.

dusty relic
#

bit of a weird one, is there a way to inherit subclasses, for example
class CfgVehicles { class LandVehicle; class B_MRAP_01_hmg_F; class new_mrap: B_MRAP_01_hmg_F { class Turrets class MainTurret { weapons[] = {"new_hmg"}; magazines[] = {"new_200Rnd_127x99_mag_Tracer_green"}; }; }; }; };
at "class MainTurret" has all the information from the original config intact, but all the classes included are removed, is there a way to get around this aside copy-pasting all the information?
cheers

stoic lily
#

@dusty relic you need to replicate the structure of the parents until all sub levels are resolved

#

and you need to do class Turrets: Turrets and class MainTurret: MainTurret

#

best check some mods like RHS/ACE/IFA3 for reference

dusty relic
#

ah, okay, thanks kju, ill look in to it!

hard chasm
#

kju is 100% on the money. Hopefuilly not to confuse you:

class LandVehicle and class B_MRAP_01_hmg_F;
are known as template definitions. They describe the class(es) and where necessary, the subclasses of those classes.
this makes your template classes imediately wrong because it's
class LandVehicle;
class B_MRAP_01_hmg_F:LandVehicle
{
class MainTurret;
};

you< then must inherit later from

    class MainTurret : Mainturret{.....
dusty relic
#

so, interestingly that worked, (not that I doubted you guys) but I'm sure I've done that before and i've had a random new seat and passenger appear with messed up animations.. any insight to that would be greatly appreciated, but you've absolutely fixed this current issue, thanks guys!

hard chasm
#

same rules apply, if you say

class anything
{
anywhere in your subclasses
you better make damn sure there is no
class anything: something{}; in an inherited config

#

// actually, even just a class anything in an inherited chain will destroy you

simple trout
#

How do you make a mod override or update an existing mod? Is it the patch thing?

grand zinc
#

make sure it loads after the original

#

requiredAddons

simple trout
#

well crap. I want to make it where if someone uses my uniform mod it overwrites the uniforms in my USM mod

#

without requiring my usm mod

sick zephyr
#

here's the config with the opticsmodes

#

I think it's unnecesary tbh, most launcgers with iron sights don't use it

#

none of them actually in IFA3

#

it also doesn't work

#

for anyone intrested: a custom aluncher on right-click goes into aiming mode (weapon held up, no running), yet the viewpoint doesn't move to look through the iron sights

#

there IS a pilotvievLOD

#

ther ARE eye and eye_look points added to memoryLOD

sick zephyr
#

apparently fix lies somewhere in those lines: lockAcquire = 0; modelOptics = "-";

hearty sandal
#

you modeloptics cant be -

sick zephyr
#

yet it works

#

😭

hearty sandal
#

you should have rpt error of "-" not found

#

what modeloptics did you use before?

sick zephyr
#

none

#

just like on any infantry weapon with iron sights

#

it also works now without any modeloptics

nimble sequoia
#

Actually vanilla A3 has entries of modeloptics = "-";. Check out class UGL_F.

hearty sandal
#

UGL_F is the underbarrel grenade launcher baseclass

#

class EGLM: UGL_F
            {
                displayName = "GLM";
                useModelOptics = 0;
                useExternalOptic = 0;
                cameraDir = "OP_look";
                discreteDistance[] = {50, 100, 150, 200, 250, 300, 350, 400};
                discreteDistanceCameraPoint[] = {"OP_eye_50", "OP_eye_100", "OP_eye_150", "OP_eye_200", "OP_eye_250", "OP_eye_300", "OP_eye_350", "OP_eye_400"};
                discreteDistanceInitIndex = 1;
                reloadAction = "GestureReloadSPARUGL";
                reloadMagazineSound[] = {"A3\Sounds_F_Exp\arsenal\weapons\Rifles\SPAR01\SPAR01_UGL_reload", 1, 1, 10};
            };```
#

when incorporeted into a weapon stuff like this gets added

#

but there seems to be parameter useModelOptics = 0; which likely is the reason UGLs dont need modeloptics

#

from the alamut RPG

            modelOptics = "\A3\Weapons_F\acc\reticle_RPG_F";
            weaponInfoType = "RscWeaponEmpty";
            opticsZoomMin = 0.1083;
            opticsZoomMax = 0.1083;
            opticsZoomInit = 0.1083;
            cameraDir = "look";
            
            class OpticsModes
            {
                class optic
                {
                    opticsID = 1;
                    useModelOptics = 1;
                    opticsZoomMin = 0.1083;
                    opticsZoomMax = 0.1083;
                    opticsZoomInit = 0.1083;
                    distanceZoomMin = 300;
                    distanceZoomMax = 300;
                    memoryPointCamera = "eye";
                    opticsFlare = 1;
                    opticsDisablePeripherialVision = 1;
                    cameraDir = "look";
                    visionMode[] = {"Normal", "NVG"};
                    opticsPPEffects[] = {"OpticsCHAbera1", "OpticsBlur1"};
                };
            };```
#

it has modeloptics yes and the optics class has useModelOptics = 1;

#

so @sick zephyr does your optics class have modeloptics = X parameter

sick zephyr
#

modelOptics = "-";

#

that's how it looks

#

and it works all good

hearty sandal
#

πŸ‘Œ

#

you may then have useModelIOptics = 0 there from inheritance or by accident or its a default value

wild pasture
#

@grand zinc
Have you tried building a config similar to the one you posted here https://discordapp.com/channels/105462288051380224/122121444703338496/518374047445155840 with CfgConvert/Addon Builder? It builds correctly with pboProject, but CfgConvert/Addon Builder throw an error and I'm not entirely sure why.

#define QUOTE(x) #x        
#define TEST(DOOR1,DOOR2)\
                statement = QUOTE([this, DOOR1, 0] call BIS_fnc_Door; [this, DOOR2, 0] call BIS_fnc_Door;);

class Test {
    TEST(1,2)
};
hard chasm
#

well crap. I want to make it where if someone uses my uniform mod it overwrites >the uniforms in my USM mod
without requiring my usm mod

if someone can explain the logic of wanting to patch a pbo, but doesn' t want the pbo to be there to patch, i'm fascinated with the answer.

in any case, the answer i simple. don't don't supply the patch!!!

grand zinc
#

@wild pasture you aren't using latest version of mikeros tools

#

Wait no. Different error

#

Ah!

#

@hard chasm's error too it seems?
You cannot "use" commas inside macro arguments

#

You are trying to call the QUOTE macro with the arguments:
1: [this
2: DOOR1
3: 0] call BIS_fnc_Door; [this
4: DOOR2
5: 0] call BIS_fnc_Door;

You are trying to call QUOTE macro with 5 arguments. But the QUOTE macro only takes one argument. Thus it fails to resolve that macro.
If mikeros tool does that properly, it's an error

#

You have to do something like this

#define ARR_3(a,b,c) a,b,c
#define QUOTE(x) #x        
#define TEST(DOOR1,DOOR2)\
                statement = QUOTE([ARR_3(this, DOOR1, 0)] call BIS_fnc_Door; [ARR_3(this, DOOR2, 0)] call BIS_fnc_Door;);

class Test {
    TEST(1,2)
};

#

Or instead

#define TEST(DOOR1,DOOR2)\
                statement = '[this, DOOR1, 0)] call BIS_fnc_Door; [this, DOOR2, 0] call BIS_fnc_Door;';

class Test {
    TEST(1,2)
};
wild pasture
#

Thanks, the first one worked but the second one still threw an error

grand zinc
#

wut πŸ€”

#

OH

#

[this, DOOR1, 0)] derp

wild pasture
#

Yeah I saw that and removed it, but there is still an error

grand zinc
#

awww ._.

lofty zealot
#

You cannot "use" commas inside macro arguments i say you can
but you need to think different:

#define COMMA ,
#define Magic(A) A
Magic([1 COMMA 2 COMMA 3])

i mean ... it looks 100% braindead ... but it works 🀷

grand zinc
#

looks worse than the ARR trick

#

also. That falls under what the "" around the use mean

lofty zealot
#

i do know that πŸ˜„

#

still wanted to point this explicitly out

grand zinc
#

#define , , πŸ€”

lofty zealot
#

should not work in theory

#

and practically that will break literally all macros if it does

grand zinc
#

nope. Is not a "word" character

#

Not sure if armake checks that πŸ˜„

lofty zealot
#

#define C , also is an option though

#

if armake is using bison and yak for the parser and it was not configured braindead, it does

grand zinc
#

for the parser yes

#

not preproc

lofty zealot
#

hah
that then could be troublesome

compact storm
#

is there a way to install some kind of intercom in arma 3's task force radio?

grand zinc
#

Yes

#

Just use TFAR 1.0

#

done.

compact storm
#

what about newer versions

grand zinc
#

?

compact storm
#

what about newer versions of tfar

grand zinc
#

I don't understand the question?

compact storm
#

how is me, myself and i able to use any or some kind of vehicular intercoms in which we use our human voice to communicate with other beings inside a vehicle with the lastest version of task force arrowhead radio?

grand zinc
#

you just get into a vehicle that supports intercom..

#

And that's it.

#

It's enabled by default

#

Also I don't see the relation to #arma3_config? You want to add intercom support to a vehicle via config?

north sluice
#

so when you run over people in arma it dosnt kill them, is there a way to increase the damage done from this?

opal crater
#

Its not via config tho.

gritty rune
#

anyone know how to fix airplanes that taxies weirdly in one direction, but not the other? E.g. the A-4 in Unsung turns right nicely, but when turning left it slows down (like on a brake) and wiggles back and forth. For the A-6 it's the opposite, left turns nicely, right weirdly.

pallid snow
#

To change the display name of the sub category of a faction you use cfgVehicleClasses right?

#

With a vehicleClass = "vehicleClassName";on, in my case, the base class of each unit

#

Or am I missing something

hot pine
#

@gritty rune duplicate front or rear wheel (single one)

#

Physx will always use at least 2 wheels for steering

gritty rune
#

@hot pine thanks, I'll give it a try. I hope duplicating the wheel in model is good enough

hard chasm
#

thought i'd add some words about about sqX doors but since the language has been consigned to history's shitbucket ... we may not have to endure it much longer.

#

it was first concieved and only used (initially) and only intended for use in cwc for camera control. It contiinued on to poison the careers of some talented ofp bis-devs.

hard chasm
#

a 'better' way of quoting btw to deal with bis is:

#define QT "

#define THINGY(one,two,three) QT whatever.... QT

#

and fyi: the quotes themselves are not placed in the final, binarised, output, they are merely there to prevent the pre-processor from interpreting the string after it has been preprocessed

fresh steeple
#

@mossy scaffold can you do init-script-removing without having to make a mod?

mossy scaffold
#

@fresh steeple At least in vanilla I believe that careful init scripting allows this

fresh steeple
#

Interesting. Might be what we are already using.

mossy scaffold
#

After all, if you for example wanted to make a mission where you start in/exclusively play as the crew of a guns-only Cheetah/Tigris, no respawn, then you could just plop the weapon/magazine removal commands into the planted-down vehicle's init field

hoary delta
#

Can NVGoggles type items have Camo selection?

grand zinc
#

sure

hoary delta
#

Can you tell me any example classname to look into config? Now i has texture mess each time i'm adding

hiddenSelections[] = {"camo"};
hiddenSelectionsTextures[] = { "dzn_headgear\data\head1_co.paa" };

to class body or to ItemInfo sub-class. Same model but in CfgGlasses class working ok with camo selection

hot pine
#

...sure they can't πŸ˜‰

grand zinc
#

wut? Really not?

hot pine
#

multi proxy

grand zinc
#

🀦

hoary delta
#

TRYK has separate model for each color scheme

#

vanilla NVGs too

hot pine
#
                uniformModel = "A3\weapons_f\binocular\nvg_proxy_INDEP.p3d";
                modelOff = "A3\weapons_f\binocular\NVG_proxy_off_INDEP.p3d";```
hoary delta
#

@hot pine much scienes, can you share some manual?

hot pine
#

?

grand zinc
#

Same thing for helmets? Or do they happen to work?

hot pine
#

helmets doesn't have modelOff

#

they can be retextured via cfg

hoary delta
#

?
nevermind, sorry :3

they can be retextured via cfg
Where should i place hiddenSelections lines - in class body or in ItemInfo?

hot pine
#
class rhs_fieldcap : H_HelmetB
{
    Author_Macro
    INVENTORY_PICTURE(rhs_fieldcap)
    dlc = "RHS_AFRF";

    STANDARD_FACEWEAR_MACRO

    displayName = "$STR_RHS_FIELDCAP_NAME";

    model = "\rhsafrf\addons\rhs_infantry\gear\head\rhs_fieldcap";

    hiddenSelections[] = {"Camo1"};
    hiddenSelectionsTextures[] = {"rhsafrf\addons\rhs_infantry\data\6b27_co.paa"};

    descriptionShort = "No Armor";
    class ItemInfo : HeadGearItem
    {
        hiddenSelections[] = {"Camo1"};
        mass = 5;
        uniformModel = "\rhsafrf\addons\rhs_infantry\gear\head\rhs_fieldcap";
        allowedSlots[] = {801,901,701,605};
        modelSides[] = {6};
        class HitpointsProtectionInfo {
            class Head
            {
                hitpointName = "HitHead";
                armor = 0;
                passThrough = 1;
            };
        };
    };
};```
#

if I remember correctly hiddenSelections need to be both in itemInfo & main class

hoary delta
#

hmm... will try, thanks!

hoary delta
#

yeah, itemInfo + main worked! Thanks!

Additional small question: If i have class

class myClass1: H_HelmetB
{ 
    class ItemInfo: HeadgearItem
    {
        ...
     };
};

and i want new class inherited from myClass1 but with litle changes in ItemInfo - it should be like this?

class myClass2: myClass1
{
    class ItemInfo 
    {
         // different hiddenSelectionTexture
     }
};
grand zinc
#

no you also need inheritance for ItemInfo

#
class HeadgearItem;
class myClass2: myClass1 {
    class ItemInfo : HeadgearItem {
         // different hiddenSelectionTexture
     }
};

that should be enough

hoary delta
#

great. Thanks a lot!

pallid snow
#

Question :D
Getting some problems with my vehicleClass not working.

I'm including it from another file (for organising as there are lots of factions and such)

class cfgVehicleClasses {

    #include "cfgVehicleClasses\Viking_PMC.hpp"

};

my related issue is:

class ODIN
{
        displayName = "ODIN";
};

and

class B_Soldier_F;
class B_Soldier_F_OCimport_01 : B_Soldier_F { scope = 0; class EventHandlers; };
class B_Soldier_F_OCimport_02 : B_Soldier_F_OCimport_01 { class EventHandlers; };

class B_VKN_OPERATOR_PMC_01 : B_Soldier_F_OCimport_02 {

    author = "Curious";
    scope = 2;
    scopeCurator = 2;
    side = 1;
    FACTION = "B_VKN_PMC_ODIN";
    vehicleClass = "ODIN";

    displayName = "Operator";
etc.

It still takes the vehicleClass from the inheritance from B_Soldier_F. Any suggestions?

quasi sonnet
#

vehicleClass = ODIN; should fix it

pallid snow
#

Nope still not working

quasi sonnet
#

Ok it have to be a string, but this should work. Are you sure the VehicleClass exist?

pallid snow
quasi sonnet
pallid snow
quasi sonnet
#

When i don't have any idea sry

pallid snow
#

Alright

#

Anyone else?

hearty sandal
#

is your mod loaded after the one that adds ODIN? (required addons in cfgpatches?) do you use right editor categories?

pallid snow
#

It's all in the same PBO

hearty sandal
#

oh ok, I understood it was external mod you were creating and addon to.

pallid snow
#

I have like 6 or so different factions, so I broke it down into a folder structure and use includes.

#

but yeah

#

It's really weird

hearty sandal
#

so where did the class not work?

#

in eden?

pallid snow
#

Yeah

#

Oh I didn't even think to check Zeus

#

Is it different in Eden and Zeus?

hearty sandal
#

can you create the unit with script?

#

Eden and zeus lists are different I think yes

pallid snow
#

Didn't display in Zeus either

#

what command do you want me to try, createUnit?

#

Using createUnit works perfectly fine

pallid snow
#

I do get this error 0:29:36 Warning Message: No entry 'bin\config.bin/CfgVehicles/CBA_Extended_EventHandlers_base.scope'.

pallid snow
grand zinc
#

Depreciated oof πŸ”§

hard chasm
#

yes, cfgVehicle classes is not usable in the 3den editor. you need to migrate to
cfgEditorCategories & cfgEditorSubCategories

#

there's plenty enough examples to look at in almost any (model) config.cpp

#

I don't praise Bis too often, especially when they move goalposts on us, but this was a necessary and good re-structure, long overdue.

stoic lily
#

cfgVehicleClasses is still relevant for other use cases though

hard chasm
#

on the 2d map, yes

stoic lily
#

also for scripting

#

and other systems that rely on that

tight bear
untold temple
#

Hard to say if you don't show the config on pastebin or something

tight bear
untold temple
#

well there's no reference to submunitionBase at all in there.

tight bear
#

In this case, it would be "tf47_ammo_basic_penetrator.simulation"

untold temple
#

any ammunition type using submunitions needs simulation = "shotSubmunitions";

tight bear
#

Is that a CfgAmmo definition?

untold temple
#

Unless you have defined tf47_ammo_basic_penetrator in another config somewhere, there's no parameters in that class, so I'm not sure why you're using it

#

the example on the biki is calling submunitionBase, because it is an existing class in the base game that has a bunch of parameters defined for submunition simulation

#
    {
        model = "\A3\Weapons_F\Ammo\shell.p3d";
    };```
#

which in turn gets paraterers from submunitionCore

#
    {
        simulation = "shotSubmunitions";
        simulationStep = 0.05;
        timeToLive = 180;
        cost = 1000;
        soundHit[] = {"",316.228,1};
        soundFly[] = {"",0.0316228,4};
        hitOnWater = 1;
        artilleryLock = 1;
        indirectHitRange = 8;
        visibleFire = 16;
        audibleFire = 16;
        visibleFireTime = 10;
        deflecting = 5;
    };```
tight bear
#

I see. Thank you, that definitely helps.

wise tusk
#

Is there a way to make a pylon with dual Hydra rocket pods?(using vanilla ones)

#

I created proxy in which there are two proxies for "pylonpod_rocket_02_f",
my cfgWeapon looks like this:

class Rocket_04_HE_Plane_CAS_01_F : RocketPods {
        magazines[] += {"PylonRack_MyRocket"};
    };
#

and my CfgMagazines:

class PylonRack_MyRocket: PylonRack_7Rnd_Rocket_04_HE_F
    {
        scope=2;
        displayName="Dual RKT";
        displayNameShort="Dual RKT";
        descriptionShort="Dual RKT";
        model="\js_jc_fa18\proxyRocket.p3d";
        hardpoints[]=
        {
            "JS_JC_F18_Pylon"
        };
        pylonWeapon = "Rocket_04_HE_Plane_CAS_01_F";
    };
#

and only thing I am missing are rockets inside launchers

untold temple
#

would need to put the rocket proxies again in your pylon/launcher model

wise tusk
#

But will they disappear if fired ?

untold temple
#

if they're pointing to a correct model that's defined with maverickweapon simulation, yes

wise tusk
#

Thanks will try that

lethal bobcat
#

When defining a new editor module I want a combo box having a default value. Sadly defaultValue does not work for that. The module still has an empty selection when opening the modules dialog

        class Arguments {
              class Side {
                  displayName = "Side";
                  description = "The side the HQ is bound to";
                  typeName = "STRING";
                  defaultValue = "West";
                  class Values : ArgumentsBaseUnits {
                      class opt_1 {name = "West"; value = "West"; default="West";};
                      class opt_2 {name = "East"; value = "East"; default="West";};
                  }
              }
pallid snow
#

I'm trying to use a custom font:

class cfgFontFamilies {
    class EXORegular {
        fonts[] = {
            "\fonts\ExoMedium\ExoMedium6",
            "\fonts\ExoMedium\ExoMedium7",
            "\fonts\ExoMedium\ExoMedium8",
            "\fonts\ExoMedium\ExoMedium9",
            "\fonts\ExoMedium\ExoMedium10",
            "\fonts\ExoMedium\ExoMedium11",
            "\fonts\ExoMedium\ExoMedium12",
            "\fonts\ExoMedium\ExoMedium13",
            "\fonts\ExoMedium\ExoMedium14",
            "\fonts\ExoMedium\ExoMedium15",
            "\fonts\ExoMedium\ExoMedium16",
            "\fonts\ExoMedium\ExoMedium17",
            "\fonts\ExoMedium\ExoMedium18",
            "\fonts\ExoMedium\ExoMedium19",
            "\fonts\ExoMedium\ExoMedium20",
            "\fonts\ExoMedium\ExoMedium21",
            "\fonts\ExoMedium\ExoMedium22",
            "\fonts\ExoMedium\ExoMedium23",
            "\fonts\ExoMedium\ExoMedium24",
            "\fonts\ExoMedium\ExoMedium25",
            "\fonts\ExoMedium\ExoMedium26",
            "\fonts\ExoMedium\ExoMedium27",
            "\fonts\ExoMedium\ExoMedium28",
            "\fonts\ExoMedium\ExoMedium29",
            "\fonts\ExoMedium\ExoMedium30",
            "\fonts\ExoMedium\ExoMedium31",
            "\fonts\ExoMedium\ExoMedium34",
            "\fonts\ExoMedium\ExoMedium35",
            "\fonts\ExoMedium\ExoMedium37",
            "\fonts\ExoMedium\ExoMedium46"
        };
        spaceWidth = 0.7;
        spacing = 0.13;
    };
};

I used the converter in A3Tools however it's not showing in-game. I've tried lots of sizeEx but it's not displaying.

grand zinc
#

no errors in RPT? Double checked file paths?

pallid snow
#

Yep

pallid snow
#

hmm

#

Gonna try a full path

grand zinc
#

Wait

#

that's not a full path?

#

you have to use full path

pallid snow
#

\VKN_Misc\fonts\ExoMedium\

#

right

#

Whoops πŸ˜„

#

Do they have to be TGA or PAA?

#

23:01:48 Warning Message: Cannot load texture vkn_misc\fonts\exomedium\exomedium46-04.paa.

#

but then they're all TGA

grand zinc
#

Well my working example uses paa

pallid snow
#

loads up ImageToPAA

#

Seems TGA can't be used at all. PAA worked fine, cheers πŸ˜„

astral pagoda
#

Ofc, game can't load TGA

pallid snow
#

didn't know 🀷

toxic solar
#

so im flying a helicopter , and I noticed that if I land and wait 2 seconds or so and then hold collective up, it takes about 3-4 seconds till the helicopter actually gets off. What determines how long it takes to lift off? if that makes sense

waxen cosmos
toxic solar
#

envolpes effect helicopters?

#

I thought they only effect airplanes?

#

ill look into it toh

#

tho*

waxen cosmos
#

Couldn't find anything specifically for helicopters

#

Might be affected by RotorSpeed or RotorDrive though

toxic solar
#

ive seen RotorSpeed but not RotorDrive before

pallid snow
#

Where would I look for setting up "configure addons" for my mod (the option menu)

hard chasm
#

use deFxy to check that all the fxy files and their indexes have been built correctly. the constuct for arma3 is pure utf8, the construct for a2 is a restricted mess

#

defxy will list all valid characters in the font, along with their sizes and kerning

gritty rune
#

what would cause a plane to not brake properly? The Unsung C-1 rolls happily, but is only reluctantly stopping with 'x' applied

toxic solar
hard chasm
#

well the way i read above you have a white particle fully transparent, coalescing to non transparent

toxic solar
#

oh so alpha=1 means fully transparent?

#

I didnt understand why there was two arrays inside, that makes sense

hard chasm
#

i easily get that wrong btw, i always manage to forget which way is full

toxic solar
#

lol ,its kind of hard to test what the color is gonna be, I cant seem to get the script verision working ,but oh well

#

ill just change in config and reload my game 😭

stoic lily
#

as it says

#

it start with the first color and fades to the second

#

in this case alpha goes zero; in other words it disappears / fades out

#

also make sure to learn mergeConfig use

#

and you can change colors to x/255,x/255,x/255,x/100 if you prefer that

toxic solar
#

mergeConfig config?

#

never heard of that

#

I found a Particle Editor on that BI forums that helped me understand that color a bit more

hearty sandal
#

You can also add more colors to the array and it will play through all of them

hard chasm
#

AH, never reasiled that,....

pallid snow
#

Thank you :3

daring galleon
#

Hey all i have a question that has me totally puzzled about how to implement it into the engine

#

i want to implement the infantry controls but for vehicles like it has Hull Engine etc. but it moves like an infantry soldier

#

i don't mind having to do immense work to get it working im just trying to figure out if the Game Engine can handle that

hearty sandal
#

In theory it's doable. Extensive multiplayer testing still pending.

#

The work needed is immense^10

#

And totally undocumented

daring galleon
#

thanks would love to make a gundam esk mod and this is the only way i see it working right

hearty sandal
#

Yes I figured from your nickname what you are after. 😜

daring galleon
#

Well as some famous captains have all said "To Boldly Go Where No One Has Gone Before!"

hearty sandal
#

For that kind of mobility might be be best to just make it a custom character

hearty sandal
#

Yeah I've got similar stuff planned for my mod too.

daring galleon
#

Are you the one making the Lost Dragon mod?

hearty sandal
#

That would be me yes

daring galleon
#

and following your channel id love to bounce my full idea off of you to see what you think

hearty sandal
#

Sure

daring galleon
#

sent a friend request

heady wharf
#

Anyone have a good tutorial on how MFDs are defined for planes/helicopters? It seems to be more than the MFD class within the config. Copying the MFD class from the cessna, for example, over to another aircraft doesn't seem to produce the same display.

toxic solar
#

how do I switch to the dev branch if I want to try merge config?

grand zinc
#

you select the dev-branch in steam

#

Right click on Arma -> properties -> betas

toxic solar
#

oh okay okay, if this works ill be a happy boi

stoic lily
#

@toxic solar or use fast-2 to get 2nd install via steamCMD

toxic solar
#

wat

#

what is that,im lost now 😦

toxic solar
#

not sure if it should be here or #arma3_scripting but im tryna use mergeConfig with this

diag_mergeConfigFile["C:\Users\Namenai\config.cpp"];
#

and all that config.cpp is

class CfgWeapons
{    
    class emptyClassToSeeIfMade
    {

    };
};
#

but if I run tht diag in a mission file forn init.sqf I get a error saying im missing a ; and if I run it in vritual arsenal, nothing happens

#

im assuming im just bad and im doing something wrong

grand zinc
#

If you write diag_mergeConfigFile in debug console and press F1. does it recognize the command being there

toxic solar
#

the debug console is the one I see when I press esc right? and wat does f1 do?

grand zinc
#

Shows help about script command

untold temple
#

are you running the diagnostic .exe or just the dev branch?

toxic solar
#

just dev branch

untold temple
#

you need to run it from the other .exe file in the Arma 3 folder

toxic solar
#

oh okay ill try that, pressing f1 didnt show anything either maybe I also need to run that exe

#

and diagnostic .exe is in the same folder where arma is installed right?

#

oh I found it nvm, ill see what happens now

toxic solar
#

yeah it works, weapons and mags merge,but changing the missileeffect on ammo doesnt 😦

#

nope nvm, i just did it wrong

toxic solar
#

okay ive been trying for the past two hours or so for a specific effect. If I put say the missiles_SCALPEL on the Nato attack helicopter, thee Comanche and I where to shoot the missiles_SCALPEL or even the Air to Air missiles that it has, theres an effect thats played at the back of the rocketpod, and I dont know where to look to find that effect. Is it in the vehicle, weapon or ammo?

waxen cosmos
#

Personally, I’d say it’s linked to the weapon, but not sure how it works with helicopters

toxic solar
#

I think I found it out

#

I compared each line and I think its muzzleEffect = "BIS_fnc_effectFiredHeliRocket";

waxen cosmos
#

Is there a way to view just the effects?

toxic solar
#

not that I know of

boreal heart
#

@heady wharf Probably something to do with how the model config is setup

#

Also memory points

heady wharf
#

I did change the references to memory points for screens and some of the mfd does render, it just is missing many of the graphics. @boreal heart

hot pine
#

@toxic solar
effectsMissileInit = "PylonBackEffectsFFAR";

toxic solar
#

@hot pine oh okay, I saw that there was a BIS function that does that with muzzelEffect so ill try that then

#

thx

hot pine
#

bis functions is deprecated solution

#

effectsMissileInit is handled by the engine as recommended approach for missile fx

toxic solar
#

oh okay, ill use that then

#

is it correct if I think of submunitionAmmo as the armor piercing part of a tank shell, like the very tip of that shell ?

untold temple
#

submunition is used for the penetrating jet on shaped-charge HEAT warheads

#

solid APDS type penetrators are just one projectile with a high caliber value

nimble sequoia
#

Any idea what causes this rpt error on a vehicle (turret) weapon?
Bad muzzle direction in myVehicle: 'chamber_1'-'muzzle_1'
I've tried reversing the muzzlePos and muzzleEnd memory points and still get the error message, so it doesn't just look to be that they're the wrong way around.
Bad muzzle direction in myVehicle: 'muzzle_1'-'chamber_1'

stoic lily
#

we have this also for our static MGs

untold temple
#

Is the turret's gun modelled facing to the front viewplane?

nimble sequoia
#

yes, facing to the left in OB's Left ortho view

outer sapphire
#

Is possible to change default dust color? Or remove it.

toxic solar
#

so I have a weapons thats based of the Kajmans 30mm, the only thing I changed was the display name. Now if I put this on a helicopter that weights 10k, and shoot full auto the helicopter gets pushed back. im guessing the reason it gets pushed back is because of the caliber? But wat causes the helicopter to push it self back when shooting

echo glacier
#

Maybe you have auto hover on?

toxic solar
#

nah I dont have auto hover on, and i did increase the hit a bit, I thought I remembered there was a impulse factor and I checked in cfgWeapond and cfgAmmo, I didnt expect it to be in cfgMagazines lol. so if I read that right the 1st value is torque and 2nd value is force if I give an array

toxic solar
#

whats the diffrence between shotRocket and shotMissile for simulation in cfgAmmo? is it that rockets are dumbfire and missiles can be guided?

untold temple
#

kind of

#

it's for optimisation of network traffic

toxic solar
#

w8 network?

untold temple
#

rockets have a simple trajectory so can be calculated clientside

toxic solar
#

oh so if I make a rocket and then make it so it can be guidable, it defeats any optimization?

untold temple
#

shotrocket will probably ignore the cfgammo variables that are used for guidance

#

I think submunitions also only work on shotmissile

#

and the shotsubmunition

toxic solar
#

i see

hot pine
#

there are no differences between shotMissile & rocket anymore

#

shotRocket is kept due to backward compatibility

nimble sequoia
#

@hot pine have you got any inside info on what causes this rpt error:
Bad muzzle direction in myVehicle: 'chamber_1'-'muzzle_1'

hot pine
#
    if (_simulation == AmmoShotRocket) // rockets are treated as missiles
      _simulation = AmmoShotMissile;```
#

if (_muzzleDir.SquareSize()<Square(0.1))

#

@nimble sequoia - distance between memory points is too small?

nimble sequoia
#

It's too large if anything...I'll measure

#

0.62m

untold temple
#

one of the selections doesn't accidentally contain both points, does it?

nimble sequoia
#

no, but both are in the otochlaven

hot pine
#

can you upload somewhere p3d with only memory lod?

untold temple
#

so if you select chamber_1 and check the weights, muzzle_1 isn't also there

#

and vise versa when selecting muzzle_1

nimble sequoia
#

no muzzle in chamber or visa versa, looking at weights

#

pm with link to memory lod sent to you reyhard, thanks

hot pine
#

are you hidding those weapons?

nimble sequoia
#

No, I don't think so.

untold temple
#

Wondering if it shows on one of our helicopters now if it can be caused by hiding the turret

sudden garnet
#

is it possible to only load an addon when another addon is present?

nimble sequoia
#

Probably not, or I guess we wouldn't need separate 'compatibility' mods.

hard chasm
#

mix n match addons are done by placing (groups of) addons in different mod folders

#

if one of those mods contains this extra addon, it should be obvious to also place the needed addon in the same mod

sudden garnet
#

Right, I want to add compat for other mods without requiring them. I guess I could always pack them and place the folder in a parent directory, is that what you are sayijg?

hard chasm
#

there is no 'parent directory' there are a collection of mods one of which happens to be arma\addons

#

and i have no idea what it is you are trying to do by not having the other addons. if you're replacing them that would make sense

#

say someone makes a pink_girrafe and puts it in an addon.

you come along also with a pink girraffe, but the one thing you cannot do is call it the same name as the original.

#

if you do that, most people playing the game will castrate you.

#

they either use the old girraffe or the new girraffe, it is their choice, not yours.

sudden garnet
#

I'm inheriting classes of other mods in config, it's not going to load if I try and require ineritance from another addon if it isn't loaded yes?

hard chasm
#

correct

#

the game will scream can't find 'blah blah'

#

I don't really get why you're trying to completely re-write someone else's config.

#

at no time can you ever say:

class pink_giraffe
{
}
because, you have no control over the other addon actually being there at some later date

sudden garnet
#

Not rewriting. Creating new class, inheriting values. Creates values are seperate from existing in other mod,.

#

what I was trying to do is prevent having to have a seperate mod for each compatibility version of mods supported.

hard chasm
#

can you give a quick class text example? it doesn't have to be accurate, i might understand better.

sudden garnet
#

Ex:.

class ac_CivTRG : C_Man_Fisherman_01_F
  {
    displayName = "Civilian (TRG1)";
    faction = "CIV_F";
    editorCategory = "ac_civilians";
    editorSubCategory = "EdSubcat_Personnel";
    weapons[] =
    {
      "hgun_Pistol_01_F"
    };
    respawnWeapons[] =
    {
      "hgun_Pistol_01_F"
    };
    magazines[] =
    {
      "10Rnd_9x21_Mag",
      "10Rnd_9x21_Mag",
      "10Rnd_9x21_Mag"
    };
    respawnMagazines[] =
    {
      "10Rnd_9x21_Mag",
      "10Rnd_9x21_Mag",
      "10Rnd_9x21_Mag"
    };
  };

This is a new civ class I created from inheriting one provided with game.
I want to do the same thing with cup civilians, other mod civilians.
I just don't want to "require" it to be loaded so that it can run by itself when the player decides they don't want to use cup for example.

hard chasm
#

lovely

#

it's good code

sudden garnet
#

I'm just experimenting with configs for the first time. Not pretty I know.

hard chasm
#

well as i understand it now, IF, a cup addon is 'there' you want to add new classes. which is more than fair enough.

#

but if it aint there. there's no facility available to discover that (except via the dreaded reqaddons)

sudden garnet
#

Alrighty, good to know. Thanks for being patient with me.

hard chasm
#

IF i were doing it, i would simply supply my_cup.pbo, my_unsung.pbo, my_whatever.pbo
the user has the choice then what he has to have to make each or just one of them, work.

#

that way, if he want's to use your unsung_addon, he won't hate you because he also needs cup for no reason oher than it has to be there.

sudden garnet
#

Right, that's what I wanted prevented. Good idea.

grand zinc
#

I'm solving that same problem with my groups launcher that auto load the correct compats when you load a combination of mods.
I have Intercept code to edit configs on the fly, which would be able to detect loaded addons and inject a config depending on that. But it's a little too much hassle

sudden garnet
#

So a #onlywithintercept kind of thing?

clear rock
#

I'm trying to Cfgpatch a weapon from one mod to use the sounds of a weapon from a different mod. The sounds work, but now the weapon I patched doesn't have firemodes. The "next weapon" key just puts the rifle on back. Using UGL variants, you can switch to the UGL but not back to the rifle.

grand zinc
#

@sudden garnet yeah. And also #OnlyWithInterceptThatIWontReleaseSourceCodeFor kind of thing

hot pine
#

well, you could also experiment with some variables in cfgs

#

but that could be potentially risky

undone quiver
#

So how does deleteParentWhenTriggered Work exactly? Does it keep the original projectile so both the original and sub hit the same spot? How does it effect HEAT based weapons?

#

In terms of when to trigger the sub-munition that is.

hot pine
#

it Deletes Parent ammo When Triggered πŸ˜„

#

parent = original projectile

sudden garnet
#

I kind of like risky reyhard, how would I go about that?

restive veldt
#

I am trying to make a custom skinned LSV for my clan, however no matter what I try, I can't get it to show the new skin on Init. I've tried setting its hiddenSelectionsTextures[] to the path to the skins, I've tried putting an init event handler to change the objectTextures, and I've tried doing a CBA extended event handler. I've had no luck

#

anyone know why I can't get this to work? I know the textures are there, because I can access them when in the garage (i have them setup as a textureSource class as well)

restive veldt
#

I was able to make the init EH work. But i am curious to know why i can't get hidden SelectionTextures[] to work. Anyone know what causes that?

untold temple
#

what are your retextured vehicles derived from, the base classes or one of the ingame ones?

#

the ingame ones probably have textureList[] parameter overriding hiddenselections at init

#

if you're using texturesources, you may as well use texturelist[] anyway

restive veldt
#

I am pulling from the defined classes, not the base ones

#

I was unaware of that config property. I'm guessing that explains why some of my vehicles have that issue, and others dont

fathom thorn
#

hi guys. Im making a bipedal mech(tank class) that I want to be able to walk over high obstacles. I did some experimentation using the test_tank (from the sample files) where I removed some wheels(now have 2 on each side) and enlarged them. I also adjusted the wheel mempoints and basic_dampers_destruct accordingly. I'm experiencing some bad bouncing issues and very poor handling. Can someone tell me why this happens?

#

this is basically what I want to achieve in the end

#

and use the animationSource from the dampers to make it lift its legs

wary fossil
#

So i got a question working on a armor config and im trying to get the TFAR underwater radio onto one of the vests how do i manage that?

toxic solar
#

i think that armor has to be a child of the underwater vest

#

atleast thats what the script does from wat I saw

grand zinc
#

@wary fossil "tfar underwater radio" doesn't exist

#

TFAR has a hardcoded isKindOf for the vanilla scuba gear

#

And switches over to "underwater" radio effect once you are underwater

wary fossil
#

So no way to put that on any kinda of other gear

grand zinc
#

Well you can inherit from the vanilla scuba vest thing. Then it should behave the same as the vest

#

you have to inherit though, no config entry for that

wary fossil
#

Damn

young oar
#

what is config_proper.xml? I noticed it has more/different animations and animation classes than config.cpp
Just wondering if i need it in my folder after converting the animations for my model using a custom skeleton.

hearty sandal
#

Did not include that with mine

#

but no idea whats it for either

young oar
#

hmm, i noticed i have transition issues with my animations and in the config_proper there is transition classes for the animations.

hearty sandal
#

what kind of issues?

young oar
#

when moving from left to right the model will scale for a second or so when switching animations.

hearty sandal
#

ah

#

yeah I've seen that too :/

#

dunno if anything refrences to those xml in any config though

#

never seen any properties linking to them

#

Id think they could be leftovers from some tool to create the actual config

#

yeah now that I looked closer Im quite positive that they are remnants of some sort of animation editor

young oar
#

hmmm, i wonder if those transition animations are needed when moving between animations

hearty sandal
#

they are all defined in the movescfg

#

all the connectTo and InterpolateTo lists match between the xml and cpp

#

or what transition animations are you talking about?

young oar
#

the one in anims_f\data\Anim\sdr\mov\erc\wlk\non\non folder, AmovPercMwlkSnonWnonDnon_transition. I was thinking maybe ones like this was used when moving between animation. single frame animation.

hearty sandal
#

@astral pagoda you wanna pitch in? πŸ˜„

astral pagoda
#

πŸ‘€

hearty sandal
#

or you just like to watch? πŸ˜„

astral pagoda
#

Maybe those are remnants πŸ‘€

hearty sandal
#

just maybe?

#

50:60 chances?

#

@young oar that transition .rtm does not seem to be referenced in the config

astral pagoda
#

I can not confirm or deny anything πŸ˜›

hearty sandal
#

I'll take that as a yes

#

πŸ˜„

young oar
#

ok, maybe i'll just delete the ones not mentioned in the config to save some space and so i don't have to convert them again.

hearty sandal
#

tried to look for any reference to that transition .rtm but could not find any

#

could be its just some reference file too

#

AmovPercMwlkSnonWnonDnon

#

this animation sate does not exist either

#

my set at work

#

there is a bug though

#

Seems to be connected to the variation of Idle animations

#

if Idle animations are disabled it works fine

#

movement - > stand still -> (X) play idle animation where the (X) is spot for that weird scaling

#

Also AI is not affected

young oar
#

hmmm when mine does that it's not as bad. mine just gets squeezed together, almost like its scaling in the x-axis .

maybe you are missing an rtm.

#

and not as often

hearty sandal
#

no missing files nor errors in rpt so hard to debug

#

mine does a bit of squeezing when moving sideways

young oar
#

actually mine only does that when moving sideways as well, i don't have the other bug you have.

stoic lily
#

the xml are for BI anim graph editor AFAIK

rustic cape
#

Hey there. I think I need some help with config today. I know that it has been asked a lot of time on different forums, but I cannot see any consistent answer anywhere. I would like to know how to make the rebreather's respirator persistent out of water. It only looks like a texture switching to empty when the player gets off water, but I wonder if there is any way of making it persistent. It looks like the corresponding texture is under "underwaterHiddenSelection", named "hide". Can you confirm this ?

little warren
#

Does anybody know if there is a sound shader for door gunners such as an exterior sound of the weapon firing while also hearing the interior sound while you're the gunner firing the weapon? if so can you please @upper relic

quasi sonnet
#

@little warren yes, answer is no

#

Obviously it isnβ€˜t a #arma3_config question. Use the right channels pls

heady wharf
#

Getting the "Addon ____ requires addon ____" error even though the text under requiredAddons exactly matches that in cfgPatches for the dependency. Any ideas what might cause this?

grand zinc
#

the mod with that exact name is not loaded. That's what causes it

heady wharf
#

@grand zinc I seemed to have resolved the issue by moving the PBOs to a new mod folder. Is there a cap on the # of pbos that can load within a single mod folder?

#

I guess the answer was that i had everything set up right, it just wasn't loading.

grand zinc
#

no there is not a cap

#

Linux might have a open file limit

heady wharf
#

Then I have no idea why it started working but I'm gonna go ahead and not complain about it πŸ‘

toxic solar
#

does it matter if I do sizeVar = 0.25; vs SizeVar = 0.25; like are configs case sensitive?

hard chasm
#

you'll rarely encounter case sensitivity in a config. and even then it applies only to the = sOmeThING;

#

as a religious practice however, you should write everything in lower case (except for #defines)

toxic solar
#

so do sizevar=5; instead of sizeVar=5;

#

i would say camel case...but everyone has diffrent defintions of it

sullen fulcrum
#

Always use lowercase for everything, problem solved.

toxic solar
#

oh ye

pallid snow
#

First time touching retextures and adding them in-game.
The problem is that it shows a naked body on the uniform.

class U_B_CombatUniform_mcam_vest;

class VKN_CombatUniform_Base : U_B_CombatUniform_mcam_vest {
    _generalMacro = "U_B_CombatUniform_mcam_vest";
    scope = 0;
    faction = "west";
    author = "Curious";
    displayName = "VKN_CombatUniform_Base";
    nakedUniform = "U_BasicBody";
    uniformAccessories[] = {};
    uniformClass = "VKN_CombatUniform_M90_Vest";
    hiddenSelections[]= {"camo"};
    hiddenSelectionsTextures[]= {"\VKN_Gear\data\Uniforms\VKN_M90_sleeves.paa"};
};

class VKN_CombatUniform_M90_Vest: Uniform_Base {
    Author = "Jonmo";
    scope = 2;
    displayName = "[VKN] Combat Uniform - Rolled (M90)";
    descriptionShort = "Swedish M90 Camo";
    model = "\A3\Characters_F\Common\Suitpacks\suitpack_universal_F.p3d";
    hiddenSelections[] = { "camo" };
    hiddenSelectionsTextures[] = { "\VKN_Gear\data\Uniforms\VKN_M90_sleeves.paa" };
    picture = "\A3\characters_f\data\ui\icon_U_B_CombatUniform_mcam_vest_ca.paa";

    class ItemInfo : UniformItem
    {
        uniformModel = "-";
        uniformClass = "VKN_CombatUniform_Base";
        containerClass = "Supply20";
        mass = 30;
    };
};
``` Here's a small extract - It displays everything but the custom texture πŸ€”
grand zinc
#

did you double and triple check the filepath?

#

First thing that meets the eye is that you are missing the _co suffix on your texture

pallid snow
#

Oh of course xD - forgot about them

#

I'll go give that a try

grand zinc
#

Also check RPT for errors

pallid snow
#

Okay so checked over the RPT for errors, couldn't see any - I adjusted the image path and still nothing. To test it, I tried using setObjectTextureGlobal and it applies it perfectly fine.

grand zinc
#

Did you check in ingame config viewer if your changes appear there properly?

pallid snow
#

I haven't - in the process

grand zinc
#

Are you sure the selection is called "camo" ?

pallid snow
#

I took it from U_B_CombatUniform_mcam_vest

grand zinc
#

Actually.... That is a CfgWeapons config

#

Uniforms are CfgVehicles I think?

pallid snow
#

Oh are they?

#

Vest are weapon - surely it would be the same

grand zinc
#

Not sure really.. πŸ€” I'd think they are vehicles same as uniforms and backpacks... Config viewer doesn't really help me

#

which vanilla uniform uses "\A3\Characters_F\Common\Suitpacks\suitpack_universal_F.p3d"?

pallid snow
#

U_B_CombatUniform_mcam_vest

#

configfile >> "CfgWeapons" >> "U_B_CombatUniform_mcam_vest"

#

Copied and pasted the model from there

grand zinc
#

But that inherits from "Uniform_Base" sounds like a uniform rather than a vest πŸ€”
Arma's naming isn't the best

pallid snow
#

Shock there πŸ˜›

#

So my custom hidden selection is:
hiddenSelectionsTextures[] = {"\A3\Characters_F\Common\Suitpacks\data\suitpack_soldier_blufor_co.paa"};
which isn't right

#

It's taking it from U_B_CombatUniform_mcam_vest

hot pine
#

uniforms are defined in cfgVehicles & cfgWeapons

#

cfgWeapons entries are only for inventory handling

grand zinc
pallid snow
#

Oh - Apologies

hot pine
#

while cfgVehicles contain all data about mesh, textures & other properties

pallid snow
#

Ah I see

grand zinc
#

The CfgWeapons thing and hiddenSelectionTexture that you set is just the texture of how the uniform looks when you put it on the ground, not when you wear it

#

the wearing texture is in CfgVehicles

pallid snow
#

Ah I see

#

Makes sense

#

So i'll need a second config for vehicles - hopefully this will work aha

grand zinc
#

And you need to change the uniformClass in your CfgVehicles character to match the CfgWeapons name of your new uniform

pallid snow
#

Ah - awesome cheers for the help

waxen cosmos
#

Does Arma only support dual-engined aircraft? As in it's not possible to have HitEngine3 and HitEngine4 in the hitpoint config?

untold temple
#

you divide the two hardcoded engines up with the depends parameter

#

e.g. class HitEngine: HitHull { armor = 1.5; explosionShielding = 2; name = "engine_1_hit"; passThrough = 0.5; visual = "-"; radius = 0.55; minimalHit = 0.1; depends = "(HitEngine_1 + HitEngine_2)*0.5"; };

#

where HitEngine_1 and HitEngine_2 are additional hitpoint classes

#

note that the HitEngine_2 isn't the same as HitEngine2

waxen cosmos
#

Ohh, so you can have four engines, but it's a bit peculiar about it

untold temple
#

yeah, in terms of simulating thrust you only have a maximum of two engines, but you can divide the loss of thrust from damage on each side of the aircraft, across dummy engines

waxen cosmos
#

I wonder why they didn't make it scalable

#

As in:

EngineCount = x
HitEngineLimit = EngineCount

#

Or something like that

untold temple
#

it's built on legacy Operation Flashpoint era stuff AFAIK

#

so was never designed to simulate something more complex than an A-10

waxen cosmos
#

I wonder if that's something that will be changed in Enfusion

waxen cosmos
#

What does the material variable refer to in regards to vehicles?

#

The wiki is rather unhelpful in regards to this

untold temple
#

what material variable? There are a lot of places in Arma where materials crop up

#

It's to do with .rvmats usually

waxen cosmos
#

This one

#

It's used in relation to hitpoints as far as I'm aware

#

Requires an integer

untold temple
#

I believe it's the % of damage taken before the section switches to the damaged material

#

which you define in class damage

waxen cosmos
#

I thought that was just when HitPoints = 0

untold temple
#

that's when it shows the destruct material

waxen cosmos
#

Because I've only ever seen material defined by 1

untold temple
#

well I was going off that it's 50 in the above example

#

since class damage has materials defined in threes

#

the undamaged .rvmat for reference purposes, the damaged .rvmat and the destroyed .rvmat when hitpoints are expended

#

typically, they currently switch to the damaged .rvmat at 50% damage

#

so I assumed that's why the value of 50

#

but it might not work that way if they're all 1 in the game

waxen cosmos
#

Tell you what though, the wiki needs to be updated for this stuff πŸ˜‚

hot pine
#

Isn't it connected to user values in oxygen material window?

#

it's legacy ofp thing as far as I remember

waxen cosmos
#

No clue

#

But I have to admit, I'm curious as to what happens if you put true to canFloat for a plane

#

And then nosedive the plane into the water

hot pine
untold temple
#

probably for blackening the parts then in the old OFP damage model

#

before .rvmats were even a thing

hard chasm
#

in flashpoint, canfloat operated on all geolod class=vehicle but was only ever used 'offcially on the bmp and bradley

waxen cosmos
#

But what would happen if you shoved it on a plane and flew the plane into the water?

hard chasm
#

well why the hell don't you try it???

#

can't be a tough call to create a config that does it

waxen cosmos
#

That's the plan, just need to finish the model first

hard chasm
#

rubbish

#

you inherit an existing plane, add canfloat, and test it

waxen cosmos
#

Keep in mind that there are those of us here that have no idea how to do that because we're just starting out

#

Such as myself

#

If you're happy to give me instructions, I'll happily test it

hard chasm
#

well, if you're just starting out you have a hell of a lot more important issues to fuss about.

#

obviously seaplanes don't sink (but I think a boyancy lod comes into play there)

waxen cosmos
#

True

#

Then there's the leakiness param to worry about

strange egret
#

you can test ingame without completely finishing the model ... its advisable even imo. Makes you see mistakes sooner so you dont end up realizing that you have to remodel something.

#

also... you can just use a cube as model

novel laurel
#

hey so question

#

the event handlers section in a config file

#

this little bit here

#

i'm using it to assign loadouts to units, for ease of access and varying other reasons

#

the problem is, these event handlers don't fire when a unit is a player, and the unit has respawned

#

meaning, if you play as a unit with an event handler loadout (i.e. using init EH to assign loadout), you won't respawn with that loadout

#

how can i fix this?

#

would there be another eventhandler i could use?

#

is there something in CBA that would allow me to use this same method of assigning loadouts, whilst still retaining them when a player respawns as that unit

#

in essence, event handlers in a unit's config aren't added back when a unit is a player and respawns, does anyone know how to fix that?

barren umbra
#

How do you set with LOD the driver uses?

nimble sequoia
#

@barren umbra LODDriverTurnedin, LODDriverTurnedOut

wheat mural
#

Hi all, I'm trying to make a RscEdit be autocompleted

class RscEdit_1403: RscEditInvisible
        {
            idc = 1403;
            autocomplete = "profileName";
            x = 0.39 * safezoneW + safezoneX;
            y = 0.613 * safezoneH + safezoneY;
            w = 0.27 * safezoneW;
            h = 0.02 * safezoneH;
        };
#

autocomplete should make it put the profileName, however nothing appears

grand zinc
#

is RscEditInvisible of type=2 ?

wheat mural
#

Yeah

#
class RscEdit {
    type = 2;
    style = 0x00 + 0x40;
    font = "PuristaLight";
    shadow = 2;
    sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
    colorBackground[] = {0.529,0,0,1};
    soundSelect[] = {"",0.1,1};
    soundExpand[] = {"",0.1,1};
    colorText[] = {0.95, 0.95, 0.95, 1};
    colorDisabled[] = {1, 1, 1, 0.25};
    autocomplete = false;
    colorSelection[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", 1};
    canModify = 1;
};

class RscEditInvisible :RscEdit {
    text = "";
    style = 0x00 + 0x0200 + 0x10;
    colorBackground[] = {0,0,0,0};
    colorDisabled[] = {0,0,0,0};
    colorText[] = {0.118,0.553,0.969,1};
    lineSpacing = 1;
};
#

Thats the inheritance

wheat mural
#

Anyone got any ideas? πŸ€”

silver aurora
#

I've never seen such a syntax with autocomplete - the only values I've seen so far are "general" and "scripting"
autocomplete enables the auto-completing of known words/scripting commands within a text field (by pressing [Tab])
if you want to set a default text in the field you can use text="some static text"; or an onLoad eventhandler with ctrlSetText, e.g. onLoad = "(_this select 0) ctrlSetText profileName";

wheat mural
#

Hmm, thats a shame if I can't use it, but onLoad does provide a workaround

austere prism
#

Is anyone able to spot why this config isn't working? Everything is loading fine and appearing in the config viewer, but when I open Zeus the module isn't present. It is the exact same code as another mod of mine that works fine.

class CfgVehicles {
  class Logic;
  class Module_F: Logic {
    class ModuleDescription {
      class AnyPlayer;
      class AnyBrain;
      class EmptyDetector;
    };
  };

  class GVAR(Module_Base): Module_F {
    mapSize = 1;
    author = "SynixeBrett";
    vehicleClass = "Modules";
    category = "EZI_AI";

    scope = 1;
    scopeCurator = 1;

    displayName = "EZI AI Module Base";

    function = "";
    functionPriority = 1;
    isGlobal = 2;
    isTriggerActivated = 0;
    isDisposable = 0;

    class Arguments {};
    class ModuleDescription: ModuleDescription {
      description = "EZI AI Module Base";
    };
  };

  class GVAR(Module_Watch): GVAR(Module_Base) {
    category = "EZI_AI";
    scopeCurator = 2;
    displayName = CSTRING(Module_Watch);
    function = QFUNC(moduleWatch);
  };
};
grand zinc
#

but when I open Zeus the module isn't present. I don't see your CfgPatches

#

Also Module_Watch's scope is 1 if you want it to be public it should be 2

austere prism
#

Shouldn't it be fine with just scopeCurator = 2? That's all I've ever used

#
class CfgPatches {
  class ADDON {
    name = COMPONENT;
    units[] = {QGVAR(Module_Watch)};
    weapons[] = {};
    requiredVersion = REQUIRED_VERSION;
    requiredAddons[] = {"EZI_main"};
    author = "SynixeBrett";
    VERSION_CONFIG;
  };
};

class CfgFactionClasses {
  class NO_CATEGORY;
  class EZI_AI: NO_CATEGORY {
    displayName = CSTRING(Category);
  };
};
#

That's the rest of the code there

stoic lily
hard chasm
#

what the hell is a GVAR

grand zinc
#

global variable

#

modname_componentname_variablename

#

ace_common_var

hard chasm
#

it could as well be potatoes. but ok

nimble sequoia
#

What (config setting?) determines whether an opfor rifleman will fire his rifle at a blufor crewed truck? I have a modded truck that inherits from a BIS HEMTT:- a CSAT rifleman fires at the HEMTT, but not my truck.

waxen cosmos
#

I think it's a threat setting

nimble sequoia
#

I'm inheriting threat and cost values, so both HEMTT and my truck are the same. Still a difference in AI behaviour though.

waxen cosmos
#

What about the cost?

nimble sequoia
#

"I'm inheriting threat and cost values,..."

grand zinc
#

I guess better question would be what you are not inheriting

nimble sequoia
#

Yes, very good question. Wish I knew the answer! Can fire geometry affect ai behaviour?

stoic lily
#

"fire at" the truck or the crew?

nimble sequoia
#

Um, possibly the crew in the truck. Hard to tell. It looks like the rifleman fires at the HEMTT windscreen

#

I have crew proxies in the View and Fire Geometry LOD's

stoic lily
#

well does AI fire at the BI HEMETT from any direction?

#

if not, it would indicate something with your crew (positions) is the problem (config/model.cfg/model wise)

nimble sequoia
#

Just checked, enemy fires at HEMTT from behind it too.

stoic lily
#

does AI target your vehicle at all, or just not shoot?

nimble sequoia
#

They will fire UGL's and RPG's, but not small arms.

stoic lily
#

did you try to replace your model in the BI class and see if that works?

nimble sequoia
#

I'm not clear on whether I should be looking at config, or if model p3d alters behaviour too.

#

No, didn't try that, but good idea, thanks.

stoic lily
#

at this stage its to narrow down the source

#

it could be something in the model setup (not my area though)

nimble sequoia
#

There seem to be some odd inheritance rules in Arma. For example, class Turrets {} need to be defined (class Turrets : Turrets {};), even if nothing changes, or they are lost. Is the same true for class Hitpoints {}?

hearty sandal
#

yes

#

everything you declare without inheriting from the parent class is clears everything else from it

stoic lily
#

class Turrets {}; stops the inheritance

#

class Turrets : Turrets {}; is not necessary

#

if it doesnt work without, it should be an indicator something else is amiss (2nd config probably)

nimble sequoia
#
    class Turrets {
       class myTurret {...entries...};
    };
};

class B : A {};

class C : B {
    class Turrets : Turrets {
        class myNewTurret : myTurret {...};
    };
};```
Above doesn't work? Needs to be:
```class A {
    class Turrets {
       class myTurret {...entries...};
    };
};

class B : A {
    class Turrets : Turrets {};
};

class C : B {
    class Turrets : Turrets {
        class myNewTurret : myTurret {...};
    };
};```
stoic lily
#

above is fine in general

nimble sequoia
#

Top one doesn't work I think.

stoic lily
#

if it doesnt work, you need to verify what exactly happens

#

via config browser, config dump, scripting

nimble sequoia
#

It seems that Turrets doesn't follow normal inheritance rules.

stoic lily
#

@hot pine do you know something about this?

#

ontop of my head i am not sure if we have such case in our mod, but above should be fine in general

untold temple
#

There are a few types of classes that you can't add subclasses to without re-inheriting the other classes that existed in the parent

nimble sequoia
#

I assume Turrets is one of those. Is there a list anywhere of which classes are affected?

untold temple
#

I don't recall seeing one

nimble sequoia
#

can you remember if Hitpoints is one of them?

hearty sandal
#

you can compare the contents of the hitpoint classes in the game config viewer

nimble sequoia
#

It's just that you can see class HitPoints: HitPoints {}; in a number of the BIS configs.

hearty sandal
#

would not rule out that its required to be there

hot pine
#

Turrets and eden attributes

hard chasm
#

It seems that Turrets doesn't follow normal inheritance rules.
there is nothing unique or special about the Turrets class vs any other. All classes have to follow the same rules

#

+you can often get confused with Embededd Turrets class(es) inside a Primary Turrets class

#

shortform template encoding:
if this is the literal truth

{
      class whatever;
};
class B:A{};
class C:B{};
class D:C{};
/// endof templates
class me:D{
{
   class anything:anything{..........

can be shortfomed to:

class C;
class D:C
{
      class anything;
};
// end of template encoding
class me: D{.....
#

the same shortform rules apply for:

class C:B
{
    class something;
};
class D:C
{
  class anything:something{};
};// endof shortform template
#

the above is NOT the literal truth, it is the short form truth. the compiler will have no difficulty finding where those actual classes are.

#

shortform template encoding has the tremendous advantage that you do not need to know the nitty gritty details of where those classes actually are, nor, the fact, (unknown to you) that a buried class has actually added to the class you are interested in.

lofty zealot
torn dew
#

Can anyone give me a hand with damage rvmats. Have them assigned like mat[] = { "Test_Character_01\data\jacket.rvmat", /// what material is changed "Test_Character_01\data\jacket_injury.rvmat", /// how does the material look like in damage 0.5 and more "Test_Character_01\data\jacket_injury.rvmat", /// how does the material look like while the part has damage }; this have tried with and without a backslash at the beginning but ingame it stills comes up as cannot find material so my damage texture doesnt apply.

hard chasm
#

pretty simple, pboProject will automatically tell you if the materials are where you say they are.

torn dew
#

its the correct file path though which is why i'm having an issue?

untold temple
#

Is the .rvmat still in the .pbo after compiling?

hearty sandal
#

@torn dew what do you pack your addon with?

torn dew
#

with the addon builder in tools. Got the rvmat working (wasnt added to exceptions) but the dt wont display @hearty sandal

hearty sandal
#

Get mikeros tools and try pboproject. It might give better output where the problem is.

jagged steppe
#

I would like to make a mod that changes the main menu load things and the background of it like in exile

#

can somebody help me out ?

stoic lily
#

@jagged steppe download such mod, extract it and analyze it

jagged steppe
#

@stoic lily aight

steep pawn
#

Given there isn't really a specific channel for this question I figured I'd just ask it here: I'm trying to update an addon on the workshop using publisher but its getting stuck on "Publishing content to Steam Workshop..." without any error

#

But it never goes anywhere

steep pawn
#

Nevermind, seems recreating all the bisign files and then trying again fixed it

simple trout
#

Is the ground holder part in the config really necessary?

hearty sandal
#

Config of what?

simple trout
#

vests, uniforms, headgear .etc

hard chasm
#

Got the rvmat working (wasnt added to exceptions)
Surely you don't need telling twice.. My tools are free, it costs you nothing to lift your game. Or stick to toys like addon breaker to do the job and keep asking 'why doesn't it work'

distant gyro
#

Please can someone explain to me why I get the following error? 'Vehicle_1_armed.Turrets: Undefined base class 'Turrets''. I've put Vehicle_1_Base as a required addon in the CfgPatches of Vehicle_1_armed and it doesn't seem to make a difference. The file structure looks like this: ```
// PBO 1
class Vehicle_1_Base {
class Turrets: Turrets {
class MainTurret: MainTurret {
...
...
...
};
};
};

// PBO 2
class Vehicle_1_Base;

class Vehicle_1_armed: Vehicle_1_Base {
class Turrets: Turrets {
class MainTurret: MainTurret {
gunnerName = "Example";
...
...
};
};
};```

astral pagoda
#

Inheritance is wrong in second PBO

distant gyro
quasi sonnet
#

@spiral delta
CfgMagazines is correct, but I think it’s only a fault in this message

#

So use magazines with one a

hard chasm
#

@distant gyro
you are missing a class template. A class template does NOT assign values, it lists the structured order of the class you are trying to inherit from. THUS:
pbo2:


class dunno_coz_you_didn_t _say_what;

class Vehicle_1_Base :dunno_coz_you_didn_t_say_what
{
    class Turrets:
   {
        class MainTurret;
   }
};
//endof template(s)```
//THEN
```class Vehicle_1_armed: Vehicle_1_Base {
    class Turrets: Turrets {```
#

(excuse the poor formatting, discord quoting gives me the sh*ts)