#arma3_config
1 messages · Page 52 of 1
you dont want to spend time on that
if your turrets are modeled in wrong direction the fix has to be done in the source file so you dont have to do it over and over when you notice some other mistake to fix
I see there is a “rotate” option in Object Builder, but I don’t know how to select the axis. By default, it seems to rotate based on the center of all selected points, but that’s not what I want.
yes yes
but dont
Im telling you this with over 10 years of experience with OB
please let it go and do it properly in better program
Is someone know how to configure reload time between pylons in plane? For example: i have 6 pylons with rocket on each one of them. How to add reload time between firing ?
I'm searching for alternative of magazineReloadTime for weapon config but with pylons
By “better program,” do you mean Python in Blender?
you dont code the changes
you can just easily do it manually in blender
you must know modeling if you have a full vehicle model already
pylon weapons are same as other weapons
***magazineReloadTime ***is for swapping between magazines,
reloadTime is for time between shots
https://community.bistudio.com/wiki/CfgWeapons_Config_Reference
magazineReloadTime not helping for some reason (
is there is a way to change swapping between magazines with scripting ?
i know there is setWeaponReloadingTime but its for shots
I dont think I understand what exactly you try to do
Okay. I'll try to explain better. I'm saying about TU95 from RHS. It has a bay (pylon if i'm not wrong) which one is loaded with 6 magazines, each of it has count = 1. When i'm trying to shoot from it there is no delay between firing this magazines. How to add this delay ?
right so in this case each of those pylons is an individual weapon
so there is no magazine swap between them
no waaay
yes
each one is single shot weapon
so you would have to script some sort of delay system, but off the top of my head I dont have ideas on what commands that would use
you could look into the delay fire of the railgun
Gotcha. Thank you for time 🙂
I have already flipped the turret, but how can I modify the parameters in the class Animations section of model.cfg? I want the turret to be able to rotate a maximum of 130 degrees left and right, but its default orientation is always facing the front of the vehicle. How can I change it so that it faces the rear of the vehicle instead? Below is my current class Animations definition:
class main_gun_turretC
{
source = "main_gun_turretC";
type = "rotation";
selection = "main_gun_turretC";
axis = "main_gun_turretC_axis";
minValue = "rad -130";
maxValue = "rad +130";
angle0 = "rad +130";
angle1 = "rad -130";
};
in model.cfg turret and gun angles are always +-360
the limits and orientation are done in config.cpp
In class Turrets, I set the parameters as minTurn = -130; maxTurn = 130; initTurn = 180; but it still doesn’t work — the rotation baseline is still based on the turret’s forward direction. How should I configure class Turrets
the 130 is the limtits for it pointing forward, you want the angle offset trom the 180 position
so like 150 and 210 (example, not based on your values)
180 being in the middle
the limits are not in addition to the initTurn
So changing it to minTurn = 50; maxTurn = 310; initTurn = 180; works, so in theory I could just apply these angle values to the model.cfg we talked about earlier, right? Anyway, I’ve tried it and everything is working perfectly now—thanks.
no in model.cfg the values are 360
this is for AI to be able to use them right
the config.cpp limits will block it from turning further
OK, I’ll set all the turrets to 360. I have another question: what exactly do the parameters in class ViewOptics inside class Turrets affect? No matter how I change these parameters, the turret’s optical sight always follows the turret’s rotation (because I assigned the memoryPointGunnerOptics point in the Memory LOD to the turret’s group). It seems like it’s not affected by the class ViewOptics parameters at all.
if you have attached it to the guns parts then it moves with those
if you want it to move on its own you can do that with independent optics animations
and not have it as part of the turrets or guns selections
separately animating view/optics usually results in aiming problems though
for player
Alright, I think I understand now, thank you. I can’t help but be curious — you seem to know every configuration property in detail. Where did you get this knowledge from? I can’t find any explanation of how some of these properties work on the wiki or anywhere else.
Do you work for BI? You seem to be answering people’s questions 24 hours a day.
I was recently hired. but I do this voluntarily when Im waiting for some action to process
Im not here 24/7 though 😛
Do BI’s community Q&A–related jobs allow remote work? If so, that would be a great job (especially for Armaholic).
You guys must have an internal, non‑public wiki that records all the relevant configuration entries, right? Or do they just give you the Arma 3 code and let you figure out each configuration item yourself?
no dont think there is such a thing.
@regal gate would have added that to the public wiki by now if there were would you not? 😄
I do not know specifics on that, you would have to reach out to the recruitment team
ye, unfortunately documentation is scarce and I am not aware of some "must-have intel goldmine"
now if you need details about some specifics @sullen fulcrum, we may dig in that specific direction 🙂
Let me guess — the engine development team must know the purpose of every single configuration entry, but since they’re working on the new engine, they wouldn’t have time to answer community questions. So whenever there’s something you don’t know, you just email them, which ensures you can understand the meaning of every configuration entry, right?
At this point nobody knows exactly what each possible config entry does tbh, the collective community here in this channel + the wiki is the best we have
- a few of us can peek into the code if someone asks for a specific config entry's purpose that nobody else knows
I’m really curious about your attitude toward Arma 3. People say you’re going to develop Arma 4 with a focus on PvP, because right now games like Squad and other milsim titles are hugely popular. Looking at Reforger, it also seems more PvP-oriented, with basically nothing much for single-player. Is that the case?
off-topic for this channel, also don't personally work on A4 and if I did I wouldn't be able to say anything about it anyway :D
Alright, back to A3 — have you guys ever considered overhauling the Arma 3 engine? I think just modifying the lighting would be enough — the other mechanics shouldn’t be touched. I’ve noticed that Dedmen might be trying to work on something in this area. Although he hasn’t done a lot yet, is he reading the Arma 3 source code and planning to restructure the engine? I’ve heard the engine has around a million lines of code, so a full rewrite is definitely unrealistic, but only refactoring part of it — for example, the lighting-related parts, like adding dynamic emissive lighting effects to particles — should still be feasible, right?
off-topic for this channel
Still off-topic, try #arma3_questions
This channel is for config related stuff
fine
yeah this is not general AMA about arma3 or 4. and such topics are not really answerable anyway.
you are about 5+ years late for new ideas
Well, it can’t be helped — I’ve only been an Arma 3 addict since earlier this year.
But if I could get the source code, I think I’d want to make some modifications. 🙂
no
thanks for the interest
but no
I know, because BI is afraid someone might modify it and use it commercially, right? But if you became a BI employee (so BI would know exactly where to sue that person), then it shouldn’t be a problem, right?
no its not quite that simple.
so lets put the topic back on track with the channel
Probably not the right place as per usual but I've been trying to add a new mortar and hit a wall, currently I have two issues and can't seem to find anything online how to fix; if anyone could help that'll be great:
- Crew members do not show when they enter the mortar
- No matter how you adjust the angle the mortar always fires in the same place
Crew to show up you need appropriate crew proxies
Gunner type is normally used for turret gunners
For the fire position you need to define the gun beg and end points in config and have corresponding points in memory lod of the model
And those point will need to be part of the gun selection to move with it
Currently for the proxies I have:
- proxy:gunner.000
- proxy:cargo.001
I've defined the gun beg & gun end inside the config and do indeed have the corresponding points in the memory. They are both linked to the otochlaven & otocvez selections which are connected to the relevant parts of the model itself.
Strangely the effects of firing (the smoke and dust effect) appear where they should do regardless of where the barrel is facing, the shells however only ever fire in a straight line (only effected by the up and down movements)
Typo for the points maybe. The names can be anything as long as config in turret class and in p3d match
Note, gunbeg/end in turret in the cfg Vehicles,not in the weapon class in cgWeapons
Do the proxies need to be defined inside the config?
Like the gunner and cargo ones
If you inherit then from the base game classes then no you should get those default names
When I spawn vehicle with "FLY", is there a config defined height that it spawns at, or is it all the same?
Related, is there a config parameter for how quickly a helicopter spools up and is able to lift?
Is it normal that CompartmentLights goes dark with depth when normal lightsource doesn't ?
I made submarines and i would like to be able to reach 600-800m depth. The problem is when you reach around 400m, CompartmentLights start progressively to dissapear with depth. But if i spawn a normal lightsource, the normal lightsource doesn't go dark over 400m. Unfortunately there is no way to limit a normal lightsource to a vehicle compartment, the normal lightsource shines thought the vehicle and is visible from far away...
So yes i could still create a normal lightsource locally, but this is not very aesthetic
I'm thinking about creating a ticket for this issue but i'd like to be sure there is no other solution first
I think the default is 100 meters
you probably want to do some setpossing to give proper height
And that's hard coded for all of em, right?
Is there a way to remove camera shake from a vehicle's driver action type?
driverAction = "pilot_plane_cas_01";
I think so. We ran into a problem with warlords ported on cam lao nam and planes spawning in at height that didn't always get them a chance to correct to higher altitudes
The spawn script being made for entry from sea surrounding an island
Anyone can help me. I can't see scope in ace arsenal. I used arma 3 sample's test scope config and only changed displayName, model, picture, disabled one of the opticModes and added scope property under ItemInfo class.
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.
Your weapon in question is not compatible with your scope
The config you posted is only for the optic itself (Test_scope3D_01). That config alone will not make it usable on any weapon until you add it to one of the global attachment classes.
e.g.
class CowsSlot;
class CowsSlot_Rail: CowsSlot
{
class compatibleItems
{
Test_scope3D_01 = 1;
};
};
is there a shortcut to add almost all of the rifles which has rail?
Use that same code block I provided above to include your optic to the pool. CowsSlot_Rail is used by almost every vanilla weapon and mods like CBA's Joint Rails inherit from it, so most modded weapons with Picatinny/Weaver rails will also support it.
Keep in mind that CowsSlot and CowsSlot_Rail exist in global space. So don't put these classes under CfgWeapons or anything else.
Fixed it but there is one more problem. I can't right click when I equip the scope
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.
Issue is caused by the value you defined under memoryPointCamera = "opticview";.
Is opticview actually defined in your model's Memory LOD? There shouldn't be anything else other than the memory point in that LOD (plus any other extra memory points if you have alternate scope views). If you defined the memory point in the resolution LODs, it won't work.
https://i.imgur.com/lsU0VEj.png
Is it just the mass of a walls geometry lod that defines if it can be knocked over? i.e. if a car weighs more than it, it can knock it over?
(I know about the damage type, im inheriting from wall_f and on the geo lod I have damage = wall)
In the firing mode subclass of the CfgWeapons class, I set
begin1[] = {"TT_Yamato\sound\460mm_fire_sound.ogg", 3, 1, 4000};
soundBegin[] = {"begin1", 1};
I want to change the firing sound, but it doesn’t work. Why is that?
@wheat sluice
Empty modelOptics?
Worked! I didn't know what was it for becase I just copied sample scopes config and it was empty.
It basically displays the overlay of the optics when you rmb
Thanks
~~Does lockCargo[] = {2,3,4,5}; actually work in AnimationSources, has anyone had any luck with it? I can't tell if I'm just messing up indexes, or its just plain broken.
Maybe a mod conflict, but even when removing benches from a vanilla littlebird B_Heli_Light_01_F, I continue to have the option to sit in the benches.~~
edit: I was infact just selecting the wrong index and didnt have lockCargoAnimationPhase set.
Hello, can there be some kind of optic angle multiplier somewhere in the config files? I'm using the sample T72 to implement my first tank and even by default, the gunner optic seems to depress/elevate (roughly) twice as much as the actual gun. So when I increased the gun elevation (SPAA) and elevate the guns ingame, my optic goes all the way upside down
Interestingly, the commander optic/HMG doesn't seem to have this issue
Do you have the gunner memory points tied to the gun animations and also animated separately. That could explain the extra animation
I'm honestly unsure. All I've done is move the optic location and axis of the guns.
I think t's something in the sample itself, because even when I take the p3d, CfgVehicles and model.cfg from the Sample directory, which I've not touched, it behaves like that.
This is possible. The samples are little bit outdated
I think I might have it. Compared to some other mod I'm using to learn this stuff, the sample Memory LOD is missing otochlaven_axis
This is what I mean, btw. Unmodified sample, the gun is not aiming as high as the optic.
Nope, that wasn't it.
"In the firing mode subclass of the CfgWeapons class, I set
begin1[] = {"TT_Yamato\sound\460mm_fire_sound.ogg", 3, 1, 4000};
soundBegin[] = {"begin1", 1};
I want to change the firing sound, but it doesn’t work. Why is that?" Please answer. 🙏
I don't know off the top of my head.
Also since I now remember this is that Yamato with ripped model I'll have to ask you to stop asking help with it.
We have 0 tolerance on ripping and IP theft here.
Well, I hope AI can replace the position of 3D modeler as soon as possible.
It is a learnable skill.
Someone made that model you got too. But then someone also stole it and thought it's ok to share it.
When you invest the time to learn how to make stuff, you'll start to understand the importance of the rights of the maker.
You saying this really makes me want to show you the door
For the utter disrespect for people who make things
I think this was it. I'm not sure if I understand what you said, but what was causing the issue was this bit of code at the bottom
these are the turrets movement animations yes.
On top of these there might be additional animations for the optics.
I honestly can't think of any vehicle I've ever used that has optics animated separately like this 🤔
Either way, thank you for your time and advice and trust, I'll be back soon, if I can't get the radar to work 😅
I think I have found the right channel, and might, finally, have an idea that needs some review.
I am working on a RP server. We have shops to purchase vehicles, uniforms, headgear, items etc. I want to add makeup to the female avatars as an option to buy. The makeup would have to be on the unit, to keep animation. I know a lot of this boils down to scripting, but on the config end I know a unit is under vehicle cfg, and I get the difference between the man and land vehicle variables.
If I make it so you can purchase the avatar like any other item, would the config allow the base character to be changed, and saved in our DB? Just need to know if it would be worth trying, because I would have to script the shops to recognize the unit as inventory. I think I can handle that part. Just curious about how the config end would make or break that. I might have to try it if nobody really knows. Would be cool.
The question is bit hard to understand but if I understood it right,then no you can't change the configs contents on the fly. If you need to use different class of a unit then you need to spawn a new unit that the player takes control of.
Usually swapping unit skin/looks is done through identity setups. But since you mention custom characters it probably depends how well they are made.
What does identity swapping entail? I am not going to make a new buy/sell system, so it might not work with our current shop framework. No worries either way, the spawning catch makes perfect sense.
Unit model set up and configured for identities and scripting commands to set that in live game
Gotcha, know exactly how that would work. Not within our scope, need that energy elsewhere in our project. Thanks for the quick reply, and all the work keeping the place clean 🍻
bit of a noob question, but is it possible to make a mod to replace a unit's loadout from a different mod with my own selected loadout?
I'm using the Russian soldiers from the Aegis mod, but I wanted to replace their camo and rifles with ones from a different mod. I heard it's possible with a patch? how would I make one
what do I need to edit for an inventory objects weight?
The mass attribute in ItemInfo for the object
You just need to have the right class for ItemInfo to inherit from
can you go lower than 1?
class ArkMed_Bioseal: OPTRE_Biofoam
{
mass = 1;
displayName = "ArkMed Bioseal";
picture = "\7thFleetItems\7thFleetMedical\ArkMed.paa";
UiPicture = "\7thFleetItems\7thFleetMedical\ArkMed.paa";
};```
No
Something like thiscpp class NVGoggles: Binocular { class ItemInfo: ItemInfo { mass=20; }; };
And mass can be 0, maybe minus
Just try
https://community.bistudio.com/wiki/Arma_3:_Vehicle_Customisation
I have a vehicle that has multiple different textureSources. Does anyone know if I can change the rvmat per textureSource as you switch from one to the other if some had textures with different heightmaps for example? The Biki does not mention anything about that
Negative mass does sort of work. It was weird when I tested it, but no crashes and I think it removed the mass properly
You'll have to test it anyways
@wintry tartan @pastel fog getting the error Bad Vehicle Type
{
class ItemInfo;
class OPTRE_Biofoam;
class ArkMed_Bioseal: OPTRE_Biofoam
{
displayName = "ArkMed Bioseal";
picture = "\7thFleetItems\7thFleetMedical\ArkMed.paa";
UiPicture = "\7thFleetItems\7thFleetMedical\ArkMed.paa";
class ItemInfo: ItemInfo
{
mass = 1;
};
};
class OPTRE_Medigel;
class ArkMed_Biogel: OPTRE_Medigel
{
displayName = "ArkMed Biogel";
picture = "\7thFleetItems\7thFleetMedical\ArkMed.paa";
UiPicture = "\7thFleetItems\7thFleetMedical\ArkMed.paa";
class ItemInfo: ItemInfo
{
mass = 1;
};
};
};```
There is no ItemInfo class in CfgWeapons itself, you're inheriting from nothing
Ah okay
That doesn't cause a bad vehicle type error though, because those aren't objects
The issue is coming from something else
dose some one is a pilot for close air suport and hase any good cutom keybines that make is nicer to fly
Keybinds for what
If i'm not adding any new classes or weapons -- merely replacing the equipment of a unit added in another mod -- do i have to define anything in Units =[], or can i leave it blank?
You only need to add new classes you define
Once i'm done making a mod and I want to sign it, what am i meant to select with DSUtils? The .pbo file? the "@mod/addons" folder, or "@mods" itself?
and once i've signed it, i just make a new folder for "@mod/keys" and put the .bisign there and nothing else?
huh...I'm receiving an error saying I've not defined "O_R_Soldier_AAA_F", even though it's right there in my script
{
linkedItems[]=
{
"Aegis_V_OCarrierLuchnik_lite_F",
"H_HelmetLuchnik_cover_rutaiga_F",
"ItemGPS",
"ItemMap",
"ItemCompass",
"ItemWatch",
"ItemRadio",
"Aegis_Goggles_Cover_grn_F"
};
respawnLinkedItems[]=
{
"Aegis_V_OCarrierLuchnik_lite_F",
"H_HelmetLuchnik_cover_rutaiga_F",
"ItemGPS",
"ItemMap",
"ItemCompass",
"ItemWatch",
"ItemRadio",
"Aegis_Goggles_Cover_grn_F"
};
};
class O_R_Soldier_AAA_ard_F: O_R_Soldier_AAA_F
{
uniformClass="Aegis_U_O_Luchnik_arid_F";
linkedItems[]=
{
"Aegis_V_OCarrierLuchnik_lite_arid_F",
"H_HelmetLuchnik_cover_ruarid_F",
"ItemGPS",
"ItemMap",
"ItemCompass",
"ItemWatch",
"ItemRadio",
"Aegis_Goggles_Cover_F"
};
respawnLinkedItems[]=
{
"Aegis_V_OCarrierLuchnik_lite_arid_F",
"H_HelmetLuchnik_cover_ruarid_F",
"ItemGPS",
"ItemMap",
"ItemCompass",
"ItemWatch",
"ItemRadio",
"Aegis_Goggles_Cover_F"
};
};
You're not referencing where O_R_Soldier_Base_F comes from. I.e. you're missing class O_R_Soldier_Base_F;
You need to reference a class before you can inherit from it
which is odd, because I did reference O_R_Soldier_Base_F too
To be specific, I did it like so
{
class O_R_Man_Base_F;
class O_R_Soldier_Base_F: O_R_Man_Base_F
{
uniformClass="Aegis_U_O_Luchnik_taiga_F";
};
class O_R_Soldier_F: O_R_Soldier_Base_F
{
linkedItems[]=
{
"Aegis_V_OCarrierLuchnik_lite_F",
"H_HelmetLuchnik_cover_rutaiga_F",
"ItemGPS",
"ItemMap",
"ItemCompass",
"ItemWatch",
"ItemRadio",
"Aegis_Goggles_Cover_grn_F"
};
respawnLinkedItems[]=
{
"Aegis_V_OCarrierLuchnik_lite_F",
"H_HelmetLuchnik_cover_rutaiga_F",
"ItemGPS",
"ItemMap",
"ItemCompass",
"ItemWatch",
"ItemRadio",
"Aegis_Goggles_Cover_grn_F"
};
};
I'll admit up front that I've never done a replacement mod before, so i'm sorta copying how another mod did it before me, and they also defined replacements by creating a blank O_R_Man_Base_F Class, and continually expanding/inheriting from it. For whatever reason that one works, but mine throws an error
You sure O_R_Soldier_AAA_F is defined before O_R_Soldier_AAA_ard_F?
Yeah, O_R_Soldier_AAA_F is on line 193, and O_R_Soldier_AAA_arid_F is line 1243 lmao
Post the entire config
Line 1241 wrong bracket
Which software you use to write config
visual studio code
You use a syntax highlighter?
If your entire text is either white or black, that's no good
You better to install one so you can tell the bracket is going crazy or not
this is what my view looks like currently, so
Well, you can barely tell the bracket mismatch, but you learnt one possible issue
anyone know how to call a different skybox? im trying to do a halo campaign and theres only 4 halo maps and i want to just be able to change the skybox to say that we are on halo
If you have a working example already, check ingame config
Making NVGs with acex options is one of the most difficult things to config in this game. Its pretty ridiculous I have to make 20 different models just for wire setups becuase my hidden selections just dont wanna work.
You can use hiddenSelections on nvgs just fine. Are you defining the selections in the ItemInfo and the class itself?
Yeah I am. I think I just have too many selections its causing breaks. There's like 12 in total
Shouldn't be any limit, I've seen more on a model
Are you using hiddenSelections to actually hide model parts or just change their texture as is their intended use?
Both
As you're using it to hide mesh, you should probably expect problems. Use hide animations instead or separate models.
What is a hide animation
https://community.bistudio.com/wiki/Model_Config
Animation type: hide
How does that work if I need to hide multiple selections on multiple models?
It does not
You are in the too many variations zone
Hello, is the gun depression when looking over the elevated engine deck of a vehicle handled in config.cpp, model.cfg or somewhere else? 🤔
not quite sure what you mean
like how far gun can turn?
As in when I'm aiming to the front in an Abrams, I can depress the gun. When I turn the turret to the back, the gun automatically elevates so it doesn't clip into the engine deck.
For any future references for someone.
In config.cpp, it should be defined in the section of the turret (on the same level as weapons[] or minElev).
Here is a sample code for limiting the depression of the gunner's turret when turned in.
{
limitsArrayTop[]=
{
{85,-180},
{85,180}
};
limitsArrayBottom[]=
{
{0.9,-180},
{0.4,-161},
{-0.3,-150},
{-8.3,-145},
{-15,-120},
{-15,0},
{-15,120},
{-8.7,138},
{-0.7,150},
{0.4,161},
{0.9,180}
};
};```
- first number in the brackets is the gun depression, the second number is the turret rotation
- if the limited turret should be a machine gun used when turned out, the class needs to be called *TurnOut*
- in my very limited testing, *limitsArrayTop* needs to be defined even if you don't want to limit the gun elevation
- it appears to work in a way where the game calculates lines between the defined points and won't let your gun depress below those lines, thus it's good to define the last points at which the turret depression shouldn't be limited - which in my case is {-15,-120} and {-15,120}
- negative turret rotation angles mean rotation to the right
Tags: tank gun depression, tank gun elevation, engine deck, rear
I found that you can also get turret rotation with
deg (vehicle player animationSourcePhase "mainturret");
and current gun depression in-game with deg (vehicle player animationSourcePhase "maingun");
Wiki: https://community.bistudio.com/wiki/animationSourcePhase
Looking at CfgVehicleIcons, I can see that's where you define the file path - but how does one go about assigning the file path to a newly named icon?
The property name
In CfgVehicleIcons
YourPrefix_vehicleName = "..."
In CfgVehicles
icon = "YourPrefix_vehicleName"
Ah, so if I create;
iconDart="\test\data\icons\iconDart_ca.paa";
That can just be slotted in without issue? Excellent. Wasn't sure if that was the limitation.
Yes, CfgVehicleIcons is basically intended for shorthand for repeated icons. Saves you the trouble of having to copy/paste a bunch of file paths for
class CfgVehicleIcons {
YourPrefix_yourVehicle = "path\to\icon_ca.paa";
};
class CfgVehicles {
class YourPrefix_yourVehicle {
icon = "YourPrefix_yourVehicle";
};
};
Discord's been weird, have been trying to send that for a bit
Yeah, the Guilds service went down and it wiped out the whole platform. Stellar design on Discord's part there.
Think I understand. Will give that a try tomorrow to see how it goes.
class B_Heli_Transport_04_repair_7FA_X_Fv1: B_Heli_Transport_04_repair_7FA_X_F
{
class Turrets;
};
class B_Heli_Transport_04_repair_7FA_X_Fv2: B_Heli_Transport_04_repair_7FA_X_Fv1
{
class Turrets: Turrets
{
class CopilotTurret;
class LoadmasterTurret;
};
};
class B_Heli_Transport_04_repair_5thAC_L_F: B_Heli_Transport_04_repair_7FA_X_Fv2
{
faction = "TKE_5thAC_L";
scope = 2;
crew = "5thAC_L_Pilot";
textureList[] = {"7FA_L",1,"7FA_W",0,"7FA_C",0,"7FA_A",0};
hiddenSelectionsTextures[] = {"\7FA_Vehicles\Textures\Heli_Transport_04_Base_01_7FA_L_CO.paa","\7FA_Vehicles\Textures\Heli_Transport_04_Base_02_7FA_L_CO.paa","\7FA_Vehicles\Textures\Heli_Transport_04_Pod_Ext01_7FA_L_CO.paa","\7FA_Vehicles\Textures\Heli_Transport_04_Pod_Ext02_7FA_L_CO.paa"};
class Turrets: Turrets
{
class CopilotTurret: CopilotTurret{};
class LoadmasterTurret: LoadmasterTurret
{
gunnerType = "5thAC_L_Pilot";
};
};
};``` for some reason this config isn't showing the loadmaster. Without defining the turrets, it was occupied by the default CSAT pilot, but now it's occupied by nobody.
I am having a bit of a hard time understanding this simple expression
(rpm factor [600,700]) * (rpm factor [2800,1100])
so if rpm = 600, then its 0
if rpm is 700 then its 1
if rpm is at 2800 it means 1 since its reversed? and then 1100 its at 0?
so if rpm is below 600, it evals to 0, between 700 and 1100 its 0? and so between 1100 and 2800 it goes from 0 to 1?
rpm factor [2800,1100] is 0 at >=2800 and 1 at <=1100
So the result of the whole formula would be 0 at <=600, 1 from 700 to 1100, and then falling gradually to 0 at 2800.
could use rpm envelope [600,700,1100,2800] instead since 1.67.
ah okay, now next question, so the input rpm, whats the wiki page for all the possible inputs? would it be this? https://community.bistudio.com/wiki/getAllSoundControllers
ah okay that might be easier to remember
Anyone knows how to put one addon's attachment to others? Like Mags, sights(usually CBA works so maybe pass this), Laser/Light attachment, Bipod
For magazine, I used to look for its ID and write down everything in there but it is indeed boring work and painful if you're having 50 guns to edit.... and someone told me there is a easy way
Of course he didn't tell me how to X(
https://community.bistudio.com/wiki/Arma_3:_Weapon_Config_Guidelines
This covers both
This gonna take a long time but I will try!
With regards to magazines, look specifically at the section concerning Magazine compatibility groups.
For attachments, that BIKI article is...a little outdated unfortunately. The new standard is to include your custom attachment(s) to the new x_Rail global classes, not CowsSlot/PointerSlot/MuzzleSlot as shown in the article.
e.g.
class CowsSlot;
class CowsSlot_Rail: CowsSlot
{
class compatibleItems
{
myCustomOpticalSightAttachment = 1;
};
};
class MuzzleSlot;
class MuzzleSlot_556: MuzzleSlot
{
class compatibleItems
{
myCustom556mmSuppressorAttachment = 1;
};
};
class PointerSlot;
class PointerSlot_Rail: PointerSlot
{
class compatibleItems
{
myCustomLaserPointerAttachment = 1;
};
};
class UnderBarrelSlot;
class UnderBarrelSlot_rail: UnderBarrelSlot
{
class compatibleItems
{
myCustomBipodAttachment = 1;
};
};
So I see the magazinewell part, I think that's the key of mags
So question is, can I just write this on separate place and make it PBO, and will it still work?
Maybe I should search for compat addons to see how the thing works
the modding experience in a nutshell
🤣
So long as you have a CfgPatches properly defined for your PBO, then yes, it will work anywhere.
class CfgPatches
{
class Dan0520_MyCustomAddon
{
author = "Dan0520";
name = "My First Addon";
requiredAddons[] =
{
"A3_Data_F_Decade_Loadorder"
};
requiredVersion = 0.1;
units[] = {};
weapons[] = {};
};
};
class CowsSlot;
class CowsSlot_Rail: CowsSlot
{
class compatibleItems
{
myCustomOpticalSightAttachment = 1;
};
};
^ Once you've packed this config into a PBO, something as basic as this will work straight out of the box.
myCustomOpticalSightAttachment will be defined either within this same config or is from another addon, in which case you will need to include the name of that addon's CfgPatches into the requiredAddons[] array.
wish I had more experience to understand correctly. Let's read....
so I gotta define the gun specifically still, but I can just paste the other addons' attachment on myCustomOpticalSightAttachment?
class will be their ammotype(example : STANAG_556x45), then I just like, shove every ammo that should fits(or if you crazy just put anything) in mags... okay, I think I'm getting somewhere on mags
Another attachment is kinda far away but still
so if I just use class cfgMagazineWells, without signing cfgweapons, etc, it still works like a charm, right?
Yep. That was the intended purposes of magazine wells being introduced, so that you can avoid the need to define what magazines can be used per weapon.
Any weapon that has this defined (magazineWells[] = {"STANAG_556x45"};) will automatically get access to the magazine that you added.
Attachments work in a similar way. If the weapon's optics slots (WeaponsSlotsInfo >> CowsSlot) inherits from the global class (CowsSlot_Rail), then that weapon will get access to whatever optics attachments that you define in compatibleItems.
myCustomOpticalSightAttachment is just the name of whatever your custom attachment's classname is. Anything that you list under the compatibleItems property will be usable on weapons that inherit from CowsSlot_Rail.
e.g.
class CowsSlot;
class CowsSlot_Rail: CowsSlot
{
class compatibleItems
{
Dan0520_optic_MyRiflescope = 1;
optic_Hamr = 0;
};
};
class CfgWeapons
{
class Rifle;
class MyCustomRifleWeapon: Rifle
{
class WeaponSlotsInfo
{
class CowsSlot: CowsSlot_Rail
{
// This weapon gets access to whatever is listed in CowsSlot_Rail
};
};
};
};
^ in this example, any weapon that inherits from CowsSlot_Rail will get access to your custom attachment (Dan0520_optic_MyRiflescope).
At the same time, it will disable the vanilla RCO scope (optic_Hamr) from being usable on any weapon that inherits from CowsSlot_Rail.
(= 1; means enables the attachment and = 0; equates to disabling the attachment from being usable)
Just remember that CowsSlot_Rail in this context is a global class. It doesn't exist inside CfgWeapons, but CfgWeapons can inherit from it.
cowsslot first, then cfgweapon.... well
so the optics, I need to find their ID and make it = 1;, right?
or am I just able to make it for like, apply on every railed gun?
if your optic is compatible with the attachment slot then all guns that are compatible with that attachment slot can use the optic
Oh it won't be mine, just you know, put someone's attachment to other guys gun-type thing
It doesn't matter
well if the weapon is not compatible with the slot then you need to edit its config too
there is no 1 stop universal way to get all guns have all attachments
I mean if I know the attachment's ID and put on there, it should be work, right?
and some weapons might not be able to have attachments at all if they are not originally made for that
oh I won't expect that to work, don't worry
Yes. Like I showed in the example, if a weapon's slots inherit from CowsSlot_Rail, then they will get access to your specified attachment automatically.
You won't need to tweak anything on the weapon itself unless the weapon wasn't set up to inherit rails to begin with.
Issues like that can be remedied with a replacement patch but it's out of scope (no pun intended) for what you're trying to do right now.
I'm looking for a solution to the problem that the settings for group indicators and friendly name tags are active on the dedicated server, but I don't want them to be displayed. Therefore, I created a mod in which I adjust the cursor class in the CfgIngameUi so that neither the group icons nor the friendly name tags are displayed. The only problem with my solution is that the distance to the waypoints is no longer displayed either. Does anyone know of a better solution (apart from changing the difficulty settings on the dedicated server, which won't happen)
class CfgInGameUI
{
class Cursor
{
size="(((((safezoneW/safezoneH)min 1.2)/1.2)/25)*0)";
select="\A3\ui_f\data\IGUI\Cfg\Targeting\Empty_ca.paa";
leader="\A3\ui_f\data\IGUI\Cfg\Targeting\Empty_ca.paa";
};
};
Edit 2025-09-11: i think i found a better solution for hiding the Friendly Name Tags. Instead of using size 0 for Cursor i better use
class SideColors
{
colorFriendly[]={0,0,0,0};
};
with this class i can change/hide the color of the Friendly Name Tags
Hello, I just noticed that my gunner and commander proxies for when the crew members are turned out don't rotate with the turret. When I replace my p3d with the default sample T-72, they rotate normally, so it appears to be something wrong with my model.
Please, any ideas what I'm missing? 🤔
the proxies need to be part of the animated selection for the turret
Not quite sure what you mean. Do you perhaps mean assigning them the "otocvez" vertex group in Blender?
Or is it something that needs to be done in Object Builder?
I may or may not have forgotten to assign the vertex groups to the vertices of the proxys after creating them.
It's working now
Thank you for your time 
Hello,
I have a doubt about model.cfg and radar altimeter indicator in a helicopter
I'm trying to figure out if it is possible to have an radar altimeter indicator that is not lineal, has two phases, first 90º represents 100 feet, second 90º represents from 100 feet to 500 feet. like this one on the picture:
same needed for vertical speed
yes
and how can you indicate the value for each phase on the code ?
lets say animation plays between from 0 to 1
yep
from 0 to 0.3 you can rotate needle 90 deg
then freom 0.3 to 0.5 you can rotate it 20 deg with second animation
and third animation from 0.5 to 1.0 can rotate it -200 deg if you like
so, I just have to create several class animations with the diferent angles for each phase..
yes
something like this ?
class RadioAltimetro500P_0_to_100_R
{
type = "rotation";
source = "altRadar";
axis = "RadioAltimetro500P_1_osa";
memory = "true";
minValue = 0;
maxValue = 30.48; // 100 feet
angle0 = "rad 90";
angle1 = "rad 0";
selection = "RadioAltimetro500P_1";
};
class RadioAltimetro500P_100_to_500_R
{
type = "rotation";
source = "altRadar";
axis = "RadioAltimetro500P_1_osa";
memory = "true";
minValue = 30.48;
maxValue = 152.4; // 500 feet
angle0 = "rad 0";
angle1 = "rad -90";
selection = "RadioAltimetro500P_1";
};
In sounds_f in cfg sounds, the wind turbine sound is configured like so:
class CfgSounds
{
class Windturbine
{
sound[] = {"\A3\Sounds_F\environment\structures\windturbine\windturbine",1.2589254,1.0,120,1,0.0,0.0,0.0};
titles[] = {};
};
I know the first bits in sound are:
Filename
Volume
Pitch
Max Distance
But what about the numbers after 120? anyone got any clue what they control?
today i exported a actual all-in-one config with the arma3diag_x64.exe, if someone else need this then write me i can send you. i could also add the 7z files here in the channel if allowed
Very very simple question?
What is the limit of specular? Thats the only way I could become this more metalic
that is a current .rvmat specualar of "90"
not that simple question im afraid.
do you have real life reference photo for what you would like it to look like?
shiny metal?
Unfortunately, I couldn't get it to work myself and thus have to once more put myself at your collective mercy.
Whilst I managed to get the radar to function as a sensor, in order to get it to spin I had to remove it from the OtocVez named selection, which now means it's detached from the turret and spins in place.
If you want a radar dish constantly spinning on top of a moveable turret (named otocvez)
"radar", "otocvez"```
Spin the radar using the time animation source and animate the turret in the normal way.
yes
So in the example, otocvez does not follow another bone (or in effect, it just sits on top of the vehicle) and radar follows the movement of otocvez.
And of course, don't include the radar mesh in the otocvez selection.
Yeah, I got that part right atleast 😅
Thank you, I'll get to it as soon as I finish playing with friends tonight 🙂
I'll have to start writing everyone down so I can put you in credits when I'm done 😄
Not credits, perhaps "thanks to". 😉
That.
It's working! 😁
Hey fellas, I was wondering if it was possible to affect a vehicles crewmen with a CamShakeExplode (the explosion is by a round detonated near the vehicle)? Thanks for the help
I dont do model from perspective. I just think about it and try to catch it that works most the times.
Otherwhise I otherload me with a topic or a theme. Then I think about.
Ive attached you my current result. It shows up that a bigger surface can reflect the light better.
I think that Ive also have to find some more ways to screw around the metalness and reflection point...
Is there a way to create some shiny spots like on the second picture?
if anybody else is interested of change/hide Friendly Name Tags with a mod, you can in
class CfgInGameUI
{
class SideColors
{
colorFriendly[]={1,0,1,1}; // for hiding use 0,0,0,0
};
};
chromatic shiny look is possible. but often may need its own rvmat for extra shiny parts and another for more rough/matte parts
for texture/material stuff #arma3_texture is the better channel though
you can seach the chat history for reference to gold. I think I've talked about such topic and shinyness before
Cant find any documenation on it, what does shadow=1 even do on cfgVehicle entries
cant say it has come up before
might be nothing
no
Model has what I assume to be a broken shadowLOD
Shadow is tearing and stretching, was hoping to just disable it
not fix the model?
Not the model owner sadly
ah
If I had the model I would slap the arma man onto it and call it a day lol
Just report it to the mod maker if its an active mod
chances are high that the author didnt make it either
Oh most likely not
did you change hiddenSelectionMaterials of the model?
good day y'all. does anyone know how to disable that slight camera shake during firing small arms?
question about RVMATS, did a recent update perhaps break custom damage rvmats?
To elaborate, I didnt use the procedural texture but rather my own, and it used to work, but not anymore
what i mean is that in stage3, using a3\data_f\destruct\damage_metalsheet_mca.tga correctly displays the damage texture, but using my custom texture that used to work does not anymore
What's the path for your texture, exactly how you have it?
texture = "Sparky_JSDF_overhaul_vehicles\Content\damage\sparky_type74_dmg_b_ca.paa";
which lines up with the actual texture. Because it used to work and now it doesnt, rvmat or config has not been changed
yes
shouldn't it be an mca in that stage?
https://pbs.twimg.com/media/FzqKoA0WwAQJncK?format=jpg&name=4096x4096 well, the _ca worked before
also tried the _mca sufix and nothing changed
suffix is not related to it applying but to how it gets converted to paa
do you have the damage materials listed in the damage array
thats the materials working, but the pic's from 2023 lol
havent touched it since
Is there a easy way to balance buildings armor?
Seems like armor value doesnt work global for all structures, it depends on its size and how much geometry you did and if i did armor value on bigger structures its going to be invincible for some type of shots and same values on smaller structures get damage.. its a bit frustrating to struggle around.. or is there any kind of way to setup a global value?
I only know the config.cpp as possibility. But Im a amateur
** Hey there 😄 **
Im into doing my first multimaterial.rvmat
And I failed to 50%
My second texture wont apply on the UV like I need. Even if its on uvSource = "tex"
Im really sure its not the meshs UV. So I gues I will have to learn a bit about the topic.
But Im also wondering how I implement the ambient shader, because there is only one slot.
Do I need to bake a single map_as for the whole object?
thats the .rvmat:
Thats how it should look like.
ambient stage is full model yes
Okay. Ill gues its the same with the map_mask stage. (So Ill have to find a way to Bake the whole mesh or export an own .fbx for it)
Can you gues if my texture issue happened in the .rvmat or earlier?
Because Im quite sure its inside the .rvmat even if Ive received some unexplained texture diffrence from SubstancePainter to what the .paaConverter did
to my file.
I dont know what we are looking at here.
this does not look correct for multimaterial though
Midday break is over.
The pictures show the positioning of wood in the UV and the final texture wich should be used
sorry for late reply
That are those lines from the .rvmat
but you have baked texture there
not a tiling/repeating texture
and small object like this would not use multimaterial anyway
multimaterial is meant for large objects that the repeating texture gives more detail on large surfaces
Ive baked all textures in SubstancePainter
Thats _mask and _co maps
also again try to stay on the most relevant channels like #arma3_texture for texture and material related stuff
I really need to take more care about the topics and when they switch during a conversation
this should go in #off-topic (joke) 😉
I know there’s armorstructural idk if that is more of a global value
Is it possible to add to an array? Like with the None class in CfgGlasses. I'm thinking of adding another identityType, but would I have to overwrite it? Or does inheritance work here and I can just do something like identityTypes[]={"G_TRU_default",100}; and it would keep all the other ones?
Use +=, but it only works when the array is explicitly defined and not inherited iirc
Oh I see. Does it work the other way around too? Like delete for classes
-= something like this?
Not in config unfortunately. AFAIK there's no way to remove specific elements or splice.
https://community.bistudio.com/wiki/Operators#Config_Operators
You'll just have to override the array if you want to get rid of specific identities.
Good afternoon, can you tell me how to add the appearance of damage on the uniform (blood)? Is there an example of a config?
class Wounds {} in the man class
Arma 3 Samples on Steam
Arma 3 Samples\Addons\Test_Character_01\config.cpp
Hey, does anyone know why my evecVM code runs in "RscDisplayMainMenuBackground" but not in "RscDisplayMain"
class RscDisplayMainMenuBackground {
onLoad="[] execVM 'TFI_Utility\functions\menuTheme.sqf'; [""onLoad"",_this,""RscDisplayMainMenuBackground"",'GUI'] call (uinamespace getvariable 'BIS_fnc_initDisplay')";
};
class RscDisplayMain: RscStandardDisplay {
onLoad="[] execVM 'TFI_Utility\functions\menuTheme.sqf'; [""onLoad"",_this,""RscDisplayMainMenuBackground"",'GUI'] call (uinamespace getvariable 'BIS_fnc_initDisplay')";
};
this is how i put it. I wanted to play some music inside that execVM in the main menu. and possibly overwrite arma's main menu theme.
Are you sure it is not running at all?
I don't understand.
Don't understand what? My post?
Yes i mean i didn't get your point.
My point is are you sure your script is actually running or not
Is it not happening at all because it is not running or it is running but overwritten by some script
yes it actually play music as it is intended under RscDisplayMainMenuBackground. but the
onLoad="[] execVM 'TFI_Utility\functions\menuTheme.sqf';[""onLoad"",_this,""RscDisplayMain"",'GUI'] call (uinamespace getvariable 'BIS_fnc_initDisplay')";
doesn't work when i put in in "onLoad" EH of RscDisplayMain
this is the code itself:
// menu theme.sqf
0 fadeEnvironment 0;
0 fadeSound 0;
0 fadeMusic 1;
clearRadio;
playMusic "test_music";
sleep 5;
0 fadeEnvironment 0;
0 fadeSound 0;
addMusicEventHandler ["MusicStop", {
playMusic "test_music";
}];
That's not the point/answer I intended
Did you made it sure the script is actually running, using some obvious script like systemChat or hint
yes i tested that with systemChat and it did not return anything.
Okay, then are you sure your config is actually applied to RscDisplayMain in-game?
yes and i did some changes to the code, and still nothing.
///menuTheme.sqf
systemChat "start......";
waituntil {
_camera = (allmissionobjects "camera") param [0,objnull];
time > TIMEOUT || {!isnull _camera && {camPreloaded _camera}}
};
sleep 1;
0 fadeEnvironment 0;
0 fadeSound 0;
0 fadeMusic 1;
clearRadio;
systemChat str _this;
playMusic "test_music";
addMusicEventHandler ["MusicStop", {
playMusic "test_music";
}];
_this call compile preprocessFileLineNumbers 'TFI_Utility\functions\menuTheme.sqf';
didn't work either.
this can return "_this" parameter as ```sqf
[Display #0]
nor a I see the ```sqf
"start......"
in this code
```sqf
systemChat "start......";
0 fadeMusic 1;
copyToClipboard str _this;
systemChat str _this;
playMusic "test_music";
does anyone has a current cfgMods reference?
Hey guys
Idk where should I talk about this
I created my mod and there is a faction in my mod when I play dynamic recon ops, when I set my faction in enemy factions it shows the CSAT faction
Do I have to do something else?
What is the goal you want to achieve
I thInk the point here is RscDisplayEmpty is always loaded, and never unloaded through a gameplay session
That means onLoad will not fire whenever you return to the menu
Wild guess though
Don't suppose there's a way to tell AI on a path to wait while the door they just opened finishes opening?
They open it and instantly start walking, unforunately through the gate
My backup is making the path lead up to it longer
Ive wondered this too about 10 years ago with a Hangar door setup for Lost Dragons. However I dont rememer if there was a solution 😅
Previously I just did what I said above and pulled the path out further haha
Unforunately most BIS doors take 1 second to open and it seems ai on paths wait for 1 second
Maybe its hard-coded engine wise
or in cfgbrains
I had this large hangar door that opened slowly
And I think I managed to make I wait for it to open 🤔
I'll have to remember to dig some files
Much appreciated If you can find out what you did 🙂
I'm having a weapon issue. The game recognizes the m2 machinegun fine, but it's not recognnizing the magazine. At first I thought that the magazine was wrong, but it's not taking the BIS magazines either. I've tried some techniques over the hours but so far it just won't accept any mag, so it won't work. I know the minigun works fine, and recoded things so the game is using current code. Still not working. It may be the required addons, but I don't know if that matters.
what have you set it to use as ammo
BIS ammo. I thought that was the problem, but it's still not recognizing the magazine
Straight from the weapons_f config
ok so as a test, if you assign your vehicle vanilla machinegun and give it a vanilla machine gun magazine does that work?
Never tried that, gimme a few
👍 sort of establishing a working base
Yeah it packs fast, so I'll be back soon
Works as intended
Might just use that. Then something is weird because I inherit from the same weapon that works
could be just simple typo somewhere breaking it.
you could work through it in little steps to create new class
but if the vanilla gun is good enough then no problem
Yeah true, I'll mess with it, but at least I know it works and not a bug, or anything thanks man
Good day. In quite a few geometries of tank models, I've noticed a named selection/vertex group called "slide", always on the bottom of the hull of the tank. Am I correct to assume that this is meant to avoid the tank getting beached with its belly on rocks/terrain/etc?
yes I believe that is the case
Thanks 👌
the default components for that are inherited from the Tank_F base class
oho
I'll have to invite you out to a beer if you ever make it to CZ, as I live relatively close to BI's Mníšek HQ 😄
Boom.
Ive met a guy who told me about the LODs and stuff. I maybe got a little distracted
by growing my mind.. 😄
But Ive learned a really lot.
No one was able to anwser me how Im able to manipulate the LOD distances.
So how to set
- LOD res 0 to 10m
- LOD res 1 to 50m
- LOD res 2 to 100m
?
I dont know wich channel PANNIIC
you dont set the distances
engine handles it on its own
Could I?
you just provide the different levels
no
wowy wowy wowy
Okay that changes my plans to build 20k+ polis LOD res 0 buildings with enterior and light switches
Make your 1st res LOD (0) model with the number of polys (tri's) recommended by the experts for that asset type.
Then make resolution LOD's (1, 2, 3...) which halve the number of tri's each time, until you reach the recommended lowest poly count (typically 1000 to 2000).
Example
0: 32k
1: 16k
2: 8k
3: 4k
4: 2k
5: 1k
Isnt that worth to be pinned? just saying
Ive screenshoted it and post in our modding documentation if its ok @nimble sequoia
That would be the post
To many modders it's fairly basic knowledge, not worthy of being pinned, although I appreciate it's not obvious to beginners. A bit like suggesting that "to turn a car you use the steering wheel".
there is a wiki page
Thats all I know https://community.bistudio.com/wiki/LOD#<resolution>
Is there more?
driveOnComponent is obsolete with the physx simulation (carx, tankx etc), but you'll still find it added in the Geometry or Geo Phys LOD, probably out of habit.
Ouch... Ive got things to do. Im already on this since 4.30am... its 10pm in germany 🇩🇪
I spent a good part of making my first model in Blender worrying about not making it too detailed and how to minimize poly count without making it look like shit just because I missed the word "above" in the poly count limit in the LOD article 😭
If you're making your model in Blender, Named Selections can be understood as Vertex Groups
learning experience 😄
can not substitute that by teaching
Nah, just a massive reading skill issue
Hey fellas, got a question.
Im trying to modify the MFD of an aircraft, and its a bit of an inheritance nightmare.
If im trying to modify external class D, do i go
class ExternalAircraft:a3Aircraft
{
class A
{
Class B
{
class C
{
class D;
};
};
};
};```
And then
```class MyModifiedAircraft:ExternalAircraft
{
class A
{
Class B
{
class C
{
class D
{
valueToEdit = myEditedValue
};
};
};
};
};```
or do I have to do
```class a3Aircraft (or whatever ExternalAircraft inherits from)
class ExternalAircraft:a3Aircraft
{
class A;
};
class ExternalAircraft2:ExternalAircraft
{
class A:A
{
class B;
};
};
class ExternalAircraft3:ExternalAircraft2
{
class A:A
{
class B:B
{
Class C;
};
};
};
class ExternalAircraft4:ExternalAircraft 3
{
class A:A
{
class B:B
{
Class C:C
{
Class D;
};
};
};
};
And then edit my value? Or am I just approaching it the completely wrong way?
the latter if you also want to inherit the original contents
gotcha, busted my head on this for like 2 hrs yesterday, thank you
No rush but did you manage to have a dig?
# Gooood Day Bohemia 😄 **
** Its a mod-publishing issue Im bringing today.
Ive published my mod so others could download and update between our GameDays
The problem:
They dont receive the textures. They receive the LODs but not the texture.
Ive attached my mod structure, do I have to put the textures folder somewhere else?
Please correct me if wrong channel posting
During seting up the folder strucure I sticked to https://community.bistudio.com/wiki/Arma_3:_Creating_an_Addon#Mod_Folder_Structure
no texture showing up usually means you have pathed them wrong and the path does not match what is inside pbo
also how do you pack the pbo?
I receive the texture but the other ones not
Thats what makes me the things complecated for me
pathing is wrong
From where do I have to start it?
I pack the pbo
It have it source 8 years ago. Little Sascha played KotH and wanted to quick switch 3rd person
Since them Ive always bought the same mouse because it showed of that it can become reeally usefull
If I press my thumb downside
Completly out of topic sorry
So to bring it on point I pack my .pbo with AddonBuilder during I sign it. Then I take the .pbo and move it to the @Folder\addons it will finally remain.
And thats the final I need to go with my path wich starts at my P:\Drive?
what do your paths in p3d and rvmat look like?
as you can see this path does not correspond to what you have in the pbo
also why so many folders
good evening, guys! 😄
how hard would it be to mod an attachment so that it can be used on a different gun?
Specifically a suppressor. I want to put it on a gun that usually doesn't have access to it
does the gun have other suppressors?
yes it does
Comrades, I’ve been searching for an answer for a long time and can’t find one.
I need to create an RscShortcutButton for the interface, but the problem is that the images I set in the parameters animTextureDefault, animTextureNormal, animTextureOver, animTextureFocused, animTexturePressed, and animTextureDisabled are applied to the button in a very strange way.
I don’t understand how to change the size of these images without changing the size of the button itself.
5am. Starting time.
The folder structure took me a bit but I filed ||sry for that joke :D|| a lot on it and thats what gives me a good enviroment to work in.
Thats my whole P:\Memory Ive documentaded evrything about that
So those paths needs to go into the MainFolder and be connected to the .pbo in the addons folder
If my theory is correct, that would be an correct example:
model = "EBER\MainFolder@EBER_Structures\addons\structures.pbo"
Time to understand the https://community.bistudio.com/wiki/PBOPREFIX
Im already reading and translating technical words
-reading done time to figure out an example-
I love it 😄 https://community.bistudio.com/wiki/Arma_3:_Creating_an_Addon#Addon_Prefix
That should become key, if I understood it kind of correct. embarrassing that Ive left it like that thinking it will work lol
I don't think you can use such character in the prefix
Just use nothing but only a-z, A-Z, 0-9, and _
Im into reading the https://community.bistudio.com/wiki/Arma_3:_Creating_an_Addon#Addon_Prefix first for better communication then Ill try to it and send it for your entertainment haha
PROPREFIX is not a mandatory part of it anyways. You are just doing it too much
Well, technically it is. You just need to unserstand how you can tell Arma 3 to find a P3D within a PBO
That made things a lot more clear
That means, if Ive got it correct, that my addon prefix is defined in the addon builder as path and later used as start source. (PBOPREFIX isnt clear so far)
There you are 😄
Still unclear is what the "path to project folder" does in that. *(I gues its the @Folder I store my .pbo/ .bisign inside)
So my "path to project folder" becomes "EBER\MainFolder@EBER_Structures"
The "path to project folder" will be used as something like a "value" of my addon prefix wich makes it available as start path
is my learning somehow correct?
Thats what my theory is leading in. I gues I could meanwhile test it.
Now Im confused because also others are leading the "path to project folder" to the @ModFolder. The only diffrence I made is that Im working on P:\Drive and he got no prefix
Sometimes I cant find the trees inside the forest...
I slowly begin to understand why youve asked buddy...
its confusing for outsider in first instance and in second its diffrent to what others did. So its hard to compare
But Im honest, and yeah it sounds weird, but I think it was a good way to understand.
Most people only copy or steal but never will understand why that happens if they do this or that.
An you successfully planted the right thoughts in my head.
I really thanks for the ideas and inspirations. You brought in the missing part again. "Press F to pay respect!"
and "F" for resisting the pain I feel if I now read my messages during blindly wandering around with half knowledges and wild guesings
|| Time for breakfast 😄 ||
Can someone help me to find the passenger seat define part?
https://community.bistudio.com/wiki/Category:Arma_3:_Vehicle_Configuration
Am I looking at the right source?
https://community.bistudio.com/wiki/CfgVehicles_Config_Reference#...Action
I gues that Ill need to connect or name them as shown in the source
but you are not making a vehicle that has passengers?
Im thinking about to make the chair as a vehicle and define the seating area with as an passenger seat
well. I guess it could be a turret without a weapon
The hatchet mod arrives with a diffrent solution
ACE and other mods use attachTo scripting to glue character on another thing and then they set it to sitting/lyingdown animation
with userActions
it does not necessarily need to be a passenger like in vehicles
How do I define a turret? I gues I use memPoints for their position but Im missing the command for defining them
you can check out the tank sample in the arma3 samples
Ive also played with attachTo and stoped quite quick because I realized that everything effects everything and I would probabbly destroy more then create
They are at mikeros tool in a3\somewhere, right?
userAction seams to be exact what I will need to bring all together. Like addAction in code of running missions, just for an object and its defined in config.cpp
https://community.bistudio.com/wiki/UserActions
But why isnt there a "UserActions" in subcat? meow
https://community.bistudio.com/wiki/CfgVehicles_Config_Reference#U
no they are separate download from steam
Uhhhh more Arma content
For what do I have to look?
I gues Ive found them those are the things I whised to know earlier about haha
Is that the code that I have to execute with the userActions <statement>?
I gues the string (on the screenshot) of the meomoryPointsGetIn is my proxy group name Ive created in Blender, determined as memLOD, and exported via ObjectBuilder/ Toolbox into .p3d
Is that correct?
https://community.bistudio.com/wiki/CfgVehicles_Config_Reference#memoryPointsGetIn...SS
It is the name of a named-selection in memory lod that contains one vertex
I love that "from vision to reality"
the memorypointGetIn is for crew members, not exactly for user actions
So for people that are already in the vehicle? Is that what is ment with crew members? Im smelling a wiki entry and a knowledge gap of mine
people who use the vehicle. so get into it, are in it, get out of it
the memorypointGetIn.. is connected with the getting in part
but you dont need to focus on this right now
you are making user action
😂 🤦♂️
|| I would break the time if I would entry a vehicle during Im in the vehicle because I make a player able to ||
I have two options now.
- I overhaste things and get lost in information
- I do a break because its better because Im on this since 6 hours already (but I enjooooy 😄 ) to think about everything and come back later
I gues I go with No.2
So again I really need to thank @hearty sandal && @grand zinc for the support and guidance throught my learning I
was able to do in that short amount of time.
I need some help with making a simple item. Im trying to make an item similar to the firstaidkit or toolkit so that I can use it in scripts. This is my current config:
class CfgWeapons
{
class ItemCore;
class InventoryItem_Base_F;
class MSS_CoTi : ItemCore
{
model = "\A3\weapons_f\acc\acco_tws_F";
scope = 2;
scopeArsenal = 2;
scopeCurator = 2;
simulation = "Weapon";
picture = "\a3\Weapons_F\acc\Data\UI\icon_optic_tws_ca.paa";
displayName = "Clip-On Thermal Imager";
descriptionShort = "A clip-on thermal imager for various optics.";
class ItemInfo: InventoryItem_Base_F
{
allowedSlots[] = {801,701,901};
mass = 10;
};
};
};
however I cant get this item to appear in arsenal or in my inventory using addItem
Hello guys!
how hard would it be to mod an attachment so that it can be used on a different gun?
Specifically a suppressor. I want to put it on a gun that usually doesn't have access to it
Let's take the NIA weapons pack.
I want to use the "Ops. Inc. 12th model" suppressor available for the "RRA Lar 15" rifle and use it on an M4, for example.
Is there a way for me to acheive this?
Im back with some question about the vehicle cargo.
Ive investigated into the A3Samples. Specifcly for anything wich contains the cargo positions.
The only problem is that I cant find any definition or usage in the config.cpp to where its connected to
an animation or interactopn.
Is there a name system with "pos cargo" of the vertex group?
you were not making the seat a cargo slot but using the scripting like ace does
you dont need these at the moment
focus
In that way I would call or spawn(?) the function of them, right?
I'm pretty sure simulation = "Weapon" is what actual weapons use, not inventory items, though I may be misremembering.
If you're fine with a dependency, the easiest and most compatible way to make basic inventory items like that is to use CBA's classes.
class CBA_MiscItem;
class CBA_MiscItem_ItemInfo;
class YourPrefix_YourItem: CBA_MiscItem {
scope = 2;
author = "You";
displayName = "Your Item";
descriptionShort = "Description";
class ItemInfo: CBA_MiscItem_ItemInfo {
mass = 10;
};
};
If you don't want a dependency, you can do the same changes manually but little bit more effort
CBA just makes their misc items bipods
no
Id recommend focusing first on making the model
youre jumping on so many things right now
I actually just did this right before you sent the message and got it to work
It's very easy if your custom M4 weapon has its weapon attachment slots set up correctly.
If the slots were not set up correctly to inherit from one of the global MuzzleSlot classes, then it gets a little more complicated but it shouldn't be too difficult to remedy.
For now, you'll need to find out how your M4 weapon's MuzzleSlot class under WeaponSlotsInfo has been set up. Is it inheriting from the one of the global MuzzleSlot classes? (e.g. MuzzleSlot_556, asdg_MuzzleSlot_556, etc.)
Or is it hardcoded using the old compatibleItems[] array method?
For fixing my issue with the prefix Ive just replaced all local paths with the addon prefix.
Ive also created the vertex group and exported them. After Ive tried to connect that via class UserAction to an statement.
But Im achieving an error after starting the game that something cant enter the userAction scope
ok, first of all thank you for the answer, man ❤️
I'm super new to this so it's gonna take me a moment! XD
No one ever is finished learning so everybody is like you for someone else. Were all the same buddy ❤️
You're defining the UserActions in CfgVehicles, not your object
Wait.
Were talking about an file.cpp or the section in the config.cpp itself?
(I couldnt send in text either here or in dm)
Thats what Im using for my position value
In your config
ok I'm using the advanced dev tool and I found out which muzzle devices are available for a certain rifle
it tells me this is the path: configFile >> "CfgWeapons" >> "rhs_weap_mk18" >> "WeaponSlotsInfo" >> "MuzzleSlot" >> "compatibleItems" >>
And then I have a list of the available devices
but something tells me this isn't the view you were interested in...
The }; after mapSize closes the EBER_... class, and then UserActions is defined in CfgVehicles itself. It needs to be placed before the closing brace
wait what. that was actually in purpose because I defined the class in the UserActions itself. But yours sounds also logic. Ill try
If you fixed your indenation it'd be easier to see, this is how arma is reading your config
class CfgVehicles {
class EBER_StuhlMititaer1 : EBER_TischMititaer1 {
// ...
};
class UserActions {
// ...
};
};
Then you misunderstood how UserActions works
UserActions should be defined inside your object. Then you make a class inside UserActions for each action
You need to wrap those in like a class Eject
class CfgVehicles {
class EBER_StuhlMititaer1 : EBER_TischMititaer1 {
class UserActions {
class Eject {
statement = "...";
};
};
};
};
just a brackit
class Eject is the "Id" of the UserAction, right? in case there should be more then one
No, the ids are numbers
The class name itself isn't relevant to the action at all really
Thats true. I would compare to CfGFunction ongoings with class seperations
The class name is relevant for CfgFunctions
Assuming you don't override it with a file parameter
The screenshot Ive posted in hasnt created an error so far
It won't create an action
This is how it has to be configured
is this going in the right direction ?
Yes. Fortunately, RHS configs are written well so it's easy enough to ID which class you need to change.
You will need to add your OPS 12th INC suppressor to this class: rhs_western_rifle_muzzle_slot
class asdg_MuzzleSlot;
class asdg_MuzzleSlot_556: asdg_MuzzleSlot
{
class compatibleItems;
};
class rhs_western_rifle_muzzle_slot: asdg_MuzzleSlot_556
{
class compatibleItems: compatibleItems
{
suppressor_class_name_goes_here = 1;
};
};
oho!!!!
Replace suppressor_class_name_goes_here with the name of the OPS 12th suppressor's classname.
Keep in mind that in the example config I wrote for you (asdg_MuzzleSlot, asdg_MuzzleSlot_556, rhs_western_rifle_muzzle_slot), these changes are written at the global level. Don't put this under CfgWeapons or anything else.
Thats with what Ive went in
Ive now added a new class inside the UserAction wich Ive moved inside my CfGVehicle class itself (thrid picture)
if I hover over the suppressor in the arsenal, it calls it "hlc_muzzle_556NATO_OpsINC12th"
Could this be its name?
I hope Ive used it correct
Yep. Just slot that into the class and you should be good to go:
class rhs_western_rifle_muzzle_slot: asdg_MuzzleSlot_556
{
class compatibleItems: compatibleItems
{
hlc_muzzle_556NATO_OpsINC12th = 1;
};
};
uuuh!!! 😄
Don't forget to make sure that the core configs for RHSUSF and NIArms' addons are listed in your CfgPatches requiredAddons[] array.
where do I put all this? :3
I have no clue XD
Do I just paste it into the devtool and run it?
can't be THAT easy I imagine ^^"
ah, there we go XD
I'm sorry but I have zero knowledge of coding and such
In that case, you'll need to learn from scratch about how to make your own replacement config.
https://community.bistudio.com/wiki?title=Arma_3:_Creating_an_Addon
ah so it's gonna be an actual mod, like the ones I get from the steam workshop?
Yep.
oooh!!!
Can't change this via scripting so this is your only option.
Understood 🫡
That looks like a first start. Now I would like to connect it to a default animation so I can build up on that
should I use Arma 3 Tools or Mikero's tools? Which would be better for a complete beginner?
You need both regardless.
For packing the PBO, either use Mikero's pboProject or HEMTT.
Bohemia's own Addon Builder is rubbish when it comes to verifying errors so stick to either of those tools.
Understood!
I think I hit a hardware wall
I've been trying to create the P drive with the arma 3 tools and copy the game files
but I don't have enough space to copy them and I get errors during the process ^^"
I'm split into 2 drives
C, SSD drive with windows
D, HDD drive with everything else
C is almost maxed out and for some reason the Arma Tools try to copy files in that one when doing their thing
I'm talking about the "extract game data" part
I'm following this tutorial:
Hi I'm tox I'm brand new to the modding community I just wanted to make a series to try helping new people like me. I'm probably going to get stuff wrong and if I do please let me know so I can fix it. Take care and stay safe out there.
mikero tools: https://mikero.bytex.digital/Downloads
special thanks to sokolonko : https://www.youtube.com/u...
You're going to need around 37GB for the p:\a3 folder.
Modding does eat storage space.
I would have enough space on my D drive, but for some reason the Arma 3 tools want to write on my C drive as well
Try using mikero's tools (arma3p) to unpack the game files, rather than the Arma 3 tools.
oh! ok!
Can't promise it will resolve your issue with lack of space on C:\ but it's the recommended method anyway
I'm trying
do this
I'm checking
forget the video tutorial
alright! ^^
Heya can someone pls explain (at best with an example) how I override only the armor values as a patch for certain vests, without defining their model and other propertys again or is this not possible?
Heya, did you manage to find a working result? 🙂
I think I did… but I can’t remember if I got it working for Project OPFOR or a different mod since it was so long ago. I’ll check my file later and get back to you (and if I forget, just DM me).
I will thank you in advance!
Does anyone have the latest config dump at hand?
Any help on why these radar guided missiles aren't locking on to anything? The laser-guided version works just fine.
I've had other air-to-ground radar missiles, too, where the missile wouldn't lock unless I had a datalinksensor and datalink turned on
hmm might be groundnoisedistcoef yep, setting that to -1 fixed it
It is possible but fairly annoying due to the structure:
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;
};
};
};
};
};
Thanks!
Hey people 😄
Chair topic
Ive experimented with animations and CfG Functions in the config.cpp I went throught. It works.
My current ongoing is to write the function to sit down.
But Im failing in the syntax of attachTo in "object2" because I dont know how to show him the memory point I want to glue him to
Ive attached my current code
However you want. pos cargo is not how you define anything, though
pos cargo is the name of the memPointLODs vertex group. I hoped to be able to use it as variable for an X,Y,Z cord
That sounds critical
As you already found out you skipped QUITE a lot of path before you do anything constructive
I went my way. Now Im here. Not ready to stop. Lets continue
What is my issue?
Not knowing how an SQF works. Or how your concept could work
attachTo takes [theObject, offset] not [pos cargo,[0,0,0]]
theObject here is the object, the chair I guess
pos cargo is not a valid SQF variable or command or anything, it cannot be
"pos cargo" and pos cargo are entire different things
Also the function does not know which object the player wants to sit
I know how to read syntax. But I dont know what I dont know. So I try things. And of course do I know that attachTo needs an object. My thought was that the vertex counts as object so its name is would be the vert group.
Ive found out that its not like that. So Im here to learn.
Can I transform my memLOD vertex into an object?
wait
No. That's not how it works
Can I actually beg you to use a high vis syntax highlighter on SQF for everyone's sake, actually?
Id recommend you experiment with the scripting commands separately in the script console in Eden editor
Ive tried 😭
1 command at a time
Ive did, the attachTo wokrs isolated. The animation too. I gues the target gets lost on execution
so you can see what they do and require and return
Isnt that .sqf highlighting?
That is unreadable as crap because the colors
This is a highlighter for CPP
Relatively
That step is done. Next step is the the communication between config.cpp and
function.sqf
Ive tried now with _this and removed the incorrect array around but it wont work.
You don't the the _this explicitly, call will use it by default if there's no left argument
It's slightly slower to specify it, not the end of the world if you leave it though
Im a bit confused about that line. But I think youve anwsered it
So Ill try without an arg of the call command in the config.cpp
paramas ["_this"] is wrong though.
The command is params, without the second A and you're redefining the _this variable alltogether
Hahaha paramas sounds really spanish
What you'd want is:
params ["_target", "_caller"];
[_caller, "SIT_U3", "ASIS"] call BIS_fnc_ambientAnim;
_caller attachTo [_target, [0, 0, 0]];
Thats what Ive tried to do.. But where to define _target/ _caller? And how to keep them unspecific?
Forget about. Each execution is an diffrent scope so they cant collide. Ive texted to fast 😄
I remember about! Jan from german TOB explained already. Its like a year ago.
He said that the arriving values are sorted in the prepared params command by their arrival index like params [0,1,2,3]
do I remember right?
I gues thats a good setup to find out
_chairTarget isn't defined in your UserAction
Yes, params will assign each value in an array to a variable.
E.g.
[1, 2, 3] params ["_one", "_two", "_three"];
_one; // 1
_two; // 2
_three; // 3
The order in params is swapped around
Take a look at the script parameter on https://community.bistudio.com/wiki/addAction to see what is passed
It's [_target, _caller, ...], _target being the thing with the action and _caller being the unit that triggered it
_this is an array containing all of the params passed to the UserAction, you don't need to pass it in an array already. You also have a syntax error with a comma outside the array
The statement should just be "call EBER_MilChair_..."
Thats what resulted in "any"
Because you're params is incorrect
You have it as a single string, it's trying to define a variable called _playerTarget, _chairTarget, which fails
i have a question regarding arma 3 addon configs and getting them onto a server// Death and Hit Reactions
do i place them in the server config file like this? (at the bottom) cause it results in a crash and i honestly have no idea how to get it working (it does it with every addon)
Are those CBA settings?
no just the config directly
Either way a mod's settings aren't going to be in your server config
I'm asking if WBK_whatever is a CBA setting since you're using force
it might be im not sure myself
Well where are you getting the names from
ah yeah it was CBA i was getting them from arma 3 i didnt know CBA added the addon config thing its fixed now i put it in the user config and it works
mb
Reading wiki.
https://community.bistudio.com/wiki/UserActions
Variable
thisreferences object to which action is attached to.
params uses _this by default. That's not the same
It also only mentions having the object, not whoever activated the action, but you can reasonably assume that the activator is player
Oh UA config uses this?
No, the wiki only says it as a joke
I hoped to do it with that
I meant it more as a "I don't remember that"
especially when onlyforPlayer is set, then its probably player
Yes but you still missed the fact that its NOT _this
Thats what Ive tried to understand there
the argument on the left side of the call command, will be stored in the _this variable when the function on the right side of the call command is executed
Talking to you is like watching into the future haha || immer wieder beeindruckend ❤️ ||
Im back. Time to understand and learn
click
Thanks once again brother 😄
Just use this instead of cursorObject, it potentially could be something different than the object being interacted with. this will always be the chair in this case
Whats the major diffrence between _this and this?
Ive heard from "this" but only know about magic var
https://community.bistudio.com/wiki/Magic_Variables#this
whenever you create a placeable "prop" weapon for Eden, do the model of the weapon depends on the classname you are feeding into the transport classnames?
For example, if a weapon comes with no predefined magazine or attachments, even if you are telling the prop that is carries such magazine or attachments, do I need to include them into the actual weapon config as predefined attachments/mag for it to reflect on the prop model?
They're both "magic variables" (variables that are already defined for you), they're just used in different cases. this is usually just an object when its used, e.g. in an object's init box in Eden or UserActions. While _this is used by default in scripts
You need to make a separate version of the weapon with the attachments already on. Just adding them to the ground holder just places the items in the inventory, not on the weapon
thank you for the clarification
That brought clearance behind many things
is there a way to add an ace interaction to an existing vehicle?
Yeah
how would one do such a thing
The same way you'd modify any other class
You can just pull up the ACE_Actions >> ACE_MainActions class in the config viewer and copy the inheritance. Use Advanced Developer Tools if you're not already
class UAV_01_base_F : UAV_01_base_F { class ACE_Actions { class ACE_MainActions { class IC51_PackUAV { displayName = "Pack UAV"; condition = "alive _player && isNull objectParent _player && {_player distance _target < 3}"; statement = "[_target, _player] remoteExec ['fnc_packUAV_server', 2]"; }; }; };
so doing something like that in my config vehicles or am I misunderstanding
You're redefining Actions and MainActions, not inheriting, also code blocks are three backticks
yeah I hit the wrong thing lol
yeah I know abou the the 3 ` I just hit the wrong thing
so rather than doing redefining what would I need to change?
Your remoteExec also seemignly doesn't have the full function name, or you're not prefixing your functions. Either way it's wrong
You need to inherit the MainActions class
so would I just copy that over or what woudl I need to do for that
You need to grab UAV_01_base_F's parent class(es) and reference the MainActions class and inherit from it
I also just realized you're trying to make a class inherit from itself
Which is also incorrect
Is there a way to define which position in a tank will use which model/LOD when turned in/out?
Because as is, my tank's crewmembers see the following:
| Position | LOD turned in | LOD turned out |
+-----------+---------------+----------------+
| Driver | Gunner | Pilot |
+-----------+---------------+----------------+
| Gunner | Gunner | Resolution 0 |
+-----------+---------------+----------------+
| Commander | Gunner | Resolution 0 |
+-----------+---------------+----------------+```
It's not a problem per se, but I'm just not sure if that's normal or something wonky is going on.
EDIT: Found it. Variables in the config file. Info about it is here: https://community.bistudio.com/wiki/CfgVehicles_Config_Reference#LODDriverTurnedIn
For driver, it's *LODDriverTurnedIn*, *LODDriverTurnedOut*, *LODDriverOpticsIn* and *LODDriverOpticsOut*. For gunner and commander, it's *LODTurnedIn*, *LODTurnedOut*, *LODOpticsIn* and *LODOpticsOut*.
This is what you need to use in your inheritance, and then also make sure that ace_interaction is in your addon's requiredAddons
You need to reference the MainActions class from Helicopter_Base_F and then inherit it
alright and so would I need to create a new overall class as well even though I just want to add something to it?
No
so then would i just call the uav class or what woudl I do im a little confused
Your current setup is correct, the inheritance is just wrong
When you're modifying a class, you need to copy the same inheritance that the class is using.
UAV_01_base_F inherits from Helicopter_Base_F. So when you're modifying it, you need to do the same. You're trying to make it inherit from UAV_01_base_F, which would try to make it inherit from itself which doesn't work
@umbral hornet Hey, sorry it took so long for me to reply. Can you DM me?
Dont worry, someone helped me on this discord somewhere up 🙂
Still thanks for the offer!
is there anything more on the subject i can read? looks like all my variants with muzzle devices do not have them for whatever reason, even though they are being reported by the "contents" of the groundholder to being using that variant
pointers and cowslots seems to be working just fine though
You'd have to show your config
I.e:
class KMPE_AM_AMB17_kitted : KMPE_AM_AMB17
{
baseWeapon = "";
class LinkedItems
{
class LinkedItemsOptic
{
item = "";
slot = "CowsSlot";
};
class LinkedItemsAcc
{
item = "";
slot = "PointerSlot";
};
class LinkedItemsUnder
{
item = "";
slot = "UnderBarrelSlot";
};
class LinkedItemsMuzzle
{
item = "KMPE_muzzle_snds_AMB17";
slot = "MuzzleSlot";
};
};
};
the attachment IS compatible, i have it equipped
class weaponSlotsInfo
{
class CowsSlot : ScopeSlot_PicatinnyShort {};
class MuzzleSlot : muzzleFamily_AMB17 {};
};
sec
Thought it might have had wrong casing, slot is case sensitive to the slot class name in WeaponSlotsInfo
E.g. it wouldn't work if you had like slot = "muzzleslot" but did class MuzzleSlot
class muzzleFamily_AMB17 : muzzleFamily_939_detachable
{
class compatibleItems : compatibleItems
{
KMPE_muzzle_snds_AMB17 = 1;
};
};
This is the parent all the way up
class muzzleFamily_SR3 : MuzzleSlot
{
class compatibleItems
{
KMPE_muzzle_brake_SR3 = 1;
KMPE_muzzle_snds_SR3 = 1;
};
};
Yeah that all seems fine, nothing sticks out to me
all the slot names match their definition in my configs, SomethingSlot
i wonder if its intentional
i havent seen vanilla defined muzzles in the weapon variants
It's worked fine in my experience
Do the other slots work fine and just Muzzle isn't working?
yeah, its why im puzzled hahaha
well, same with magazines, but all vanilla weapons execept the ones with the model that has the magazine in their actual p3d have no mag
so im not too worried about that
You just include a magazine in the ground holder as well and it'll be loaded into the gun
But yeah, no clue about why the muzzle specifically wouldn't be working for you there
yeah but the props placed wont show the mag proxy for whatever reason
i wonder if its because i have empty slots as ""
Shouldn't affect it, but you can remove those
weapons that have actual attachments in cowslots and pointers do show, but since i have nothing at all in underbarrel makes me think it might be related since in all of them muzzle comes last
oh whoop
they do affect
moral of the story, dont leave placeholder empty classes as they somehow halt the definition of the rest of the classes
Interesting
class CfgFunctions {
class Pepe {
class PepeSimpleCustomModuleCategory {
file = "functions";
class AdditionModule {file = "Pepe_SimpleCustomModule\functions\AdditionModule.sqf";};
};
};
};
class CfgVehicles {
class zen_modules_moduleBase;
class Pepe_SimpleCustomModuleAddDeviceZeus: zen_modules_moduleBase {
author = "Pepe";
_generalMacro = "Pepe_SimpleCustomModuleAdditionModule";
curatorCanAttach = 1;
category = "Pepe_SimpleCustomModule";
function = "Pepe_fnc_AdditionModule";
displayName = "Addition Module";
};
};``` Why is the function AdditionModule not working when placing it in game (via Zeus)? I don't see anything wrong with this config.cpp file
how do I config a weapon with an integrated silencer? e.g. MP5SD?
Heyo
Quick question
What field in an entities config would handle executing a script on spawn / initialization?
I am trying to run a simple script to disable a unit's damage as soon as it is spawned via Zeus or at the start of a mission
EventHandlers
Example
{
postInit = "if (local (_this select 0)) then {[(_this select 0), """", [], true] call bis_fnc_initVehicle;};";
};```
Would this go inside the entities config?
Inside
{
class yourVehicle
{
class EventHandlers
{```
and vehicles would technically be what units are put under as well, correct?
Use the Arma 3 Samples to guide you
Thank you
Can it also take a function name instead of a script or call fn_functionName?
Um, what does the screenshot I posted show?!
You mean look through the samples? I see the code inside quotes like "systemChat 'fired';"
I meant if it can take it like like:
init = bis_fnc_initVehicle;
for example if that is even viable.
Good afternoon guys
When I subscribe to a new mod...
Do I have to update the P drive or anything like that?
The whole "extract game files" deal
do you need that mods contents on P drive?
the default P drive setup (arma3p) extracts only the vanilla data, not mods
if you needs mod content for some reason like for terrain building then you need to extract those manually
Ok, what about my little project?
Allowing a suppressor to be used on a different weapon. All within the same mod pack.
I dont know what you mean
Sorry, I was AFK. Here’s what I’m trying to do:
I want to take the “OpsInc 12th” suppressor from the NIA weapons pack (currently linked to the RRA LAR-15 AMR rifle) and make it usable on a Mk18 rifle from another weapons pack (e.g., RHS).
Drebin and you have been helping me the last couple of days, and here’s what I’ve done so far:
Learned that the RHS Mk18 rifle has good configs, and that I just need to add the suppressor to its class attachment list.
Got an example of what the script should look like.
Was told I’d need to package this as an actual mod.
Downloaded ARMA 3 Tools.
Downloaded PBO Manager.
Downloaded Mikero Tools.
Created a P drive using Mikero Tools.
That’s where I’m at now — and honestly, I have no clue what to do next, it's the first time I try anything like this and I have 0 exp with coding or programming 🙁
since its just config work you put your new config into P:\RobbsFancyMods\RFM_SuppressorCompatibilityMod\config.cpp
and pack that up into mod.
the config needs to refer to both mods you want to use data from in the cfgPatches required addons Array
that way your new config Patch Mod loads after the original requirements and can overwrite and use their data
P:\RobbsFancyMods\RFM_SuppressorCompatibilityMod\config.cpp
this would just be a folder I create in the P drive?
yes
ok give me a second
and you would make your other mods there too to keep P drive nice and tidy
I imagine the .ccp file is the one with the actual script?
such as this:
class rhs_western_rifle_muzzle_slot: asdg_MuzzleSlot_556
{
class compatibleItems: compatibleItems
{
hlc_muzzle_556NATO_OpsINC12th = 1;
};
};
?
yes
and does it have to be a note++ file or something?
you can check out the Arma 3 samples on steam for example configs
config.cpp is the full name with the file extension
it is basically a text file though
You can just add it directly to the asdg_MuzzleSlot, instead of adding it to a RHS specific one.
It'll work on other weapons too but that shouldn't be a problem right?
class CfgPatches {
class wolf_osssuppressor {
units[]= { };
weapons[]= { "wolf_foxsuppressor" };
requiredAddons[]= { "cba_jr" };
requiredVersion=0.1;
};
};
class asdg_MuzzleSlot;
class asdg_MuzzleSlot_762: asdg_MuzzleSlot {
class compatibleItems {
wolf_foxsuppressor=1;
};
};
class asdg_MuzzleSlot_556: asdg_MuzzleSlot {
class compatibleItems {
wolf_foxsuppressor=1;
};
};
Like this, to add it to all 556/762 guns at once
You also don't need a p-drive for this, as this doesn't reference any files
nor do you need mikeros tools for a mod this simple
true but maybe he makes something more complex in the future
oh!!! Wait a second that would be even better!!
Hello, please, which part of the code defines how many headlight beams a vehicle projects? Some vehicles I've come across (most SOG tanks, RHS Abrams, some QAV vehicles) project 2, whereas most vehicles (including the one I'm working on) project just one.
Looking at the config.hpp and model config, I don't see any difference between the code on my end (stock code from the sample) and the code in RHS' Abrams. Unless there's something else I should be looking at besides class Reflectors.
I substituted the name like this
( I got the part name by hovering over it in arsenal)
is this ok?
if so, what would my next step be? 🤔
do I need to do the mod thingy or use the other option Dedmen mentioned?
You need to put that into a config.cpp
And then pack it into a pbo.
You can use any tool for that. Mikeros pboProject, Arma 3 tools addon builder, hemtt.
Any pbo packer could work. Here you don't even need to binarize the config but its still better to do so (the 3 names tools above do that)
You have two errors in yours though.
The classname in CfgPatches, should be unique, the name of your mod.
The weapons array in CfgPatches lists weapons that you have added, but you didn't add any, so that should be empty.
I ommitted the part of my config where I add the suppressor
Hello, what rvmat uses the default custom face in Arma 3?
I modified it, is this correct?
(I have 0 exp with coding
)
yes
it must be named literally config.cpp not any extra letters on the filename
oh! sorry
ok
just to be sure, the code inside is exactly what I pasted before, there's nothing else to add, right?
I tried compiling it with pbo project, it sung halleluja and gave me this:
class Reflectors {}
aggregateReflectors[] =
Emissive textures on the model
Volumetric light proxies on the model
Thanks 👌
I've not done the textures for my tank yet 😅
aggregateReflectors is what I was looking for. By default, it's aggregateReflectors[] = {{"Left","Right","Left2","Right2"}}; What I need (and didn't notice was different) is for it to be aggregateReflectors[] = {{"Left","Left2"},{"Right","Right2"}};
That did it 😄
ok I'm gonna try to create the mod now
(I'm sure I messed up somewhere along the way) ahhahahah
ok let's test it
keep your fingers crossed
holy shit I can't believe it!
it worked!!
@wheat sluice
@hearty sandal
@grand zinc
Thank you guys so much!!!! 🙏
I can't believe it worked!!! 😄 😍
feels like it, ngl XD
now imma try adding another suppressor using the same method
it worked again
now, the placement is not perfect
I expected that, but can it be changed?
I'm talking about modifiying the placement of a suppressor on a barrel
is it something relatively doable or ungodly difficult?
not possible
its part of the model
understood!
Can anyone point me to docs or otherwise in removing ACE's camera shake/recoil when firing a launcher. I've removed vanilla shake but now ace is an issue and can't find the solution.
I've defined a custom Recoil Cfg as a test but no joy.
I've just noticed that the sample tank has no collision with soldiers when destroyed. It interacts with map assets normally and can be pushed around with another tank, but a soldier will go straight through.
Do I need to somehow manually assign the geometry LOD to the wreckage? 🤔
EDIT: As usual, this issue with the sample tank is solved by adding one single line of code to the CfgVehicles.hpp/config.hpp file. destrType="DestructDefault";
It's scripted
https://github.com/acemod/ACE3/blob/0ff7d8eaa45432d6c77a94894ae36f3f8958816c/addons/recoil/functions/fnc_camshake.sqf
Are you trying to remove it entirely or just for specific weapons?
Just a specific weapon I've made.
You could make a script to edit the cache, it'd be pretty easy to do
ace_recoil_recoilCache set ["YourWeaponClass_muzzleName", [0, 0]];
You'd need to run that after ace defines the variable, so something like a separate addon that requires ace and runs the script would be simple enough
How would that look like inside a config of a new mod would you just slot it into any line or would it go inside a particular class?
Or is there a different method like calling a loose SQF file or something?
Yeah you'd call a script, since it'd only run once you could just do like a call compileScript ['\path\to\script.sqf']
Easiest way would just be through cba event handlers
Any good tips on learning CBA Eventhandlers and how to set them up. I've never acually used the CBA framework/functions it offers before and I'd imagine there is some setup?
I know there are things like the XEH_preInit, Start and Post not sure how they are used.
https://github.com/CBATeam/CBA_A3/wiki/Extended-Event-Handlers-(new)#extended_postinit_eventhandlers
So i have the basics down and my function works it removes the shake/recoil for my weapon now but I notice it breaks ACE3 arsenal that you can access from the main menu.
In what way?
When I click it I spawn in with no Arsenal and with broken binos.
Super weird tbh
It means your script has some kind of error, which causes CBA to not run the rest of the postInit functions
Good to know I'll look back through it again.
Could you share your config and script?
I followed this before you replied. I'm guessing the layout might be outdated or something so I might have to redo it with the docs you sent
That doesn't include CfgEventHandlers file
Some of my message didn't copy sorry I followed this https://www.reddit.com/r/armadev/comments/hxobxt/comment/fzi1fmj/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button
Explore this conversation and more from the armadev community
Seems mostly fine from a quick look, but it's assuming you're using CBA's macro setup, which you may or may not
Not sure if there's a better way to share those so you don't have to download them individually.
Bit annoying on mobile but it's fine, just downloading and renaming to .txt works fine
But yeah, from that it doesn't seem like you're calling your script there at all
I prep it in the prep file and call FUNC in the preStart.sqf
Ah well that'd be too early, the recoilCache is defined in preInit
Ah so move the call. Then that should hopefully work
Yeah, preStart is the black screen before the main menu
PreInit is Eden / before mission load, postInit is mission load
So i have my preInit as
#include "script_component.hpp"
#include "XEH_PREP.sqf"
[] call FUNC(removeRecoil);
ADDON = true;
Can I delete the postInit and preStart as I don't use them? Or are they required?
You can remove them yeah, just remove the script and classes from CfgEventHandlers
Same issue with the Ace Arsenal. I have a feeling it's the ace_recoil_recoilCache set ["YourWeaponClass_muzzleName", [0, 0]]; where would I get the muzzleName for my launcher don't think I have one defined.
Actually I realize I'm mistaken, the preStart one would be required if you want to edit the cache as a function.
The preStart one is needed so your function is cached properly. But you can also just run the code directly in the postInit script
Should be easy enough to figure out the convention by looking at the ace_recoil_recoilCache hashmap.
There are plenty of weapons around that don't have any muzzles defined except the base.
All weapons have a muzzle, iirc it should just be the weapon name repeated twice when you're using a normal firing mode on it
Or well, from how ace formats it + how the fired event handler defines the params
Depends on how ACE handles the case, but weaponName_weaponName, weaponName or weaponName_this are all plausible options.
Yeah
Easy way to check would be firing your weapon and checking the cache (you can just paste ace_recoil_recoilCache into the debug console and run the code)
I was wrong there
I'm kinda confused tbh. How can I debug/determine why CBA isn't loading properly with my mod loaded. I'm guessing it was the muzzle but don't know for sure.
CBA goes through and runs all the code, if there's an error in any of scripts then the rest will fail to load
I know my mod and the script within are the culprit but can I debug them to get the problem?
Or thinking about it, the only parts that I've added is that particular line in my function so I probably don't really need a debug 😂
You can comment out the init = lines and run them in-game later to see if an error occurs
With that can I just straight up run the QUOTE( call COMPILE_FILE(XEH_preInit) ); in the ingame console? Will CBA stuff like that work?
You'd need to essentially do the preprocessing yourself, i.e. call compileScript ["\path\to\XEH_preInit.sqf"]
QUOTE and COMPILE_FILE are macros so they won't be recognised in the debug console.
Got ya so basicly test it in its simplest form.
Yeah thought so, new to CBA a few concepts I'm still grasping tbh
You don't have to use the macros if you don't want to
I started using them ~a year into modding and while they are certainly helpful once you learn them it's important to know what those macros are doing
I'm having an issue with regards to compiling now.
<MakePbo start>
CfgEventhandlers.hpp:loading...
config.cpp:compiling...
**********missing file(s)***************
\x\TIA\addons\TIA_OldArriflex_16ST_AceFix\CfgEventhandlers.hpp circa Line 4: call compile preprocessFileLineNumbers '\x\MYTAG\addons\MYMOD\XEH_preInit.sqf'
**********missing file(s)***************
\x\TIA\addons\TIA_OldArriflex_16ST_AceFix\config.cpp Rapify:**********missing file(s)***************
fnc_removeRecoil.sqf:loading...
script_component.hpp:loading...
XEH_preInit.sqf:loading...
XEH_PREP.sqf:loading...
Missing File Summary
missing in CfgEventhandlers.hpp : call compile preprocessFileLineNumbers '\x\MYTAG\addons\MYMOD\XEH_preInit.sqf'
\x\TIA\addons\TIA_OldArriflex_16ST_AceFix: DePbo:missing file(s)
pbo_Make failed
I had a bunch of warnings about defines inside CBA when I was compiling. Unsure if that highlights another issue or if that's normal. I got around those warnings as errors by disabling them as warnings.
Ah looks like you're missing some macro definitions, since MYTAG and MYMOD should both be something else (TIA and TIA_OldArriflex_16ST_AceFix from how it looks)
Ir you're not looking to switch to a CBA macro setup (or at the very least, not at this moment), I'd advise just pathing to the file manually and skip all the CBA macros
Compiles ok now and aresnal works correctly. However my launcher still shakes so I need to find the Muzzle name now me thinks.
I'll test my weapon class name twice like mentioned earlier.
Actually I'm getting a Script XEH_preInit.sqf not found warning when I launch even though it compiles ok with pboProject. 🙄
Fire the launcher and then run ace_recoil_recoilCache in the debug console
Look for your launcher in there
If it's still giving you a camera shake it shouldn't be
I assume addCamShake [0, 0] (which is what ace would run) shouldn't shake the camera though, considering that's 0 power and a 0 second duration
So would this be a vanilla issue now? Maybe something in the config that I overlooked that adds shake.
I would assume also with the values being 0 that the ace recoil should be fixed but it isn't. Thing is I still think Ace3 is the issue because I don't have that shake with ace off.
I think you might have pulled the wrong value from the cache
Could you show the output when you look at it in the console?
Hope you mean this console.
And that's after firing your launcher?
Yeah
Odd
Oh nevermind, I read the ace code wrong. It takes the values in the cache and then does extra math on top of it
Sorry about that, I thought that math was what was saved to the cache, but the value is pulled from cache and then modified
Hey no problem man I appreciate all the help I get.
I think it would require some edits on ace's side, like maybe skipping the camShake if it's like-1
Alternatively you could try setting it to a really low negative number instead of 0 and see what happens
You can also test it without restarting the game for convenience btw, just take the code from your function and run it in the debug console
Ohh good idea. And I was actually gonna ask is there a way I can debug this live. Good to know 🙂
That worked perfectly. Shake is gone. Thank you kindly 🫡
So it works though console but not through the file when compiled as a mod. I wonder if it's not in the right XEH file or something else.
When I run ace_recoil_recoilCache it gives me 0,0 so my compiled edit is overridden or doesn't apply at all.
If it do ace_recoil_recoilCache set ["Arriflex_16STArriflex_16ST", [-1, -1]]; then run ace_recoil_recoilCache i then see the correct values of -1,-1
And what's in your function currently?
ace_recoil_recoilCache set ["Arriflex_16STArriflex_16ST", [-100, -1]];
Was testing crazy values 😂
Not sure why it'd still be 0, 0
Did you rebuild and relaunch after modifying the function itself?
I sure did. I actually tried a 5,5 value to make sure there wasn't some failsafe rounding to the nearest positive or something. But still a 0,0
It's like my changes aren't being reflected in game.
I'll manually delete all files and recompile to make sure
So turns out it's a macro issue again. MYTAG and MYMOD aren't being changed for the function path.
[] call FUNC(removeRecoil); gonna try without macros
Not sure why CBA is such an issue with Macros like these.
CBA expects a certain file path structure, your mod may / may not be set up like that
I followed the layout in that reddit thread I posted awhile ago. Not sure if that's correct or not
It'd be something with your pbo prefix
CBA expects it to be like z\Prefix\addons\AddonName\...
E.g. for ace recoil it'd be z\ace\addons\recoil\...
I think pbo project uses a different default file path
I only used pbo project for like 10-15 minutes before switching to hemtt, so I don't remember too much about it
Oh so I'm using x instead of z that might do it smh. I'll try change that
Last I saw, ACE used PREFIX and COMPONENT rather than MYTAG and MYMOD. There are different versions of the CBA architecture.
You gotta follow the include chain and see.
X is just the default if you don't define the MAINPREFIX macro
I think those are placeholders from what they copied it from
ah, maybe. Can't tell with macros :P
In that case it's working but you haven't set the values.
Oh so that isn't it then.
My path I have established is x\TIA\addons\TIA_OldArriflex_16ST_AceFix\
In general, each of your files will include a script_component.hpp from the root of their addon. This should have a line at the top like #define COMPONENT TIA_OldArriflex_16ST_AceFix
That file will also have an include for script_mod.hpp somewhere in your mod.
That one has MAINPREFIX and PREFIX defines, which you need to set correctly.
That was my issue.
Bumping this again. Any idea why the function is not being executed? I can select and place down the module but the function does not work/execute.
Can you successfully call Pepe_fnc_AdditionModule from the debug console?

