#arma3_config
1 messages · Page 18 of 1
is there a way to force an event handler, via config, onto all children of man class? I need to force **ItemSlotChanged **on all human units, but it's currently not supported by CBA_A3 extended event handlers.
I attempted to run Init and PostInit, which would issue it via script, but it'd be lost after returning back to editor from mission file and would fail to work again.
Init/PostInit should still fire after returning to the editor and starting again
perhaps i missed something. i'll give it another try, thanks.
We should be doing CBA update soon™️ it will support that EH for XEH
You can test the RC here:
https://github.com/CBATeam/CBA_A3/releases/tag/v3.16.0.230926-RC1
Hey guys, been working on a Top Secret Mod.Promise you guys wont tell anyone!!
Its a One AI Tank mod that makes the Tanks use only one ai and has the weapons under the drivers control aswell as being able to move the turret.I have been tinkering with it for awhile now only in free time.Have had some wins with it but am having trouble with getting all the turrets weapons under the command of the driver.Was gonna ask for help or for someone to help with its development but am gonna leak it here and see if someone here is interested in developing it.Its inspired by a mod for OFP from a very long time ago.Fantastic for saving cpu resources in large scale missions.I envisioned extending development to pretty much all of Arma 's vehicles under there own category to maximise efficiency in all vehicles in all missions.For those interested and capable heres a link to my dev version.Config's been edited.Best to use a fresh version.-https://www.mediafire.com/file/nyyh94bqdss1yn2/@One+AI+Tanks+Mod.7z/file
I'am handing the mod/concept to anyone capable and motivated.
Steve.
okay,
My quest to turn the basic
initPlayerLocal.sqf
onPlayerKilled.sqf
onPlayerRespawn.sqf
(save respawn loadout)
into a mod, I have set up a new modfolder in my P drive.
set up a basic config.cpp
class CfgPatches
{
class HAMS_Spawn
{
author= "Hamsch";
name="Hamsch's Loadout Saver";
weapons[]={};
magazines[]={};
ammo[]={};
units[]={};
requiredVersion=0.1;
requiredAddons[]=
{
};
};
};
class CfgFunctions
{
class HAMS_Spawn
{
class SpawnSettings
{
file = "HAMS_Loadout_Saver\functions";
};
class myFSMFunction
{
preInit = 1;
};
};
};
with fnc_SaveLoadout.sqf containing
HAMSCH_EH_onPlayerRespawn = player addEventHandler ["Respawn", {
params ["_newObject", "_oldObject"];
deleteVehicle _oldObject;
player switchMove "UnconsciousFaceDown";
player playMove "UnconsciousOutProne";
player setUnitLoadout (player getVariable ["Saved_Loadout", (configFile >> "EmptyLoadout")]);
private _loadout = getUnitLoadout player;
private _radio = (_loadout select 9) select 2;
if (_radio isEqualTo "") then {
player addItem "TFAR_anprc152";
player assignItem "TFAR_anprc152";
hint "Radio Added";
};
}];
HAMSCH_EH_onPlayerKilled = player addEventHandler ["Killed", {
params ["_unit", "_killer", "_instigator", "_useEffects"];
_unit setVariable ["HAMSCH_Saved_Loadout", getUnitLoadout _unit];
}];```
okay I ran a test of it and nothing happened
If you take a look
#arma3_config message
You need to add in file = "" full path.
file = "HAMS_Spawn\HAMS_Loadout_Spawn_Saver\functions";
You CfgFunctions looks completely wrong anyway. You're supposed to be declaring a class for each function.
for each function?
Isnt there just one?
Well, you're not declaring that one.
ah
It looks like you're giving it a folder name and expecting it to include all files inside.
well how would one declair it?
I don't know. What's your PBO prefix?
huh?
pbo prefix?
ah
right
you mean
$PBOPREFIX$
I honestly had no idea what I was suppose to put in there so I just guessed and put P:\HAMS_Loadout_Saver in there
right, it's important.
like when I read about it on the wiki the need for it confused me
PBO prefix is where that PBO's contents are loaded in the virtual filesystem.
If you only have one PBO I guess you could use \HAMS_Loadout_Saver
yeah
I dont see a need for more PBOs atm
okay so I put just that in the $PBOPREFIX$
anything else?
I guess it doesn't need the backslash.
I figure its still not declaired
roger
how do I declare class for each function then?
since im guessing thats not what I just did
Give me a sec, I need to compile like four pieces of info you put in different places :P
(Dont read too much into what I wrote way earlier)
(as I re-did it like an hour ago)
(When I posted this)
#arma3_config message
The function name doesn't matter here, right? You're just going to call it using preInit?
I mean thats how I understood it
its suppose to do just what any usual
initPlayerLocal.sqf
onPlayerKilled.sqf
onPlayerRespawn.sqf
in the mission folder would
and function like that but, mod
so yeah, somewhat straightforward
I heard preinit being needed, and probobly just that
I am not myself confident but its the clue im going on
class CfgFunctions
{
class HAMS_Spawn // tag, will be added to function name
{
class myfunctions // name here doesn't matter
{
class SaveLoadout {
file = "HAMS_Loadout_Saver\functions\fnc_saveLoadout.sqf";
postInit = 1;
};
};
};
};
I'm not sure postInit is late enough though, because you need player to exist.
thanks for writing where name doesent matter becouse that always throws me off otherwise
Function probably needs a check.
function name there would be HAMS_Spawn_fnc_SaveLoadout
alright
Should I like, rename this file to that or. What am i suppose to do with that fact?
no, it builds the function name from the data in CfgFunctions.
okay
TAG_fnc_CLASSNAME
any other changes I should do to all this?
Currently its
config.cpp
class CfgPatches
{
class HAMS_Spawn
{
author= "Hamsch";
name="Hamsch's Loadout Saver";
weapons[]={};
magazines[]={};
ammo[]={};
units[]={};
requiredVersion=0.1;
requiredAddons[]={};
};
};
class CfgFunctions
{
class HAMS_Spawn // tag, will be added to function name
{
class myfunctions // name here doesn't matter
{
class SaveLoadout
{
file = "HAMS_Loadout_Saver\functions\fnc_saveLoadout.sqf";
postInit = 1;
};
};
};
};
fnc_SaveLoadout.sqf
HAMSCH_EH_onPlayerRespawn = player addEventHandler ["Respawn", {
params ["_newObject", "_oldObject"];
deleteVehicle _oldObject;
player switchMove "UnconsciousFaceDown";
player playMove "UnconsciousOutProne";
player setUnitLoadout (player getVariable ["Saved_Loadout", (configFile >> "EmptyLoadout")]);
private _loadout = getUnitLoadout player;
private _radio = (_loadout select 9) select 2;
if (_radio isEqualTo "") then {
player addItem "TFAR_anprc152";
player assignItem "TFAR_anprc152";
hint "Radio Added";
};
}];
HAMSCH_EH_onPlayerKilled = player addEventHandler ["Killed", {
params ["_unit", "_killer", "_instigator", "_useEffects"];
_unit setVariable ["HAMSCH_Saved_Loadout", getUnitLoadout _unit];
}];```
Now if you wanted more than one function you'd ideally do something like this:
class CfgFunctions
{
class HAMS_Spawn // tag, will be added to function name
{
class myfunctions // name here doesn't matter
{
file = "HAMS_Loadout_Saver\functions";
class SaveLoadout { postInit = 1; };
class OtherFunction1 {};
class OtherFunction2 {};
};
};
};
but then you need your function names to match, and start with fn_ not fnc_
is there any bad to it starting with fnc_ now? Should I change it?
Also, when I build all of this, should I have all these checked?
I wouldn't bother binarizing that.
alright
I would strongly recommend starting with the second version personally.
Im guessing that more functions would only be required when I want the mod to do more things? or perhaps involve settings for it?
Well, also if you didn't want to put your entire codebase in one file.
but as your current codebase is tiny it doesn't much matter.
the most I would expand on this
would be having 2 versions of the whole save loadout system and the option to change between them
but that could honestly be done by having 2 mods
as the other method is only needed when running PIR
or if I would expand on the give radio mechanic but
I dont think I need that. I will probobly mostly remove it anyway
But
anyway
I will give this a try
thanks for the help
okay ive run into a few issues
First of all, I spawn without anything.
Second of all, I dont seem to respawn with my stuff
You're not changing what players spawn with?
No
It restores loadout on players that respawn
form when they died
But I place a normal character, and came back as naked
(tested by hosting on lan with respawn on)
Issue is probobly within this
fnc_SaveLoadout.sqf
HAMSCH_EH_onPlayerRespawn = player addEventHandler ["Respawn", {
params ["_newObject", "_oldObject"];
deleteVehicle _oldObject;
player switchMove "UnconsciousFaceDown";
player playMove "UnconsciousOutProne";
player setUnitLoadout (player getVariable ["Saved_Loadout", (configFile >> "EmptyLoadout")]);
private _loadout = getUnitLoadout player;
private _radio = (_loadout select 9) select 2;
if (_radio isEqualTo "") then {
player addItem "TFAR_anprc152";
player assignItem "TFAR_anprc152";
hint "Radio Added";
};
}];
HAMSCH_EH_onPlayerKilled = player addEventHandler ["Killed", {
params ["_unit", "_killer", "_instigator", "_useEffects"];
_unit setVariable ["HAMSCH_Saved_Loadout", getUnitLoadout _unit];
}];```
Have you confirmed that your code is running?
here are the OG scripts
#arma3_scripting message
Yeah, it did do the radio part correctly
I should say the scripts themselves worked flawlessly
should I try to just, directly call them or something?
instead of condensing them into one thing
Saved_Loadout in the first EH, HAMSCH_Saved_Loadout in the second EH
Out of scope for this channel anyway.
First EH second EH?
Read the code :/
Your getVariable and setVariable are using different variable names.
huh
I guess the intial person who corrected it did it wrong then
But could I replace one
fnc_SaveLoadout.sqf
with just using
initPlayerLocal.sqf
onPlayerKilled.sqf
onPlayerRespawn.sqf
?
why
I guess I would need more functions
if it would work like those do seperately (as scripts), it would be more reliable
The only automatic execution options you have in CfgFunctions are preInit and postInit.
If you want to trigger on killed or respawn then you have to use event handlers.
ah yeah
I'll try
What does the EH mean?
HAMSCH_EH_onPlayerRespawn
Instead of
HAMSCH_onPlayerRespawn
It doesn't. It's just a variable name.
actually all this looks bunk, ima see why its so different
It's saving the EH handles in global vars so you could potentially remove them later.
That's not the issue.
right
HAMSCH_EH_onPlayerKilled = player addEventHandler ["Killed", {
params ["_unit", "_killer", "_instigator", "_useEffects"];
player setVariable ["HAMSCH_Saved_Loadout ",getUnitLoadout player];
}];
HAMSCH_EH_onPlayerRespawn = player addEventHandler ["Respawn", {
player setUnitLoadout (player getVariable ["HAMSCH_Saved_Loadout ",[]]);
params ["_newObject", "_oldObject"];
deleteVehicle _oldObject;
player switchMove "UnconsciousFaceDown";
player playMove "UnconsciousOutProne";
private _radio = (HAMSCH_Saved_Loadout select 9) select 2;
if (_radio isEqualTo "") then
{
hint "Radio not found";
};
}];```
Here is what I have now made. Hope it works
_loadout doesn't exist.
ah right
Also when you're making a mod it's important to avoid namespace collisions, so HAMSCH_Saved_Loadout is a much better variable name.
Otherwise any other mod that uses "Saved_Loadout" as a var name is gonna conflict.
sighs
HAMSCH_EH_onPlayerKilled = player addEventHandler ["Killed", {
params ["_unit", "_killer", "_instigator", "_useEffects"];
player setVariable ["HAMSCH_Saved_Loadout",getUnitLoadout player];
}];
HAMSCH_EH_onPlayerRespawn = player addEventHandler ["Respawn", {
private _loadout = player getVariable ["HAMSCH_Saved_Loadout",[]];
player setUnitLoadout _loadout;
params ["_newObject", "_oldObject"];
deleteVehicle _oldObject;
player switchMove "UnconsciousFaceDown";
player playMove "UnconsciousOutProne";
private _radio = (_loadout select 9) select 2;
if (_radio isEqualTo "") then
{
hint "Radio not found";
};
}];
ahh
wait, extra spaces in there...
Not entirely happy about using player everywhere rather than the EH parameters but it's probably correct.
I do hope so
it should be mostly player specific and I do hope it does that
so one player wont get the saved loadout of another
That wasnt a problem with the script so, hopefully thats not a problem here either
The issue's more that it's undocumented when player changes in the respawn case.
I think at that point player is equal to _newObject but I'd need to test.
im testing
or at least testing the mod I mean
im curius if this mod will mess with like, pre-made missions in arma and stuff. I will have to test
(stuff that didnt intend to use a save loadout system like the coop missions)
Now it seems to work!
keeps guns, ammo, all that
still having questions on armor penetration:If I model a fire geometry with some thickness,how to set this thickness a good value to get a realistic results if that part armor is a composite armor?like T-80b,it have a 205mm composite armor,68°,which means it will have about 600mm LOS thickness,then I need have a model with 600mm thickness?
wut
my only point of reference on that is tank from A3 Samples pack. It splits the turret armor into a bunch of convex components that (i think) follow the desired armor thickness. And then there's another internal component that's supposed to take damage 🤷♂️
My mind not very clear,messed up something.
Let me explain what I thought
up front hull of T-80B have 205mm thickness and 68° slope.when a ke round impact armour horizontally,about 600mm thickness will used to penetration detection.This is what will happened when using "armour.ravmat" and have a exact thickness model fire geometry.
what if this part armour is composite in reality?It should have more thickness than 600mm to be used for penetration detection when in the game
screenshot with the roof removed. Selected (green with orange outline) is the damage-taking component. Multicolored mess outside are the armor components that need to be penetrated before the projectile can reach the damageable thing.
if you need to provide more protection than your geometry thickness allows - i'd assume you'd need to use either .bisurf with lower bulletPenetrability in the assigned rvmat. 🤷♂️
or indulge in some CfgArmorSimulations shenanigans to further lower the projectile speed after it exits the armor component, i'm not totally sure how that works
maybe you'll understand https://community.bistudio.com/wiki/Arma_3:_Damage_Enhancement better than i can
how do you set different colors to fire geometry's convex?It's distinct and helpful when edit fire geometry.
thx
Life savers 😄
Hey guys, does anyone know how to increase the togglable range inside the SENS page through the config file? I've setup my aircraft to have a active radar range of 16km but the SENS page only allows me to select 2km and 4 km.
Howdy folks! I need some help adding ordnance to aircraft. Specifically I want to learn how to change what missiles are available to load on an aircraft, current issue being that I would like to load the FIRAWS brimstone onto aircraft other than the tornado. Can anyone point me in the right direction? I've got the names of the weaponry I need to add, just no clue on how to add them onto diff aircraft
range[] property https://community.bistudio.com/wiki/Arma_3:_Custom_Info
Just what I needed, thank you!
You need to change the hardpoints[] property in either the magazine or the vehicle https://community.bistudio.com/wiki/Arma_3:_Vehicle_Loadouts#Arma_3_hardpoint_naming_example
identityTypes[] = {"LanguageCZ","Head_Euro"};
anyone know what the name is for the polish heads from contact?
Head_Enoch
thx
could anyone help me figure out how to add/create a new high capacity magazine config for a weapon using a base game mag as the base for it but just changing the capacity and making it compatible for a certain weapon or weapon mod in the config.bin ?
CfgMagazines and probably CfgMagazineWells are the things you need to tweak
Hello, i'm trying to make a campfire that can't be turned off.
But it seems there is no UserActions class in Campfire_burning_F or its parents.
Does it mean that the actions to turn on / off the fire are added by the engine and there is no way to change that ?
I tried to change the line : simulation="fire" by something else , it removes the action , but the fire doesn't work :/
right i tried to do that but it didn't seem to work. still only show the regular mags.
tried the cfg magazines and the magwells
i probably did it wrong im sure but there isnt a very specific guide on how to really do it
We can't provide any insights without knowing your config
okay this is the part i edited, i added a 30rnd mag based off the BI one. but it wont show up in the selection. what am i doing wrong ? this exceprt isnt the full config, but just the part i edited, and this one i did not do the magwells thing because i couldnt rebin it.
or i could just send the whole config file
If you can yes. This is a horrible formatting to read
yeah sorry
Actually it is really Engine-driven action and probably there is no way around than making effects on your own
for some reason it wont let me upload the config to this channel
You both need to accept the #rules and verify in #offtopic_bot_cmds
AFAIK it should allow you to upload a file
This is definitely not the proper way to mod a thing
well i didn't make it. i just edited it. and all i wanted to do was make the glocks have the ability to have full auto and some high capacity mags.
Redefining the same thing same parameter is definitely not recommended way
You can just define what you just want to redefine/edit
Editing an existed config is also not a proper way to Mod
well i don't know how to do that.
i got it to work with the full auto like i wanted to, but i cant get the mags to work.
and i promise i have looked on google and the arma/bis wikis on how to try to do it but its not very clear for me.
First off, let's make a very simple config.```cpp
class CfgPatches
{
class DOOM_YourTestMod
{
requiredversion=0.1;
units[]={};
weapons[]={};
requiredAddons[]=
{
"A3_Data_F_Decade_Loadorder"
};
};
};
class CfgVehicles
{
class arifle_MX_Base_F
class arifle_MX_F: arifle_MX_Base_F
{
displayName = "This MX has modded name";
};
};```
not much on google and the wikis im not very sure about.
This config will overwrite the vanilla MX's name into what I wrote. This does not edit anything else
if there is a good tutorial on how to do this that you know of and can link me to i would greatly appreciate it, i dont expect you to have to do it all in this channel or chat. if you dont feel like it
or you can dm me if you rather.
Having “I want to edit this!” into a config is the way to make a config, not the whole
And no, I will not DM you only to answer this specific question
So, let's sort things - what exactly you need to have? List up changes you need to have
just want the glocksto be full auto (which i was able to do by editing even though thats not the proper way to do things) and i want to create/add additional high capacity magazines that are compatible with the glocks in that config.
And is there any Mod that you based on?
I don't know which one it is
its private
he left the modding community and isnt around anymore afaik
it was on the steam workshop but its gone now.
Hmm not sure how legit the LTF pistols mod you say is
IDK i havent seen them in any other game except tarkov and there are tarkov mods on the steam workshop so ?
the models anyways
Okay that is not legit
so you wont help me cause its "not legit" ? im not putting it on the steam workshop and im only using it for my personal game. what difference does that make ? im not profitting from it ?
i should've figured. oh well it was worth a shot.
have a good day.
not sure how it can work but i got 2 ideas in my mind, someone with more script experience could help out there
- removeAction on that fire
- fire has a eventhandler init "this inflame true", script needed if inflame false it has to make inflame true again, so you can turn it off but it doesnt turn off
You're still using ripped assets.
because stealing is stealing and we dont support that shit here.
scopeCurator = 2;
And I just apply that to all the assets?
Yes
May also be classnames not in CfgPatches units[] ?
Yes, could also be this, good call.
Yes, this is required too.
It does
If anyone could help me it would be appreciated. I am trying to add in a modded pistol light. I have it in-game, it works, it attaches it to the handgun. I want it to emit the same light as the standard arma one however I can't seem to find were arma defines the standard light settings.
The light on the left is standard Arma and the light on the right is mine. Here is the current config I have.
Any help would be greatly appreciated.
Do you want to have the same light settings with vanilla acc_flashlight you mean?
Correct, I just want the different model for cosmetics but it has the exact same settings as the regular light so there is no advantage over using one or the other.
Then you don't need to redefine class ItemInfo {...};
I feel so dumb, thank you. Earlier I orginally just got rid of class flashlight and it broke it... Didn't think to remove it all..
For future referance, I dunno but maybe scale isnt right? But I dunno and you got it so x3
The class EventHandlers inside cfgvehicles is only executed on the machine where the entity is getting created and it dosent retrigger when the entity changes locality , right ?
IIRC, it's executed on all machines. You can use isServer condition to make it run only on server.
someone correct me if wrong
init runs everywhere during entity creation
Greetinge. I'm making a mod for my community that will add supply crates to the 3den editor and Zeus, but we're in a spot of bother. I have CfgVehicles.hpp and config.cpp all done and complete and I get no errors if I pack it all into PBOs with PBOman3 but when my admin tries to pack it using AddonBuilder with A3 Tools, he gets an error after loading into the game saying that CFGPATCHES is not an array and the addon will not work. He says that everything he's tried points to config.cpp not being written correctly, but I grabbed the config.cpp from another working addon in the same mod and modified it to suit the new addon. I can post the config.cpp in a block of text if that'll help. TIA
If you're not binarizing then it won't check the config until you load the game.
So yeah, post the config.cpp.
class CfgPatches {
class ADDON {
units[] = {"EVLT_Fireteam_US_crate", "EVLT_Fireteam_FAL_crate", "EVLT_Fireteam_SWAT_crate","EVLT_Fireteam_Stealth_crate","EVLT_Fireteam_Rangers_SCAR_crate","EVLT_Fireteam_PMC_ACR_crate","EVLT_Fireteam_GER_crate","EVLT_Fireteam_CZ_VZ58_crate","EVLT_Fireteam_CZ_BREN_crate","EVLT_Fireteam_ME_Guer_crate","EVLT_AR_MG36_crate","EVLT_AR_HK416_crate","EVLT_MMG_MG3_crate","EVLT_AR_RPK74_crate","EVLT_HAT_TOW_crate","EVLT_MAT_MAAWS_crate","EVLT_HAT_9M133_crate","EVLT_LAT_RPG7_crate","EVLT_HAT_FGM148_crate","EVLT_Fireteam_Russia_AK762_crate","EVLT_Fireteam_FinlandArmy_AK103_crate","EVLT_Fireteam_FinlandSF_Mk16_crate","EVLT_Fireteam_TLA_crate","EVLT_Fireteam_AK74_std_crate","EVLT_Fireteam_AK74_ep_crate","EVLT_MMG_CZ_M84_crate","EVLT_RAT_RPG75_crate","EVLT_RAT_M136_crate","EVLT_MMG_PK_RU_crate","EVLT_MMG_M240_M60_crate","EVLT_Fireteam_M14_crate","EVLT_Fireteam_M16_crate","EVLT_Fireteam_M16A2_crate","EVLT_Explosives_crate","EVLT_Medical_crate","EVLT_RAT_M72A6_crate","EVLT_RAT_M72A7_crate","EVLT_AAM_Igla_crate","EVLT_AAM_Stinger_crate","EVLT_HAT_MetisM_crate","EVLT_AR_RPK762_crate"};
weapons[] = {};
requiredVersion = 1.0;
requiredAddons[] = {"evlt_main","evlt_medical","A3_Supplies_F_Exp"};
author[] = {"Ferdilanz"};
authorUrl = "";
};
};
#include "CfgEditorCategories.hpp"
#include "CfgVehicles.hpp"```
Hmm. Does look fine. Must be something up with one of the includes.
My admin says when he removes the include for script_component the error goes away but the crates do not appear anymore
well, ADDON won't be defined then.
yeah, here's script_component
#include "\z\evlt\addons\main\script_mod.hpp"
// #define DEBUG_MODE_FULL
// #define DISABLE_COMPILE_CACHE
// #define CBA_DEBUG_SYNCHRONOUS
// #define ENABLE_PERFORMANCE_COUNTERS
#include "\z\evlt\addons\main\script_macros.hpp"
Are you setting the PBO prefix correctly in addon builder?
I assume he is, it should be the same as in $PBOPREFIX$ correct? or will AddonBuilder automatically generate it when that field is filled?
let me post that...
$PBOPREFIX$ is something I created by hand, this is what i put in there
z\evlt\addons\crates
With addon builder you have to feed it the prefix manually. It doesn't read $PBOPREFIX$
You can check the PBO prefix with PBO manager to make sure it's correct.
he does fill out the field. but should he just put crates in that field or should he type out z\evlt\addons\crates ?
just got my answer, then
he should be typing out z\evlt\addons\crates
Assuming he's done this, what else could it possibly be?
Does the other one also have the correct prefix? That's the one that matters here.
As script_component is referencing it.
yep, it does
hmm, you're not editing config in something weird, are you
Given that expecting your admin to pack it for you is a red flag :P
Notepad plusplus
he's the one who has control over the server, so he's got final say also considering i'm the resident modder and not an admin myself
he's... my manager
also the theory being it should be packable by someone else without errors, right? like how an experiment in France should be replicable in the USA?
Are you saying that it packs & runs fine for you?
yes, but without using addonbuilder. I pack using PBO Manager.
if youre trying to copy the ace format you should use hemtt for building
what do you mean by "ace format" ? you mean like how the ace crates have a weird CfgVehicles format that doesn't work with any other packing method? because i've tried that lol
We use a similar prefix and I can build it fine with addon builder.
The error's odd though. Not sure what's going on there.
If you like you can send me the whole non-working mod and I'll figure it out.
over this channel or by DM?
DM unless someone else wants it too.
I dunno if you'd have file paste permissions in this channel.
Oh, this has an ACE dependency?
Yessir!
You should put that in the required addons then :P
eh, the players will already have ACE loaded. but is that such a required thing that the mod will not work without it being required in the configs?
Yes. It's trying to include ACE's script_macros somewhere.
which feels like it might be a bug to start with :P
Ok the error I get with ACE loaded is actually:
Include file z\evlt\addons\crates\CfgEventHandlers.hpp not found.
Which seems reasonable given that it's not in there.
yeah, we decided it could be deleted
You were wrong :P
forgot to remove it from the configgywiggy
huh, can't see where it's being included.
if it isn't in the config.cpp in the folders, try looking in the pbo itself
may have forgotten to repack the pbo after deleting that include
Uniform protection values are set up in the unit set with uniformClass correct?
Been a bit since I've set up uniform protection
Okay so I've got a modded uniform all set up, however when I spawn it in on an AI a player can't put on the uniform that the AI is wearing, it's a very minor and not at all important bug but I was wondering if anyone knew how to fix this. (Both the uniform in CfgWeapons and CfgVehicles have the same uniformClass name so that shouldn't be the issue.)
Don't know much about uniforms, but aren't they side specific to prevent the wrong side from picking up and wearing the uniform? Could it be that?
No I don’t believe so though I could definitely check my code.
It’s weird cause the uniforms are for blufor and my blufor player couldn’t pick it up but there might be a bit of an issue in the code
Open your uniform in the config viewer and check the modelSides of it
A blufor uniform should be modelSides[] = {1};
Not sure if this is the proper place but im trying to use the BIS_fnc_exportEditorPreviews function but having some issues. Some of the pictures save and others don't. Has that happened to anyone before? How can i fix it?
https://community.bistudio.com/wiki/BIS_fnc_exportEditorPreviews
The file is saved into Screenshots folder in the Profile directory. The folder is by default limited to 250 MB to prevent abuse.
To increase the limit, add the following line at the end of the profile file:
may be related to this
i will try that but the screenshots folder is only 150mb atm
that worked, thanks!
Why
?
One more question. Can I add scopes and other attachments to AI compositions and if so how?
You can do it by making a separate version of a weapon and adding a LinkedItemsclass
Can't seem to find a wiki page for it, although I didn't look very hard. Something just like this should be a good enough example though.
class YourGun_Scoped: YourGun
{
// Typically don't want extra versions of your gun showing
scope = 1;
scopeArsenal = 0;
class LinkedItems
{
class LinkedItemsOptic
{
slot = "CowsSlot";
item = "ScopeClass";
};
};
};
Something to note is that if you use ace, the ace arsenal will intentionally ignore the attachments in your LinkedItems.
Thank you
anybody have experience with making config using rhs mod that can explain why this doesnt work?
the offending code:
class rhs_weap_aks74n_npz_acog : rhs_weap_aks74n_npz { class LinkedItems { class LinkedItemsOptic { slot = "CowsSlot"; item = "rhsusf_acc_ACOG"; }; }; };
correct me if im wrong but the second line is the base class right?
Regardless it is ingame, you always need to define in your config
And... why CfgVehicles? A weapon is defined in CfgWeapons
will description.ext overwrite stuff in the main configfile
i.e
configFile >> "CfgKJWCapitalShips" >> "Submarine"
would i be able to use description.ext to edit submarine/add new classes to cfgkjwcapitalships or will i need some more script crap
no, desc.ext is available via missionConfigFile root
guh
or even campaignConfigFile if you get that far
ill have to make some sort of findordefault thing wont i
and decide on order of precedence, overrides and so on
the real question is can i be bothered
(no i cant)
i still need to rewrite this so i can use filepatching
Could someone provides me an example for a working configuration using scopeArsenal=0?
It doesn't seem to work for me. 🙄
does not work how?
or how do you expect it to work?
and what exactly do you try to do?
hiding new items from arsenal, so they don't show up.
can we see config class and params?
is this in normal arsenal or ACE arsenal?
both
oh well, you should put scopeArsenal in CfgWeapons?
cfgVehicles is for ground holders
I think I did before removing. Will try again.
you can always use scope=1; as well, it will still work on ground holders
but wont be visible in arsenal (and 3den inventory attribute)
I just want to hide from Arsenal 1/3 and 2/3 water bottles. They don't make sense being visible there. So, 3Eden will not be a problem.
in this case scope=1; is the way to go
i do the same for female balaclavas. they're assigned via function but not visible anywhere else.
it will perform normally ingame as long as you have a way of spawning them
Does anyone know why RHS uniforms don't like to stay on units produced by drongo's config editor?
The uniform class appears to be defined correctly so I'm not sure why it does this
class MSFI_AA_Specialist: C_Man_casual_1_F_afro
{
faction="MSFI_First_International";
side=2;
displayName="AA Specialist";
uniformClass="rhs_uniform_emr_patchless";
...
};
Everything else works fine, the backpacks, weapons, etc.
but the uniforms just don't work, it defaults back to the base unit's clothing
Is this caused by randomization of C_Man_casual_1_F_afro?
Or is it that the clothing is faction restricted?
could be either or both
I'm teting for the clothing being faction restricted first by using foceAddUniform in the init (yes I preserved the initial eventhandlers)
if the forceadduniform works, I'll try disablerandomization next
forceaddonuniform doesn't work, unfortunate
Hm... So, neither disabling randomization nor utilizing forceAddUniform worked
class MSFI_AA_Specialist: C_Man_casual_1_F_afro
{
class EventHandlers: EventHandlers{
init = "_this forceAddUniform "rhs_uniform_emr_patchless"; ";
};```
try force add a civilian uniform
any civ uniform?
yeah
since the base character seems to be civilian
why you use it as base I dont quite undrstand though
since you are changing the uniform
Because I'm not 100% on how to define character traits such as heads and voices from a randomized pool
plus I'm using drongo's config generator
I dont quite remember how that worked
but it might not be suitable for what you are making 
class MSFI_AA_Specialist: C_Man_casual_1_F_afro
{
class EventHandlers: EventHandlers{
init = "_this forceAddUniform "U_C_Poloshirt_Blue"; ";
};```
Running this
identityTypes[]=
{
"Head_African",
"G_CIVIL_male"
};```
this should get you african head
I want it to randomize is the thing
that will randomize african heads
oh! Interesting
I'll take a look over those
This didn't work
I'm wondering if I just change the side of the faction. hold on, hypothesis test. I'm going to change the side of the entire faction, and if it works then I know it's because of the faction side
MY STUPID-
Hold on, I haven't been exporting these as pbos so nothing I've done registered
I am so tired
We do recommend modding after sleep
Or sleep after modding
this
I like this
class MSFI_AA_Specialist: C_Man_casual_1_F_afro
{
class EventHandlers: EventHandlers{
init = "_this forceAddUniform "rhs_uniform_emr_patchless"; ";
};
Do I have too many quotations?
or should it be formatted init = "[_this#0, 'rhs_uniform_emr_patchless'] call forceAddUniform;";
gotcha, I'll try the new formatting
New formatting passed the launch, but did not successfully change the uniform
_this is an array _this#0 is the unit I guess?
I highly recommend to use a class within class EventHandlers so nobody would overwrite the EH tho
Also, better to stop using pboManager
Yeah, looks like I may start using _this#0
I use EliteNess, not PBOmanager
Eliteness is not a proper pack software either, if you can handle Mikero's Tools you better to use pboProject
So it can detect such “easy” errors even before you pack
The thing is I'm using windows and I do modding as like, a hobby? I'm not looking to make a partition and a dedicated modding drive, unless it has an installer I'm not 100% sure I want to use it
You don't really need to have a dedicated hard drive but a part of your current drives
Everything you need to build Arma 3 mods with HEMTT
I always forget that thing 😅
if you're doing mostly configs I recommend to switch to HEMTT
it's way more modern in it's design and its projects are portable.
I tried HEMTT, I am watching it. I know they're coming out with an installer soon and when the installer comes out I'll def use it
won't happen soon.
it's literally a single binary you can add to the PATH and be done with it.
or if you're on a W11 or have winget installed on W10 you can run:
winget install BrettMayson.HEMTT in the cmd (yes windows has package manger these days)
Tried that one, running windows 11, it didn't work
I did try to run HEMTT, I just couldn't get it working, most likely due to my lack of technical know how
it's one of the simplest way to get arma mods going.
So, I got the command to change the uniform after the launch and such but it sadly does not keep the items which were supposed to be stored in the uniform of the unit stored there.
I understand that, but that doesn't really help me since I personally can't get it to work. Unless you want to sit down and walk me through how to install it, which a friend of mine who uses it on the ACE team tried to do and couldn't, I don't think that I can get it working
I doubt anyone on ACE team was unable to get it working.
She was able to get it working on her pc, but was unable to teach me how to get it working on my pc. It is not her fault, it is entirely my own ineptitude
I am not blaming her for it not working, I am saying I am not skilled enough to get it working even with her help
I spent several days trying to install it and couldn't.
So the proposition of using HEMTT isn't something that I'm opposed to, it's just that I literally already tried and have found that I am unable to due to my lack of technical knowledge
I've linked you the project documentation above.
latest stable release can be found here:
https://github.com/BrettMayson/HEMTT/releases/latest
here's useful mod template:
https://github.com/TACHarsis/hemtt-mod-template
if executing single binary from command-line is too much then idk 
(the mod template even has bat files that can be double-clicked)
Yeah like, I've already followed these documents, I was having a hard time with it. That's what I was trying to express
Then maybe you're not persistent enough, if you have troubles with such simple things moding will be also painful.
I'm not asking you to teach me how to set up HEMTT, I'm totally cool with the way my workflow is now, especially because I'm only making mods for me and my friends to dick around with as opposed to a large community project.
I've been doing it for years, I mean, like, occasionally I'll get stuck like now, and yeah it is admittedly painful sometimes, but it makes me happy and I get to have fun with my friends so I don't really mind
Ah, so, I 100% Isolated the problem. The RHS clothing I'm looking to use is side locked. I did see that it's possible to assign units multiple sides, does anyone know if there's a way to do this in this instance?
We should probably make a HEMTT build option for Antistasi given that none of the ones we have in our wiki work reliably :P
So this is a module in the ace mod, gotcha, um, it removes side restrictions from Vanilla uniforms, but the uniforms I'm looking to use are RHS
That one only handles vanilla uniforms but it's an example.
you're in config makers, so I'm assuming you're asking how to do it.
so I'm providing you with an example.
ohhh it's an example, gotcha, so it would be modelSides [] = {6};
I misunderstood, sorry about that
Thank you so much
consider reading into what you're sent more and writing less.
Note that it's set on the linked unit of the uniform, not the uniform itself.
On the plus side there are fewer of those.
there's a function in the ace mod to generate the configs for you.
https://github.com/acemod/ACE3/blob/master/optionals/nouniformrestrictions/functions/fnc_exportConfig.sqf
I've read the files, I think, and if I'm understanding this right, i would run my config through the fnc_exportConfig.sqf? I'm not 100% sure where I would run [] call ace_nouniformrestrictons_exportConfig
Debug console.
and I would put the file path to the .pbo in the brackets, right?
no
Load ACE no uniform restrictions along with the uniform mods you want to extract from, then run that function as written. It should dump something into the clipboard.
Gotcha, gotcha, let me download it
(tfw I forgor I already have ace3 so I can just copy it from there into the directory of the mod)
Right, I have what it dumped into my clipboard. do I add this to my config under CfgVehicles like the example?
class CfgVehicles {
class SoldierGB;
class SoldierWB;
class rhsusf_socom_mc_uniform;
class rhs_infantry_msv_base: SoldierGB {
modelSides[] = {6};
};
class rhs_infantry_vdv_base: rhs_infantry_msv_base {
modelSides[] = {6};
};
class rhs_infantry_vdv_des_base: rhs_infantry_vdv_base {
modelSides[] = {6};
};
class rhs_mvd_izlom_rifleman: rhs_infantry_vdv_base {
modelSides[] = {6};
};
class rhsusf_socom_uniform_base: SoldierWB {
modelSides[] = {6};
};
class rhsusf_infantry_army_base: SoldierWB {
modelSides[] = {6};
};
class rhsusf_infantry_socom_armysf_base: rhsusf_socom_mc_uniform {
modelSides[] = {6};
};
class rhs_g_uniform1_base: SoldierGB {
modelSides[] = {6};
};
class rhsgref_cdf_ngd_base: SoldierGB {
modelSides[] = {6};
};
class rhsgref_cdf_reg_base: SoldierGB {
modelSides[] = {6};
};
class rhsgref_cdf_para_base: rhsgref_cdf_reg_base {
modelSides[] = {6};
};
class rhsgref_nat_base: SoldierGB {
modelSides[] = {6};
};
class rhsgref_ins_base: SoldierGB {
modelSides[] = {6};
};
class rhsgref_hidf_base: SoldierWB {
modelSides[] = {6};
};
class rhsgref_tla_base: SoldierGB {
modelSides[] = {6};
};
};```
looks good
Yup, it worked
thank you so much
@opal crater I know things got tense but I do genuinely appreciate the help, it worked. Tysm!
Hello! Fun question ahead: So I've got some buildings that inherit from House_f and DestructionEffects from within House_f. In my cfgPatches, I am including a3_structures_f as a required addon.
In cfgVehicles, I am setting up the inheritance for House_f and DestructionEffects like this:
{
class DestructionEffects;
};
After compile, I am seeing this in the RPT:
Updating base class House->HouseBase, by VTF\vtf_korsac_structures\config.bin/CfgVehicles/House_f/ (original (a3\structures_f\config.bin - no unload))
Is this going to be a problem? I have always inherited this way, but am looking to do this cleaner, if it can at all be done without seemingly overwriting House_f's contents. If I remove a3_structures_f from requiredAddons, pboproject no longer compiles with this error:
config.cpp uses external classes but has no RequiredAddons to say where they are.
- You need the parent class for House_F
- You ALWAYS need requiredAddons
Got it, so:
class House;
class House_F: House
{
class DestructionEffects;
};
you missed the inheritance.
Oh, god yeah. Sorry, sleepy. I copied it from the a3 sample now lol
I'm brand new to modding stuff. I've made a retexture for a WH40k Space Marine vehicle but I want to be able to mount into it with vanilla skeletons. Does anyone know where I can start looking for solutions as I can't seem to find any tutorials or forums that discuss skeleton configs?
There's no way
I think it should work as long as all different sized animation sets have same named action
The action would the correspond with suitable animation
That fits the character
Big question, but does anyone here have a bit of time in the near future to help me get a config working? it's a gear mod that refrences another mod for the 3d model, but i can't figure out how to both refrence the base model and change the armour values. I've asked several other people for help on this before, but no one could figure it out.
Big ask, but it would be amazing if someone was willing to go through it with me
you can post what you got here (in code formatting or if its big config in pastebin/sqfbin and link here)
people usually answer if they got answers to give
fair enough, well so this is the config that worked, but i coudn't adjust armour values:
{
class ItemInfo;
};
class CW_Test_armour : SC_MDF_Heavy_White
{
scope = 2;
displayName = "CW test armour";
picture = "-";
hiddenSelections[] = {"Camo"};
hiddenSelectionsTextures[] = {"\armour_Tester\Data\TestChest2.paa","\armour_Tester\Data\LegsTest2.paa"};
class ItemInfo: VestItem
{
containerClass = "Supply120";
mass = 80;
armor = "5";
passThrough = 0.3;
hiddenSelections[] = {"camo"};
};
};
class CW_Armour_White : SC_MDF_Heavy_White
{
scope = 2;
displayName = "CW Armour white";
picture = "-";
hiddenSelections[] = {"Camo"};
hiddenSelectionsTextures[] = {"\armour_Tester\Data\CW_Chest.paa","\armour_Tester\Data\CW_Legs_1.paaa"};
class ItemInfo: VestItem
{
containerClass = "Supply120";
mass = 80;
armor = "5";
passThrough = 0.3;
hiddenSelections[] = {"camo"};
};
};
^got this as a result
but when i tried a more complicated version that includes changed armour values, the model didn't show up.
it's supost to retexture an armour set from the scion conflict mod
and it has to refrence their base model, as i'm not allowed to reupload any of their models ofc
are the armor parts all vests/gear and not uniforms?
oh, you want to retexture, not change armour values?
no i want to change the texture and armour values
i just have to refrence their base model for it wich has been giving me a headache for a month lol
Ok, I think this is the minimum config to create a vest with one different armour value:
class CfgWeapons {
class VestItem;
class ItemCore;
class Vest_Camo_Base: ItemCore {
class ItemInfo: VestItem {};
};
class V_TacVest_blk_POLICE: Vest_Camo_Base {
class ItemInfo: ItemInfo {
class HitpointsProtectionInfo {
class Chest;
};
};
};
class JJ_Vest_Test: V_TacVest_blk_POLICE {
class ItemInfo: ItemInfo {
class HitpointsProtectionInfo: HitpointsProtectionInfo {
class Chest: Chest {
armor = 20;
};
};
};
};
};
If you were working from a vest where the armour values are defined further down the tree then it's more complicated :P
hm, i see
well i'll try to plug in the working config into that one and see if it works!
Vest_Camo_Base doesn't have much defined in HitpointsProtectionInfo so you could just override it from there. Just need the ItemInfo inheritance.
And then H_HelmetB only has one hitpoint defined so I guess you can just respecify that too rather than dealing with the hitpoint inheritance.
class VestItem;
class ItemCore;
class Vest_Camo_Base: ItemCore {
class ItemInfo: VestItem {};
};
class SC_MDF_Torso_Base: Vest_Camo_Base {
class ItemInfo: ItemInfo {
class HitpointsProtectionInfo {
class Chest {};
};
};
};
class CW_Armour_White: SC_MDF_Torso_Base {
class ItemInfo: ItemInfo {
class HitpointsProtectionInfo: HitpointsProtectionInfo {
class Chest: Chest {
armor = 5;
};
};
};
};
};
would this work?
or well, is it filled in properly at least?
Is the SC vest one of yours or from another mod?
it's the vest in the original scion conflict mod that i want to inherit the 3d model from
Does it inherit from Vest_Camo_Base?
umm, let me check
you dont need to do {};
and class Chest {}; will cause addon builder to break usually
You do for inheritance.
no you dont
yeah, the chest one is bad.
i'll just leave this here: ```
Vest class 1: abdomen/body/chest/diaphragm, armor 8, passtrhough 0.5
Vest class 2: abdomen/body/chest/diaphragm(/pelvis), armor 12, passtrhough 0.4
Vest class 3: abdomen/body/chest/diaphragm, armor 16, passtrhough 0.3
Vest class 4: abdomen/body/chest/diaphragm, armor 20, passtrhough 0.2
Vest class 5: abdomen/body/chest/diaphragm/arms/neck, armor 24, passthrough 0.1
Vest class ER:abdomen/body/chest/diaphragm/arms/neck/pelvis, armor 8/16/78, passthrough 0.5/0.3/0.6```
walk it back up by one more than that to not do {};
The class Empty{}; syntax tells the engine that this class should not inherit from other classes. As a result, only non-inherited properties and classes in the class persist.
bad
This one is needed syntactically for some reason:
class ItemInfo: VestItem {};
This one breaks shit:
class Chest {};
class CfgWeapons {
class VestItem;
class ItemCore;
class Vest_Camo_Base: ItemCore {
class ItemInfo: VestItem {
class HitPointsProtectionInfo;
};
};
class V_TacVest_blk_POLICE: Vest_Camo_Base {
class ItemInfo: ItemInfo {
class HitpointsProtectionInfo: HitPointsProtectionInfo {
class Chest;
};
};
};
class JJ_Vest_Test: V_TacVest_blk_POLICE {
class ItemInfo: ItemInfo {
class HitpointsProtectionInfo: HitpointsProtectionInfo {
class Chest: Chest {
armor = 20;
};
};
};
};
};``` better
Although curiously it worked here.
the only regular use case for {}; that exists is turrets afaik
not standard inheritance
The HitpointsProtectionInfo in V_TacVest_blk_POLICE doesn't inherit from Vest_Camo_Base though.
then define it wherever it inherits from
then just give it a base class
oh wait
ok in this one instance {}; is usable
as it wont inherit any properties
for chest that is
for iteminfo you can just do class ItemInfo;
no need for {}; there
The class ItemInfo: VestItem {};?
yes
yeah maybe.
🧠 start by getting the full tree with ADT. Check if it works. When it does work - don't fix what ain't broken.
no parent class is probably why class Chest {}; works
or just learn inheritance and dont use adt's tree because that also breaks things with unnecessary {};
oh wait no that looks fine now
somewhat
you still need to know when you stop though
I start from ADT and simplify, missed a couple of bits thoguh.
Still not sure why Chest {} worked. That should blank it.
e.g here you dont need to inherit off headgearitem
no parent class
{}; only blanks inherited values
Ah, yeah.
"you don't need it" vs "shit be broken" are two different things, as always
no because if someone ends up doing ItemInfo: HeadgearItem {}; it will wipe anything iteminfo inherits from headgearitem
which will most likely break things
it wouldn't if the load order is correct and inheritance isn't borked
yes it would thats literally what {}; does
The empty brackets have different meaning if you specify the inheritance.
IIRC it doesn't even let you do ItemInfo: HeadgearItem;
no you dont need to define headgearitem at all
That's true but not the point.
will still break things either way
{}; is very rarely required and teaching it to be standard is a bad idea
because guess what? It removes the inheritance
exception not the rule
The empty brackets have different meaning if you specify the inheritance.
the different meaning is this
class Jacob {}; = "screw whatever happened before, Jacob here inherits from nowhere"
It's pointless specifying the inheritance there but doesn't hurt.
class Jacob: Jacob {}; = "this Jacob is just like the Jacob above"
soulless empty jacob
You might need it for weird cases where you're modifying stuff at multiple levels.
Although you can probably just skip the definition then.
as in: you need subclass of Jacob that isn't present in Isaac but is defined in Rebecca 🤷♂️
but still need other changes to Jacob that are made in Isaac
Anyway, fully reduced example:
class CfgWeapons {
class ItemCore;
class Vest_Camo_Base: ItemCore {
class ItemInfo;
};
class V_TacVest_blk_POLICE: Vest_Camo_Base {
class ItemInfo: ItemInfo {
class HitpointsProtectionInfo {
class Chest;
};
};
};
class JJ_Vest_Test: V_TacVest_blk_POLICE {
class ItemInfo: ItemInfo {
class HitpointsProtectionInfo: HitpointsProtectionInfo {
class Chest: Chest {
armor = 20;
};
};
};
};
};
yeah, that's one convoluted mess
hee hee
and iirc all the vanilla vests do fully define their protection values if they ever do not like hpp class HitpointsProtectionInfo { class Chest { hitpointName="HitChest"; armor=12; passThrough=0.40000001; }; class Diaphragm { hitpointName="HitDiaphragm"; armor=12; passThrough=0.40000001; }; class Abdomen { hitpointName="HitAbdomen"; armor=12; passThrough=0.40000001; }; class Body { hitpointName="HitBody"; passThrough=0.40000001; }; }; would blow your config that much
Often easier to just rewrite the HitpointsProtectionInfo :P
macro it
then forget about it, accidentally build your PBO with KJW's file tree somewhere in valid include paths and then be surprised when your vests suddenly have over nine thousand armor, glow in the dark and pollute everything with radiation and syphilis
thats part of kjws medical expansion 😄
In that case it'd be:
class CfgWeapons {
class Vest_Camo_Base;
class V_TacVest_blk_POLICE: Vest_Camo_Base {
class ItemInfo;
};
class JJ_Vest_Test: V_TacVest_blk_POLICE {
class ItemInfo: ItemInfo {
class HitpointsProtectionInfo {
// All hitpoints go here
};
};
};
};
so... what now?
As above but replace V_TacVest_Blk_POLICE with SC_MDF_Torso_Base and JJ_Vest_Test with your classname, then fill in the hitpoints data.
That SC_MDF_Torso_Base doesn't have much in it though, so it might not be worth inheriting.
i see
so this
also, where do i add the change of texture for this armour?
this seems right
I don't know anything about textures personally.
fair enough
i'll give it a test and report back 👍
it's not showing up in the arsenal
You'd need to set scope=2 for it to show up in the arsenal.
Anything with "base" on the end of the name is probably scope 1.
So I'm trying to make a smoke grenade, that once it pops it activates a script. How would I go about adding such a function to the config?
Killed eventhandler
Grenades exploding triggers the killed EH?
class EventHandlers: DefaultEventHandlers
{
killed="[_this select 0] call Dosiel_DS_FnC_fnc_PDropScythe;";
};
Would this be correct?
I have a CfgFunctions set up for the sqf, only issue is getting it to trigger on the smoke
Depending on how you did your params [...] in your function, you could probably replace those brackets with parenthesis
Is there a way to use the CombatModeChanged eventHandler within the EventHandlers class of a unit? The wiki says it's for groups only, so I'm not sure if I realistically could.
I really just need a good eventhandler that will fire off at helpful times so I can run some code that does things based off unit combat mode.
Probably not. I think you can have a fnc to detect if a group has created and use it to add an EH
I think I'll go for a simpler, but limited, approach, then.
New venture: is there a way to disable placing things in the Uniform slot of a unit? Basically to make sure it always appears as the specified nakedUniform, even if player controlled.
Only relavent subclass I could find was related to binoculars, NVGs, scuba, and something else that wasn't it.
Could make like a Supply0 containerClass with no space
configfile >> "CfgVehicles" >> "Supply0" exists. So yes
Wasn't sure if there was an already existing one
Pretty sure brendo means locking the uniform slot completely so that you always appear "naked" (and therefore default to whatever underwear class you defined in the unit).
Ah yeah reread it
I guess just use an Event Handler for a unit's loadout changing and remove the uniform?
CBA has a player event handler for it
Oh yeah I forgot that SlotItemChanged is finally in with 2.14
It is, but I want to prevent the unit fro putting on an alternative uniform
Kinda like how in Arma 2, women can't hold guns, man guns, or wear backpacks, etc.
🤨 Never played it, but that seems like a weird thing to have
Sexism
Well, the way that was handled back in the day was with weaponSlots but I don't think it accepts the new slot types used in A3.
Should be the last of my questions - is there a way to make entities emit ambient light? I'm currently only using the emissive on the .RVMAT, but that only illuminates the unit itself.
this is where i'm currently at. it shows up in the arsenal, and it has the right texture and armour value, though it does not inheret the right 3d model
Your inheritance is incorrect
SC_MDF_Heavy inherits from SC_MDF_Torso_Base, not Vest_Camo_Base
Hmm, interesting
You should be getting an "Updating base class" in your rpt file
Is there a specific sound property for a plane canopy opening/closing or would it have to just be lumped in with the engine on/off sounds?
sound can be added to your animations as param
class Animations {
class myAnim {
sound="mySound";
};
};
Not my animations, wanting to add a sound to a pre-existing vehicle
Oh cool they're in config
note you have to define the sound in CfgSounds
I did also find cabinOpenSound in the vehicle root as well
Attach light to it
how do I set the carrying capacity?
oh hey that was it, thank you so much!
In what?
Uniform, vest, backpack, vehicle?
Uniform, vest, and backpack
Uniforms and Vests' carrying capacities are done through their ItemInfo class
class ItemCore;
class Vest_NoCamo_Base: ItemCore
{
class ItemInfo;
};
class V_PlateCarrier1_rgr: Vest_NoCamo_Base
{
class ItemInfo: ItemInfo
{
containerClass = "Supply140"; // containerClass is a vehicle defined in CfgVehicles
};
};
Backpacks (and anything defined in CfgVehicles) are much simpler, and their carry capacity can be tweaked by chaning the maximumLoad, which can be any number
Thank you.
does anyone know how i could correct this?
Fuck I’m just blind thank you
ah now im getting the build failed i'll fuck wit again later
each scope (class) {}; has opening { and closing }; bracket, so make sure they're all setup properly
class SomeClass {
class Subclass1 {
class SubSubClass {
};
};
};
When you shoot a HE tank shell through trees it explodes on every contact, but 40mm GMG shell doesnt. What config properties dictates such behaviour in the engine?
Pictured, tank shell explodes on each penetration, grenade only explodes on ground hit
Here are config differences between two shots: https://pastebin.mozilla.org/S0F3qkVh/raw
Both are shotShell
I did a test by increasing GMG shell speed x10 but it still didn't explode through trees
hmm
maybe explosive = 1 makesi t go off no matter what
thats all I can think of, its the same simulation afterall
Still, its it strange that HE shell explodes like 20 times when flying through trees? Isn't it a bug?
Yeah it shouldnt be doing that
when it does it im not sure its just the effect or if the explosion actually does damage
Wow, it is indeed doesn't do any damage
Yet it triggers HitPart\HitExplosion on both target and shell hitting the foliage
any damage? or just no indirectHit?
cuz I assume it still does hit
but it might be too low to not deal damage or something
Nope, no damage at all
PROJECTILE HitPart, HitExplosion, ENTITY HitPart on the quad bike
No HandleDamage fires at all
HitPart on Quad Bike because of these fake two explosions nearby
Dies properly on direct hit so its not my mistake
Log for proper direct hit with HandleDamage fires: https://pastebin.mozilla.org/kthvEYZg/raw
yeah its probably still dealing hitdamage but trees tend to have very high armor with high explosiveshielding so onmly indirectHit really deals any damage to them iirc
but most likely the 'bug' is because when explosive is above 0.6 or whatever impact effects use explosionEffect etc instead
so its technically working as intended just uh, not the way it should
at least that's what I think is happening
These effects still trigger HitPart like vehicle is about to be damaged
Perhaps tree absorbs all damage and only ~0 damage is propagated to the quad enough to trigger HitPart but not enough for HandleDamage?
Welp, here goes my idea to try to connect HitPart and HandleDamage
All these fake HandleDamage calls and now tons of fake HitPart calls

RE: #arma3_config message
Alright well it appears I framed my problem incorrectly, and I say that because it's not a packing issue, it's a config issue. This is the error we get when we try to load into an empty editor mission with a rifleman and a crate. We're able to move past it and the addon still works after the error is closed but we want to get rid of that for when we play our missions.
This is my config.cpp for addon crates
#include "script_component.hpp"
class CfgPatches
{
class ADDON
{
units[] = {"EVLT_Fireteam_US_crate", "EVLT_Fireteam_FAL_crate", "EVLT_Fireteam_SWAT_crate","EVLT_Fireteam_Stealth_crate","EVLT_Fireteam_Rangers_SCAR_crate","EVLT_Fireteam_PMC_ACR_crate","EVLT_Fireteam_GER_crate","EVLT_Fireteam_CZ_VZ58_crate","EVLT_Fireteam_CZ_BREN_crate","EVLT_Fireteam_ME_Guer_crate","EVLT_AR_MG36_crate","EVLT_AR_HK416_crate","EVLT_MMG_MG3_crate","EVLT_AR_RPK74_crate","EVLT_HAT_TOW_crate","EVLT_MAT_MAAWS_crate","EVLT_HAT_9M133_crate","EVLT_LAT_RPG7_crate","EVLT_HAT_FGM148_crate","EVLT_Fireteam_Russia_AK762_crate","EVLT_Fireteam_FinlandArmy_AK103_crate","EVLT_Fireteam_FinlandSF_Mk16_crate","EVLT_Fireteam_TLA_crate","EVLT_Fireteam_AK74_std_crate","EVLT_Fireteam_AK74_ep_crate","EVLT_MMG_CZ_M84_crate","EVLT_RAT_RPG75_crate","EVLT_RAT_M136_crate","EVLT_MMG_PK_RU_crate","EVLT_MMG_M240_M60_crate","EVLT_Fireteam_M14_crate","EVLT_Fireteam_M16_crate","EVLT_Fireteam_M16A2_crate","EVLT_Explosives_crate","EVLT_Medical_crate","EVLT_RAT_M72A6_crate","EVLT_RAT_M72A7_crate","EVLT_AAM_Igla_crate","EVLT_AAM_Stinger_crate","EVLT_HAT_MetisM_crate","EVLT_AR_RPK762_crate"};
weapons[] = {};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"evlt_main","evlt_medical","A3_Supplies_F_Exp","ace_main","ace_compat_rhs_afrf3","ace_compat_rhs_usf3","ace_compat_rhs_gref3","ace_compat_rhs_saf3","UK3CB_Factions_Weapons","rhssaf_c_weapons","rhsusf_c_weapons","niaweapons_226","UK3CB_Factions_Weapons","rhs_main","rhsusf_main","rhs_c_weapons","rhsusf_c_weapons","rhsgref_c_weapons","cup_weapons_ammunition","cup_weapons_fnfal","cup_weapons_xm8","cup_weapons_m72a6"};
author[] = {"Ferdilanz"};
authorUrl = "";
};
};
#include "CfgEditorCategories.hpp"
#include "CfgVehicles.hpp"
The mod itself can be found on GitHub here: https://github.com/CypherV0/Everlight_Adjustments/tree/Test
I tried putting as many requiredAddons as possible to try and fix this stupid error but I can't get it to go away.
Made a ticket: https://feedback.bistudio.com/T176022
does anyone have an idea how i remove the green nametag?
Difficulty settings
is custom
groupIndicators=0;
friendlyTags=0;
enemyTags=0;
detectedMines=0;
commands=1;
waypoints=0;
weaponInfo=1;
stanceIndicator=2;
reducedDamage=0;
staminaBar=1;
weaponCrosshair=0;
visionAid=0;
thirdPersonView=0;
cameraShake=1;
scoreTable=0;
deathMessages=0;
vonID=0;
mapContent=0;
autoReport=0;
multipleSaves=0;
already custom
DUI nametags in CBA options
thanks
has anyone ever encountered an issue when building a p3d where one of your textures just wont apply? Upper and Lower here are setup the same way, triple checked all filepaths and naming conventions, triple checked the rvmat values, but for some reason the upper comes in just pitch black
only difference I can see is the upper has these values filled out while the lower doesnt, but I also cant find a way to get rid of the values (I didnt setup the p3d)
I think #arma3_model or #arma3_texture would be better for this question
I thought that originally but figured itd be more along the config/importing end, as its not a problem with the texture
messing with those values is producing results so something in this import has gotten screwy
I disagree, you're asking a question about a model file. I reckon configs refer to Cfg files like CfgVehicles, config.cpp, CfgPatches, CfgWeapons, et cetera. I think it's inaccurate to call configurating p3d's because p3d's are model files and thus modellers would be better people to ask. I could be wrong, and I do wish you luck regardless.
@void palm he is right. This is model. Issue, best take it there
author = "Ferdilanz";
or
authors[] = {"Ferdilanz"};
try either or. author is a string in CfgPatches normally, not an array. When a mod has collaborators, they make a separate property named authors[] = {};
Thank you, will try later and report results. o7
Hey guys, been messing with my project and I need some help.
I am trying to replace the Commanders MG with another weapon class but I am confused as to how I find one and utilize it in the code.
Where/How would I search to find another weapon class to use and do I just replace the bit here in Line 140 of CfgVehicles?
CfgWeapons contains your weapons, you will use the classname of the config entry. Just know, that if the model doesn't support the weapon, its gonna look stupid.
Any ideas why my module isn't playing the sound I want it to? I've made sure the cfgRadios entry is properly spelled, and I've verified that the audio file works in a cfgSounds entry that I have confirmed works when played on a trigger's sound effects box.
The globalChat works perfectly fine.
Both the sender unit and I have a radio.
Wait, I think I know what's up... the speaker is deleted before the audio plays.
what is the difference between a bisurf having bulletPenetrabilityWithThickness and Thickness?
like armour.bisurf doesnt have those 2 fields, and armour_plate.bisurf has Thickness=30; and bulletPenetrabilityWithThickness=15;, how would I compare/figure out which bisurf protects against bullets better?
Are there any tools to quickly create ace extended arsenal compats?
And that's why I am asking, there is no cfgweapons in the Test_Tank_01 files.
I know I need the classname but where do I locate that for the weapon I wish to use?
I thought the config viewer in eden would work to locate one but could not locate a classname. Unless I have a misconception on what specifically to look for.
I am dence, was looking for the wrong file type in the config viewer
hi, facing once again a physx problem. A renovated tail dragger aircraft in Unsung, the O-1 Bird Dog, is hardly sitting on the gear. There are two anomalies right now: When placed in Editor the rear wheel touches the ground, but the main gear is sunken in the ground; the second is, as soon as power is applied to the engine via shift the plane starts rolling and cannot be stopped via z or x. Any ideas how to fix and/or debug this?
I see in diag exe with the All toggle that the brake is never applied once the engine runs
Oh my goodness the first option made it WORK, YOU LEGEND! THANK YOU SO MUCH!!
Hey all. How can I create a patch for an existing mod that allows me to replace certain parts of it, without including/publishing the entire mod? I know it has to do with CfgPatches, and I want to be able to reference it so that people are required to download the original creator's mod for it to work.
Unfortunately the mod maker left no means to leave feedback or contact, neither in the mod itself nor the mod profile.
For reference it's this mod I described under #arma3_texture. #arma3_texture message
I'd only be replacing the p3d files with the correct rvmat references. I want to keep everything else out of my patch mod in order to force the dependencies to the original mod.
you cannot edit p3ds that you do not have permission to edit
Not even with a text find-replace in Notepad++? 
no
I'll also add that the modder left the source files within a .rar archive within the mod itself, and did not bfsign it.
Hm, okay.
it is not only illegal but it is not possible
Not possible?
Ah, okay.
That explains why I could in the case of their source files. Here, take a look: https://steamcommunity.com/sharedfiles/filedetails/?id=2444073983
And here's inside the mod folder:
And here's inside the .rar file, including the non-binarized p3d's:
Okay, whew. That's what I figured.
you should DM that guy even if its source file if its needed to subscribe his mod or if you can go standalone at all with it
I'll try; the only problem is that they have a private profile and no means to post on the mod itself. I've tried to add them as a friend - but that assumes they even respond.
in my opinion its not needed to make it dependent of that mod cause its source at all + he has included a rar file with all source stuff included and unbinarized etc
so i think just to credit that guy and maybe add the link of his steam workshop mod might work but no dependency to his mod, so keeping standalone
True, though at the same time by requiring it, it forces people to download it, which is far better than providing credit, IMO.
Anyway; how do I create a patch that only includes the patched p3d's?
no its not, no permission == no permission
unless permission to edit is given in the description they cannot edit it
for what is it source then? for nonsense?
giving out source material doesnt mean its free to use
see: a significant number of projects on github
its declared as source and also has a rar file in it with unbinarized content as source files
maybe that guy doesnt have github
i already said
giving out source material doesnt mean its free to use
this is quite basic ip law
yeah like a license is missed
yes, no license means most restrictive applies
sounds for me more like that guy didnt know about that, cause makes no sense to release something as source and declare it as source
~~Yeah, unfortuately, sounds to be the case, sadly.
Since that's the case, I'll have to do it using a config.cpp, and create (or copy?) the three files it is 'missing'. Specifically, it has these three lines within its p3d's:
color_01.paa (only in drr_trafficlight_p11.p3d & drr_trafficlight_p12.p3d)
a3\data_f\lights\weapon_chemlight_drr_emit.rvmat```
`color_00.paa` and `color_01.paa` doesn't exist at all, and has no file name, so I'm not sure how to parse that in the config.cpp. In addition, `a3\data_f\lights\weapon_chemlight_drr_emit.rvmat` doesn't exist in Arma 3 whatsoever despite the link pointing to `data_f.pbo`. However, looking at the working green and yellow lights, they link to `a3\data_f\lights\weapon_chemlight_green_emit.rvmat` and `a3\data_f\lights\weapon_chemlight_yellow_emit.rvmat` respectively. Therefore, my assumption is that `a3\data_f\lights\weapon_chemlight_red_emit.rvmat` is the intended path.
Therefore, the simplest fix is, optimally, to somehow redirect the file to the correct file. But I don't think that's doable. Instead, I could contain a copy of Bohemia's `weapon_chemlight_red_emit.rvmat`, and rename it to the correct file. But in either case, how would I get it to read as a3?
Any help would be appreciated as this is a bit above my paygrade.~~ Sounds like this would also affect the IP, even then. Sadly nothing else I can do. 😦
Also asked on Twitter: what is the Engine RPM in the diagnostics output and why would the RPMs increase when throttle is zero of a plane? The plane rolls forward though, brake is never applied. I'm looking for the root cause of this forward movement, but a bit lost currently
rpm is scuffed for planes
its basically 0-1, with it reachign 1 after the engine is running for a couple seconds
the plane rolling forward can sometimes be the landcontacts
if landcontact on plane is under the physx wheel geometry it will roll forward
I have a problem that I need help with. The point is that I created a warlords scenario and also a custom asset list. The basic AI skill is 70% but I want the AI skill to vary depending on the unit. For example, the sniper should have a higher skill than the normal shooter. What code do I have to write in the description.ext or other file for this to work and above all HOW DOES IT WORK (I have 14,000 hours in Arma 3) please help. i try it in arma Scripting, arma AI modding but nobody can help me there. i hope you know here becurse the People there tell me that.
class CfgWLRequisitionPresets
{
class MyWLAssetList
{
class WEST
{
class Infantry
{
class B_recon_TL_F
{
cost = 100;
requirements[] = {};
};
class B_T_Recon_TL_F
{
cost = 150;
requirements[] = {};
};
is this possible to add it for any unit hete?
is it possible to Set by "requirements[_setunitskill...]"
not a config issue, look back in #arma3_scripting. I looked through the functions of WL for you and found stuff on how/when it changes skill.
requirements[] = {} in that warlords config is for things like requiring an airstrip, helipad, harbor etc
interesting! The engine RPM value went really high, up to 2000 for the O-1. I changed the landcontacts name to the wheels instead of dampers, and moved the CoG even more forward, almost on top the main gear. The plane stopped rolling now, can take off, but flips over the nose upon landing 😦
Am i correct in my assumption that you can’t edit the max carry weight in your configs?
As in the max carry weight for the stamina bar?
Or do you mean for uniforms, vests, etc.
For the stamina bar yeah.
But it doesn’t matter cause I clarified what the person I’m making the mod for wanted and they wanted to add to the holding capacity for a uniform and vest so it’s all good now. I know how to do that
Id recommend not using such mods. it undermines all the hard work real modders do
Unfortunately im not new to those problems. Just wasnt sure if this mod was one of those.
👍
Can you use a sound set for a weapon's dry sound?
https://gyazo.com/ac1346febaf4b89bd25321107f0d49cb
Anyone know how I can fix this? I only have the one rotation action at the moment. Before it's asked yes the axis is centered. When I remove the roatation the bolt moves perfectly back however oncee I add the rotation it moves the entire bolt outside the rifle like that. It's weird because when I preview in in bulldozer it works perfect, however once brought in-game it does that.
Macros that are gonna be used inside config require to be defined inside the config itself or can i define them anywhere and still be able to use them inside classes?
Im including a .hpp file that contains a defined macro function so I don't have to define every single bit of config, but for whatever reason it says that it has ; instead of = (as in improper definition of a class), I checked the content of the macro itself and without macroing it, it works just fine so I'm probably not just defining the macro correctly. The include is being read properly, as if I rename it or point to a different path to look for it it tells me that the file has not been found.
Is there anything special I need to do for it to work properly?
I have never defined anything but static values, let alone multilines so Im prolly missing some context
this is probably why then, give me a min to get the files
#include "\MK_mod\SystemInit\mk_hitpoints.hpp" //Wondering if this should go inside cfgVehicles itself
class CfgVehicles
{
class Land;
class Man: Land
{
class EventHandlers
{
class MKClass
{
init = "[] call mk_initSystems;";
};
};
};
class CAManBase: Man
{
class HitPoints
{
MK_CUSTOMHITPOINTS; //The macro itself
};
};
};
This is the content included:
#define MK_CUSTOMHITPOINTS\
class HitHands;\
class HitLegs;\
class HitRArm: HitHands\
{\
material = -1;\
name = "hand_r";\
radius = 0.08;\
visual = "injury_hands";\
minimalHit = 0.01;\
};\
class HitLArm: hitRArm\
{\
name = "hand_l";\
};\
class HitRLeg: HitLegs\
{\
material = -1;\
name = "leg_r";\
radius = 0.1;\
visual = "injury_legs";\
minimalHit = 0.01;\
};\
class HitLLeg: hitRLeg\
{\
name = "leg_l";\
}
cant tell if its discord but you seem to have spaces after the backslashes
yeah nvm its discord
it doesnt need to go inside of cfgvehicles
i would probably put the opening braces on the same line as the class def but thats not it
i need to go sort my washing though so brb
np
Just take care of editing the CAManBase class and adding new Hitpoints, it could be that ACE wont work anymore
I know, the system im making is incompatible with ace medical by default so not big issues

it is actually an alternative to ace medical for specific solution required for us.
Its not really a big deal since its for the sake of tidiness, was just really wondering how im I supposed to declare and use these macros correctly.
If it doesn't work I might as well just include the file as is instead of using the macro multiple times
Yeah thats fine. Cause i did something "similar" but i didnt add a Hitpoint by myself, i have just reactivated a thing that BI has deativated and it disturbed ACE at least cause that thing added its own Hitpoint by itself and i had to find a solution with ACE devs to make it working cause a lot ppl want to use ACE with my modification and i did it just for the community at least to find a solution
now that I think of it, can you even #include the same file multiple times?
What does the file include?
this but without the macro definition
#define MK_CUSTOMHITPOINTS\
class HitHands;\
class HitLegs;\
class HitRArm: HitHands\
{\
material = -1;\
name = "hand_r";\
radius = 0.08;\
visual = "injury_hands";\
minimalHit = 0.01;\
};\
class HitLArm: hitRArm\
{\
name = "hand_l";\
};\
class HitRLeg: HitLegs\
{\
material = -1;\
name = "leg_r";\
radius = 0.1;\
visual = "injury_legs";\
minimalHit = 0.01;\
};\
class HitLLeg: hitRLeg\
{\
name = "leg_l";\
}
You can include that for your base class and your next class have to be inherited of your base class so you dont need to include it several times.
But yes in your class HitPoints you can include it every time for every unit class
If you dont inherit of your base class
Ill have to see if doing the include is required in multiple instances since ACE does the macro fro their hitpoints in 20 or so different base classes
i would assume that using camanbase is enough, but i dont see them doing so
The CAManBase is the most oldest base class, next classes are the that B_Soldier_F or something, O and G if im right
since doing it man doesnt make camanbase inherit it
yeah, they do one for each faction and then one for the contact units
- some additional for VRs units and campaign units
You might try out if it works with only CAManBase class
Just to note, editing this one will edit also everyone, even custom mod ones
Only if they didnt own Hitpoints and didnt inherit of HitPoints
which is fine, I already have a less none invasive solution but i can see it become network intensive so I wanted to see it it was possible to have an allrounder solutions for all the playable unit types.
Thanks for the info
so i made a tank and used the physx.hpp from the sample, and it seems that the tank would not go farther anymore than 22 km/h.
ive changed the enginepower, gearboxratio, transmisionratio/losses, and it seems to have affected anything at all.
I changed the MOI and dampingrateinAir but it just let to the vehicle being way too fast and unsteerable
i have set the weights to 30000 and 15000 and both have resulted in the same thing... would love some help on how i can increase my tank speed :)
are you sure you have edited the same file you have packed into the game?
are you sure you include the physx.hpp in the config you pack?
yes it is included in cfgvehicles
are you sure the changes you make actually go into game?
as what you describe sounds like changes do nothing
and they should do a lot
well i did change the MOI and dampingrateinair and did change drastically (went over 300 km /h)
but the others ones i mentioned did not do any difference
so im pretty sure the changes got into the game...
for example i increased enginepower from 500 to 1500, and there was no difference
So, is there any guide that includes documentation for things like TransportMagazines and such? I'm defining a few custom ammo boxes.
It's basically the same as the other Transport classes
class TransportMagazines
{
class _xx_YourMag
{
magazine = "YourMag";
count = 1;
};
};
Just swap out the class and then change magazine to item, weapon, etc.
Also the _xx_YourMag is just convention, you could just do YourMag if you wanted to
Thanks
Running into some (seemingly) weird behavior when trying to add XEH to an object. Instead of using the CBA_Extended_EventHandlers_base root class, it's creating a class with the same name in CfgVehicles and inheriting from that
Here's the code after packing and then unbinning, thought it might have been a weird packing issue but it's all correct
class CBA_Extended_EventHandlers_base;
class CfgVehicles
{
class BNA_KC_Object_Base;
class BNA_KC_Utility_Base: BNA_KC_Object_Base
{
// ...
class EventHandlers
{
class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers_base
{
};
};
};
};
I changed it to inherit from the normal CBA_Extended_EventHandlers instead of _base and it worked perfectly fine
Not sure why
If anyone could help, I still really need it. Me and my buddy have not been able to fix this issues despite playing with the values and looking at a base arma gun and a modded example. This our config: https://gyazo.com/5c486f0c243363b5d9e43ae35ec214e2
and unfortunately in-game the rotation does this. Keep in mind when the rotation is removed the bolt moving backwards looks fine. Also in object builder it also looks perfect. The problem only happens in-game https://gyazo.com/234b7b4eafdc70fb08a55dcc19b83d7a
What is the exact problem? The slow speed or that the bolt is to much left while moving forward again?
i'd assume the fact that bolts moves left at all
If thats the case the problem is:
A) in the cfgSkeletons hirarchy
B) your memorypoint axis is not straight
He is correct, the bolt should just be rotating almost like a block and coming backwards.
it uses the same axis as the bolt coming back which is perfect. How would I adjust the hierarchy then? Just place the rotation before the translation? I was under the impression that in the model cfg regardless of order of actions if they are produced by the same source they would happen simultaneously?
The axis is completly in the middle of it and it contains 2 points?
Correct.
On the reload without any rotation the bolt comes perfectly back
What happens if you add to the bolt_reload1 sourceAdress=clamp aswell?
Cause the other 2 have it
Yep that looks pretty smooth and neat 👍
I added it and no change.
Or do like what I do, ALT+Z everything it call it a day.
My biggest frustration is like I said when I preview it in object builder it functions flawlessly. It's only when I get in-game
Well I'd like to solve the issue so I can finish my project and know why it's broken for future reference as awell lol
Try to change on it angle1= rad 57
does repro with what i believe to be the correct setup 
I always add to rotation anims rad number maybe thats the problem instead of just a number
Looks for me like cfgSkeleton issue
What would you suggest I do? just re-write it from scratch?
HG might know it now 
Autocenter property set up correctly in geometry lod?
post the skeleton
no named properties at all in whatever i've done
class cfgSkeletons
{
class EC_Huntingrifle
{
skeletonInherit = "";
isDiscrete = 0;
SkeletonBones[]=
{
"trigger" ,"",
"bolt" ,"",
"ch" ,"",
"chh" ,"ch",
"magazine" ,"",
};
};
};
class CfgModels
{
class Default
{
sections[] = {};
sectionsInherit="";
skeletonName = "";
};
class EC_Huntingrifle:Default
{
skeletonName="EC_Huntingrifle";
sections[]=
{
"zasleh",
"camo"
};
/<potential axis>
backsight
bolt
bolt_axis
camo
eye
foresight
konec hlavne
leg_l
leg_l_axis
leg_r
leg_r_axis
magazine
magazine_axis
nabojniceend
nabojnicestart
trigger
trigger_axis
usti hlavne
zasleh
</potential axis>/
class Animations
{
class no_magazine
{
type="hide";
source="hasmagazine";
selection="magazine";
// sourceAddress = clamp;// (default)
minValue = 0.0;//rad 0.0
maxValue = 1.0;//rad 57.29578
hideValue = 0.5;
// unHideValue = -1.0;//(default)
animPeriod = 0.0;
initPhase = 0.0;
};
class trigger
{
type="rotation";
source="reload";
selection="trigger";
axis = "trigger_axis";
sourceAddress="clamp";
minPhase=0;
maxPhase=1;
minValue=0;
maxValue=1;
memory=0;
angle0=0;
angle1=-0.5235988;
};
class bolt_reload_move1
{
type="translation";
source="reload";
selection="Bolt";
axis="bolt_axis";//probably
// sourceAddress = clamp;// (default)
minValue = 0.1;//rad 5.729578
maxValue = 1.0;//rad 57.29578
offset0 = 0.0;
offset1 = -1.0;
animPeriod = 0.0;
initPhase = 0.0;
// memory = true;//(default assumed)
};
class bolt_reload1
{
type="rotation";
source="reload";
selection="Bolt";
axis="bolt_axis";
minValue= 0.000000;
maxValue= 0.100000;
angle0=0;
angle1=0.57;
memory = true;
};
class bolt_reload_move_last
{
type="translation";
source="isemptynoreload";
selection="Bolt";
axis="bolt_axis";//probably
// sourceAddress = clamp;// (default)
minValue = 0.1;//rad 5.729578
maxValue = 1.0;//rad 57.29578
offset0 = 0.0;
offset1 = -1.0;
animPeriod = 0.0;
initPhase = 0.0;
// memory = true;//(default assumed)
};
class bolt_magazine_reload_move_1
{
type="translation";
source="reloadmagazine";
selection="Bolt";
axis="bolt_axis";//probably
// sourceAddress = clamp;// (default)
minValue = 0.12;//rad 6.8754935
maxValue = 0.17;//rad 9.740283
offset0 = 0.0;
offset1 = -1.0;
animPeriod = 0.0;
initPhase = 0.0;
// memory = true;//(default assumed)
};
class bolt_magazine_reload_move_2
{
type="translation";
source="reloadmagazine";
selection="Bolt";
axis="bolt_axis";//probably
// sourceAddress = clamp;// (default)
minValue = 0.795;//rad 45.550144
maxValue = 0.811;//rad 46.466877
offset0 = 0.0;
offset1 = 1.0;
animPeriod = 0.0;
initPhase = 0.0;
// memory = true;//(default assumed)
};
class magazine_hide
{
type="hide";
source="reloadmagazine";
selection="magazine";
// sourceAddress = clamp;// (default)
minValue = 0.0;//rad 0.0
maxValue = 1.0;//rad 57.29578
hideValue = 0.31;
unHideValue = 0.565;
animPeriod = 0.0;
initPhase = 0.0;
};
class magazine_move_1
{
type="translation";
source="reloadmagazine";
selection="magazine";
axis="magazine_axis";//probably
// sourceAddress = clamp;// (default)
minValue = 0.302;//rad 17.303324
maxValue = 0.312;//rad 17.876284
offset0 = 0.0;
offset1 = 0.7;
animPeriod = 0.0;
initPhase = 0.0;
// memory = true;//(default assumed)
};
class magazine_move_2
{
type="translation";
source="reloadmagazine";
selection="magazine";
axis="magazine_axis";//probably
// sourceAddress = clamp;// (default)
minValue = 0.57;//rad 32.658592
maxValue = 0.581;//rad 33.288845
offset0 = 0.0;
offset1 = -0.7;
animPeriod = 0.0;
initPhase = 0.0;
// memory = true;//(default assumed)
};
};//</Animations>
};//</Modelclass>
};//</CfgModels>
I think so, if it wasn't.. Shouldn't it affect the other animations as well?
Actually scratch that. I haven't even setup geo yet because of the animation issue.
Try to add just a Geometry LOD and add the property
What do you mean? I have the actual LOD layer there, just nothing in it.
Is your suggestion I go build the geo and retry?
Cause in OB viewer it works even without it but ingame it can go completly different
Yep
Alright standby a moment
And add the property autocenter
yeah just an empty one with the property will do
I have a basic geo built, how do I add the autocent property?
Alt+P opens your property window
In OB
Right click into it and add new one called autocenter and bottom line add 0
I assume I'm doing that for all lods?
Only geometry lod
👍 , I am packing and trying in now
Also for more references for properties
https://community.bistudio.com/wiki/Arma_3:_Named_Properties

Thank you so much for the help. I really appreciate it. This has been causing me a headache for days.
@hearty sandal s tip
@hearty sandal Thank you too again, I know you have helped me on previous occasions as well.
yaay, works on my end as well 🎉
Autocenter always baffles me. It needs to be turned off for so many things you would think it would be off by default and turned on when needed
It messes up so many things
things like sanity
Hey guys, Been working on my project and ran into an issue where the weapon I am using for my tank is not working correctly.
Issue: The commanders gun, the bullets come out from the right place and cause no problems, the muzzle flashes and smoke however are coming from the main gun.
I made a new weapon cfg to try and allow me to define where the effect come from(see the attached file for what I did), this did not work and I do not understand where I am going wrong here or if I am missing a step of some kind.
maybe this part of vanilla config can help you: hpp class LMG_Minigun2: LMG_Minigun { class GunParticles { class effect1 { positionName="machinegun2_eject_pos"; directionName="machinegun2_eject_dir"; effectName="MachineGunCartridge1"; }; class effect2 { positionName="machinegun2_end"; directionName="machinegun2_beg"; effectName="MachineGun1"; }; }; };
How so, new to modding so I admit I do not fully understand what you may be hinting at.
For the muzzle flash in the p3d, have you chosen a unique name for the proxy on the 2nd weapon, like 'zasleh_2', and then set that in the weapon's turret config for 'selectionFireAnim'. It also needs to go in the model.cfg sections[] array.
@nimble sequoia
Just to be sure I am understanding what is being said here:
I would define the zasleh_2(as you say) in the weapons config and then add that onto the selections in the cfgmodel?
No, in your config.cpp find the class Turret with weapon 2 and also in your p3d name the proxy on the end of weapon 2 with that named selection.
So class Turret, model.cfg sections[] and p3d proxy name.
Someone have any good tips for re rigging lasers and lights for weapons?
I have a few weapons in my units mod pack that are projecting from the magazine instead of the laser units.
cant edit weapons
so not much you can do if they dont have correct things in the models
Well, what if only the itn stuff is messed up, but the vanilla laser/light is correct?
itn?
I have all of the features of ITN, but they all project from the magazine. Like ITN recognizes the modded guns, but not the data points for where it should be emitting from.
I guess I should reach out to the mod maker for help
if you dont know your way around configs then yes could be easiest to ask whoever made the stuff if there are compatible points available
anybody have any good guide to changing the units a vehicle spawn with when making a new vehicle with inheritance? something like this:
class rhsgref_cdf_b_t72ba_tv_rev_14: rhsgref_cdf_b_t72ba_tv { author = "Orter"; scope = 2; crew = "rhsgref_cdf_b_reg_crew_rev_14"; faction = "CDF_REV_BLU"; editorSubcategory = "CDF_TANKS_14" displayName = "T-72B (obr. 1984g.)"; class Turrets: Turrets { class MainTurret: MainTurret { class Turrets: Turrets { class CommanderOptics: CommanderOptics { gunnerType = "rhsgref_cdf_b_reg_crew_commander_rev_14"; }; }; }; }; };
right now only the driver is spawning and the animation is frozen as if simulation was turned off, i,e: muzzle flashes frozen in place
Show the entire config please
You haven't defined rhsgref_cdf_b_t72ba_tv's Turrets, MainTurret, Turrets, CommanderOptics
right. I was under the impression that line 1076 thru 1079 defined those, at the very least it removed the prompt from the game. do I have to define for each individual vehicle class?
1076 to 1079 is not something how it works, let me fetch an official example
class LandVehicle;
class Tank: LandVehicle
{
class NewTurret;
class HitPoints;
};
class Tank_F: Tank
{
class Turrets
{
class MainTurret: NewTurret
{
class Turrets;
};
};
class HitPoints;
};
class MBT_01_base_F: Tank_F
{
class HitPoints: HitPoints
{
class HitHull;
class HitFuel;
class HitEngine;
class HitLTrack;
class HitRTrack;
};
class Turrets: Turrets
{
class MainTurret: MainTurret
{
class Turrets: Turrets
{
class CommanderOptics;
};
};
};
};
class B_MBT_01_base_F: MBT_01_base_F{};
class B_MBT_01_cannon_F: B_MBT_01_base_F
{
class AnimationSources;
class HitPoints: HitPoints
{
class HitHull;
class HitFuel;
class HitEngine;
class HitLTrack;
class HitRTrack;
};
};
class B_MBT_01_TUSK_F: B_MBT_01_cannon_F
{
class Turrets: Turrets
{
/*
things to define
*/
};
};```
Basically you need to define “which” turret it was
Or something else you want to define/inherit
so if im reading it correctly. instead of defining just like:
class Turrets; class MainTurret; class CommanderOptics; class CommanderMG;
I should have: class B_MBT_01_TUSK_F: B_MBT_01_cannon_F { class Turrets: Turrets { class MainTurret; class CommanderOptics; class CommanderMG; }; };
and if I am inheriting from another vehicle with everything already set up, can I miss anything that I am not planning on editing and it will just fallpack to the parent class correct?
The example I've posted above, does nothing for those base classes
you mean it doesnt inherit from any base class?
Hm guess I misunderstood your last question?
Oh yeah I guess I did. Yeah if you have things that is already defined, you don't need to re-define once again if I get it correctly
yea thats correct.
still havent got it working unfortunately :/ clearly missing something crucial. same result as previously
Is it possible to have two different side proxys? So that way I can use one to define a different model placement for a specific attachment?
No
😢
Is animationSourceElevation (strider cam mast/science ugv arm) only for turrets? I'd like to use that input/animation for a driver-only vehicle.
Yes, it's a turret config parameter.
does anyone, at all, know why when changing a pylon (in game) it changes who controls the weapon?
specifically, the proxyid for the gunner is set to 1.
this is both model and config side.
Inside of the pylon, I have it set as turret[]={1}
I have also tried turret[]={0} to no avail
If my pylons are different weapons for example (A / B) then the gunner controls them as intended.
If I set my pylons to the same weapons (A / A) then they, for some reason, move to a door gun on the aircraft.
My current turret and pylon config:
https://pastebin.com/N5pareav
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
update:
Was told to check to ensure the class GunnerTurret was commanding, this did not correct the issue.
Im currently making a mod that adds the M728 CEV to the game. I made a new weapon in CfgWeapons in my config for a 165mm cannon. The issue is that it will not fire in game. It doesnt throw up any errors in game either so im quite confused
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
here's my current config if someone wants to look at it and help me solve this issue
feel free to DM if you want/need more info
You should definitely add a tag to your classes
Maybe double check that the Player fire mode is actually shown to the player?
not exactly sure what you mean by that, could you explain it a bit more for me? Im super new to arma modding
do you mean a prefix?
how would I check that? In game it shows up as if It properly set up but clicking doesnt fire the cannon
Your Vehicle, in your Turret config, does it have:
gunEnd = Konec hlavne;```
and do the memory points also exist in your model in Memory LOD?
yes, both of those are set up
Hello , i need some help
Im trying to replace the doorguns in the RHS UH1Y with another weapon
i have sucessfully replaced it but in the process, i have broken some other stuff
The observer (Co-pilot) is no longer available along with other passanger seats
Yeah
(On mobile currently so can't really give a good example)
When you inherit from a vehicle's Turrets class, none of the turrets are "actually inherited".
You'll need to specify what all turrets (i.e. seats) you want to inherit and then define them in your vehicle.
class YourVehicleBase: ... {
class Turrets {
class DoorGunner1;
class CoPilot;
// ...
};
};
class YourVehicle: YourVehicleBase {
class Turrets: Turrets {
class DoorGunner1: DoorGunner1 {};
class CoPilot: CoPilot {};
};
};
Syntax may not be 100% right, but you get the idea
This is what i've done so far:
class CfgVehicles
{
class CopilotTurret;
class Turrets;
class MainTurret;
class CargoTurret;
class CargoTurret_01;
class CargoTurret_02;
class CargoTurret_03;
class CargoTurret_04;
class CargoTurret_05;
class CargoTurret_06;
class RightDoorGun;
class RHS_UH1Y
{
class Turrets: Turrets
{
class CopilotTurret;
class MainTurret;
class RightDoorGun;
class CargoTurret_01;
class CargoTurret_02;
class CargoTurret_03;
class CargoTurret_04;
class CargoTurret_05;
class CargoTurret_06;
};
};
class tato_uh1y_base: RHS_UH1Y
{
class Turrets: Turrets
{
class CopilotTurret;
class MainTurret: MainTurret
{
weapons[] = {"vtx_wpn_m134"};
magazines[] = {"vtx_2000Rnd_65x39_Belt_Tracer_Red"};
};
class RightDoorGun: RightDoorGun
{
weapons[] = {"vtx_wpn_m134_2nd"};
magazines[] = {"vtx_2000Rnd_65x39_Belt_Tracer_Red"};
};
class CargoTurret_01;
class CargoTurret_02;
class CargoTurret_03;
class CargoTurret_04;
class CargoTurret_05;
class CargoTurret_06;
};
};
class csg12_uh1y: tato_uh1y_base
{
scope = 2;
displayName = "UH-1Y CAG";
author = "P. Tato";
faction = "HMLA_267";
model = "\rhsusf\addons\rhsusf_a2port_air2\UH1Y\UH1Y.p3d";
hiddenSelections[] = {"camo1"};
hiddenSelectionsTextures[] = {"\exp_csg12_uh1y\data\hmla267_uh1y_hivis.paa","\exp_csg12_uh1y\data\uh1y_int.paa","\exp_csg12_uh1y\data\uh1y_glass.paa"};
};
};
Hi there, I'm trying to overwrite the model of a vanilla weapon sight with a different model inside the description.ext for my mission and can't get it to work. I hope this is the right place to ask. My description.ext:
class CfgWeapons {
class optic_Aco {
displayName = "C-More Railway (broken)";
model = "\acco_aco_emp_F.p3d";
};
};
You can't
I can't?
No
Gotta make a mod for it?
Yes
Doing a class reference (class CoPilotTurret) won't actually create a turret for it, you need to do class Turret: Turret {};
Also what's the point of these?
There shouldn't be any classes with those names defined in CfgVehicles
im self taught, that was my latest attempt to see whether the issue would be fixed
Fair enough
Heres the original one where the guns were replaced but the seats were broken
class CfgVehicles
{
class Turrets;
class RHS_UH1Y
{
class Turrets: Turrets
{
class MainTurret;
class RightDoorGun;
};
};
class tato_uh1y_base: RHS_UH1Y
{
class Turrets: Turrets
{
class MainTurret: MainTurret
{
weapons[] = {"vtx_wpn_m134"};
magazines[] = {"vtx_2000Rnd_65x39_Belt_Tracer_Red"};
};
class RightDoorGun: RightDoorGun
{
weapons[] = {"vtx_wpn_m134_2nd"};
magazines[] = {"vtx_2000Rnd_65x39_Belt_Tracer_Red"};
};
};
};
class csg12_uh1y: tato_uh1y_base
{
scope = 2;
displayName = "UH-1Y CAG";
author = "P. Tato";
faction = "HMLA_267";
model = "\rhsusf\addons\rhsusf_a2port_air2\UH1Y\UH1Y.p3d";
hiddenSelections[] = {"camo1","camo2"};
hiddenSelectionsTextures[] = {"\exp_csg12_uh1y\data\hmla267_uh1y_hivis.paa","\exp_csg12_uh1y\data\uh1y_int.paa"};
};
};
I'm sure that RHS_UH1Y inherits from something
RHS_UH1Y_US_base
You should include that in your inference, otherwise you're updating it to inherit from nothing
i see..
class Turrets;
class RHS_UH1Y_US_base
class RHS_UH1Y: RHS_UH1Y_US_base
{
class Turrets: Turrets
{
class MainTurret;
class RightDoorGun;
};
};
class tato_uh1y_base: RHS_UH1Y
{
class Turrets: Turrets
{
class MainTurret: MainTurret
{
weapons[] = {"vtx_wpn_m134"};
magazines[] = {"vtx_2000Rnd_65x39_Belt_Tracer_Red"};
};
class RightDoorGun: RightDoorGun
{
weapons[] = {"vtx_wpn_m134_2nd"};
magazines[] = {"vtx_2000Rnd_65x39_Belt_Tracer_Red"};
};
};
};
class csg12_uh1y: tato_uh1y_base
.....
Getting there, but now the Turrets class that you're inheriting from is undefined
Find what class that RHS_UH1Y_US_base's Turrets inherits from
I changed my model into a mod and it works perfectly, but I do get this warning:
14:19:45 Warning Message: No entry 'bin\config.bin/CfgPatches/NPCProvidence.units'.```
Any way to get rid of it?
Define units in your CfgPatches
Yep
Ah, I see
Should also get one for weapons
Do I need to add the attachment to the object?
The one that I edited?
Or is it only for new attachments
Did you edit the original class or did you make a new one?
Then no you shouldn't have to change anything
Awesome, thank you
Just trying to make a cool effect for a mission I wanna host with my unit 😄
Im looking throught the UH-1Y config, and RHS_UH1Y_US_Base doesnt have any mention of turrets
Only locations i could find turrets, is in the base class definitions:
class CfgVehicles
{
class Air;
class Helicopter: Air
{
class Turrets;
class HitPoints
{
//stuff
};
};
class Helicopter_Base_F: Helicopter
{
class Turrets: Turrets
{
class MainTurret;
};
class HitPoints: HitPoints
{
//stuff
};
class AnimationSources;
class Eventhandlers;
class CargoTurret;
class ViewOptics;
class Reflectors
{
class Right;
};
};
class Heli_Attack_01_base_F: Helicopter_Base_F
{
class HitPoints: HitPoints
{
//stuff
};
class Sounds;
};
class Helicopter_Base_H: Helicopter_Base_F
{
class Turrets: Turrets
{
class CopilotTurret;
};
class AnimationSources;
class Eventhandlers;
class Viewoptics;
class HitPoints;
class Components;
};
class Heli_Transport_01_base_F: Helicopter_Base_H
{
class Sounds;
class SoundsExt
{
class Sounds;
};
class HitPoints: HitPoints
{
//stuff
};
};
class Heli_Transport_02_base_F: Helicopter_Base_H{};
class Heli_Transport_03_base_F: Helicopter_Base_H{};
class Heli_Light_03_base_F: Helicopter_Base_F
{
class ViewPilot;
class HitPoints: HitPoints
{
//stuff
};
};
class HelicopterWreck;```
and then its mentioned again:
class RHS_UH1Y: RHS_UH1Y_US_base
{
//stuff
class Turrets: Turrets
{
class CopilotTurret: MainTurret
{
//stuff
};
class MainTurret: MainTurret
{
//stuff
};
class RightDoorGun: MainTurret
{
//stuff
};
class CargoTurret_01: CargoTurret
{
//stuff
};
class CargoTurret_02: CargoTurret_01
{
//stuff;
};
class CargoTurret_03: CargoTurret_01
{
//stuff
};
class CargoTurret_04: CargoTurret_01
{
//stuff
};
class CargoTurret_05: CargoTurret_04
{
//stuff
};
class CargoTurret_06: CargoTurret_04
{
//stuff
};
};
};
Are you using the config viewer ingame?
yeah
im using the dev tools mod to find config stuff
Go to RHS_UH1Y and find its Turrets class
Click on it and next to the "Parents" line, click the box looking icon
class CfgVehicles {
class All {};
class AllVehicles: All {};
class Air: AllVehicles {};
class Helicopter: Air {
class Turrets {};
};
class Helicopter_Base_F: Helicopter {
class Turrets: Turrets {};
};
class Heli_light_03_base_F: Helicopter_Base_F {
class Turrets: Turrets {};
};
class RHS_UH1_Base: Heli_light_03_base_F {};
class RHS_UH1Y: RHS_UH1Y_US_base {
class Turrets: Turrets {};
};
class RHS_UH1Y_base: RHS_UH1_Base {};
class RHS_UH1Y_US_base: RHS_UH1Y_base {};
};
@wintry fox
this is what im seeing
Alright so go back to your config and inherit back up to Helicopter_Base_F and reference the turrets class inside
Use the inheritance you got from the advanced dev tools as a reference
got it, so reference turret class once inside Helicopter_Base_F ryt?
Yep

