#arma3_config
1 messages · Page 137 of 1
but how does that link to keybinds to make an animation play?
That is what you have to script.
i have the cfguseraction cfguseractiongroups cfgdefaultkeyspresets, but not the cfgfunctions, or any SQF file, but dont want any SQF file, just want they keybind to trigger an animation to play, so how does this work?
You do not necessarily need a SQF file, you can put your code into onActivate/onDeactivate/onAnalog, but it is heavily opposed and instead it is suggested to make a function along with an SQF file because that is how you achieve a more clean, readable, easier to test product you get. Right now you just want to do it and be done with it because you are all new to this and you do not want to bother yourself much. But if you do it that way, one day when you understand these stuff more , you will regret it. It is why people keep telling you to register a function into cfgFunctions and call it from there instead of directly writing your code into the event handlers.
In coding, you always prefer to split stuff into little chunks and handle them separately. This way you achieve modularity, and your product is easier to be read and processed by others mind and also your mind when you return back to your code one day.
This is the same (at least in my opinion but I doubt anyone will oppose it) in Arma whether it be , scripting, config and so on.
but, even then, if you have an indexed system at the top of the config with titles and subheadings, chronological to how theyre presented in the config, then it becomes a reference guide, which becomes easy to track
read this sub conversation please^^***
then check this out...
#arma3_config message
i might be interpreting this wrong, but running a switch on every button press is releated ('not so good on performance'),
hence why i want it just via onactivate/ondeactivate
I hope im making sense
sorry, had made a reference error
I have made my suggestion, I know many other people have done their suggestions to your questions. If you want to ignore them, it is fine by me. You do not need to explain how you complete your task at hand. These are all suggestions, and I am not gonna push onto that. But do not think that you will be able to avoid cfgFunctions or SQF files at all, if you want to do some interesting stuff, considering you are a person who wants to propose a CDLC to BI.
cfgUserActions purpose is not performance, it is to give ability to player and the modmakers a way to create custom keybinds. As for the switch related comment of dedmen is not related to this topic at all.
' are all new to this and you do not want to bother yourself much', this isnt exactly the case, im not just im looking, for the shortcut or the easy route, but the simple solution, that doesnt impact performance
but what do you mean by 'heavily opposed'?
' onActivate/onDeactivate/onAnalog, but it is heavily opposed'
switch related comment? what is this about?
The only impact of adding your function in cfgFunctions and calling it from there will have the following:
pros:
Better (negligible) performance due registered function.
Experience to you, you ll learn how to create functions.
Better structure to your addon.
cons:
30 mins from your life to learn how to register a function.
Instead of worrying this much about stuff, you should actually start learning stuff and make use of them, and also learn when to use these stuff and when not to... The impact of that performance which btw will not have any impact at all because that is not even related to performance, it will even have a positive effect on the contrary but imo a negligible one. You should start worrying about how you gonna actually write the script since that is what will affect the performance most :)
switch is a command that is not really performance friendly. There are better options but in the referenced script; they are not buttons to be activated(so it is not like WSAD style very important continuously activated and deactivated buttons) thus less amount of times the switch code will be evaluated which is most likely why the writer of that function has decided to use so. At this point, I have got only 1 suggestion to you. First make stuff work, then worry about their performance. You cannot handle all things at the same time without knowing anything about Config, Scripting, Performance and many more concepts you will come across especially during scripting.
this is alot to digest,although very welcomed, give me a little while to reply please
performance comes after practice
I'll put +1 to start making and exploring it instead fo trying to learn it all just in theory
what are these 'better options', what is the 'best option'?
' You cannot handle all things at the same time without knowing anything about Config, Scripting, Performance and many more concepts you will come across especially during scripting'
i know some stuff now abont config, a tiny bit on performance, but none on scripting
Nothing you should be concerned about right now. Do not overwhelm yourself. First create something, make it work. When you see it works, then start worrying about how to make it better.
but you can tell me please 😄 lol, so i can keep it in mind, and concern oneself when the time comes, so can be better prepared and move in more of the right direction
Forget about it for now. You got enough on your plate. :)
👆 this @hardy crow you are trying to be too fast. you cant hurry this.
and you are again spiralling into the overthingking mode.
hello guys so im trying to have a custom configs out of a vehicle for personal testing (trying to make it have greater speed then it already defined , which if i am not wrong this one is defined on physxX.hpp so my question is should i just add some lines into my config.hpp to reference that or just by adding some custom class refering the block about it will do?
You want to use the same variables/names that the physX file does
So, enginePower=X;
maxSpeed=X; and so on
ty
Also, config.hpp should not exist. Should be config.cpp. You can then separate vehicles, weapons, etc into hpp files instead
Each mod needs a cpp file
@hearty sandal going to revisit this issue tomorrow AM, got any further pointers/advice to give? or any additional further links to read up on would be great
(mainly in regards to the cfgfunctions and SQF), thanks for guidance notes so far, much appreciated
Does anyone have any sort of documentation on faction creation or do i have to pull apart a mod on the workshop and start from there
(Faction patches would be cool, too)
https://community.bistudio.com/wiki/Arma_3:_Vehicle_Loadouts
what does the maxweight var in a pylon config look for in the magazine?
https://community.bistudio.com/wiki/CfgMagazines_Config_Reference#weight.3D0
the wiki for cfgMagazines is somewhat bare, and the only option i see here is weight, but that doesn't appear to work
@delicate comet try mass = in the magazine's, pretty sure that's what it looks for
You could start checking out BI forums editing sections and BI wiki on how configs works in general.
hm does anyone know what these config values in CfgVehicles.CaManBase do?
ISangleMod[]={0.1,0.029999999,0.1};
ISrecoilMod[]={0,0,0.2};
ISspeedMod[]={9.9999997e-005,9.9999997e-005,0};
ISmaxTurn=0.5;
ISanimMod[]={0.029999999,0.059999999,0.039999999};
@stray sage hired someone to help me with learning this process, really struggling, please advise me on this 'There are better options' please
before you can understand anything about better options youll need to grasp the basics
just start trying out how sqf works
hey, i get im on a learning curve, but withholding the better option for me more obstructive/disruptive/interruptive, negative than positive, and very frustrating, because its withholding specific info, just knowing it will help me grasp where im at and where i need to be
it wont help you grasp it
basics first.
advanced stuff is built on basics
I get that in your mind you are in a hurry
but you will need to lose that idea completely and focus on the learning
you cant hurry this along
He's not obstructing anything from you, he's saying how he would do it if he was in your shoes (both problem and experience level.)
If you want to do it another more advanced way then the details are all on https://community.bistudio.com/. If it makes you feel better, think of it not as choosing a worse option but as iterative development - making it work and then improving it
you might be able to make 5 very specific things, but you'll end up making 10 basic mistakes aswell
learning from the start makes you avoid having to fix stupid things in the future
Then surely they will advise on that better options already when the time comes (if (s)he is a good one). There is no point of doing that right now because you do not know the basics. How am I supposed to teach you something without teaching you the all prerequisites of it? You will not understand it. I know you will not as I am also training people in private to learn SQF and Config to achieve what they desire, I am teaching these stuff to people for years. There are at least 3 topics I need to mention to you before talking about why they preferred to design and code it like this, why would you want to use it or not, and at the end you would need to be able to ask to yourself whether or not you are able to use it. Right now, you are insisting on me talking about this but the thing is, you are not even aware that best code is not 100% performance wise efficiency. There are trades of many things. Time Cost, Code complexity, Code Performance, Code Cleanliness are some of those that starters should be aware to some extent and you do not know these either. But there is one thing, none of these matters if you cannot produce a code that is working and you are right now at that stage. So time to stop discussing matters and start producing. Otherwise it is all text-book style learning and once you take the keyboard into your hand to write, you will be disappointed to waste so much time to stuff you learned but cannot use because you simply did not unlock previous steps by putting your knowledge into practice.
Ok, well firstly, thankyou for taking the time to send a well thought out message, its definitely put the topic at hand into perspective for me, secondly, on the producing, will endeavour to start on that process, as early as tomorrow
class CfgFunctions
{
class modtest
TAG = {"modtest_fnc_animsgesturesuagdkp"}
{;
class modtest_animsgesturesuagdkp
{
file = "@modtest\addons\";
class myFunction {"@modtest\addons\modtest_animsgestures.sqf"};
};
class modtest_animsgesturesuagdkp
{
file = "@modtest\addons\";
class myFunction {"@modtest\addons\modtest_animsgestures.sqf"};
};
this is what i came up with today, without getting into the .SQF, but will fail forward, to push on, thanks again for your effort and time 🙏
I would list you all the mistakes but I cannot see a single line that could be understood by the related tools that has to make this work so I am not going to do that. If you do not understand how a config should be structured in order to work, I suggest you to start studying the structure first and till you figure out, to use samples related to what you want to create(you can simply copy and change them according to your need, then create further copies from the working parts and enrich what you have). Copy them and modify to your needs and see if that works. If you are curious what I mean with the mistakes, you can simply compare yours with the examples provided in; https://community.bistudio.com/wiki/Arma_3:_Functions_Library
and I am sure you will notice some of them instantly with a glance on any example.
this is the point one is trying to make, cfgfunctons to me doesnt make sense, as dont understand how it crosses over to scripting, but will get there in the next few days, with some hard work, will be sure to inform you/s once have crossed that bridge
thanks again for your contribution dude, and everyone else that applies to 🙏
Shot in the dark: anyone know if CBA’s animated/pip optic feature supports showing NV/Thermals on the pip?
I’m looking to add a skull “mask” to some custom units I’m making but I would prefer to not have to attach the skull object to the face or create a model from scratch. Is it possible for me to use the skull object as the model for the custom helmet or is that getting into copyright territory?
how do i configure the sonic boom sound effect?
i just wana use the base game sound, i got this:
soundSetSonicBoom = ["Plane_Fighter_SonicBoom_SoundSet"];
from the base game config, but it didnt work for my vtol
haven't been able to find any wiki page
does it go fast enough?
and if I recall right you might not be able to hear it in the cockpit yourself
yea, 1500km/h
and i'm rotating my camera around in 3rd person, that usually works in vanilla jets
like its silent when the camera is infront of the aircraft
but it doesn't do that for my vtol
soundSetSonicBoom = ["Plane_Fighter_SonicBoom_SoundSet"];
this doesn't seem right
i got it from the vanilla csat jet
oooh
you are missing the []
that could be the issue yeah
it looked kinda obvious tho
soundSetSonicBoom = ["Plane_Fighter_SonicBoom_SoundSet"];
is a SQF array
soundSetSonicBoom[] = {"Plane_Fighter_SonicBoom_SoundSet"};
is a config array
yeah i got it from the browser thing not the source
i dum

i meant the soundSetSonicBoom should go in the wiki
because its not mentioned in cfgVehicles reference anywhere
I'll add it
u da best
Is it possible to give a unit different footsteps, even if on top of the existing ones? Like maybe through a custom CfgMoves?
not on top of existing ones but they can be changed in the units config
Nice, how do I do that?
find the footstep sounds part of the man base class and copy them to your config and change to what you want them to be
I'm having an issue with my aircraft where I can add a weapon to a pylon but I can not select it using f when cycling. this only happens for this one weapon. If I had it as a non pylon weapon it works fine. I have double checked all of my linkages between ammo/magazine/weapon/pylon.
some further information, I narrowed it down to the ammo specifically I was inheriting from Missile_Agm_01_f switching it to M_Jian_AT fixed it. however I have another situation with the ammo_Missile_HARM but it does not have anything that inherits from it. if anyone could provide insight on to what specifically is causing this it would be greatly appreciated.
Is there a comprehensive tutorial for getting a custom grenade properly setup with a config?
No.
What are the reasons why a grenade, despite being added to Throw's muzzles[], would be usable by AI but not by players? As in, they can't select the custom grenade to throw it. With ACE and pressing Shift+G, it shows up for one frame and then immediately disappears - it cannot be thrown regardless of how fast you are or how low your FPS is either. Yet, like I said, AI can throw it. It also sometimes shows up if there are other, vanilla grenades in the character's inventory, but I haven't found a consistent way to replicate that - it appears to be random
muzzles do have a config value for controlling if they are shown to players. not sure if that's what's happening here though
Well, I'm inheriting from HandGrenadeMuzzle, so ye, defo not that
{
muzzles[]+= {"GARG_HLSR_Satchel_Muzzle"};
class ThrowMuzzle: GrenadeLauncher{};
class HandGrenadeMuzzle: ThrowMuzzle
{
magazines[] += {"GARG_HLSR_HandGrenade_F"};
};
class GARG_HLSR_Satchel_Muzzle: HandGrenadeMuzzle
{
magazines[] = {"GARG_HLSR_Satchel_F"};
displayName="Throwable Satchel Charge";
};
};```
The grenade magazine is inheriting from HandGrenade, too, and the ammo is inheriting from GrenadeHand
So I really don't know what's going on
not like I changed anything other than displayname, model etc
also ignore the throwable satchel part )) unless that might have to do with it ((
Does it work without ace@frigid flower
Probably something wrong with the ammo then
3 questions, Is allowTabLock only for the old sensor system, the new sensor system or both?
is there a way to use allowtablock to be used on ammo
can you make an ammo display their sensor picture with the aircraft sensor so that it displays in the sensor display(MFD)
You can enable missile camera view as part of the display components and you enable it on the ammo as well and it will show on the MFD in your aircraft. Allowtablock should work with both systems iirc
Anyone know how the 3rd person camera is created using the offsets in extCameraPosition[]?
i.e where does it attachto
don't worry think I found the function in rscSpectator.sqf
i belive extCameraPosition translates from the camera bone if it exists and otherwise from the origin
@pallid snow
👌
I'm still struggling with this despite a fair chunk of biki reading, Googling etc....
I've got a weapon (technically a launcher) that I want to use a different model (.p3d) for when a unit is holding/carrying the weapon to when it's placed on the ground.
These are all setup OK and I've got the 'dummy' class in CfgVehicles that links the static object to the actual weapon class.
So a player can pickup the weapon and it correctly transitions from the static model to the weapon model.
However, what I've not worked out is how to ensure the weapon goes back to the static model when it's placed back on the ground again.
Is this possible without scripting? (I'm hoping there's a config entry I'm missing somewhere?)
At the moment, A3 just seems to make the default dummy vehicle class when placing the weapon on the ground so uses the wrong model for this.
Hey
Trying to play an animation, but everytime its played via keybind, the camera like does a momentary reset? like a flicker, how to fix?
Please note that animation doesnt work with playmove, only with switchmove
it's because of switchMove
you have to make a link to your animation and use playMove/playMoveNow instead
can you please give an example 😄
vanilla configs have plenty of examples
previewale in game right
you need both in your animation class
To is where the animation goes after it's done
From is what can link to it for it to begin
RIGHT
still working on it - will update you
just had a minor '.sqf not found' error, we used knl initially in the sqf filename, not crh, so finding issue there
silly question, but when specifying file paths, is it;
- \modname\addons
or - modname\addons\
?
class CfgMovesBasic;
class CfgMovesMaleSdr: CfgMovesBasic
{
class Default;
class States
{
class asigpercmstpsraswrfldnon_advance : Default
{
file = "\modtest\addons\anims\asigpcrhmstpsraswrrfldnon\asigpercmstpsraswrfldnon_dab.rtm";
looped = 0;
speed = 1;
mask = "rightHand";
rightHandIKCurve[] = {0};
leftHandIKCurve[] = {0};
interpolateFrom[] = {"amovpercmstpsraswrfldnon", 0.1};
interpolateTo[] = {"amovpercmstpsraswrfldnon", 0.1};
ConnectTo[] = {"amovpercmstpsraswrfldnon", 0.1};
doubt it. it's not possible in A2 at least
I think it'll work. Try it
yeah that code works, 100%, but the issue is the jumpiness of camera, on each play of animation
I told you
Don't use switchMove
Also you might wanna remove interpolateTo and stick with connectTo
A3 still has no way to perform an animation state transition only does it?
?
playAction and playMove will play the entire animation
i.e. player playAction "SlowF" cannot be interrupted by pressing A for left
Yeah
is CfgVehicleClasses just redundant for Arma 3?
https://community.bistudio.com/wiki/CfgVehicleClasses
It's in a mod I'm working on with/for someone and I just don't understand it's utility.
does the A3 editor not have categories anymore?
Editor categories is different feature
well vehicle classes are for editor categories in A2 🤷♂️
Updated, WS update
same for interpolatefrom?
what does soundedge mean?
It is the fractions of the animation where sounds are played, primarily footsteps
{0.5} means one sound is played half way through
It doesn't make any sense to have the same connectTo and interpolateTo
Line 35 label is not alphanumeric - what does this mean?
you'll need to give some context, otherwise it's likely something on line 35 of your config is meant to be a number/letter but you have a special character instead.
mask = "leftupperleg";
(line 35 >>) "leftleg";
"leftfoot";
"lefttoebase";
"righthand";
"rightupperleg";
"rightleg";
"rightfoot";
"righttoebase";
is ; correct rather than , in that context?

Expected Semicolon OR bad array syntax
that's my guess, arma configs usually use commas for lists right?
horizontally yes (e.g [here1, here2]), but vertically to next entry, no, if that makes sense 🤦♂️, i believe thats right
I dont think that mask part is done right at all
refer to vanilla configs for example
Blend masks are arrays of string
ReloadMask[]=
{
"LeftShoulder",
0.30000001,
"LeftArm",
1,
"LeftArmRoll",
1,
"LeftForeArm",
1,
"LeftForeArmRoll",
1,
"RightShoulder",
0.30000001,
"RightArm",
1,
"RightArmRoll",
1,
"RightForeArm",
1,
"RightForeArmRoll",
1,
"weapon",
1
};```
for example
The mask name in a gesture state is just the name of a blend mask
class GestureReloadSPAR_01ContextAnimDrive: GestureReloadSPAR_01Context
{
mask="handsWeapon_contextAnimDrive";
};```
@hardy crow you need to use the vanilla configs as reference. Dont try to invent your own things
So I'm inheriting from I_E_Uniform_01_F for a retexture, I have it setup and working, but in Ace Arsenal I get an error for;
No entry 'bin\config.bin/cfgweapons/rsf_u_bdu_M84.namesound'.
cfgweapons is:
class UniformItem;
class Uniform_Base;
class I_E_Uniform_01_F;
...
class RSF_u_BDU_M84: I_E_Uniform_01_F
{
picture="\Gear-Reskins\Uniform-Reskins\Equipment\SandT.paa";
author="Svend";
scope=2;
displayName="Battle Dress Uniform (M84)";
model="\A3\Characters_F\Common\Suitpacks\suitpack_original_F.p3d";
class ItemInfo: UniformItem
{
uniformModel="-";
uniformClass="RSF_u_BDU_M84";
containerClass="Supply50";
mass=40;
};
};
what causes this? is it incorrectly defining iteminfo?
sdf_u_bdu_m82 does not contain parameter namesound
possibly your inheritance tree is not properly set up and you overwrite original inheritnace
thus breaking it
You are inheriting from the wrong class. I_E_Uniform_01_F is not a CfgWeapons class but is from CfgVehicles instead (that is the uniformClass used by U_I_E_Uniform_01_F).
Make your custom class inherit from U_I_E_Uniform_01_F instead.
Whenever you're inheriting from vanilla classnames, always double check the prefix to see whether or not you're inheriting from the right CfgWeapons classes.
Thank you!
Anyone here who has a clue on how to change the main menu music? Seen it done it some other mods but was never able to replicate it.. any help would be appreciated!
The music is played by the cutscene in background.
trying to make an aa missile that can hit something moving at 1500~ km/h, because at the moment the aircraft can fly right over an AA site and be basically immune to any existing AA\
do i need to mess with the tuning? i've tried just a bigger aoe but that doesnt seem to work
yes, obviously... if you miss by several hundred meters, AOE is not helping. higher maneuverability, higher thrust, longer thrust time
Is there a way to get the weapon loadout of an Air Vehicle (Like the way you use "copyToClipboard str getPylonMagazines this") but for the actual weapon class names.
Example (Using USAF):
PylonMag = USAF_PylonRack_4Rnd_AGM114P
Weapon = USAF_AGM114P_Launcher
For note, the reason I know what weapon classname is for what pylon is they have a classname wiki on github.
But RHS doesnt seem to have a similar way :/
correct, { doesn't belong there
class CfgMovesBasic;
what are you trying to do here? have a declaration so you can inherit from it? or add a entry into that class?
class mtaa_asigpercmstpsraswrfldnon_dab ; Default
its : to inherit, not ;
sorted @grand zinc dont worry, rookie errors again, thanks again for reaching out
@delicate comet Theres a lot of things to consider not just maneuverability, making it to agile can cause missiles to behave funky, but also the missilelockcone, missilekeeplockedcone, missilemaxlockspeed, tracklead and trackoversteer will all play a big part, if you can get the missile within 50 odd meters you could use proximityfusedistance to help "cover" the remaining distance
whats the technical difference (if any) between crh and knl?
ok so animationtitles, say;
knl - crouched down, when stopped, so kneeling.
crh 'crouched unit (Arma 3)
wat is this
😢
Hi! I am looking where Laserdesignator_pilotCamera (weapon) is described in the pbos? Has anyone an idea about where I can find the pbo? I am looking to understand which display camera is the Laserdesignator_pilotCamera (maybe 46?)
its not in any pbo. the display IDDs are hardcoded
Yo is it CfgGroups or CfgVehicles misconfiguration that can cause the OPFOR group composition list in Curator mode to read BLUFOR instead?
I remember doing it and going "I'll fix it later", but now later has come and now I forgot how it's fixed
yes misconfigurations can cause that
what do you mean? (topic; using connect to, not interpolateto, but to use interpolatefrom?
anyway to make it so it checks any headgear instead of a specific classname? something like this.
|| headgear _curplayer == "HelmetOpsCore_V1")
Check if it's null as in there is no headgear
Im unsure on how to do that can u show me an example?
dont have anything at hand for such.
Hey folks, I'm trying to use the __has_include pre-processor to only use a reload anim if the western sahara CDLC exists and is enabled - but it doesn't seem to be working - anyone able to help figure out why it isn't?
My thinking is - check to see if an asset from the CDLC exists, and if so use the right anim
#if __has_include("\lxws\data_f_lxws\Logos\arma3_lxws_icon_ca.paa")
// File exists! Do something with it
reloadAction = "lxWS_GestureReload_slr_GL";
#else
// File does not exist
reloadAction = "GestureReloadMXUGL";
#endif
How do you create a selectable component?
selectable where?
in game oor where?
Like, how you can select camos and components for vehicles
I’m not sure how to do components in the garage where you select them
have you checked any vanilla vehicle with those optional parts for reference?
https://community.bistudio.com/wiki/Arma_3:_Vehicle_Customization
I believe you are looking for animationList attribute? (Components are basically hide animations applied to them)
👌
Ok so this won't show up in game
class CfgVehicles
{
class CUP_M113_Base;
class CUP_B_M113_ADF: CUP_M113_Base
{
scope = 1;
_generalMacro = "M113_AUS";
side = 1;
displayName = "ADF M113";
accuracy = 0.3;
faction = "AUSpack";
vehicleClass = "APCs";
crew = "USP_OFFICER_LAV1";
typicalCargo[] = {"USP_OFFICER_LAV1","USP_OFFICER_LAV1","USP_OFFICER_LAV1","USP_OFFICER_LAV1"};
author = "Artermus";
hiddenSelectionsTextures[] = {"adf_m113\m113a3_01_adf_co.paa","adf_m113\m113a3_02_adf_co.paa"};
It's a retexture of one of the CUP vehicles
because the scope is 1 , it has to be 2 to display in 3den etc.
Aww
scope = 1 means it can only be created with scripts but is unlisted.
Next question, how would I get a certain portion of the camo net to follow the gun, while being selectable with the entire camo net
When you need to apply two animations to the same object, such as a move and a hide, then you can use a "dummy" bone
"objectA_dummy", "",
"objectA", "objectA_dummy"```
Apply the hide animation to `objectA_dummy` and the translation/rotation to `objectA`.
@nimble sequoia So, make a selection that's nothing, then make the selection I need paired to the dummy selection correct?
The dummy is a virtual bone, it doesn't have a corresponding named selection in the p3d. But when you hide the dummy bone, it's children will also be hidden.
"attach_net", "",
"attach_net_dummy", "attach_net",
"attach_net_gun", "attach_net_dummy",```
This?
Impossible to guess without a picture seeing what the pieces are named and some idea of how you want them to behave.
Oh, you effectively have two camonets then - one that is static, and the other which follows the gun movement. But you want to hide all camonet together
Yes, the camo net is a single piece
But, it has a portion that needs to move with the gun
Would it be easier to have them separate camo net options?
My issue is that since the camo net is using an animation already, it wont apply the other one for the gun movement. I've tried the dummy object but I prob did it wrong
Probably splitting the net into 2 or 3 named selections is the way to go
"net_gun", "net_static",
class net_static_hide {
source = "net_hide";
type = "hide";
selection = "net_static";
minValue = 0;
maxValue = 1;
hideValue = 1;
};
class net_gun_elevation {
source = "main_gun";
type = "rotation";
selection = "net_gun";
axis = "main_gun_axis";
minValue = "rad -360";
maxValue = "rad +360";
angle0 = "rad -360";
angle1 = "rad +360";
};```
net_static being the part on the hull that doesn't move and net_gun the part covering the gun barrel
You'd need some traverse animation too of course
@nimble sequoia I made them into 3 different camo net components. Thanks for your help
(belated response, as was getting around to issue)
ReloadMask[]= {"LeftShoulder",0.30000001,"LeftArm",1,"LeftArmRoll",1,"LeftForeArm",1,"LeftForeArmRoll",1,"RightShoulder",0.30000001,"RightArm",1,"RightArmRoll",1,"RightForeArm",1,"RightForeArmRoll",1,"weapon",1};
Apart from just including
mask = "ReloadMask";
is there anything else one needs to do to make the mask work please?
What is causing this issue?
anyone know how to change the FIA flag texture into the flag texture I want?
I've created a mod folder, the flag texture and its paa, addons folder, etc.
I've got it all set up but now I just need to know how to edit the config so that I can force replace the FIA flag texture in game to the flag texture I want
1.cant think of any. 2. Missing thingy. Error format like Ive said before is classname.missingthingy
tried connec to to no avail;
ConnectFrom[] = {""};
ConnectTo[] = {""};

you want either empty {} or state-cost pairs: {"SomeState", 0.01}
hey, ok, thanks, but why exactly if you dont mind my asking please?
because that's what the engine expects from it
it expects a set of string-float pairs representing the target and cost of the animation graph edge
right, but what does it call exactly?
what do you mean by that?
sorry, i think what im trying to ask is ,(now youve already answered it technically); could you reword this in more simple, laymans terms please?
animation states, i.e. classes nested in CfgMovesSomething/States, e.g. AmovPercMstpSnonWnonDnon form a directed graph with each state being a vertex in that graph.
ConnectTo, ConnectFrom, InterpolateTo, InterpolateFrom specify edges between the vertices, i.e. the states. each edge also has a cost associated with it.
class AmovPercMstpSnonWnonDnon
{
InterpolateTo[] = {"AmovPercMwlkSnonWnonDf", 0.01};
};```
here `InterpolateTo` specifies that there exists a directed edge from `AmovPercMstpSnonWnonDnon` to `AmovPercMwlkSnonWnonDf` with a cost of `0.01`
the animation graph is used by the engine to find the path from one animation state to another, desired animation state
if you don't know what a directed graph is: https://en.wikipedia.org/wiki/Directed_graph
each edge can also be either normal or interpolated. that is specified by the choice of ConnectTo/ConnectFrom or InterpolateTo/InterpolateFrom
https://i.imgur.com/O6APBNr.png here is a small part of the CfgMovesMaleSdr animation graph (at least in A2)
you can see the transitions of an unarmed man going down to prone from standing and back up, all while being still.
you can also see the transition of diving from a standing run to prone.
when you press Z to go prone, the game knows it wants to go to the prone state. so it starts at the current state and finds the path of lowest cost through the animation graph to get to that state. if you're standing still, it is 0.01+0.01=0.02 through AmovPercMstpSnonWnonDnon_AmovPpneMstpSnonWnonDnon. if you're running forward, this path would now have a cost of 0.01+0.01+0.02=0.04, so the diving forward animation path through AmovPercMrunSnonWnonDf_AmovPpneMstpSnonWnonDnon with a cost of 0.01+0.01=0.02 is preferred.
ok i think i get it, so this is how the config code works?:
codehere [] = {""};, when this ({""}), will automatically refer to the engines animation graph? making it not necessary to explain each animation, on each interpolationto/from, connectto/from
No this makes no sense
how?
oh, so this means {"AmovPercMwlkSnonWnonDf", 0.01}; has to be specified at each interval?
the config is just data. its meaning depends on how the engine happens to use that particular piece of data
what do you mean by interval?
as in {"amovpercmstpsraswrfldnon", 0.1 "amovpcrhmstpsraswrfldnon", 0.1...
(one animation state being an interval, sorry im not fluent with coding lingo, so used my own aha)
you can call it vertex, node, or animation state. between two vertices you have an edge. i guess you could call that a transition
each state-cost pair, e.g. "amovpercmstpsraswrfldnon", 0.1 specifies an edge between two vertices
that is not inherent to the config however. that's just because this particular array of pure data is interpreted by the engine as describing an animation graph edge
so 0.1 has to be written to get the engine to refer to the animation graph edge?
the engine wants a string-float pair, yes
the float is the cost of the transition
you can use whatever value you want (within some limits)
float means number if that eluded you
and string means text
why would one want to use a float other than 0.1? if thats the diktat? rule to follow?
it's on the relative cost of other edges and the topology of the graph which you must base that decision.
when standing still you want the path of lowest cost to prone to be through the animation that goes down directly, instead of through the diving animation
meaning, the higher the value, the more other animations will be used through the animation states*,, e.g
'For instance, from the kneeling with a pistol state (PistolKneelActions), you cannot directly go into crawling forward on your stomach with a rifle (even if you have a rifle). First you would have to holster the pistol and grab your rifle, then lie down, or viceversa'
(https://community.bistudio.com/wiki/CfgMoves_Config_Reference) ?
the cost affects which path is chosen, not the length of the path
so, the higher cost = more animations played
i wouldn't put it that way
take the diving example. if i increase the cost of one of the diving edges too much, then instead of performing a dive, the character will just stop and go to prone while stopped
increase cost, above 0.1? to like what? please provide example, like 0.6?
https://i.imgur.com/O6APBNr.png
in this example the lowest cost from AmovPercMrunSnonWnonDf (standing run forward) to AmovPpneMstpSnonWnonDnon (prone still) is 0.01+0.01=0.02
there is an alternative path through AmovPercMrunSnonWnonDnon (standing still) with a total cost of 0.02+0.01+0.01=0.04
if i increase the total cost of the first path to 0.04 then either path may be chosen. if i increase it to 0.05 then the second path will always be chosen
here i've highlighted the two paths
when you add up the cost of path 1 you can see it is 0.02. adding up the cost of path 2 you can see it is 0.04. therefore path 1 will always be picked
ok this makes sense now
so, to summarise, this error doesnt even need the "" inside the {}?
it can be just connectfrom[] = {};?
but if it has the "" inside the {} then youll find to define the {"SomeState", 0.01}?
yeah, empty array is fine. it just means no edges of this particular kind.
if you do define edges then they must name an existing state ("" does not) and they must have a cost
sorry, define 'edge' again please one more time
look at the picture. the arrows are edges
each of those pairs "SomeState", 0.01 defines a new edge
thankyou very much sir for these informational teachings, very grateful and thankful for putting aside sometime to help 🙏
Question: A2OA. Something is overriding my CfgWeapons mod, and I cannot determine what. I believe it is something in the base game or its official expansions. Is there a way to determine which mods are writing to a weapon entry? And how can I affect my patches so that my mod loads after absolutely everything in the base game is finished loading?
your CfgPatches class has a list of dependencies
yes, but I don't know which ones to include. It's already a long list.
basically you need to include everything you want your stuff to load after
with A2 there isnt really any good way to determine that if I remember right
So for more than a decade people have been making weapons mods totally blind?
this is just a fundamental problem of two mods mutating the same resource
there is no good way to order them except explicitly
But how do I find which dependencies in the base game to include in my cfgpatches?
have you extracted all of \ca into P:/ca?
and where would I be looking inside of there?
depends on what in CfgWeapons you're modifying
if it's small arms then weapons*/**/config.cpp
there's also corepatch though
it's a set of community made patches on top of the base game
included in the main game?
yeah
so how would i account for that in cfgpatches
same thing. you add them as dependencies
I see no "weapons/*" in Ca
P:\ca\weapons
P:\ca\weapons_acr
P:\ca\weapons_baf
P:\ca\weapons_e
P:\ca\weapons_pmc
P:\ca\weapons2
where is the corepatch located?
you might see it in P:/corepatch
I don't see any sign of a corepatch anywhere. maybe it doesn't exist as its own entity in OA?
oh wait i found it
A lot of other mods contain within cfgpatches references like these: "CAWeapons_DMR",
"CAWeapons_M1014",
"CAWeapons_Saiga12K",
"CAweapons_ksvk",
where are those coming from?
I see no pbo's by those names anywhere
I believe these are class names of the cfgPatches?
Or the mod section itself
I'm creating some attributes for units but I'm running into an issue where they are overlapping each other but it's only the top 4 attributes
I can send a screenshot if needed
CorePatch and the Community Configuration Project pbos are located in OA's directory (in the Expansion folder).
Vanilla A2 also has its own CorePatch pbo but it's easy to find since it's in the same Addons folder as the main pbos.
The CorePatch CfgPatches entry already loads CCP's changes by default so you only have to list CorePatch in your custom pbo's requiredAddons array.
Or you can simply list individual CorePatch configs based on whatever thing that you need to change (i.e. CorePatch_Weapons for something that alters the vanilla vehicle cannons/guns).
Just a word of caution though. CorePatch is kinda messy with all the individual patches that were accumulated over time...especially since the WITHSIX feedback tracker is long gone.
So you may need to unpack corepatch.pbo and take a peek at the changelog.txt file to find the configs that match the CIT ticket number.
you can have multiple patches from multiple config.cpp within a pbo
Does anyone know what baseclass soldier the Russian gorka: "U_O_R_Gorka_01_F" is inheriting from?
What i mean is that all clothes is inheriting from a specific "soldier_base": I_L_Uniform_01_tshirt_skull_F: I_L_Soldier_Base_F.
But i really cannot figure out which baseclass the gorkas are inheriting from...
you can find out in config viewer
I tried but with no luck
I looked through the config viewer and got the following for the "clean" granit suit: O_R_Gorka_F, and i also found the baseclass. To that i wrote the follwing : class O_R_Gorka_F: O_R_Gorka_Base_F {modelSides[] = {6};};
But that sadly didn't work either
U_O_R_Gorka_01_F: O_Soldier_base_F {modelSides[] = {6};}; Didn't work either, if anyone knows how to get Blufor units to wear the Granit / Gorka via configs suit ping me.
what does each colour in this config represent please?
https://imgur.com/vpvWPmb
data type - string, number, array
in order of which color shows first?
green - data type
red - string
purple - array
?
you are missing number type
sorry? not quite getting what you mean here 😕
In computer science and computer programming, a data type or simply type is an attribute of data which tells the compiler or interpreter how the programmer intends to use the data. Most programming languages support basic data types of integer numbers (of varying sizes), floating-point numbers (which approximate real numbers), characters and Boo...
green is number, red is string, blue is array
though it doesn't seem to colour array elements correctly
because it can't
i'm sure it could with a bit of effort
CfgWeapons
U_O_R_Gorka_01_F = Granit-B Suit
U_O_R_Gorka_01_camo_F = Granit-T Suit
U_O_R_Gorka_01_brown_F = Granit-B Suit (Weathered)
U_O_R_Gorka_01_black_F = Tracksuit (Black)
All uniforms inherit from Uniform_Base.
CfgVehicles
U_O_R_Gorka_01_F's uniformClass is O_R_Gorka_F
U_O_R_Gorka_01_camo_F's uniformClass is O_R_Gorka_camo_F
U_O_R_Gorka_01_brown_F's uniformClass is O_R_Gorka_brown_F
U_O_R_Gorka_01_black_F's uniformClass is O_R_Gorka_black_F
All uniformClasses inherit from O_R_Gorka_base_F (this is where the model Gorka_01_F.p3d is defined along with its injury materials/selections).
O_R_Gorka_base_F inherits from O_R_Man_Base_F (contains stuff for faces/identities/voices used by Russian Spetsnaz units).
Lastly, O_R_Man_Base_F inherits from O_Soldier_F (Mediterranean CSAT basic rifleman class).
If you want to make a BLUFOR compatible Granit, you need to create a custom CfgVehicles uniformClass that inherits from O_R_Gorka_F but changes the modelSides array to {1} so that only BLUFOR units can wear it. Don't forget to link it to your own uniform item in CfgWeapons too.
Also one more thing. For whatever reason, BI decided to add underscores to the selection names of Contact's models. If you aren't inheriting from vanilla Granits, you will have to define the hiddenSelections as "camo_1" (with an underscore) instead of "camo1" (used by most non-Contact models).
First of all, thank you.
Second, I wrote this: class O_R_Man_Base_F; and below class O_R_Gorka_base_F: O_R_Man_Base_F {modelSides[] = {6};};
Shouldn't that work?
{
author="AugCph";
editorPreview="";
scope=2;
ScopeCurator=2;
displayName="CBRN MOPP4 Rifleman";
uniformClass="O_R_Gorka_F"; ```
And then have this uniform class on the unit i want to wear the uniform
Can you post your full config somewhere? I get the feeling that your inheritance got borked somewhere.
Has anyone ever encountered something along these lines?
No entry 'bin\config.bin/CfgMagazines.#'.
I'm not sure why it's happening, I thought the issue was with my #include but that is also fine. It allows me to go fully in the game
And it happens when using ACE CSW and attempting to load a custom magazine into the HMG
Truncated file. Missing one or more};. Error starts near token 'Wheeled_APC' : Car_F
In File Shinobi_Main\config.cpp: circa Line 255 EOF encountered
getting this error when packing the vehicle im making
everything that should be there IS there
so i have no clue why im getting this error
that is CfgVehicles entry? O_R_Gorka_F is not CfgWeapons class
I got it working
ok so in regards to;
connectfrom[] = {};
connectto[] = {};
tried the {}; and the {""}; and now the {"amovepercmstpsraswrfldnon", 0.1};
to the same error message: https://imgur.com/8D3oAQk
If anyone can help assist, thatd be great, and very much appreciated 🙂
can you post the whole class definition?
does CfgGesturesMale not inherit from CfgMovesBasic ?
also it would be better if you posted a code block instead of picture
!code
```sqf
// your code here
hint "good!";
```
↓
// your code here
hint "good!";
aye, cfgmovesbasic includes file, looped and speed
as for code block, how do the colors come through on discord?
CPP instead of SQF will probably produce decent highlighting for config
class CfgGesturesMale
{
class Default;
class States
{
class asigpercmstpsraswrfldnon;
class asigpercmstpsraswrfldnon_advance : asigpercmstpsraswrfldnon
{
file = "\mod_test\addons\anims\fp_asigpcrhmstpsraswrfldnon\fp_asigpercmstpsraswrfldnon_advance";
weaponlowered = 0;
weaponik = 0;
lefthandikbeg = 0;
lefthandikend = 0;
lefthandikcurve[] = {};
righthandikbeg = 0;
righthandikend = 0;
righthandikcurve[] = {};
mask = "walkrun";
canblendanims[] = {"legs"};
ConnectFrom[] = {"amovpercmstpsraswrfldnon", 0.1 };
ConnectTo[] = {"amovpercmstpsraswrfldnon", 0.1 };
};
};
};
using armaconfig at this time via visual studio code
edit it and put CPP after the opening backticks
well it's not terrible...
anyway, if CfgGesturesMale inherits from CfgMovesBasic then it should be reflected here too
same with States if it inherits from CfgGesturesMale/States, i.e. States : States
though i am not sure if that is the case in A3
what do you mean exactly here?
it doesn't
cfggesturesmale can work independant of cfgmovesbasic entry?
okay, i wasn't sure off the top of my head if that was the case
does asigpercmstpsraswrfldnon exist?
hehe, no 😉
then you can't use it as a base class
why? howcome?
a base class has to exist
whats a base class, one of the stances?
class asigpercmstpsraswrfldnon_advance : asigpercmstpsraswrfldnon the name after the colon specifies a base class
righttttt
all the fields (like connectTo) are inherited from the base class
though any field in the child class can override an inherited field
class Base
{
A = 1;
B = 2;
};
class Derived : Base
{
B = 3;
};
here
Derived.A = 1 (inherited from Base) and
Derived.B = 3 (overridden by Derived)
Bump
okay send a screenshot because i have no idea what you're talking about
Bump
Cant really post the config here
why
amovpercmstpsraswrfldnon must be (Case sensitive)/AmovPercMstpSrasWrflDnon to be read?
Cant post attachments and its more or less 90% of it
post in hastebin or something
Im at work so I’ll do it later. Had someone else check and they said nothing was missing in it
it's not case sensitive, though you should still strive to use the correct casing
the real problem is whether the base class actually exists or not
care to elaborate?
player playMoveNow "AmovPercMevaSlowWrflDf", AKA, "AmovPercMevaSlowWrflDf" - the base class exists
primary moves and gestures are separate
they exist in CfgMovesMaleSdr but not in CfgGesturesMale
"AmovPercMevaSlowWrflDf" afaiwa is a cfgmove, will check
unless its an AadjPercMevaSrasWrflDf or AidlPercMevaSrasWrflDf, afaik
i'm pretty sure neither of those are gestures
look in CfgGesturesMale/States in the config viewer
i didnt* checked cfgmovesmalesdr***
were looking for the base class, not gestures, right?
do you understand the difference between a normal move and a gesture?
yes, minor mistake/overlook
corrected previous message
(#arma3_config message)
okay. if you want to create a gesture then you cannot use a base class from CfgMovesMaleSdr
GestureFreezeStand?
you can't just take some random class as your base class. you have to make an informed decision based on your needs
maybe we should start with what it is you actually want to achieve
play a gesture, (e.g hand signal) from a standard, standing rasied rifle position
in CfgCloudlets, are the variability fields (e.g. sizeVar for size) a scalar multiple of size, or absolute? so e.g. if i have size=10000 and sizeVar=0.5 would i see things of [9999.5,10000.5] variability, or [5000,15000] variability?
god dang, someone somewhere in this discord has this answer 😢
okay. if you just want to play the gesture, first we should find out if that gesture already exists
the way you play the gesture is player playAction "SomeAction"
in CfgMovesMaleSdr/ManActions you can find the list of all actions
there you might see SomeAction[] = {"SomeMove", "Gesture"};
however ManActions only lists the full set of available actions. there are actual action maps in CfgMovesMaleSdr/Actions
i believe it's multiplicative
https://imgur.com/CRibbOU
are these all polymorphed from one blendanim? or rewritten for every single anim, or in here gesture?
default gestureadvance works, parent is {"default"], mine doesnt, although it shows in config viewer
why do you want to make your own?
https://imgur.com/7M9WSyt, just testing and learning
i'm not sure what you mean. looking at that image i suspect that the indented lines are inherited fields
think its the right time now to no longer keep asking these questions anymore in config makers, this petty following crumb trail isnt productive, thank @ashen sluice for your help and all others, but yeah, lets leave this channel open for everyone else
someone with actual A3 experience may be able to confirm. i've never used this config viewer
i dont just want to get given the answer, and use it, i want to know the why and how that comes with it, for more independant working, but, this, 'investigative' type approach is just not a feasible approach to keep on the path of, i gave it my all, and, happy to start again from scratch another way, it is what it is
you probably have a mismatched brace somewhere
Doesnt look like it. Ive looked through it multiple times and had other people look
you need to bisect
delete half, see if it passes. if yes then the error was in the other half. rinse and repeat with ever smaller subset until you find the problem
I’ll give it a go
Forgot I could do this... https://imgur.com/a/24FSxLS
Idk why but my attributes are overlapping like that (A3)
found the issue in the end. bohemia just cant make their own configs work
that said, whats the nato faction name for configs
think i might have it
yeah managed to get it all into game
rn the animations are working at all though
is it better to ask here or in model makers
like suspension, steering, wheels turning etc
can't tell without looking at the config
or maybe it's a game bug
¯_(ツ)_/¯
CfgVehicles: MinFireTime. Biki says only this: "Minimal time spent firing on single target". Does a low minfiretime allow the ai to react more quickly, or to switch targets more quickly? Or would a low minfiretime only cause the ai to shoot less?
This is it https://pastebin.com/yZUT9xcb
There a way to create a class only if a mod is loaded? What I think it would look like
#if __has_include("configFile >> CfgPatches >> rhsusf_main")
class NEW_CLASS : OLD_CLASS
{
...
};
#endif
I don’t know scripting so can’t be any help there. But, you could probably create the class and reference stuff without adding it to the required addons. And once the mod is loaded, it’ll read the class
I think
i imagine this is a config issue, but the wheels arent contacting the ground, making the suspension bottomed out constantly
it also acts like its sat on top of a stick when it drives
yes, you had the right idea but has_include checks if a file exists, a config path is not a file.
Check some file inside the mod, for example its config.bin
Probably bad physx config but could also be that damper animation axis memorypoints are wrong way around
so flip them 180 vertically and see what happens?
physx doesnt look like theres an issue
could it be the basic damper axis? @hearty sandal
No idea how you have set it up. 😅
just throwing ideas at what could cause it
like its not going to be the headlight memory points
but it could be basic_damper or individual wheels
i just followed the samples hatchback car for guidance
since youtube tutorials tend to be sketchy at best, and i cant find a hand to hold through it
Alrighty. Where would the path start from?
Oops I forgot to tick off the ping sry
pboprefix
K thanks 🙏
@hearty sandal it was the dampers being inverted. drove it over some bumps to see which way the suspension extended to test
👍 👍
need to resolve the fact its floating and isnt driving right
Probably physx spring setup issue
And possibly weight distribution is not centered
sprung mass is the same for every wheel
right now its acting like its sat on top of a cone
that and one of the wheels isnt animated for some reason
Typo
theres a long list of issues
another one is that right now, the first person view is like its a UAV
possibly. i'll check
but yeah. no drivers seat for some reason, but has the commander and gunner which shouldnt be there
Inheritance, missing proxies, missing actions, config set up as uav
Lot of options
mind if i send you the config to have a look through? I didnt put UAV in it at all
could be because its inheriting from a wheeled APC
mass issue
Does anyone know what the base class is to use gesture based animations?
Yeah Idk what I'm doing here...
#if __has_include("\WagonsCustomFactions\rhsusf\addons\rhsusf_main\config.bin")
$PREFIX$ File
WagonsCustomFactions
"\WagonsCustomFactions" what is that
You put the path of the mod, the path of the file you want to check
not... I don't know what that is
do you have a copy of RHS in your own mod? surely not
Yeah like I said idk what I'm doing
has_include checks if a file exists
I'm dumb
if you want to check if a mod is loaded, you check if some file inside the mod exists
so ofc you give it the path to the file inside that mod, and not inside your own
Thank you for the help 🙏
check the beginning of cfgGestures
ManStanceUndefined is the base class?
https://imgur.com/48rXFCA
So it works now but only in eden it seems
#if __has_include("\rhsusf\addons\rhsusf_main\config.bin")
When I try to use the unit in zeus they won't show up if they are in this #if
These are set tho
scope = 2;
scopeCurator = 2;
zeus also needs the CfgPatches units[] entry afaik
🤦♂️ Forgot about that
so...
cfggestures
asigpercmstpsraswrfldnon: cfggesturesmale
would cover all, (rifle, pistol) anims?
Well now that I've got the structure setup I can finally start making some factions 
no. CfgGesturesMale is not to be used as a base class for any gesture states. perhaps @hearty sandal misspoke
we need something that will work for rifle and pistols gestures
try Default. it makes for a good default
We already use Default, GestureAdvance inherits Default, and we inherit GestureAdvance. Do you understand the chain?
okay. i don't know why you would want to derive from GestureAdvance but fine. you were talking about deriving from CfgGesturesMale before though
I meant the class default being the base class for all gestures
inside cfgGesturesMale
you dont need a base class unless you mean to inherit its properties
that's why Default is good. it gives you good defaults for all the one million fields where the defaults are fine
yep
"base class" is invented structure that allows definition of shared same properties between multiple classes
and in case something in baseclass needs changing the changes apply to all of its child classes
however "class default" is core config base that you should not change
idk.
Is it possible to adjust how steerable parachutes fly through config tweaks?
I've tried adjusting all the parameters that sound like they are related to flight (and do adjust things like helo flight) but nothing seems to have any effect
Used the mora physX on my 31 ton vehicle and it was extremely slow for some reason. Isn’t the Mora like around 30 tons?
Can anyone help me out with the config for vics? More specifically helicopters. Rn i'm just reskining a Ah-1, I got the textures and everything, I just don't know how to get the proper nerd file stuff. So far, i've ripped some from the base arma helo, just dunno how to add the actual variations part
Tell us precisely
right right, So I have a config.bin (for air_f.pboyadayada file from the base arma3/addons folder. I intend to get my retexture of the RHS Ah-1 on the game using that config since the config.bin in the air_2 pbo didn't work. Now, I don't quite know what I need to add to make this work
What did you do so far? What's your config?
So far, I've just unscrambled it. Nothing else since it was too goddamn confusing. Not anything like doing helmets
So you have nothing so far?
yeah pretty much
You need to add hiddenSelections and hiddenSelectionsTextures to your custom variant of the helicopter
Mhm, so where to start...
You need to add hiddenSelections
No.hiddenSelectionsare already defined and there's zero point to redefine
More like minus points
https://community.bistudio.com/wiki/Arma_3:_Creating_an_Addon
If you have zero clue how to make an addon/pbo, follow this short guide I guess
gotcha, thanks home boy
If you get through this one, hit us up
Or, if you find something wrong while doing this tut, hit us up, too
alrighty, will do
@wintry tartan Alright, I got through it all and mostly understand it
Alright so you know how to make an addon now?
Yeah pretty much, though I assume whenever they talk about typing stuff, i'd make a proper config.ccp text document?
i'm a potato
never mind
silly question, do all cfggestures rtms inherit from cfgmovesbasic or cfgmovesmalesdr?
all gestures are configured in cfgGesturesMale
they dont have connection to cfgmoves
this should be clear from the separation of the different cfg classes
was thinking this
please define to me what an inheritance class is, and then in terms of missing inheritance class
wiki has a page about that
where can i find the color code for armaconfig for visual studio code?
change VS code colors
to wut, c++?
I mean customize the theme colors
i mean how do i find out what each color means? in this situation; armaconfig?
it's obvious what each color means
to you maybe, not me
nvrm, answered both questions
Is this right or not? (pboproject says its missing inheritance classes)
class CfgGesturesMale
{
class Default
{
class States: Default
{
it's not right. remove that nesting Default class
class CfgGesturesMale
{
class Default
{
class States
{
class CfgGesturesMale
{
class States
{
class mod_test
{
Truncated File?
?
initially tried to get the mod anim to show in config viewer, to no avail
(#arma3_config message)
now trying this, but its saying truncated file, error line 62 EOF
'Error starts near token 'States' :' (last change was the class mod_test)
(#arma3_config message)
this doesnt work either, same error;
class CfgGesturesMale
{
class mod_test
{
class States
{
is it necessary to specify the modname_test eachtime underneath the start of a main inheritance?
class CfgFunctions
{
class modname_test
class CfgUserActions
{
class modname_test
{
or could this work?
class CfgGesturesMale
{
class mod_test_States
{
just checked, but still cannot see my animation in configviewer > cfggesturesmale, will sleep on it and test tomorrow, meanwhile if you have any suggestions, please send them over, would be very grateful
Can model parts be animated based on pilotCameraRotX and Y?
@hardy crow check the actual cfgGesturesMale how it has the classes set up 🙈
How can I turn a custom backpack into a LR radio for TFAR beta? I have made a model and what not and implemeted it into the game I just cant find anything straight forward on how to actually make it a TFAR LR
nevermind I figured it out
class CfgGesturesMale
{
class Actions
{
class BlendAnims
{
class Default
{
class Interpolations
{
class ManActions
{
class States
{
text = "modname_gesture_dab";
file = "\fp\fp\mn_anim_dab.rtm";
actions = "NoActions";
mask = "modname_Gesture_Test";
Walkcycles = 1;
weaponIK = 1;
leftHandIKBeg = 1;
leftHandIKCurve[] = {0, 1, 0.1, 0, 0.8, 0, 1, 1};
leftHandIKEnd = 1;
rightHandIKBeg = 1;
rightHandIKCurve[] = {1};
rightHandIKEnd = 1;
};
};
};
};
};
};
};
Something like this?
no
you can't just throw shit at the wall and see what sticks
class CfgGesturesMale
{
class Default;
class States
{
class MyGesture : Default
{
file = "\fp\fp\mn_anim_dab.rtm";
// ...
};
};
};
class CfgMovesBasic;
class CfgMovesMaleSdr : CfgMovesBasic
{
class ManActions
{
MyGesture[] = {"MyGesture", "Gesture"};
};
};
so i need cfgmovesbasic/malesdr or not?
some people say yes, some people say no 
if you want to use the gesture, yes
you need the action in CfgMovesMaleSdr and it refers to the gesture state in CfgGesturesMale
no, actions are in CfgMovesBasic
ah yeah you're right
i'm thinking of my own move set...
class CfgGesturesMale
{
class Default;
class States
{
class MyGesture : Default
{
file = "\fp\fp\mn_anim_dab.rtm";
// ...
};
};
};
class CfgMovesBasic
{
class ManActions
{
MyGesture[] = {"MyGesture", "Gesture"};
};
};
@ashen sluice
something like this?
class cfgmovesbasic;
class cfgmovesmalesdr: cfgmovesbasic
{
class cfgmovesmalesdr
{
class States
{
text = "mod_gesture_dab";
file = "\fp\fp\mod_anim_gesture_dab.rtm";
};
};
};
ok actions isnt a legit entry i get it, checked config viewer
still no, that inner CfgMovesMaleSdr is wrong
has to be case sensitive??
no, it shouldn't be there
and gesture states go in CfgGesturesMale
i already showed you the exact code
class CfgGesturesMale
{
class Default;
class States
{
class MyGesture : Default
{
// you can only change things inside this block
file = "\fp\fp\mn_anim_dab.rtm";
// ...
// ending here
};
};
};
class CfgMovesBasic
{
class ManActions
{
MyGesture[] = {"MyGesture", "Gesture"};
};
};
here, copy this and don't change anything except the block with the comments
no
what did i just say
its saying missing inheritance classes at; class MyGesture : Default ?
pbo project says inherit class 'default' doesnt exist
okay, let's see the code. did you change something
class CfgMovesBasic
{
class ManActions
{
MyGesture[] = {"MyGesture", "Gesture"};
};
};
class CfgGesturesMale
{
class Default
{
class States
{
class MyGesture: Default
{
text = "mod_gesture_dab";
file = "fp\fp\anim_dab.rtm";
};
};
};
};
what part of this did you not understand? i didn't give you permission to edit anything except that one block
still says missing inheritance class @ MyGesture: Default
class CfgMovesBasic
{
class ManActions
{
MyGesture[] = {"MyGesture", "Gesture"};
};
};
class CfgGesturesMale
{
class Default
{
class States
{
class MyGesture: Default
{
file = "fp\fp\anim_dab.rtm";
};
};
};
};
i told you to copy my code and only edit that one block. nothing outside it
still says missing inheritance class @ MyGesture: Default
well i added the missing bracket under class Default
show me
no, show me your code after you changed it
class CfgGesturesMale
{
class Default
{
class States
{
class MyGesture: Default
{
file = "\fp\fp\mn_anim_dab.rtm";
};
};
};
};
class CfgMovesBasic
{
class ManActions
{
MyGesture[] = {"MyGesture", "Gesture"};
};
};
It is not the same
what did i say about not changing anything
dude
You need better copy paste fu
class CfgGesturesMale
{
class Default;
class States
{
class MyGesture : Default
{
// EDITABLE AREA STARTS HERE
file = "\fp\fp\mn_anim_dab.rtm";
// ...
// EDITABLE AREA ENDS HERE
};
};
};
class CfgMovesBasic
{
class ManActions
{
MyGesture[] = {"MyGesture", "Gesture"};
};
};
is that clear enough? you are not to change one single character outside the marked region
youve missed the bracket at Default here
No
i have not missed anything
😭
Back to learning how class inheritance works
are you unfamiliar with CTRL-C and CTRL-V by chance?
class CfgGesturesMale
{
class Default;
class States
{
class MyGesture: Default
{
file = "\fp\fp\mn_anim_dab.rtm";
};
};
};
class CfgMovesBasic
{
class ManActions
{
MyGesture[] = {"MyGesture", "Gesture"};
};
};
okay, thhat's better, though you've got some weird indentation on States there
fixed
not quite
but, why the semicolon at default;? never seen it used like that before thats weird to me
wdym? ive copied it exactly now?
https://i.imgur.com/zN05yj1.png
these don't line up
it doesn't have any effect, it's just hard to read
oh, right... yeah, i need to brush on my knowledge base there, was tunnel visioned, not used to blindly following instruction
above extract edited
edited
well they line up now, but usually we like to indent at different levels
class CfgGesturesMale
{
class Default;
class States
{
class MyGesture: Default
{
file = "\fp\fp\mn_anim_dab.rtm";
};
};
};
class CfgGesturesMale
{
class Default;
class States
{
class MyGesture: Default
{
file = "\fp\fp\mn_anim_dab.rtm";
};
};
};
see the difference?
edited to suit #arma3_config message ext 2
(removed the extra third bracket in cfggestures male)
no don't remove that, i didn't give you permission to edit anything there
this
for every opening brace { you need a matching closing brace }
select the code i posted, press CTRL-C, then go to your editor and press CTRL-V
and only edit inside the marked region
okay? do this until you have succesfully played MyGesture in game
after that you can start thinking about making changes elsewhere
baby steps. you can't run before you can walk
#arma3_config message
this code here. copy it verbatim and follow the instructions in the comments
https://imgur.com/BAh5Wu9
Thankyou for your help
and, did you manage to play the gesture?
it plays, with mask handsWeapon, but having some trouble creating my own blendanim?
what kind of trouble?
class BlendAnims
{
mymask_leftleg[] = {);
};
0 = ?
1 = ?
you sure there isn't already a mask that suits you needs?
have tried my own custom mask, reloadmask, handsWeapon, but my player cannot take his hands off his weapon 😕
0 = ?
1 = ?
aha
that would be the hand IK then
that's probably still controlled by leftHandIKCurve and rightHandIKCurve
the Beg and End fields are not needed
try
leftHandIKCurve[] = {0};
rightHandIKCurve[] = {0};
player playActionNow "MyGesture" is correct, right?
yeah
dude, can you please tell me, this is third time ive asked
0 = ?
1 = ?
because im doing something, somewhere to make this anim not work
this is giving me a headache, i just cant figure out what im doing wrong
i don't know what you're asking me
0 = no IK inflence?
1 = IK influence?
do string "math" values (like the "2+8+16" stuff you see for bitfield values, or the intensity-based interval fields for cfgCloudlets) work for any numeric field? or only for specific ones
generally you can expect them to work anywhere, though it is possible that there are exceptions
variables?
in cfgCloudlets you see a lot of specific references to like interval="0.05*intensity + 0.01"; which i assume come from the explosion configs that reference the cloudlet
or there's a bunch of stuff that references isWaterSurface or distToWater and interpolate
like e.g.
class MineUnderwaterWaterPDM: Default
{
interval="(0.004 * interval + 0.004) * (distToWater interpolate [-5,-2,10,1])";
are the expressions just arbitrary SQF here, and that's where interpolate comes from?
aha. certain expressions like this are evaluated by the engine multiple times as needed with different values for variables
in a sense they are arbitrary SQF, but they execute in a different context with a different set of commands and a different namespace
they cannot interact with your usual SQF scripts
is it documented anywhere what's available in the SQF execution context for various config scopes?
or is that just kind of an empirical black magic kind of thing from the modding side
it might be documented somewhere but i couldn't point you to it
with functions, is it fn_ or fnc_?
specific ones
disregard last - found the issue
getNumber evaluates math expressions, and so does the engine when loading most data structures, e.g. something like animation state speed
not only math expressions, SQF in general.
so I noticed allowedHeadgear can be used in a unit class to, well, define the allowed headgear. Is there something similar I can do with facewear that doesn't involve re-defining what facewear is allowed for each type of headgear? (I want to mix up quite a bit of modded facewear to get a varied look for a custom faction)
can u make custom ranks for a mod
Nope.
so its just server or mission file that is it
Hey,
MyGesture[] = {"GestureNameHere", "Gesture"};
- what are each of these points for?
Hey,
MyGesture[] = {"GestureNameHere", "Gesture"};
- what are each of these points for?
it means that this action is a gesture, and the name of the gesture state is GestureNameHere
a primary move action would be MyAction = "MyMoveState"; or MyAction[] = {"MyMoveState", "Primary"}
MyGesture[] editable?
{"MyMoveState", what does this mean?
"Primary"} what does this mean?
okay, Primary or Gesture specify whether this action should play a primary move (like walking) or a gesture
MyMoveState is the name of some animation state, either in CfgMovesMaleSdr for Primary, or in CfgGesturesMale for Gesture
MyAction = "MyMoveState"; is shorthand for MyAction[] = {"MyMoveState", "Primary"};, they do the same thing
Gesture_Dab[] = {"CfgGesturesMale","Gesture"}; this right?
look here and see the how MyGesture[] = {"MyGesture", "Gesture"}; names class MyGesture inside CfgGesturesMale
yes
but, does the filename actual (.rtm) name have to be the exact same?
no
@ashen sluice this does not work, have triple checked the animation inside .rtm is an actual animation and not a static.
have used the standard default setup, speed = 2, tried all the default blendanims
what am i missing?
let's see the full code then
okay, and when you say it doesn't work, what exactly do you mean?
Has anyone an idea where i can find a list of the vanilla mfd? I tried to seek out the hud configs in the config viewer but i cant find them?
looking at using the animation in cfgmovesmalesdr instead
doesn't matter
What could be causing a vehicle to not go its max speed? I've got an IFV that has a max speed of 74, but can only manage 16-17. The engine and stuff is taken from an MBT so its got a strong engine atm
Assuming you have wheels above ground, sensible maxSpeed, enginePower, peakTorque, torqueCurve and gearbox settings, look to the class Wheels {} moi and dampingRate/dampingRateInAir parameters. Set the moi then trial-and-error adjust the damping rates (for a tank, make those two the same). If the tank is too slow, reduce the damping rate.
If that doesn't help, sometimes the boundary point on the roller return and sprocket drive wheels (1 and 9) can be slightly too far away from the wheel axis and a small adjustment closer will make a big difference.
side="left";
boneName="wheel_podkolol1";
center="wheel_1_2_axis";
boundary="wheel_1_2_bound";
steering=0;
damping = 75.0;
mass=150;
weight=150;
MOI=11.5;
dampingRate=1.0;
dampingRateInAir=685;
dampingRateDestroyed=10000;
maxDroop=0.18;
maxCompression=0.18;
sprungMass=1937.5;
springStrength=215000;
springDamperRate=41250;
maxBrakeTorque=6500;
latStiffX=3;
latStiffY=40;
longitudinalStiffnessPerUnitGravity=100000;
frictionVsSlipGraph[] = {{0.0,1.5},{0.5,1.5},{1,1.5}};``` @nimble sequoia This is for a 31 ton vehicle
Sprungmass is correct, I did that with the formula
Got to readjust the rest then
tracked or wheeled?
tracked
I copied the physX from the OPTRE M808B. Which is pretty old model and config wise :p
So you have 8 weight bearing wheels on each side?
Yes
your sprungmass is in roughly the right range
Pretty sure spring strength and spring damper rate are incorrect though
Not sure what natural frequency is
try reducing springDamperRate to 20410
set dampingRate and dampingRateInAir to 685
What is the length of the damper axis in the Mem LOD (in metres)?
if you cant go to max speed, then check if it switches gears properly. If it stays in first gear, theres your reason
No clue
As X3KJ says, there are quite a lot of prerequisites which I assume you have already checked and which I already mentioned, such as gearbox
Yes
One moment
class complexGearbox
{
GearboxRatios[] = {"R1",-0.4,"N",0,"D1",2.0}; //GearboxRatios[] = {"R1",-0.4,"N",0,"D1",2.0};
TransmissionRatios[] = {"High",7.85};
gearBoxMode = "auto";
moveOffGear = 3;
driveString = "D";
neutralString = "N";
reverseString = "R";
transmissionDelay = 0.1;
};```
Wait
D1
Only one gear
Right?
Ok, so a very simple gear box of just 1 forward gear
That will work albeit not very realistically
IF your torque and torque curves are also good. Lol, so many interacting things.
is it tank or wheeled?
Run the diagnostic.exe from dev branch with EPEVehicle toggled on
But my best guess at the moment is that your suspension is not set correctly, as you don't know what the length of your damper axis is
tracked, i mean. Well if you have bad luck, your memory LOD setup is f-ed in such a way that a something is dragging on the ground, and all the torque in the world wont help that (i had that on one tank, and it nearly drove me insane).
(ref wheels going underground)
when you press forward, does the suspension/chassis lean in such a way that it looks like it is breaking?
How many WEIGHT BEARING wheels did you confirm it had on each side? You might want to count again
It leans backward a bit when going forward
even when at max speed? 16kph
It used to lean back all the time. Now it doesnt. I had my bound points incorrect
It leans back for like
2 seconds
Before leveling out
ok thats normal inertia
lol
So, the front and rear sprockets dont count?
Are they weight bearing?
No, not usually.
So weight is distributed between 12 wheels, not 16.
wont affect speed though, just how springy suspension is
As X3 wants to take over, I'll leave you with him. He can explain the significance of the damper length
as that seems your chosen field (vehicle configs) i suggest you get into a3 diag exe
https://community.bistudio.com/wiki/Arma_3:_Diagnostics_Exe
reason 1) physx diagnostics
reason 2) live config patching, so you can quickly test new values without restarting the game
Idk what I'm doing wrong here
class C_Truck_02_covered_F;
class WCF_Vrana_Truck_Cargo : C_Truck_02_covered_F
{
scope = 2;
side = 2;
displayName = "Vrana Truck Cargo";
faction = "wcf_construction";
editorSubcategory="wcf_EdSubcat_VranaConstructionVehicles";
crew = "WCF_Vrana_Worker";
typicalCargo[] = {"WCF_Vrana_Worker"};
textureList[] = {"OrangeBlue",0.1,"OrangeOlive",1,"BlueBlue",0,"BlueOlive",0};
};
What are you trying to do
Trying to add a vehicle to my custom faction and edit it a tad
One final question, my mod has dependencies. How would I load up multiple mods at once?
Yeah but I’m honestly not sure if I need it
You do
what do you mean? you can start the diag-exe just like normal arma 3 exe with mods via commandline parameter , or by using third party launchers (e.g. Arma 3 Sync) if you dont want to use commandline
I don’t see it in Eden tho
Set scopeCurator to 2....
I'm using the steam launch properties
i dont think you can start diag.exe via steam
Would that still keep you from seeing it in Eden? I thought that was for Zeus but yeah I should add that
You need scopeCurator for Eden and Zeus
Alrighty
I can just launch arma dev branch and then run the diag command?
if you have installed dev branch, there is an additional .exe in Arma 3 folder. That needs to be launched to have access to the diagnostics commands
Which I'm running. Though, my mod relies on OPTRE to have a faction to put itself in
But, even with my local mod in, it doesnt show up...
How would I add a launch parameter without steam or 3rd party launcher
just like you would do it with all windows executables with parameters
create a shortcut from arma3diag_x64.exe, and edit the target field to include parameters
I'm adding a launch param and it's not loading the mod
is it a workshop mod or manual install?
Local mod
post the target line from the shortcut
"F:\SteamLibrary\steamapps\common\Arma 3\arma3diag_x64.exe" -mod=@OPTRE2
hm doesnt look wrong, no idea whats wrong. I never put the parameters manually...
i only get problems / no parameters used when steam isnt running first, but i assume yours is
if it is a workshop mod, you need to use it with a path
-mod=G:\Steam\SteamApps\common\Arma 3\!Workshop\@CBA_A3
@shy knot does the optrep mod use unpacked data? if yes you need to enable -filePatching
iv recently tried to get the aircraft camera ground stabilizer to work in a helicopter but it only seems to be available for pilotcamera not turrets, is this a recent change or has it always been that way
Added that but the vehicles still don't show up
Did you add it to Units[] in cfgPatches?
Yup
I just rename the diag exe to the regular name and use the launcher
Please i need help
I want to disable the option to zoom in for players in my server.
How do i do that
Zoom in where
Like temporary zoom in
When aiming?
Not sure if that's something you can disable
And very unlikely through configs
This channel is for addon making
Oh sorry
Try #server_admins maybe
Vehicle customization doesn't seem to work for me when trying to show/hide a selection that is a proxy model.
Is that known to be not possible or is there an example where it is done?
Been racking my brain about this all day, had it figured out, then started making a load of changes to configcpp without a back up saved version to refer back to.
How do i setup the cfgmovesbasic part for a new gesture in cfggesturesmale?
class CfgMovesBasic
{
class ManActions
{
GestureAdvance= "GestureAdvance";
};
class Actions
{
class NoActions: ManActions
{
GestureAdvance_Furbzeyyy[] = {"GestureAdvance_Furbzeyyy", "Gesture"};
class Actions
{
class NoActions : ManActions
{
what is wrong here?
nothing so far
class CfgMovesBasic
{
class ManActions
{
GestureAdvance[] = {"GestureAdvance", "Gesture"};
};
class Actions
{
class NoActions : ManActions
{
GestureAdvance[] = { "GestureAdvance", "Gesture"};
};
class RifleBaseStandActions;
class RifleProneActions: RifleBaseStandActions
{
GestureAdvance[] = { "GestureAdvanceProne", "Gesture"};
};
class PistolStandActions;
class PistolProneActions: PistolStandActions
{
GestureAdvance[] = { "GestureAdvanceProne", "Gesture"};
};
};
How does this look?
Gestureadvance plays the new GestureAdvanceProne animation, but not GestureAdvance for Stand/Crouch?
you're missing a closing brace
if you fixed your indentation it would be easy to see
well... it is still easy to see but the indentation on the class names makes no sense
{
GestureAdvance[] = { "GestureAdvanceProne", "Gesture"};
};
see here, you don't have a closing brace at the same level as the opening one
what is the impact/consequence of such an error?
binarise will fail
edited*
class CfgMovesBasic
{
class ManActions
{
GestureAdvance[] = {"GestureAdvance", "Gesture"};
class Actions
{
class NoActions : ManActions
{
GestureAdvance[] = { "GestureAdvance", "Gesture"};
};
class RifleBaseStandActions;
class RifleProneActions: RifleBaseStandActions
{
GestureAdvance[] = { "GestureAdvanceProne", "Gesture"};
};
class PistolStandActions;
class PistolProneActions: PistolStandActions
{
GestureAdvance[] = { "GestureAdvanceProne", "Gesture"};
};
};
};
};
you were supposed to dedent the names, not the braces
dedent>
it's the opposite of indenting
class Foo
{
class Bar
{// this lines up with the `class` preceding it
class Baz
{// and again
};
};
};
oh you mean this? https://imgur.com/uy6QXet
what code editor are you using?
could you enlarge this part so can see where issue is a little clearer please
you already fixed it didn't you
Amendment No. 3
class CfgMovesBasic
{
class ManActions
{
GestureAdvance[] = {"GestureAdvance", "Gesture"};
class Actions
{
class NoActions: ManActions
{;
GestureAdvance[] = { "GestureAdvance", "Gesture"};
class RifleBaseStandActions;
class RifleProneActions: RifleBaseStandActions
{
GestureAdvance[] = {"GestureAdvanceProne", "Gesture"};
};
class PistolStandActions;
class PistolProneActions: PistolStandActions
{
GestureAdvance[] = {"GestureAdvanceProne", "Gesture"};
};
};
};
what is that semicolon doing there?
and you're missing another brace now
and the indentation still sucks
and Actions is inside ManActions
removed the semicolon
Amendment No. 4
class CfgMovesBasic
{
class ManActions;
GestureAdvance[] = {"GestureAdvance", "Gesture"};
class Actions
{
class NoActions: ManActions
{
GestureAdvance[] = { "GestureAdvance", "Gesture"};
class RifleBaseStandActions;
class RifleProneActions: RifleBaseStandActions
{
GestureAdvance[] = {"GestureAdvanceProne", "Gesture"};
};
class PistolStandActions;
class PistolProneActions: PistolStandActions
{
GestureAdvance[] = {"GestureAdvanceProne", "Gesture"};
};
};
};
};
Amendment No. 4
class CfgMovesBasic
{
class ManActions;
GestureAdvance[] = {"GestureAdvance", "Gesture"};
class Actions
{
class NoActions: ManActions
{
GestureAdvance[] = { "GestureAdvance", "Gesture"};
class RifleBaseStandActions;
class RifleProneActions: RifleBaseStandActions
{
GestureAdvance[] = {"GestureAdvanceProne", "Gesture"};
};
class PistolStandActions;
class PistolProneActions: PistolStandActions
{
GestureAdvance[] = {"GestureAdvanceProne", "Gesture"};
};
};
};
okay, you're missing the body of ManActions and have a loose brace at the end
body?
edits made, any good?
no
what have i done/missed?
above Riflestandactions?
right?
no semicolon
?
oh you don't want to define a new action anymore?
you want to override GestureAdvance?
Amendment No. 5
class CfgMovesBasic
{
class ManActions
{
GestureAdvance[] = {"GestureAdvance", "Gesture"};
class Actions
{
class NoActions: ManActions
{
GestureAdvance[] = { "GestureAdvance", "Gesture"};
class RifleBaseStandActions;
class RifleProneActions: RifleBaseStandActions
{
GestureAdvance[] = {"GestureAdvanceProne", "Gesture"};
};
class PistolStandActions;
class PistolProneActions: PistolStandActions
{
GestureAdvance[] = {"GestureAdvanceProne", "Gesture"};
};
};
};
we were here before
Actions is again inside ManActions, which it shouldn't be
it should be nested directly inside CfgMovesBasic
you just told me no semicolon at manactions????????
that's right, but i didn't tell you to nest Actions inside it
yeah, and fix the indentation
pretty sure this was it
go to your vscode settings and enable indent guides and whitespace rendering
quesht
how? where?
File > Preferences > Settings
then search for "indent guide" and check "Editor > Guides: Indentation"
then search for "render whitespace" and on "Editor: Render Whitespace" select "boundary"
indent guide was on hover before only
sweet
that will make this errors less common
what are you using to make parts of your code be white?
that was just C++ higlighting
Amendment No. 6, With Questions;
- Effects of this? https://imgur.com/qe0YzDU
- Effects of this? https://imgur.com/fhwoWUU
- Is there ever a time this happens? https://imgur.com/rNYoj8q
- NoActions: Manactions - Why? what is the significance of each? Here, my brain is like 🤯 got me bamboozled for the longest time
class CfgMovesBasic
{
class ManActions
{
GestureAdvance[] = {"GestureAdvance", "Gesture"};
};
class Actions
{
class NoActions: ManActions
{
GestureAdvance[] = { "GestureAdvance", "Gesture"};
};
class RifleBaseStandActions;
class RifleProneActions: RifleBaseStandActions
{
GestureAdvance[] = {"GestureAdvanceProne", "Gesture"};
};
class PistolStandActions;
class PistolProneActions: PistolStandActions
{
GestureAdvance[] = {"GestureAdvanceProne", "Gesture"};
};
};
};
Also, my anim still only plays off prone stance ("GestureAdvance") and not in stand/crouch, although new filepath and anim overrides default filepath and anim 😕
-
whitespace has no effect on the game, only on readability
-
that loose indent guide is there because your indentation is still messed up
-
if you mean the lined up braces, there shouldn't be
-
ManActionsdeclares the full set of actions
NoActionsis the base class of all action maps, andManActionsis the base ofNoActions
Base? do you mean the parent/child thing?
yes
NoActions : ManActions means that ManActions is the base class of NoActions, and NoActions inherits all fields of ManActions
this is to allow specifying defaults in ManActions. it also makes that GestureAdvance[] ... in NoActions pointless
thoughtso
but whats the issue here? swear everythings right
need more information
https://imgur.com/xmKSyFD - took out that GestureAdvance[] ... in NoActions, this how it should look?
how do you mean?
class CfgMovesBasic
{
class ManActions
{
GestureAdvance[] = {"GestureAdvance", "Gesture"};
};
class Actions
{
class ManActions
{
class RifleBaseStandActions;
class RifleProneActions: RifleBaseStandActions
{
GestureAdvance[] = {"GestureAdvanceProne", "Gesture"};
};
class PistolStandActions;
class PistolProneActions: PistolStandActions
{
GestureAdvance[] = {"GestureAdvanceProne", "Gesture"};
};
};
};
seriously fix the indentation and you'll see the problem

