#arma3_config
1 messages Ā· Page 56 of 1
you're doing it with file patching I assume, quick build otherwise!
Did you verify the turret had no turn-out?
yea, the action is gone
i mean.. i could always fake it with a custom user action.. but i rather not
it's carx
ffv turret uses gunnerCompartments = "Compartment1"; right?
I've seen this before when there are other ai involved and you're not commanding
not cargoCompartments[]
trying to think of a vanilla vehicle right now where you can go from driver to any ffv seat
do you have unique get-in/out memory points in the Mem LOD and matched in the turret config
i am using memoryPointsGetInGunner = "pos cargo"; memoryPointsGetInGunnerDir = "pos cargo dir";
that might be a problem
hm. ok, will do a test in that direction
I always give turrets their own points, seems to be necessary sometimes, could even be the issue, weird as it sounds
renamed it to pos ffv etc. in config and model. let's see what happens
Another thing that comes to mind is checking you have valid
gunnerAction AND gunnerInAction in turret
driverAction AND driverInAction in main config
ok, will try. renaming mempoints didnt help
but this gives me an idea.
ok, just copy&pasting quad anims didnt do anything either
maybe driver just cant go to ffv seat
He can go to an FFV seat, just checked with SOG PF Dirt Ranger.
But FFV can be available with or without turn-in.
Yep, but what's the fix again?
time to try
when it happened I was trying all sorts of combinations lol so I can't remember exactly
Could be.
I'm looking at a T-54 I worked on where driver can switch to a Commander with turn-in/out, and he doesn't have forceHideDriver = 1, but that's a tank... maybe car is different
ok found an old discord message from myself
and it was forceHide that fixed it for spearhead halftracks
i knew it was some stupid obscure config property
Was the halftrack a carx too?
I think that's it then, subtle difference in how turrets and drivers are handled between the simulation types perhaps
interesting that swapping to cargo seats is unaffected by it, but ffv is not
yeah it wasn't an FFV position in my case it was the mainturret/50 cal on the HT
which worked fine till we added the ability for the gunner to turnin
and then this happened
ok, funny. now i cant go into driver seat anymore from outside š
and when inside, driver is invisible
try viewDriverInExternal = 1;
oh, wait. and i cant go from ffv seat back to driver. jeez
is the FFV seat able to turn in and out?
yes
because if so it'll only be able to change position when turned in
yes, i was turned in
oh.
ok, needed to copy my animation from driverAction to driverInAction
this in combination with viewDriverInExternal = 1
seems to be working correctly now. what a pain
I think I mentioned that
yeah, i had it before but removed it again since it was not working š
(at the time)
I never checked, but does adding a turn-out turret to a carx vehicle, change the driver from "turned-in" to "turned-out"?
im not sure if its adding the turret that does it or if all the units are considered turned out in cars
I can't remember if just using driverInAction instead of driverAction (like leaving it blank) would also fix this
i vaguely recall trying it but I might not have
That's what I was trying to remember too
the games logic does seem to work on 'is this position turned out? are you turned out? then you can move to it'
as if you make a vehicle that the units cannot turn in they can move freely between positions
that was another horrible experiment I spent too many hours on - wanted to make it so tanks engaged AT guns with their cannons, but infantry etc would still shoot at the crew. fix was making it so the crew were all turned out
seems to be just old stuff from when it was only about tanks. if you are turned out of a hatch, you cant swap to a different seat. so ofc you need to turn in first
and we know ffv was just tacked on later down the line, so there's probably bugs and other odd behavior
as crewVulnerable or w/e it is basically makes tanks exclusively use their MGs and the like
oh right, that reminds me i wanted to test ai enemy behavior now .. š
heh, ai is shooting the vehicle now, not the soldiers
i am surviving longer now than before, since they dont hit me directly
this lines up with the old experimentation we did when adding the open top gunner to the marid
yeah the driver etc will be considered under the vehicles protection now so they wont shoot at the driver
if ai turns out, they shoot the soldiers. if not, they shoot the vehicle. if the vehicle armor is too much, they dont shoot at all
no matter what you do, the game wants you to suffer
almost makes a simple user action to swap seat more attractive again
pretty much, you can lower the damageResistance value and that tweaks how 'strong' the ai consider the armour
and move the aimpoint to the driver poisition
what was it again? zamerny?
yeah or cxan set it via memoryPointAim
ai seems to be a lot less precise as well. they seem to spray slower at the vehicle?
I am sorry, but which config entry actually defines the commander“s turret?
There seem to be two distinct CommanderOptics classes when I look at some vanilla vehicles. One inside the general vehicle config, the other in Turrets->MainTurret->Turrets->CommanderOptics
They both apparently seem to define some sort of a turret, but I have no clue what is the difference between them. It is not explained anywhere, there“s not a single wiki entry for CommanderOptics.
I want the commander to function the same way as the driver is right now. You sit on the slot and you are in free look by default, then you can press the RMB to go into an "optics" mode, and then you can scroll through several of these modes.
But no matter what I do I can“t achieve for the commander to be in a "free look" by default. I always have to hold down alt do be able to look around...
usePip = 2;
Ah I am sorry, but how do I define the viewCargoLOD to be displayed here?
lodTurnedIn = 1200; // -1 Default, 1000 Gunner, 1100 Pilot, 1200 Cargo
ahh cheers
Good afternoon, folks, I've been bashing my head against working on this config for a scope. The problem is that at a certain stage, the reticle 'jumps' in magnification and loses alignment with subtensions. Normally, it is at the 10x mark, and with some adjustments, can end up being the 14/15x marks. Anyone spot something glaringly obvious I am blind to?
minMagnificationReticleScale[] = {2, 0.71}; /// 1.1 Previously, 5 MIL (Real) = 5.2 MIL (Ret)
maxMagnificationReticleScale[] = {20, (10*0.71)}; /// 0.69 Previously, 5 MIL (Real) = 5.2 MIL (Ret)
reticleDetailTextures[] =
{
{1, "\MSS\MSS_OPTICS\CBA_Optic\Tremor3\Tremor3_1_bar_ca.paa", 1, "\MSS\MSS_OPTICS\CBA_Optic\Tremor3\Tremor3_1_illum_ca.paa"},
{5, "\MSS\MSS_OPTICS\CBA_Optic\Tremor3\Tremor3_5_bar_ca.paa", (1/2), "\MSS\MSS_OPTICS\CBA_Optic\Tremor3\Tremor3_5_illum_ca.paa"},
{10, "\MSS\MSS_OPTICS\CBA_Optic\Tremor3\Tremor3_10_bar_ca.paa", (1/3), "\MSS\MSS_OPTICS\CBA_Optic\Tremor3\Tremor3_10_illum_ca.paa"},
{15, "\MSS\MSS_OPTICS\CBA_Optic\Tremor3\Tremor3_15_bar_ca.paa", (1/4), "\MSS\MSS_OPTICS\CBA_Optic\Tremor3\Tremor3_15_illum_ca.paa"},
{20, "\MSS\MSS_OPTICS\CBA_Optic\Tremor3\Tremor3_20_bar_ca.paa", (1/5), "\MSS\MSS_OPTICS\CBA_Optic\Tremor3\Tremor3_20_illum_ca.paa"}
};
bodyTexture = "\MSS\MSS_Leupold\CBA_Optic\ScopeBody_Leup_B_D_ca.paa";
bodyTextureNight = "\MSS\MSS_Leupold\CBA_Optic\ScopeBody_Leup_B_N_ca.paa";
bodyTextureSize = 1.07;
manualReticleNightSwitch = 1;
reticleSafezoneSize = 0.8;```
Update: I figured it out. It was the 1.(1/2),1/3)... section, needed to be changed to numerals and finely tuned.
Hello i sometimes get an error No entry 'bin\config.bin\CfgVehicles\Helicopter_Base_H\HitPoints\HitGlass7.name'
i looked at every config of all of my helicopters and there is no HitGlass7
There is a class HitGlass7 {} animationSource defined in Heli_Light_01_base_F, so if you are inheriting from that vehicle, you need to deal with that hitpoint class.
so this issue is because of the animationsource ?
Either animationSource or HitPoint class, depends which vehicle you inherit from.
Consider, rather than using
class AnimationSources: AnimationSources {...};
class Hitpoints: Hitpoints {...};
instead use
class AnimationSources {...};
class Hitpoints {...};
and define the things inside those classes that you actually need
alright thank you very much Apollo
Hello folks, Iām trying to get the recoil animation and muzzle hide ones to work on my multi-barreled (x4) spaagā¦.ofc with no success.
I tried āreloadā for the recoil, but it only animates one barrel.
Also tried ammo for hiding/unhiding the zaslehs, but only 2 of them work.. is there a way to have this configuration working?
Barrels ofc do not fire all at the same time, the muzzle positions switch each time between the 4
Not sure where else to ask this but I have a fairly simple problem..
There is a mod folder called @East Asia War, 1937 - ę„äøę¦äŗ - ęę„ęäŗ but the dedicated server .bat file can't recognize that.
Not sure where to look for the working name of the folder. (or how to make it work, maybe meta.cpp?)
have you tried manually renaming the folder to avoid the unicode characters
Yes, it eventually showed up in server modlist in the menu that way, but the units and compositions from the mod don't show up in Zeus.. This is very strange because I am not doing anything else differently, yet stuff is missing somehow.
Make sure you're not using -autoinit.
Spot on advice as usual, thank you. That literally fixed everything x)
Quick question, I have a bunch of objects, flags on flag poles etc. Which I want to be able to spawn via Zeus. I have them setup with the appropitae Zeus config scopes. But they don't appear in Zeus. Is there something else I should be checking?
Are they in the vehicles units array in CfgPatches?
Yeah scopeCurator only matters if defined, otherwise it just uses scope
Anyone remember where the documentation was for submunition config? I remember there was some but there's no link from the CfgAmmo page.
Yeah, that's the stuff. Thanks.
Datalink for one of my helicopters isn't working. I have the base helicopter configged to have all three config entries for datalink. All but one helicopter, the datalink works. I tried looking at the Ghost Hawk config, and found nothing to allow it (which it has full datalink, but no entries) to have datalink. So I'm wondering why this particular helicopter doesn't have datalink when it should, and wondering what I need to do to enable it. I've tried everything I think to enable it, but doesn't seem to work.
Do you have a DataLinkSensorComponent defined under its Components?
I assume you've got these three tokens defined already:
reportOwnPosition = 1;
reportRemoteTargets = 1;
receiveRemoteTargets = 1;
Is there some way I can make the initial velocity of a pylon as defined in the magazine class be relative to turret's facing direction? For example, this Defender turret is modified to carry Venators and uses the pylon system, but their initial speed entry pushes it towards forward relative to the vehicle, not the turret's facing direction.
I've also tried using initSpeedY and initSpeedZ but those just use the vertical and horizontal planes relative to the entire unit as well - not the turret.
Sample magazine config attached.
I've done something similar to the Praetorian 1C with no issues, not sure what's fundamentally different. Both cases have weapon defined in the turret, magazine in the pylon, and initspeed in the magazine.
Yeah I got the tokens defined, but not the DataLinkSensorComponent, what would I do with that then? Put that in it's own section of the config?
This is what I have defined in the Components: class DataLinkComponent: SensorTemplateDataLink{};
Among other things
I've spent some time mucking with it, still no luck. Every variant works except the base helicopter, so not sure as I added "DataLinkSensorComponent" and it didn't help, I guess it's bugged out or something.
Probably a memory point issue. The ones in your pylon most likely don't match the ones in the turret so it spawns the projectile from the "centre" of the vehicle looking at those pics
The pylon has no model, I basically just took a banilla magazine and added a hardpoints list, name, description, and kept the weapon unchanged in the turret - same method I did with aircraft cannons and CIWS which behaves without issue
Is anything else overriding the baseline helicopter? Seems unusual that DL would work on all other variants work but not the baseline helicopter.
If your helicopter(s) is set up like this where your data link properties are set up in the parent class (not in the baseline helicopter), then you shouldn't have any problems with DL access:
class SensorTemplateDataLink;
class CfgVehicles
{
class Helicopter;
class Helicopter_Base_F: Helicopter
{
[...]
};
class Helicopter_Base_H: Helicopter_Base_F
{
[...]
class Components;
};
class Flanker562_HelicopterParentClass: Helicopter_Base_H
{
scope = 1;
reportOwnPosition = 1;
reportRemoteTargets = 1;
receiveRemoteTargets = 1;
class Components: Components
{
[...]
class SensorsManagerComponent
{
class Components
{
class DataLinkComponent: SensorTemplateDataLink{};
};
};
};
};
class Flanker562_BaselineHelicopter: Flanker562_HelicopterParentClass
{
scope = 2;
};
class Flanker562_HelicopterVariant2: Flanker562_BaselineHelicopter{};
class Flanker562_HelicopterVariant3: Flanker562_BaselineHelicopter{};
class Flanker562_HelicopterVariant4: Flanker562_BaselineHelicopter{};
class Flanker562_HelicopterVariant5: Flanker562_BaselineHelicopter{};
};
Update: Have tested with an ammo swap from BGM209 (simulation = "shotMissile"); to a 20mm shell (simulation = "shotBullet";) with no changes except to allow the weapon to fire non-cruise-missile mode. Magazine maintains original initspeed, just points to different ammoclass. At all angles including 90° the munition initspeed goes in the intended direction relative to the turret and not relative to the staticweapon. This narrows it down to something within the ammo class; I suspect something hardcoded with the simulation type but it may require more digging.
Also, if I add the magazine via script an not by pylon, it functions like normal
Did you remember to set/animate memoryPointMissile and memoryPointMissileDir in the main vehicle config when using the shotMissile type?
It's a vanilla missile launcher, shouldn't those already be set up? They're otherwise facing and going in the right direction
They might be, but it's your p3d and maybe you didn't include the memory points or animate them
Anyway, don't ask me, go check, lol
I have no custom p3d file; the missile mempoints on the static are defined as follows: memoryPointMissile[] = {"pos_missile","usti hlavne"}; memoryPointMissileDir[] = {"pos_missile_end","konec hlavne"};
The issue only arises when I made the switch to defining the magazines as pylons instead of in the turret, I have some ideas for a magazine config edit I can try, but the missile's spawning in the right place/direction, just the reference frame of the originnal push is wrong
After more testing, my current guess is that since there is no pylon proxy, it is attached relative to the whole vehicle. But that still doesn't explain why it works for the Praetorian 1C and other aircraft cannons I have done. And that it spawns in the correct position/direction
IDK, heard RHS M142 has artillery as pylon, and I found it has a whole proxy on the model and pylon model on the magazine, so I can confirm that for that functional example, the vehicle's pylon proxy must be attached to the turret
Does anyone know how to make it so that my mod can be used on a server without the server giving an error to the client saying that it needs to be loaded? Its an admin mod that not everyone needs, it does however add a module that is in the world, is this perhaps whats throwing the error?
What's the error?
If an object exists in a mission then it adds its dependencies in the SQM, and if a client lacks those dependencies then that's a fatal error.
Adding an object later might not be fatal though.
error is that the client is missing a dependency that the mission has. We talked a couple days ago about me saving data to a modules attribute, not sure if you remember. But thats what its about. Thats too bad that everyone will need to have it loaded
Everyone needs to have it loaded if there's a module, but you could circumvent that by instead using CBA settings.
hey is it possible i can get someone to help me out on CfgWeaponCursor
Thanks for the suggestion, but it needs to be mission specific which I dont think I can do with a cba setting
yeah you can
there's options for mission overwrites or server overwrites
Ill check that out as a solution, thanks
Is there any config documentation for making a unit not cause any rating penalty for friendly fire if it's destroyed? I'm trying all of these paraemeters but there's very little documentation I can find, and they don't seem to prevent the player from getting renegade status after being credited with kills of them
There's this but I can't find anything in config that ties into it:
https://community.bistudio.com/wiki/ArmA:_Armed_Assault:_Rating_Values
I suppose the table might not be accurate anymore. I've not tested it.
Is there a way to animate a weapons selector switch to be on "Safe" position when the gun is in not ready position ?
I checked the animationSources but couldnt find anything useful for it
Saw that too, not sure how useful a list from Arma 1 will be...
i assume you mean like 'lowered' and not holstered/on back
if so I don't think there is
I don't think so, it's just the block of code that defines the helicopter, nothing else, all of it depends on the base code.
you can use
```hpp
//your code here
```
//your code here
to get little syntax highlight and code in the box, so it's eaier to read etc.
Yeah I tried doing that, apparently Gemini AI screwed me on that
AI screwed all, damn its mean friend
Pretty much, but I'll see what I can do though, appreciate the correction
{
class Components
{
class SensorsManagerComponent
{
class IRSensorComponent: SensorTemplateIR
{
class AirTarget
{
minRange=500;
maxRange=4000;
objectDistanceLimitCoef=-1;
viewDistanceLimitCoef=1;
};
class GroundTarget
{
minRange=500;
maxRange=3000;
objectDistanceLimitCoef=1;
viewDistanceLimitCoef=1;
};
maxTrackableSpeed=70;
animDirection="mainGun";
angleRangeHorizontal=26;
angleRangeVertical=26;
};
class VisualSensorComponent: SensorTemplateVisual
{
class AirTarget
{
minRange=500;
maxRange=3000;
objectDistanceLimitCoef=-1;
viewDistanceLimitCoef=1;
};
class GroundTarget
{
minRange=500;
maxRange=2000;
objectDistanceLimitCoef=1;
viewDistanceLimitCoef=1;
};
maxTrackableSpeed=70;
animDirection="mainGun";
angleRangeHorizontal=26;
angleRangeVertical=26;
};
class PassiveRadarSensorComponent: SensorTemplatePassiveRadar{};
class LaserSensorComponent: SensorTemplateLaser{};
class NVSensorComponent: SensorTemplateNV{};
class DataLinkSensorComponent: SensorTemplateDataLink{};
};
};
class VehicleSystemsDisplayManagerComponentLeft: VehicleSystemsTemplateLeftPilot{};
class VehicleSystemsDisplayManagerComponentRight: VehicleSystemsTemplateRightPilot{};
};```
There we go, thanks again Prisoner
Is skipWhenMissingDependencies broken?
I still get a nice error when starting the game, upon loading mods
{
class EAW_Intros
{
units[]={};
weapons[]={};
requiredVersion=0.1;
requiredAddons[]=
{
"WW2_SPE_Core_c_UI_MenuBackgrounds_c",
"WW2_SPE_Normandy_c",
"WW2_SPE_Normandy",
"WW2_SPE_Missions_s_Video_s",
"WW2_SPE_Missions_p_Scenarios_p",
"WW2_SPE_Missions_p_Showcases_p",
"WW2_SPE_Missions_p_Cutscene_p",
"WW2_SPE_Missions_p_Credits_p",
"WW2_SPE_Missions_p_Campaigns_p",
"WW2_SPE_Core_t_MainMenuSpotlight_t",
"WW2_SPE_Core_t_MenuBackgrounds_t",
"WW2_SPE_Core_t_GUI_t",
"WW2_SPE_Core_c_UI_MenuBackgrounds_c",
"WW2_SPE_Core_c_UI_MainMenu_c",
"A3_3DEN",
"EAW_Village_1",
"A3_Map_Stratis",
"A3_Map_Altis",
"A3_Map_Stratis_Scenes_F",
"A3_Map_Altis_Scenes_F",
"A3_Map_VR_Scenes_F",
"A3_Map_Malden_Scenes_F",
"A3_Missions_F_Orange",
"A3_Map_Tanoa_Scenes_F"
};
skipWhenMissingDependencies=1;
worlds[]={};
};
};```
Your snippet shows that the Components subclass is not set up correctly.
It is meant to be defined as Components >> SensorsManagerComponent >> Components, not Components >> Components >> SensorsManagerComponent:
class Components: Components
{
class SensorsManagerComponent
{
class Components
{
It usually works. We use it heavily. So does ACE.
SPE really needs a loadorder mod :/
Got it working, also I needed to re-put down the helicopter since it was placed months ago. Replacing it with a "new" one fixed the issue, datalink works as intended.
Does anyone know what CfgPatches weapons actually does?
I'm pretty sure it's one of the things that sets whether an addon is set as required for a mission
I'm still completely unsure as to what it does. I'm fairly certain the addons check isn't it, but I haven't tested it.
Disregard
anyone have a good recommended armor value for CUP/base weapons mostly 7.62 AK Dmg (im making a Gears of war unit and i have to use the NCOG armor and the base armor value is 50-80 and 100 which makes you a tank) atm i have my armor value as armor = 5; passThrough = 0.3; and even this is still pretty tanky
You could just look at cup armor and use the same values
Can someone please help me to export this plane? I've spent months on trying to import in and I've hit a wall.
I've managed to export the hit points/ memory/ land contact successfully out of blender but the resolution/ geo and everything else is invalid, I've kept tweaking but nothing has worked
here's what I have so far, could someone please take a look at it
#arma3_model maybe? and please explain what invalid means in this context
It says ānot contiguous, NGONāsā and a few other errors, even though Iāve rebuilt it from the ground up multiple times to try and fix it
Even if itās super scuffed I just want to get something in arma so I can then polish it
ngon isseue means you have faces with more than 4 edges/points (quad)
only triangles and quads are acceptable in Arma
preferably triangles
triangulate it
you can post the specific errors at #arma3_model and people can likely tell what they mean
I have
Multiple times
No NGONS
In any mesh
I even triple checked by selecting the mesh by sides, confirming that everything was properly triangulated
@digital granite yeah sure. Pm me
Can someone tell me what a 'background control' is? aka the difference between class ControlsBackground and class Controls in Arma UI configs?
Is there any way to hide an icon for something on the map? For example there are a lot of rocks on the map, I want to hide their icons. Is this perhaps possible through a config?
I think it's this one: https://community.bistudio.com/wiki/Arma_3:_Named_Properties#map
Thank you! That looks promising
I think groups of rocks and trees get converted on binarize though, so you might not be able to do what you want.
Hm, ok good to know
Ya you're right, those seem to be only for object builder, which would require editing the source of the model and then likely re-packing the map
Correct yes. It is not quite an easy task
Been trying to add a pilotCamera to the vanilla Speedboat corresponding to the camera ball on top, but have had some difficulties. Previously, I was able to add one to some aircraft that don't have any at all like the CUP Su-34/Su-25, but even knowing the name of the memory point in the model, I'm not even getting the pilot camera view to appear.
The pilotcamera class boxed in red is derived from one I know works on other assets, and the memory point is one I grabbed straight from the renderTargets class which corresponds to the sensorball on top of the boat that gives the pilot his NV display screen
The un-commented ones are a direct copy from the aforementioned CUP coversion which, while it has a couple issues, I know works. Even with that, I can't get anything to appear when I right click or ctrl+Rightclick
Can I block only specific weapons from being fired when turned in/out?
My commander seat has a mounted MG so I have inGunnerMayFire = 0 but this also prevents the commander from using counter measures
don't think so
only way I know of is to make the external gun its own turret
and scrtipting it
Hm bit unfortunate, rather not mess around the (un)locking + switching seats jank
would it be possible to make a flashbang shotgun shell
similar to the 23x75mm Zvezda flashbang round
Mods like ACE add flashbangs, so I think you could pretty easily one of their frameworks but for a shell.
I am making a ks-23 as seen in #arma3_model and will make ammo like the one in tarkov
will see what I need to do
ACE's specifically only checks grenades iirc
With the power of ⨠submunitions ⨠you can make a grenade happen from a shotgun
Do ships just not support PilotCameras? Theat's the only option i have left for why I can't get it to work on the vanilla Speedboat, despite the memory point existing and being used for the driver screen already
The SDV has one tho that's a ViewOptics class
What value means in CfgMagazines? Bohemia's Config Reference just says "Formerly known as ValueMagazine in OFP."
Is that the one that specifies how much ammo cargo it consumes?
Is it possible to make a particular ai firemode only usable against aircraft?
I think that's determined entirely by the ammunition, while fire modes are only chosen by distance.
Yo! anyone encounter custom units not showing up in an unrestricted Zeus even though their scopeCurator is set to 2?
They show up in the Editor but not in Zeus, weirdly enough
They need to be listed in the CfgPatches >> units array
That's done it, thank you š
A missions units try to find the CfgPatches entry that has it in its "units" array.
If it doesn't find it, it just uses the source addon (configSourceAddons? script command?)
Inventory items Weapons/Glasses/Magazines, go straight for config source addons and add them all, doesn't check CfgPatches.
I cannot find any engine code that reads CfgPatches "weapons" entry.
Maybe scripted Arsenal might read it for something?
not from what I can see
only mention of cfgpatches in fn_arsenal is this:
//--- Function to get item DLC. Don't use item itself, but the first addon in which it's defined. SOme items are re-defined in mods.
//#define GETDLC {configsourcemod _this}
#define GETDLC\
{\
private _dlc = "";\
private _addons = configsourceaddonlist _this;\
if (count _addons > 0) then {\
private _mods = configsourcemodlist (configfile >> "CfgPatches" >> _addons select 0);\
if (count _mods > 0) then {\
_dlc = _mods select 0;\
};\
};\
_dlc\
}
PilotCamera is only implemented for plane/helicopter.
maybe the weapon definitions are legacy from arma 2/prior, some other sort of scripted system. I know there's also 'ammo' which I think mikeros stuff creates but last I heard that doesn't exist either
Engine comment says "used in MP game for decision which body to hide" but that sounds a bit bogus
found it mentioned in:
\a3\ui_f_curator\UI\RscCommon\RscAttributeInventory.sqf
It also seems to be used as some kind of priority for.... The take magazine action?
Its kind of a "how valuable is this"
So the weapons listed, when you edit the content of a box.
yeah
that's what it looks like
I should have remembered this as I hate this script, as it filters magazines based on the weapons too
so if you have magazines that are scope 2 but are for a weapon that is scope 1 (or a vehicle weapon) they won't appear in the list
pain for stuff like crew served weapons systems, mortar bombs etc
How do I configure cased ammo? Thereās only caseless in the sample weapon
what part are you missing?
I don't think Arma distinguishes. IIRC ACE has a config entry it uses to pick between different casings if you're using that feature.
I donāt know how to make it be cased
oh right, vanilla does have cartridge
You'd just set that to "FxCartridge_556" or whatever else is suitable.
Looks like weapons have cartridgePos and cartridgeVel config values which refer to memory points in the model.
Ahh okay thank you
I havenāt been able to mount a P drive at all, I tried using mikeros tools and it kinda bricked my pc, can I do anything without mounting one?
no idea how it could do that.
so more likely something else happened
this is the simplest way to do it though
PC went āgrrrā and hard reset
Took like 15 mins to turn on
Iām not trying it again lmao
my guess is something else was already seriosly broken

I guess you could try Hemmt
for error checking
thats why you get Mikeros tools typically
or HEMMT
(Hemtt, 1 m 2 ts)
šµāš«
For some reason I had it in my head that submunitions could be things other than CfgAmmo types, like vehicles. It's not currently working in my testing and I can't find any previous mention of it, so...maybe not. Just wanted to check if anyone else has, like, even imagined this before, or whether I'm genuinely going completely insane
In my code I assumed all submunitions are CfgAmmo, and it didn't break on any vanilla ammo.
they are cfgAmmo only.
you would need additional scripting to create vehicles
Okay, thanks. I dunno where that idea came from š¤ probably misunderstood something years ago
Yes, that's what I ended up doing
Only similar thing I know is that CfgAmmo can be used with createVehicle. This behaviour does not seem to be documented.
It's not specifically mentioned on the createVehicle page, but it's also the only way to create projectiles through scripting, so it's not exactly a secret
Just discovered that if you use either version of createVehicle to spawn ammo, it uses AGL (or similar) rather than ATL.
When using cba joint rails, can you make two separate rails inherit from the same place, so you have a compatible weapon set-specific version that doesn't just dump multiple versions on the non-configed guns?
Basically, can you do
class asdg_FrontSideRail: asdg_SlotInfo {
Then have
class asdg_FrontSideRailSecond: asdg_SlotInfo {
or does that break it?
It'll be fine. It won't break CBA's JR classes.
But ideally, you'd want to make your custom version of the rail class inherit from CBA's JR classes and then make your tweaks there:
e.g.
class asdg_SlotInfo;
class asdg_FrontSideRail: asdg_SlotInfo
{
class compatibleItems;
};
class asdg_FrontSideRailSecond: asdg_FrontSideRail{};
...where asdg_FrontSideRailSecond (your custom rail class) inherits from asdg_FrontSideRail (from CBA). This avoids you having to redefine all the attachments that CBA already has defined, but allows you to add your own specific attachments that would only be usable on specific weapons.
Inheriting from asdg_SlotInfo as your current setup shows would be pointless since asdg_SlotInfo is a base class that has no attachments defined for compatibleItems class.
Just don't call it asdg_..., use your own prefix
did anyone have successfully applied RHS FCS to own vehicle?
anything else just works but the point of impact is a little left
disable offset make it better
I would assume this is due to the offset between your weapon and your camera view
this is the animation for some part of your vehicle
Hey, I am wondering how do I define the origin of gunfire for a turret“s 3rd weapon. The autocannon and machinegun work fine, but I need to move the grenade launcher“s origin of gunfire to a 3rd separate position. I can“t find any turret config entry for this.
Or do I need to use an EH for this somehow?
yes youll have to eventhandler that.
BMP2M?š«£
What is the normal protection for vest
because my guys in squad are op ass hell i made a new vest and i got 22 armor on chest 22+3 on diaphragm
You can check game configd in the in-game config viewer
alright
How can I disable the muzzle flash on an infantry weapon? I've tried things like disabling selectionFireAnim with selectionFireAnim = "";//zasleh, but that just makes the muzzle flash always be displayed instead of never being displayed
you cant
What's your passThrough value?
22 is a lot for a vest and, if your passThrough is at 0.2 or lower, it's almost on-par with the vanilla Carrier Special Rig/AAV from Expeditionary Forces. Makes you pretty tanky and resistant to 1x-2x 7.62mm at point blank range.
If I have a mod with 2 PBOs and one of them is say 'lcars_base' and the other 'lcars_car1' .
Is this good practice? --> list 'lcars_base' under requiredAddons for 'lcars_car1'. Then if I use any other external mod as a dependency for my mod, I can list them under requiredAddons for 'lcars_base' and not change requiredAddons for 'lcars_car1'.
Or should I list all addons needed for the mod under both requiredAddons in 'lcars_base' and 'lcars_car1'?
its enough that they are in the base
and yes its good practice
I've been trying to set up a server for me and a friend, but I cannot seem to figure out how to add mods to it. Would anyone be so kind as to help me figure it out? [Host is Nitrado]
is the place
Woopsie, my bad.
I thought this was the place as it was marked game modifications,
I might need some help, Im trying to overwrite some config parameters of an ACE weapon attachment config but it's simply not being applied for some reason
Im assuming Im simply doing somethinig wrong with the inheritance itself, although that's what it seems to be in the config viewer
unless the load order for subaddons is broken
I removed the above messages, obviously it's not the subaddon loading that's broken, it's the way I wrote it
your addon needs the cfgPatches class of the config you try to overwrite as required addon so the load order goes right
Yep I had that
I added CfgPatches but forgot to add a child class, just added all the properties directly under it
class CfgPatches {
requiredAddons[] = {...}
};
gave me so much headache, and it was just a mistake when copying files over
Okay so I want to add a custom NVG model. I have a copy of a code, but don't know how to make it actually placed on the character's head
And also the texturing and material config seems to be very different to something like a building
texturing of items/uniform/etc model is set up on the p3d like any othe model.
to get them move with the character one needs to set up model.cfg with chracter skeleton in it and model weighting to match the character and couple other things outlined in the pinned message about headgear on #arma3_model channel
hiddenselections are similar but little bit in different spot.
Is there an explanation for why uniforms and such have the hidden selections textures stuff where you can get a retextured armour set by just changing the file in config.cpp, but why that doesn't appear to be the case for NVGs?
Also the model.cfg was what I was missing for that note
If I remember right it should now work but I dont off the top of my head remember what it needed.
it didnt workf for long time
So the reason why the examples I have pulled from TIOW and the base game don't have them, is because it didn't used to be a feature but now is
As much as I would actually like to open the p3ds in arma to use as references for sizes and shapes, I cannot do that, but I can look at their code
But thank you once again, just need to fix whatever issue I am having with the textures
Actually the AOD stuff does have the textures but not the materials in the code
You can retexture nvgs in config
It works the exact same way as helmets, facewear, backpacks, etc.
You only need to define hiddenSelectionsMaterials if you want something different than what's defined in the p3d
So most retextures don't define it
I was trying to retexture NVGs from the TIOW mod and saw that the hiddenselections stuff wasn't there
And due to lack of experience with this system I assumed they had to be there at all
They might not have set it up
And the base game NVGs are the same
As far as I can tell each individual colour for the same model has its own separate .p3d
You can just assign textures to the faces, hiddenSelections is an optional step that modders can set up
This is what I am learning now
They could have their reasons
E.g. for lower poly models it's more expensive to set up hiddenSelections vs just having different p3ds
This sounds like it could also have been a reason
Just didn't work for NVGs due to some issue with the engine that has since been resolved
the vanilla nvgs probably were not updated for that
Now I just need to figure out the model.cfg
Most of the examples I have found don't appear to have a model.cfg. I now assume it isn't something just included in the models folder and is something doing when exporting the .p3d
model.cfg gets baked into p3d on binarization
Ahkay
Okay my model.cfg is correct, just the item isn't in the correct location
And moving it in blender doesn't appear to help
Found the issue, and just remembered that the guy I had to help me modelling a helmet had the same realisation
Custom property, "autocenter" needs to be set to 0
you can check what selections a model has with the ODOL converter
for CfgNonAIVehicles what is the difference between simulation types Maverickweapon and Pylonpod
One is for missile types that leave a rail(s) the other is for rocket/gunpod types
functionally what does that do tho?
like how bullet vs grenade, a grenade simulation allows for the grenade to bounce around.
It tells the engine what to do with the proxy you setup, it either stays in place and shoots a projectile from it or the proxy is setup as a missile and leaves the vehicle as the weapon
does the maverickpylon it self have the rail? or is the rail on the plane/helicopters model?
No, maverickweapon is used to define the bomb/missile/rocket you want fired. The pylon/rail are either apart of the model or a seperate p3d
oh okay
IIRC NVGoggles have hiddenselections but the others dont. Thats how i retexed them
yeah what snoops said, you can for example have a pylonpod that is the rack(s) that mounts the maverickweapons
Can I please get some help figuring out why my Zeus modules always return objNull with attachedTo _module in the module init function?
They show up and work as intended other than attachedTo never returning a valid object when placing the module on a vehicle/unit/etc instead of just by itself.
Relevant cfgVehicles excerpt:
class Module_F;
class GVAR(Module_Base) : Module_F {
scope = 1;
scopeCurator = 1;
category = "";
displayName = "";
function = "";
class EventHandlers {
init = QUOTE(_this call FUNC(initModule));
};
};
class GVAR(Module_Support_Base) : GVAR(Module_Base) {
curatorCanAttach = 1;
category = QGVAR(Supports);
class arguments {
type = "";
side = QUOTE(Occupants);
caller = QUOTE(attack);
maxSpend = 500;
target = QUOTE(false);
position = QUOTE(getPosATL _module);
reveal = 1;
delay = 0;
};
function = QUOTE(A3A_fnc_createSupport);
}
class GVAR(Module_Support_Airstrike) : GVAR(Module_Support_Base) {
scopeCurator = 2;
displayName = "$STR_A3U_Zeus_ModuleType_Support_Airstrike";
icon = "\a3\Modules_F_Curator\Data\iconCAS_ca.paa";
portrait = "\a3\Modules_F_Curator\Data\portraitCASBomb_ca.paa";
class arguments : arguments {
type = QUOTE(AIRSTRIKE);
};
};
and this is the initModule.sqf function:
#include "..\..\script_component.hpp"
FIX_LINE_NUMBERS()
params ["_module"];
if (isNil "_module") exitWith {};
private _cfg = configOf _module;
private _args = (configProperties [_cfg >> "arguments"]) apply { _x call BIS_fnc_getCfgData };
private _function = getText (_cfg >> "function");
Debug_3("Initializing module: %1 with args: %2 and function: %3", _module, _args, _function);
private _argsValidated = [];
{
if (!(_x isEqualType "")) then { _argsValidated pushBack _x; continue; };
/*
* Arguments for the module's function are stored in the arguments property of the module config.
* Arguments that aren't a string, array, bool, or number are converted to string,
* so if we have a string argument, we try to compile and run it.
* If the result is Nil, it's either *not* code or *bad* code, so we pass the string as is.
*/
private _result = call compile _x;
_argsValidated pushBack ([_result, _x] select (isNil "_result"));
} forEach (_args);
private _target = attachedTo _module;
Debug_1("Module attachedTo: %1", _target);
if (!isNull _target) then {
_argsValidated set [4, _target];
_argsValidated set [5, getPosATL _target];
};
Debug_1("Validated function args: %1", _argsValidated);
if (_function isEqualType "") then { _function = missionNamespace getVariable _function };
if (isNil "_function") exitWith { Error_1("Module initialization attempted with invalid function name: %1", _function) };
_argsValidated spawn _function;
deleteVehicle _module;
Obviously there's some mod macros in use, but this is what's being logged:
13:48:07 2026-01-19 18:48:07:007 | Antistasi | Debug | File: A3U_zeus_fnc_initModule | Initializing module: <No group>:0 (A3U_zeus_Module_Support_Airstrike) with args: ["AIRSTRIKE","Occupants","attack",500,"false","getPosATL _module",1,0] and function: A3A_fnc_createSupport
13:48:07 2026-01-19 18:48:07:007 | Antistasi | Debug | File: A3U_zeus_fnc_initModule | Module attachedTo: <NULL-object>
13:48:07 2026-01-19 18:48:07:007 | Antistasi | Debug | File: A3U_zeus_fnc_initModule | Validated function args: ["AIRSTRIKE",WEST,"attack",500,false,[11346.4,18046.8,-3.8147e-06],1,0]
Module attachedTo always returns <Null-object> whether placed on ground (as it should) or on a unit.
The only thing I can find anywhere is to make sure the modules have curatorCanAttach = 1 and use attachedTo in the module init, both of which I have?
You need to set curatorCanAttach = 1
It is set in Module_Support_Base which Module_Support_Airstrike inherits from. Unless that property isn't being inherited?
I'm gonna feel really stupid when I get back to a computer and can check if it's just not being inherited.
Oh missed it there
Not sure then
Hello, is there a way to disable "GPS cross" on map while player is in some vehicle types?
sad
Is it possible to disable turrets on a vehicle? I want to disable the turrets on the ghosthawk, i.e so people don't get the option to jump on them. Would I just set the gun definition in the config to be gun = ""; or is it more complicated than that?
Yeah, no, that definitely doesn't work. Ended up getting a "no bin config model" error
Have a bug where my rifle squads (8-man) are not showing up but my fire teams (4-man) are showing up in Zeus. Anyone had that issue before or have a potential solution?
Generally units only show up in zeus when you add them to editable objects.
Oh, you mean not showing up in the right-hand menu?
Right hand menu yeah
That sounds like either the units[] array (or other arrays?) in CfgPatches or scopeCurator
Haven't added squads so I'm not entirely certain, but those are the usual culprits for stuff not appearing in Zeus
See below too, his is probably better
I think he's talking about groups (CfgGroups). Interestingly enough, groups don't have scopeCurator, nor are they included in the units[] array in CfgPatches. All the units in the group need to exist of course.
Just make sure the group in question is defined under the appropriate side class (e.g. class INDEP, class WEST, etc), it has the right faction assigned (faction = xxx), and the side is right (side = x).
(I say all this as not an expert at all, but just from my experience of what I had to do/add/change when adding my own groups)
for pylon weapons with salvo = 2, I have a helicopter with 4 guns but only the first two fire till they run out of ammo and then the next two do, does anyone know if its a engine limitation that only 2 pylons can be fired at once?
ahhhhhhhhhh im so stupid I didnt put it in fire mode I was putting it in the base of the weapon my bad
Yeah youāre right on it being CfgGroups. Oh well. I appreciate the advice but I guess Iām just going to have to go through it with a fine-toothed comb.
Any config gods out there that are good with functions and stuff? I'm trying to adapt an AFV/tank loader system from an IFA3 mod onto vehicles my community uses but I have absolutely no clue what im doing.
the original creator no longer plays arma but gave me full permission to go through his pbo and adapt everything i just have 0 knowledge on what to do lol
Is there a quicker way to test mods without needing to load them as Local mods?
Depends what you're trying to test, but you'll probably have to start Arma at some point...
Okay. Wasn't sure if you could load a player in an empty virtual reality world and test stuff like fov config changes
If you mean testing config without having to restart Arma then there's diag_mergeConfigFile in the diagnostic branch, but I'm not sure it works for everything.
File patching is something too and I'm not sure what (tell me).
File patching doesn't work for config.
What is it?
It allows you to map files outside the PBO into Arma's virtual file system.
This can enable you to change functions without restarting Arma.
Well, it still applies to config, but config is normally compiled on launch, so you still have to restart Arma. File patching just saves you from having to rebuild the PBOs in that case.
out of pure curiosity
would anyone happen to have ever made a dart like round that acts like a rocket
What about making a CBA setting for something like a config files OpticsZoom values?
Is that possible?
I've never done a mod with values you could tweak before.
No
Left side has a fuckup around line 7.
bracket?
Completely missing class & inheritance statement as far as I can tell.
There's just an unattached open bracket.
Also 3AS_H_CloneP2_F is used twice despite being undefined.
well, three times if you include the one on the right side.
If this is Star Wars stuff then I don't think we're allowed to support it anyway.
Fair enough
In case of a dedicated server, where are mission's files stored when a player joins ?
I mean when the files are stored in the mission pbo, does the player receives the files somewhere on the disk or does it remain on the ram ?
They remain on disk, there's an mpcache(?) folder next to your profiles iirc
Been a while since I looked
I think i found it C:\Users\USERNAME\Documents\Arma 3 - Other Profiles\Aryes\Saved\mpmissions
i'll test it to be sure
I'm pretty sure it's in %localappdata%\Arma 3\MPMissionsCache
Yeah it's that one
does adding pylons increase a vehicles weight?
like a super heavy pylon will make helicopter heavier and thus slower?
I believe only with the helicopter advanced flight model.
ah okay
Ded recently talked about it and it seems only to be considered in AFM, yes
What are the main factors and settings in Arma 3 that contribute to FPS loss?
AI overload, particles, shadows, assets without proper resolution LOD's. Probably a few other design considerations related to maps too.
Is it the high concentration of individual AI or groups?
Or to put it another way. Is lots of AI groups more taxing than lots of ungrouped AI.
ungrouped AI doesn't exist.
AI is always in a group.
By ungrouped, you probably mean a unit that is alone in its group.
Which, equates to more groups
AI's a simulated group-wise, more groups, more bad
The next one is view distance (obviously?), and number of vehicles (Especially physx vehicles and helicopters are expensive)
If they are deco objects, they should not be simulated
Should I set every unit to limit by object view distance?
So far I set most enemy units to enable dynamic simulation, all static objects and structures to disabled simulation etc.
That's not a thing
Also units are objects anyways
Just asking. Since it's a setting in the visibility tab.
is there a way to say the opposite of __has_include
similar to an != check for an if statement
I did it I think
nothing
#else
thing
#endif```
I just tested this again because I didn't believe my own old results, but for the same number of AIs, larger groups (8) are slower than smaller groups (2). Maybe something really bad in the formation logic.
Or
#if __has_include("thing to check") == 0
thing
#endif
It's just what dedmen said lol
You opened the cryptic code of dedmen and showed a miracle.
Wasn't in a code block so it was illegible
can anyone help me with making a ammo type mod for arma 3 its APDS-ET Armor-Piercing Discarding Sabot Explosive Tracer round for the Mosin Nagant using 7.62x54mmR as the base cartridge, i have the code for it but i don't know what to do now
The stuff?
code for the mod
In that case you probably want this: https://community.bistudio.com/wiki/Arma_3:_Creating_an_Addon
i am confused i am new to modding i used deep seek ai to build the code for the ammo. currently i am looking into how to get the model of the normal ammo for that mosin uses in the files so i could copy it and use it as a place holder and just have the ammo do big damage
Don't do that. It doesn't know how to do anything like that properly.
i check its c++ file and i was going into detail with it some of my buddys use it
i do see your point though
What are you trying to get it to do?
Can you send the file here?
i am trying to use it in game.
A some of it is fine, but it has no idea what it's doing. I think it would be faster to do it manually than try to understand whatever it did and fix it.
i see does it have to be in order
What has to be in order?
First of all, there should only be one file, a config.cpp in the PBO.
also i am trying to look for a stripper clip model with bullets attach to it. in the files so i could use it as a place holder
i see
so what do i do with the rest
You don't need to do anything with models at all. Just don't specify a model at all and it will have the same model as the thing you're inheriting from.
The only properties that should be defined in the config are ones that you're changing from the thing you're inheriting from.
i see
so how do i start the process of doing that.
Start by deleting everything that AI gave you.
let me guess you want me to try to make it by myself
Either you're going to do it by yourself or you're going to get somebody else to do it.
AI will not (can not really) be of any useful help.
is there a channel in this server to make a mod request?
There's a joke that they're going to make a mod request channel where the bot immediately deletes every message.
The other joke is the gif of the printer feeding straight into a shredder with the text "your request has been forwarded to the mod making department."
#creators_recruiting is the closest.
lol
People will help you, a lot, but they generally won't do random stuff for random people for free (and paying for mods is illegal).
dang fr
When i look at the exterior sound config of the offroad, i seesoundSetsExt[] = {"Offroad_01_Engine_RPM0_EXT_SoundSet","Offroad_01_Engine_RPM1_EXT_SoundSet","Offroad_01_Engine_RPM2_EXT_SoundSet","Offroad_01_Engine_RPM3_EXT_SoundSet","Offroad_01_Engine_RPM4_EXT_SoundSet","Offroad_01_Rattling_EXT_SoundSet","Offroad_01_Stress_EXT_SoundSet","Offroad_01_Rain_EXT_SoundSet","Offroad_01_Tires_Rock_Fast_EXT_SoundSet","Offroad_01_Tires_Grass_Fast_EXT_SoundSet","Offroad_01_Tires_Sand_Fast_EXT_SoundSet","Offroad_01_Tires_Gravel_Fast_EXT_SoundSet","Offroad_01_Tires_Mud_Fast_EXT_SoundSet","Offroad_01_Tires_Asphalt_Fast_EXT_SoundSet","Offroad_01_Tires_Water_Fast_EXT_SoundSet","Offroad_01_Tires_Rock_Slow_EXT_SoundSet","Offroad_01_Tires_Grass_Slow_EXT_SoundSet","Offroad_01_Tires_Sand_Slow_EXT_SoundSet","Offroad_01_Tires_Gravel_Slow_EXT_SoundSet","Offroad_01_Tires_Mud_Slow_EXT_SoundSet","Offroad_01_Tires_Asphalt_Slow_EXT_SoundSet","Offroad_01_Tires_Water_Slow_EXT_SoundSet","Offroad_01_Tires_Turn_Hard_EXT_SoundSet","Offroad_01_Tires_Turn_Soft_EXT_SoundSet","Offroad_01_Tires_Brake_Hard_EXT_SoundSet","Offroad_01_Tires_Brake_Soft_EXT_SoundSet","","Tires_Movement_Dirt_Ext_01_SoundSet","Van_02_PoliceSiren_01_Ext_SoundSet"};
How does the game know which one it has to play at which moment ?
is it me or it looks like its repeatiing itself
i might be wrong
The sound set / shader config (can't remember which, probably shader) has conditions for when they play
Should all be different
There's ones for different terrain types, rpm, weather, etc
oh i see
Hey, does anyone know what value in a weapon's config determines if it's a pistol or a rifle?
I'm trying to take an existing grenade launcher and create a version of it that can go in the hand-gun slot. The original inherits from Rifle_Base_F, which inherits from Rifle, which inherits from Default.
Maybe I'm blind but I'm just not seeing anything that sticks out as "make this a pistol/rifle" š
type
Perfect, thanks!
Ok I see now, thank you very much ^^
This is unlikely to work nicely as the pistol holding pose and rifle holding pose are completely different and the animations for weapons are made for specific pose.
yeah, I've butted into that issue just now. Unfortunately trying to use existing animations or poses isn't working well. I will have to do more custom work than I'd hoped š©
perhaps I am missing something but for maverick pylon what determines the order that the missiles are fired in? mirrorMissilesIndexes?
I have 5 proxies all in a line, 1,2,3,4,5 left to right. I want the fire order to be 1,5,2,4,3 which I have mirrorMissilesIndexes[] = {1,5,2,4,3}; but the drop order becomes the 4th proxy, 2nd, 1st,3rd, 5th
like how I think teh 3x AGM has it where the bottom missile goes first, then the other two later. I just removed mirrorMissilesIndexes and changed the ordering of the proxies ids a bit and that worked 
Hey all, I have noticed a WEIRD error on an old or custom terrain that has OVERFLOWD issue when loading up the terrain plus the below mod, or the author's other mods CAPSULE or SONUS, which works with every single terrain so far.
The terrain's config.cpp shows the sound configs are OUTSIDE of the TERRAIN CLASS, and when I MOVE or NEST it back in, the compatibility goes away such as:
class TERRAIN: CAWorld
{
class CfgEnvSpatialSounds;
class CfgEnvSounds;
class EnvSounds: CfgEnvSounds
{
};
}
But, the terrain NAME does not show up any longer within ARMA map selector or Editor to use.
Is there another way to this config issue?
https://steamcommunity.com/workshop/filedetails/?id=1923321700
can pylon pods that are flares/chaff have the flares/chaff come from the pylon it self and not the normal spot on helicopters/planes?
You probably overwrite the terrains config and break it.
I am new at this so how would I fix it? Just repack the PBO with terrain builder or would I need the source files to point back to the sound classes?
Terrain builder is of no use to you and repacking the existing mods contents is not the right way to do anything.
You'll need to set up a proper config patch mod that loads after the original.
This is done by setting up the requiredAddons of your mod to list the original mod
Anyone know what pbo does the special purpose helmet place at?
characters_f_exp.pbo
Look in the .../opfor/ folder for the model + textures.
thank you
A bit of a stab in the dark with this one, but without any mention of CSComponent_2 in the .xml file. I'm trying to figure out why it keeps looking for this second Control Systems Component which isn't referenced anywhere in the file. Does anyone know or understand even a bit of the RTDynamics stuff or do I have to write to them directly?
The entire ControlSystem tag is taken from the wiki at:
https://community.bistudio.com/wiki/Helicopter_Flight_Model_Config_(XML)#Control_Systems
For reference, I'm currently looking at adding AFM to a few certain Helicopters that don't have it enabled.
I'm guessing there is a spelling mistake in the biki
"CSomponent" should be "CSComponent"?
anyone know which pbo do I find Special Purpose Suit (Hex) (U_O_V_Soldier_Viper_hex_F)
characters_f_exp
thanks, I guess most gear id are in characters_f_exp.
You don't need to open PBOs to find classnames, anyways
I know, I try to how to find code in editor mode. Also, do you know how make uniform virtually undetectable on both infrared sensors and thermal optics like Special Purpose Suit?
In Arsenal, equip the suit. You'll see the classname in the bottom line of tooltip
Thermal color is defined in RVMAT
there is no RVMAT.
It is defined in model itself. You can probably overwrite it via hiddenSelectionsMaterial
Also, you should to look for CfgVehicles part of that uniform regards to how it does actually look
I find the code CfgVehicles, But I have no idea where to look.
Again it is defined in RVMAT, which is defined in model itself. What are you actually trying to achieve?
I try to make a mod uniform virtually undetectable on both infrared sensors and thermal optics like Special Purpose Suit.
I'm new to arma 3 modding, so now I going to research About RVMAT first.
thanks for help.
- Find RVMATs from the corresponded uniform
- Tweak Thermal related params (can't recall rn)
- Apply your RVMAT using hiddenSelectionsMaterials[] and make a correct config
- Use it as a Mod
Fixed, thanks
Hello everyone, I'm hoping to get some clarification on certain config parameters.
When using ACE_SelfActions to add an interaction to the players, if I want them to require them to be wearing a specific vest/facewear/backpack in order to access the action, should I use requireItem or something else?
ACE actions is a ACE specific system. Refer to their documentation
I'm not aware of them having a "requireItem", they just have the scripted condition
my bad I was refering to the ACE_common_fnc_hasItem function. But from reading their wiki I'm unsure whether it would work for my purposes
You don't need to do that, just check vest _player == "..." (or _target, depending on what you're doing)
hasItem is primarily for inventory items, so it fetches stuff from a unit's whole loadout
Alright, so In the vest _player == "..." I assume I can add more than one classname by separating with commas?
No, you'd use an array
vest _player in ["foo", "bar", ...]
in is also case-sensitive, e.g. "a" in ["A"]; // false, though you could just use fully lowercase to get around it
toLowerANSI (vest_player) in ["foo", "bar"]. This is all scripting though, and should have stayed in #arma3_scripting
my bad chief
I think that also goes for the FCSComponent further down as well
Regardless, fixed them both and still same error. Tried the ControlSystem from another modded frame that has a working AFM and same error. Tried a vanilla ControlSystem from the heli_light_01.xml and still the same error, must be somewhere outwith the ControlSystem tag despite it pointing to it?
Meaning this on Biki
If you want us to check over your code for errors you can post it on pastebin or similar
Sure, gimme a sec
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.
I'll do a quick comparison against one of my rtd.xml's
I have this instead <ModelConfiguration maxIntegrationStepSizeDeg="1.0" />
I'll give that a shot š
You're missing an <InducedVelocityTable> - not sure if needed, but I have them
Also missing <VortexRingState>
Looking at the other .xml files they both include them
I'm starting to think this was a bare bones file š
It seemed ok up to <AerodynamicFeatures> and then missed those two mentioned
Seems pretty critical...
I'll add in those 2 tags and see what sticks, cheers Apollo
You're welcome. Although I think from experience that unless you have the p3d model accessible too and can measure CofG and check it has the necessary rtd_center memory point, that you'll struggle with just editing the xml.
Hm, was afraid of that. Unfortunately I don't have access to the unbinarized model and I can assume trial and error might be a long winded option...
Almost impossible unfortunately. Setting up the geometry params at the start relating to those two p3d features, and in fact being able to move CofG around, changes everything, and can definitely result in that kind of nose-diving action. Personally I wouldn't attempt it without the model. (experience with adding AFM to around 7 or 8 heli's so far).
Fair enough, if in the absolutely impossibly rare case I get access to the model, I'd have a bash. But you're quite right, I'll try a couple more things and call it a day
What if the corresponded uniform don't have RVMATs ?
They do. If you mean you can't see hiddenSelectionsMaterials, you add
99% of anything won't have a hiddenSelectionsMaterials defined. It's only needed when you want to change what's defined in the p3d
Try to add a ffv postion to my vehicle, config and model proxy id is like this, but the ffv gunner sitting in the same seat as driver? Why it not idenitfy the index of the cargo proxy?
You show an index of 1 in the p3d, but proxyIndex = 2; in the code.
1 makes it go to driver's seat, 2 makes it go no where float on the air.
wait sec i will take some screenshots
This is what happened proxyindex=1, the gunner goes to driver's seat.
index=2 the gunner not even found a sest.
Maybe the "simulation variable" is some component in the model?
Check where MainRotor/A1 is referenced?
I don't know how that works.
How would one measure CofG?
Can potentially do that with script on the model
In Object Builder, in the Geometry LOD, switch off D3D and you'll see a cross hair showing the CofG for items selected.
Center of Gravity?
The engine has that info. Could just add that to https://community.bistudio.com/wiki/getModelInfo
Probably more accurately called "Centre of Mass" these days. Works on the whole model or on just the components you select.
Necessary for getting good vehicle performance.
Try changing your proxy (rename) to this:
\a3\data_f\proxies\passenger_apc_generic01\Cargo, with index 1.
In your FFV turret code use:
proxyIndex = 1;```
Would it be substantially different to getCenterOfMass?
I suppose it would always get the original CoM and not a value that could be "contaminated" by setCenterOfMass
That returns the physx COM. Not the non-physx one.
But I guess it shouldn't matter, and for helisim you want the physx one anyway
Can you explain how there can be a difference between non-physx and physx COM, as there is only mass set in the Geometry (non-physx) LOD please?
no
What's the reason you can't explain?
(it's a secret? you don't know? you don't have time?)
time
{
class Man;
class CAManBase : Man
{
class ACE_SelfActions
{
class SC_Test
{
displayName = "Test Action";
condition = "";
statement = "hint 'Test action executed!';";
};
};
};
};```
Does anyone know why this action isn't appearing in the ace self interaction menu? I'm trying to add the action via config, referencing the ACE wiki, but I can't seem to figure out my mistake
If you look at your rpt, you'll see "Bad condition return" from ACE, condition = "" doesn't return a true or false value
This is also still scripting, even though you're putting it in config
I'm sorry, I don't know how to tell them appart lol
where can i find some documentation on how to make a mod have soft compatibility with another mod?
That entirely depends on what you mean by "soft compatibility" and whatever mod you're making a compat for
If its just new config properties that they add, you can just define them normally, it just wouldn't do anything.
If its more complicated, you can make a separate addon that requires the one you're making a compat for and your addon and set it to skipWhenMissingDependencies = 1
i assume 'skipWhenMissingDependencies = 1' goes under the same class as 'requiredVersion' and requiredAddons[] = {};'?
Yes its a CfgPatches entry
Does anyone know why my gunner keeps firing at a set distance (eg. 100 meters) which is set by the discreteDistanceIndex and refuses to zero the gun accordingly ?
{
class Default;
class CannonCore;
class cannon_125mm;
class INGSOC_2A46_2 : cannon_125mm {
displayName="2A46-2";
displayNameShort="125mm";
magazines[] = {"24Rnd_125mm_APFSDS_T_Red", "12Rnd_125mm_HE_T_Red", "1Rnd_125mm_9M112_Kobra"};
nameSound = "cannon";
ballisticsComputer=16;
reloadTime=9;
magazineReloadTime=16;
autoReload = 1;
FCSMaxLeadSpeed = 25;
FCSZeroingDelay = 1;
aiDispersionCoefY = 2;
aiDispersionCoefX = 2;
modes[] = {"player", "close", "short", "medium", "far"};```
This is part of my main gun cfg
This my turret and it's FCS
Does anyone know what mapSize does in a vehicle config please?
(It doesn't appear to change the size of the asset icon displayed on the map)
.. another question. Can I use BIS_fnc_setUnitInsignia in a config.cpp for playable units in a faction and make the insignia work in multiplayer?
for bisurf, on friction value, is it a 0 to 1 value?
When i look at the config of the powler i see
frequency = "1 * (1 + 0.8 * (((1+0.1*1 *thrust) * ((1-0.9 ) * (speed factor [0, 35]) + 0.9 * (rpm factor [200, 4500])) - 0.2*((abs(speed)) factor [2, 6]) + 0.2*((abs(speed)) factor [0, 4])*((abs(speed)) factor [0, 4]) - 0.3 * (1 - 1 *thrust)*((1-0.9 ) * (speed factor [0, 35]) + 0.9 * (rpm factor [200, 4500])) - 0.2*((abs(speed)) factor [2, 6]) + 0.2*((abs(speed)) factor [0, 4])*((abs(speed)) factor [0, 4])) + 0.5*(speed factor[0.3,0]) * ((angVelocity factor[0,0.8]) - (rpm factor [200, 4500])) - 0))"; Is there a script or a function to calculate this ?
LAxemann explains it a bit here, though it's a bit of a mess to work with:
#arma3_audio message
hey there yall, im trying to modify the misriah armory ODST vests to make their containerClass's Supply500 as opposed to Supply200 and yet, whenever I try to make my own version of the vest and get it into the ace arsenal nothing appears. I've been working on this for like 5 hours using google, chatgpt, every possible resource i could've used before coming here.
I'm very confused and don't really know why the vest wouldn't be appearing in the ace arsenal when a custom uniform (to make the same containerClass change) appears perfectly fine.
Below is my config.cpp
class CfgPatches
{
class 122NC_customContent
{
author = "122nd Nova Company";
requiredAddons[] = {
"A3_Characters_F",
"MA_Armor"
};
requiredVersion = 0.1;
units[] = {
};
weapons[] = {
"M52_ODST_Vest_Base_122",
"M52_ODST_Vest_Standard_A_122",
"MA_Marine_BDU_ODST_HJ_122"
};
};
};
class CfgVehicles
{
#include "Vehicles\Backpacks.hpp"
};
class CfgWeapons
{
class HeadgearItem;
class ItemCore;
class InventoryItem_Base_F;
class VestItem;
class V_PlateCarrier1_rgr;
class U_B_CombatUniform_mcam;
class UniformItem;
class NVGoggles;
class HitPoints;
class Uniform_Base : ItemCore
{
class ItemInfo;
};
#include "Weapons\Helmets.hpp"
#include "Weapons\Vests.hpp"
#include "Weapons\Uniforms.hpp"
};
Sorry for the wall of text
Your config.cpp on its own doesn't tell us much about what's wrong with your config. You need to show what's in your header files (.hpp) as well, since that's where you seem to have defined your vest classes.
thanks for the advice, thanks to you i found the appropriate function https://community.bistudio.com/wiki/getSoundControllerResult
Before 3DEN was introduced, it defined the size of the map icons for objects in A3's old school 2D mission editor. Nowadays, its only for OFP/A1/A2 and isn't made use of anywhere in A3 even though the token's still defined for various vehicles AFAIK (see the difference when the size is changed for A2 backpacks, for instance):
class Bag_Base_EP1;
class USBasicBag: Bag_Base_EP1
{
mapSize = 10;
};
class US_UAV_Pack_EP1: Bag_Base_EP1
{
mapSize = 0.5;
};
class Tripod_Bag: Bag_Base_EP1
{
mapSize = 5;
};
I could be wrong, of course. I wouldn't be surprised if some obscure part of A3 still references the token...
Now what does range = "1.5*210"; represents in the CfgSoundShader of the sounds of the offroad config ? I mean what is its unit ? 1.5*210 = 315 but 315 what ?
fair, just didnt want to flood the chat, should I post in a pastebin?
That would be ideal, yes.
i think its probably the range we can hear the sound
Why are you manually defining all this instead of inheriting from an MA class and only changing what you need?
because i tried that and it still didnt work
the class was being created, it just wasn't showing in the ace arsenal
I would inherit from MA_Base and then try to modify the ItemInfo by doing what they did:
class ItemInfo : ItemInfo
{
....
};
But i would get "ItemInfo has not been declared" or whatever in AddonBuilder
That would be because something was wrong with how you were doing it, not because inheriting from MA is the wrong thing to do
ive rewrote it four times my dude, idk what im doing wrong if thats the case
im doing it the exact same way MA is doing it, yet nothing is appearing in ace3 arsenal
Have you confirmed that your mod is actually being loaded?
yes, the uniform that i've created via the same mod loads in the ace arsenal
Thanks drebin, nice to have confirmation that it's almost certainly obsolete in A3.
I do find the map icons to be terribly small though, almost to the point of un-recognisability, so wish we could influence their size.
This pastebin contains 2 alternate CfgVehicles. The first one creates a new hidden base class with 500 cargo, and a visible class derived from that; the second one simply modifies the existing MA classes without creating any new classes. https://pastebin.com/Vu6yBGPg
im confused
ItemInfo already exists in the base class for MA, but when I inherit from it originally it tells me it doesn't
Your config has to explicitly acknowledge that it exists, and also where they got it from, otherwise it's treated as changing the inheritance rather than continuing it
If you look at the config I posted, you can see how I'm mentioning the class MA inherits from, describing how MA inherits from that, and then inheriting into the new class
so that doesn't redefine the class? It just expands upon it?
or wai
okay i get you now
its creating references to the already defined classes from Misriah Armory
now here's an issue
M52_ODST_Vest_Base's ItemInfo inherits from Vest_Base and then the M52_ODST_Vest_CQB's ItemInfo inherits from ItemInfo
not sure how that's working..
M52_ODST_Vest_CQB is inheriting from M52_ODST_Vest_Base
right, but the M52_ODST_Vest_Base's ItemInfo inherits from VestBase
not ItemInfo
wouldn't that conflict?
just trying to wrap my head around things
Why would it be a conflict?
idk thats why im asking
for context i come from C, this style of config editing is not something im used to
having things named the same way but defined differently messes with my brain
VestItem is defined by BI. This is a basic layout of the itemInfo subclass, preloaded with a few values that set this up to be a vest-type item.
M52_ODST_Vest_Base then defines its ItemInfo as inheriting from VestItem, meaning any values not explicitly defined in M52_ODST_Vest_Base >> ItemInfo will be the same as they are in VestItem.
M52_ODST_Vest_CQB then defines its ItemInfo as inheriting from M52_ODST_Vest_Base >> ItemInfo, meaning any values not explicitly defined in M52_ODST_Vest_CQB >> ItemInfo will be the same as they are in M52_ODST_Vest_Base >> ItemInfo.
right, so when you do ItemInfo : ItemInfo you're inheriting from the parents item info?
(my example CfgVehicles is slightly wrong; I assumed they inherited the M52_ODST_Vest_Base >> ItemInfo from v_platecarrier1_rgr, since that's the direct parent class, rather than inheriting directly from VestItem, but it makes no functional difference since M52_ODST_Vest_Base >> ItemInfo explicitly defines all of the important properties anyway.)
Yes
okay
class M52_ODST_Vest_Base;
class M52_ODST_Vest_CQB : M52_ODST_Vest_Base
{
class ItemInfo : ItemInfo
{
};
};
So I would need to define ItemInfo somewhere here then
Yes, because you're trying to inherit a class without mentioning that class first
like ```cpp
class M52_ODST_Vest_Base
{
class ItemInfo : VestItem{}; // ?
};
or
class M52_ODST_Vest_Base;
class ItemInfo;
sorry if im being a pain, im just trying to understand everything clearly
Updated paste: https://pastebin.com/K5CwE07F
Again, two alternate CfgWeapons. The first one shows a new class derived from the MA base class; the second one shows modification of the existing MA base class.
will relay if it works
Actually, in the first case, you can completely omit the reference to VestItem:
class v_platecarrier1_rgr;
class m52_odst_vest_base : v_platecarrier1_rgr
{
class ItemInfo;
};
class 122_m52_odst_vest_500_base : m52_odst_vest_base
{ // ...```
It's still needed in the second case, because you're going back one level of inheritance.
okay wait
so if i just do the above and omit the base class that you've made
I'll have to do class ItemInfo : VestItem?
in 122_m52_odst_vest_standard_a_500?
If you want to have all your live classes inherit from m52_odst_vest_base, instead of having your own 500-cargo base class and inheriting from that, then you just...remove the 500-cargo base class and move everything else up one level. You still don't need to reference VestItem, because the inheritance from m52_odst_vest_base makes that implicit (you inherit from m52_odst_vest_base, and the game knows where that came from).
If you want to modify the MA classes (as in the second CfgWeapons in the paste), you do need to reference vestItem, because you're one level further back in the inheritance chain, and you need to be explicit about where you're inheriting from.
class M52_ODST_Vest_Base
{
class ItemInfo;
};
class M52_ODST_Vest_Standard_A : M52_ODST_Vest_Base
{
scope = 2;
scopeArsenal = 2;
author = "122nd Nova Company";
displayName = "[122NC] M56D Vest (Standard A)";
class ItemInfo : ItemInfo
{
containerClass = "Supply500";
};
};
like that or?
class M52_ODST_Vest_Base
{
class ItemInfo;
};
class M52_ODST_Vest_Standard_A : M52_ODST_Vest_Base
{
scope = 2;
scopeArsenal = 2;
author = "122nd Nova Company";
displayName = "[122NC] M56D Vest (Standard A)";
class ItemInfo : VestItem
{
containerClass = "Supply500";
};
};
i omited hidden selections for the purpose of not flooding chat
but they are present in my file
I tested with option 1 and it did not show up in Arsenal
The first one. You're inheriting from the M52 base ItemInfo, not directly from VestItem.
forgot to change class name smfh wait 1
You should include a unique prefix in your classnames to avoid potential conflict with other mods. That's why the example ones start with 122. (The original mod didn't do it, but they should have.)
If you don't need to ever use a 200-cargo version of this vest, and you'll only use the 500-cargo ones once they're added, then I'd recommend using the second solution shown in the paste (modifying the MA base class) because it's much simpler. All you need to do is what's shown in that second CfgWeapons, and all MA M52 classes will automatically be 500-cargo - no new classnames, no need to define a bunch of classes.
well i'd still need to do the hidden selections and stuff for the different armors wouldn't i?
also
didn't work
not showing up in ace arsenal
checking for definition in game works
but no arsenal
If you wanted to make new variants, yes, but the existing variants would still exist and would automatically be 500-cargo.
My implementation works. I have it loaded right now.
so all of the Misriah Armory from their addon would be 500 supply? Therefore I wouldn't need to create my own classes for the armors?
let me do yours then
All of the ones that inherit from M52_ODST_vest_base, yes
If you wanted to change types that inherit from other base classes, you'd just do...the same thing with the different base class name
how does that work?
if you're creating a new class that inherits from the base and changes the containerClass how does that propogate to the classes that already exist under M52_ODST_Vest_Base?
or am i misunderstanding
I keep referring to "the second CfgWeapons in the paste" and I'm not sure you've actually read it :U
OH
sorry
im tunnel visioned rn apologies
i guess i could try and do the same with the uniforms as well, then
it didn't work šš
can you join VC so I can show you what im doing, because im at a loss for words now
if thats a possibility
It'd be better to just show your config, that's the important part and I'd rather read that in text format
class CfgPatches
{
class 122NC_customContent
{
author = "122nd Nova Company";
requiredAddons[] = {
"A3_Characters_F",
"MA_Armor"
};
requiredVersion = 0.1;
units[] = {
};
weapons[] = {
"122_MA_Marine_BDU_ODST_HJ"
};
};
};
class CfgVehicles
{
#include "Vehicles\Backpacks.hpp"
};
class CfgWeapons
{
class HeadgearItem;
class ItemCore;
class InventoryItem_Base_F;
class V_PlateCarrier1_rgr;
class VestItem;
class U_B_CombatUniform_mcam;
class UniformItem;
class NVGoggles;
class HitPoints;
class Uniform_Base : ItemCore
{
class ItemInfo;
};
#include "Weapons\Helmets.hpp"
#include "Weapons\Vests.hpp"
#include "Weapons\Uniforms.hpp"
};
class M52_ODST_Vest_Base : V_PlateCarrier1_rgr
{
class ItemInfo : VestItem
{
containerClass = "Supply500";
};
};
do I have to remove the mod from the load order and then manually re-add in order for the changes to hit or something?
ive recompiled the PBO
saved in proper destination
No. You do need to restart the game.
im GOING TO FUCKIGN SCREAM
ITS BEEN SAVING OUTSIDE THE MOD
MSDFSDF
wait
no ite hasnt
wtf
If this is the folder you're actually loading the mod from, remove everything except the single PBO containing the latest version you want to use. Don't leave duplicate PBOs lying around in subfolders or whatever. Don't give any opportunity for the game to confuse itself.
its not
this is
its still not working setting the base class's containerClass to 500
im lost
Well, I'm looking at the "date modified" on that PBO, and it's raising some questions
sigh\
i was saving the pbo into the wrong destination
let me see if thats finally fixed it lmfao
yup that did it š
thanks for your help and having patience with my dumb ah
BIS_fnc_setUnitInsignia is a SQF function. It will work regardless were it's placed as long as you can get the object reference of the soldier.
The only place that would make sense in a config.cpp is inside a init eventhandler
@jade brook That's what I thought. Thanks!
I have a question. Iām configuring a helicopter that has a fixed cannon mounted on the left pylon, which cannot rotate.
When using the cannon in third-person view, a crosshair appears, but the actual impact point of the rounds is always higher than the crosshair (this also causes AI fire to always land high).
How can I make the crosshair align with the cannonās actual impact point?
with the basic crosshair you cant. its drawn to infinity from your eye point
so the more offset from eyes a weapon is the more offset the hit and crosshair has
because the hit stops at surface but the crosshair is drawn beyond the surface
I tested the vanilla AH-9 helicopterās minigun and found that it behaves the same way: the impact point is slightly below the crosshair. This might be caused by bullet drop at longer distances? This also indeed makes it hard for the AI to hit targets accurately, but possibly because the AI is constantly adjusting the helicopterās pitch up and down, around 20% of the shots still manage to hit the target. Was this an intentional design tolerance?
I'm trying to inhert a shotgun into my addon, and make it use a the launcher slot instead of the primary slot, so far, Its in the launcher slot of the arsenal but it ends up in my primary slot when I load in
Slot type is partly controlled by what kind of ammo the weapon fires. The only kind of ammo allowed in a launcher slot is Rocket and Missile (determined by its Simulation config attribute)
So .. silly question .. do you have to build your addon with the Addon Builder everytime for Arma to read it, or is there a way to have it read unPBO'd files?
You can get around this though if you create a blank rocket round and add a fired event handler to the launcher that replaces it with the ammo you actually want it to fire
Or use submunitions
Currently using a āØāØāØāØāØāØshotIlluminatingā©ā©ā©ā©ā©ā© ammo for some hand flares but I have some issues:
- The light isn't visible at all in the day. It's using āØāØāØāØāØāØ
effectFlare = "FlareShell";ā©ā©ā©ā©ā©ā© The vanilla āØāØāØāØāØāØFlareLightā©ā©ā© (from FlareShell)ā©ā©ā© class already has āØāØāØāØāØāØdayLight = 1;ā©ā©ā©ā©ā©ā© so not sure why it isn't showing when it seemingly should. The grenade is deleted (maybe killed?) after it hits the ground, which means I can't pick it back up with ACE's advanced throwing. Not the end of the world but I'd like to be able to move themACE only checks specific classes, which makes sense: https://github.com/acemod/ACE3/blob/master/addons/advanced_throwing/functions/fnc_renderPickUpInteraction.sqf#L29-L31- I can't add any of the smoke grenade sounds since it's "not a smoke grenade". Not a big deal but not preferable but the lighting is more important to me personally.
Was hoping someone who's messed with them more has some ideas on how to remedy them
I'm also using āØshotIlluminatingā© because it seems to give much better lighting effects compared to a normal flare, I like the harsh lighting it seems to give (couldn't get it like this without switching the sim)
I believe the way to get the harsh lighting effect is to turn the ambient light way down (or completely zero it) and only use the direct light
Slightly odd question, is there any way to add extra seats to a vehicle via the config if it doesn't already have the proxies for them (ie the existing cargo proxies are being used for other seats already)?
I'm aware that you can kinda add extra seats that are just spawned at what I'm assuming is 0, 0, 0 for the model, but I'd like to be able to position them.
Hm I'll try that, but not sure why it'd be different per simulation. Unless shotIllumination just doesn't use ambient light and only uses the main color, despite its effect still having it in config?
Doesn't seem like shotSmokeX wants to use a flare effect at all
āØ```cpp
flare = 1;
useFlare = 1;
flareSize = 5;
brightness = 10;
intensity = 10000;
lightColor[] = {0.5, 0.5, 0.5, 0.5};
effectFlare = "NCA_handFlare_effect"; // Same as FlareShell in config root, for testing
visibleFire = 2;
visibleFireTime = 0;
size = 1;
shadow = 0;
Lots of ammo config is ignored, depending on the simulation.
I'm aware, just trying to figure out how to have it create the light and smoke combo
ACE does flare/smoke combos with some scripting but trying to just do it via config because I don't want to PR a custom property for the ambient light
yeah that might not be possible. Maybe if you stacked submunitions with no spread.
So the thing turns into smoke+flare that drops in exactly the same place.
I'm not sure whether the submunition array is deterministic or random per submunition though.
I'd have to attach them too, and I don't think you can have two "layers" of attached objects
E.g. object A is attached to B, and B is attached to C
Probably laptop on table in tower too.
How can you attach a submunition to its parent, is there an event handler I can hook into that gives the submunition(s) and the parent?
I figured the parent gets deleted. But there is a submunitionCreated projectile event handler so you can pass on any info.
I figured I'd have the parent be the flare and then a submunition for the smoke
yeah that was not my idea and I doubt it'd work :P
So just have the parent be deleted and have two submunitions, one for light and one for smoke?
That was the idea. It probably doesn't work either but it has a chance.
Otherwise script methods should be straightforward, starting from the projectile init EH.
There are some vanilla artillery smoke munitions that create multiple smoke projectiles, as a starting point.
Are grenades a cfgweapon
I want to prevent the RGN grenade from being thrown so quickly.
Not really. They're ammunition for the Throw weapon.
Okay I was going to ask that next,
Im trying to determine where I am supposed to edit the config to find the variable for what determines the "reload time" of a grenade but surely it doesnt use āØmagazineReloadTime=ā©.. I think?
well, a specific muzzle for the Throw weapon. So there's a bit more control but I'm not sure you can do what you want.
You mean the time from pressing G to throwing, or the cooldown between "shots"?
Yeah because RGN can be thrown at a much more rapid pace than others, Im curious how this is determined
Which one?
āØmini_Grenadeā© Vanilla RGN hand grenade
Actually its all grenades not just this one
sorry
oh wait, you mean throw velocity rather than time?
No just the pace at which they can be fired, best compared to fire rate I guess
Not sure why I thought it was just RGN
Basically, I just want to prevent this
Yeah they seem identical to me.
I was thinking about doing some event handler for fired that checks if you use the "throw" - and maybe 2-3 second cooldown that deletes the projectile, and replaces the ammo when its thrown. Might be hacky, but if theres no such thing as "throw rate" (lol) I will have to do something like that
I can't replicate that behaviour in vanilla. You likely have a mod that's doing it.
Oh wow really? Dang..
Great....
I did wonder if having a primary weapon out clips the throw reload, but it's still 2.5 seconds in vanilla.
Interesting!
I have stamina off, shouldnt make a difference though
Unless...
Maybe it does š¤
Ill check that later. I will also check and see if a mod is increasing anim speed upon fired throw
I don't think it's anim speed. Vanilla grenade throwing has a huge delay after the throw.
magazineReload of 2.5 seems about right.
Anim looks... similar.
We use TSP animate and I know it modifies some animations. We also use PIR and it edits a lot as well, but you are right theres a greater delay in vanilla without mods. Might just need to load them one by one to find the culprit
I tested these and its not them. So its definitely some mod that changes the weapon config somewhere.
No. Never use unpbo files. They are not optimized for game play. Also never use addon builder. Sorry but it's a waste
I've got an issue where some players lose the contents of their backpacks, it doesn't happen to all players, just a few with a particular variant of a backpack from what I can tell, but it's not all at once for all of them. Is there something in a backpack config that could cause this kind of behaviour if not set up properly?
Does it happen when they enter some arsenal UI, or just when wandering around?
Im not talking about distributed addons, im talking about for development purposes.
After sorting a few hundred pbo's I found it
āØcpp class Throw: GrenadeLauncher { scope = 1; autoAimEnabled = 0; cursor = "EmptyCursor"; cursorAim = "throw"; value = 0; type = 0; displayName = "$STR_DN_THROW"; canDrop = 0; textureType = "semi"; magazineReloadTime = 0; reloadTime = 130; muzzles[] = {"RGNMuzzle","RGOMuzzle","RGD5Muzzle","RG42Muzzle","F1Muzzle","M67Muzzle","M68Muzzle","MK3A2Muzzle","KhattMuzzle","RDGMMuzzle","RDG2BMuzzle","RDG2CHMuzzle","M83WMuzzle","M18RMuzzle","M18GMuzzle","M18YMuzzle","M18VMuzzle","M16BMuzzle","M16OMuzzle","M14Muzzle","NSPDMuzzle","NSP_REDMuzzle","NSP_GREENMuzzle","NSP_YELLOWMuzzle","HandGrenade_Stone","HandGrenadeMuzzle","MiniGrenadeMuzzle","SmokeShellMuzzle","SmokeShellYellowMuzzle","SmokeShellGreenMuzzle","SmokeShellRedMuzzle","SmokeShellPurpleMuzzle","SmokeShellOrangeMuzzle","SmokeShellBlueMuzzle","ChemlightGreenMuzzle","ChemlightRedMuzzle","ChemlightYellowMuzzle","ChemlightBlueMuzzle","IRGrenade"}; class ThrowMuzzle: GrenadeLauncher { cursor = "EmptyCursor"; cursorAim = "throw"; sound[] = {"",0.000316,1}; reloadSound[] = {"",0.000316,1}; aiDispersionCoefX = 6; aiDispersionCoefY = 6; reloadTime = 130; magazineReloadTime = 0; enableAttack = 0; showEmpty = 0; autoReload = 1; modelOptics = ""; minRange = 10; minRangeProbab = 0.2; midRange = 45; midRangeProbab = 0.9; maxRange = 60; maxRangeProbab = 0.03; keepInInventory = 1; }; .....ā©
Was VTN mod overwriting every single grenade in the entire game š
Rest assured it definitely wasn't 130 second reload times even though that's what was defined š¤ .
Commenting out this block with a new config fixes it entirely
The vanilla grenades are āØmagazineReloadTime = 0;ā© according to config viewer but they apparently inherit the 3 second delay from āØGrenadeLauncherā© class
You can but like I said they aren't optimized so you won't get very good performance in game
Depending on what you do. Islands absolutely not. Everything is very slow. I like to pack everything with pboproject to sort out any errors first
What part(s) of vehicle config control the acceleration for a car?
I want to make a car accelerate to 100 km/h very quickly
You can increase the power, or adjust the gearbox / transmission
But its very finnicky. Might take a few tries to get exactly what you want and the car might roll out of control or other weird bugs
Okay, makes sense - Right now im just trying to create some modules in the editor.
The best thing I can say is it would be like trying to cut a 2x4 with a butter knife...it's not the optimum tool so why bother š
Okay, thanks for the heads up on that š
Heyo, got a question if someone got the time.
I am trying to create my own faction and have the vehicle below be in that faction in Editor and Zeus.
All works well and fine other of 1 thing, the commander and loader are spawned in as different units than the crew. The driver and gunner are āØAET_F_mapleSyrup_I_VLF_Crewmanā© but the commander and loader are āØrhs_msv_crew_commanderā©.
I assume it is prob inheriting it from from āØrhs_2s1_tvā©.
My question then:
How would I overwrite the commander and loader seats with the unit I want, because it seems to not be covered via āØtypicalCargoā© or āØcrewā©
āØ```cpp
class AET_F_mapleSyrup_I_VLF_2S1: rhs_2s1_tv
{
faction="AET_F_mapleSyrup_I_VLF_nomas";
side=2;
displayName="2S1";
hiddenSelectionsTextures[]={"rhsafrf\addons\rhs_2s1\data\rhs_2s1_dirty_hull_co.paa","rhsafrf\addons\rhs_2s1\data\rhs_2s1_dirty_turret_co.paa","rhsafrf\addons\rhs_2s1\data\rhs_2s1_dirty_suspension_co.paa","rhsafrf\addons\rhs_2s1\data\rhs_2s1_dirty_suspension_co.paa","rhsafrf\addons\rhs_2s1\data\rhs_2s1_dirty_suspension_co.paa","rhsafrf\addons\rhs_2s1\data\rhs_2s1_dirty_suspension_co.paa","rhsafrf\addons\rhs_2s1\data\rhs_2s1_dirty_suspension_co.paa","rhsafrf\addons\rhs_2s1\data\rhs_2s1_dirty_suspension_co.paa","rhsafrf\addons\rhs_2s1\data\rhs_2s1_dirty_suspension_co.paa","rhsafrf\addons\rhs_2s1\data\rhs_2s1_dirty_suspension_co.paa","rhsafrf\addons\rhs_2s1\data\rhs_2s1_dirty_suspension_co.paa","","","","","","","","","","rhsafrf\addons\rhs_decals\data\numbers\default\9_ca.paa","rhsafrf\addons\rhs_decals\data\numbers\default\2_ca.paa","rhsafrf\addons\rhs_decals\data\numbers\default\4_ca.paa","","","","","","","","","","rhsafrf\addons\rhs_decals\data\labels\platoon\romb_squared_ca.paa","rhsafrf\addons\rhs_decals\data\labels\platoon\romb_squared_ca.paa","","","",""};
crew="AET_F_mapleSyrup_I_VLF_Crewman";
typicalCargo[]={"AET_F_mapleSyrup_I_VLF_Crewman"};
};
Hehe š
Do you know of a good tutorial / write up on the file structure of addons? Im getting rather confused as to which files go where :/
IIRC it is defined in Turrets
It is, it's either āØcrewā© or āØgunnerTypeā©
there is just one important file in regards of positioning @rancid minnow ... the config.cpp
the rest is 100% up to you
Apologies for the late response. Just when wandering around during a mission, no particular pattern to it
for file paths that have the letter n starting a word, would i have to use āØ\\ā© instead of āØ\ā©?
I keep getting this error when trying to load my āØXEH_preStart.sqfā© file:
āØ```
Script \z
ovaCompanyContent\addons
ova_medical\XEH_preStart.sqf not found
āØ```
class Extended_PreStart_EventHandlers
{
class nova_medical
{
init = "call compile preprocessFileLineNumbers '\z\novaCompanyContent\addons\nova_medical\XEH_preStart.sqf'";
};
};
forgot to send
should I also be using compileScript or compiler preprocessFileLineNumbers?
CBA/ace uses -> compileScript
āØ```sqf
init = "call compileScript ['\x\myMod\addons\myAddon\XEH_preStart.sqf']";
but , anyway you could try with double \\ , because your error is == \n , because missing n letter and lines are wrapped
and in CBA "guide" has compile preprocessFile.. ->
https://github.com/CBATeam/CBA_A3/wiki/Extended-Event-Handlers-(new)
isnt that for missions though?
āØ```
class Extended_PreStart_EventHandlers
{
class nova_medical
{
init = "call compileScript ['\z\novaCompanyContent\addons\nova_medical\XEH_preStart.sqf']";
};
};
could anyone know why this is happening?
You have \\ instead of \ if that's what you mean
it doesn't work either way
this is my folder structure for my mod and nova_medical addon
if that helps
Remove āØ\\z\\novaCompanyContent\\addons\ā©
and change the remaining āØ\\ā© to \
im assuming
so what is the whole āØ\x\ā© and āØ\z\ā© thing?
It is PBOPREFIX. If you don't know what they are, you don't have that path
im not sure i follow, what is a PBOPREFIX?
i see those two things in ace a lot so im just curious
Well
tldr: a path that is stored in a PBO to identify the filepath within and Arma 3 will recognize the addon's file is stored in that path
ah
And z or x are simply their preference
so it has nothing to do with load order, which is what i was originally thinking
that makes more sense though
(what you said)
lol and now i need to figure out what āØPREPā© does under the hood so i can reverse engineer it
š
thanks for the help š
Its just compileScript with some wrapping functions in CBA for recompiling
Also you don't need to "reverse engineer" anything, CBA's macros are very public. You can also just include CBA's macros in your project (e.g. a github repo)
i try not to use macros as i dont want to have a chain of bs i want to learn how works.
I.E. have the QGEVAR macro bs
I doubt there's anything in config that could do that. Would need to be a script doing something weird.
Then don't use them, I wasn't saying you had to. I was saying they were public on CBA's repository
reverse engineer probably wasn't the best of words to use. I was just going to expand the macros in my own codebase haha
Iām inclined to agree but itās spectacularly random
That's why it's probably a script. I doubt a config thing would be so inconsistent.
Agreed, I'll have to continue monitoring it, but considering I'm not aware of any scripts that act upon the players, let alone those specific ones, I'll also continue to be utterly befuddled
gunnerType but no idea how to override only that specific one, any chance you can guide me on that?
class AET_F_mapleSyrup_I_VLF_2S1: rhs_2s1_tv
{
faction="AET_F_mapleSyrup_I_VLF_nomas";
side=2;
displayName="2S1";
crew="AET_F_mapleSyrup_I_VLF_Crewman";
typicalCargo[]={"AET_F_mapleSyrup_I_VLF_Crewman"};
class Turrets
{
class MainTurret
{
class Turrets
{
class commanderOptics
{
gunnerType="AET_F_mapleSyrup_I_VLF_Crewman";
};
class loaderOptics
{
gunnerType="AET_F_mapleSyrup_I_VLF_Crewman";
};
};
};
};
};
This for example gives errors
I assume because I am overwriting the classes and now there are many missing values?
This is the exact error I get when trying to place the unit in editor
Arma 3 configs make me wanna re-evaluate my life decsions that have led me to this moment...
I looked at how another mod does it and it is terrifying...
They first define LandVehicle
They then define Tank which inherits from LandVehicle
They then define Tank_F which inherits from Tank
They then define rhs_2s1tank_base which inherits from Tank_F
They then define UK3CB_2S1 which inherits from rhs_2s1tank_base
They then define UK3CB_I_2S1_AAF which inherits from UK3CB_2S1
and ONLY then are changes made
Like... this is so much just to change a single minor thing ;-;
you're not inheriting the turret correctly, you have defined a new turret.
Yep, I figured that when I looked at how another mod did it, trying a different way now but I am kinda just stunlocked by how this whole thing works
you dont need to inherit from the entire turret inheritance, if you are just using editing the gunners.
I have been trying to read that but it seems I am not understanding correctly hence why I looked at code examples.
Any chance you can help me with an example?
just finding one
The long way seems to have work but if there is an easier one then I am all ears
I am gonna have nightmares about arma 3 configs tonight
āØ```cpp
class Boat_Armed_01_base_F;
class CE_Naval_Ships_RHIB_Unarmed_base: Boat_Armed_01_base_F
{
class Turrets;
};
class CE_Naval_Ships_RHIB_base: CE_Naval_Ships_RHIB_Unarmed_base
{
class Turrets: Turrets
{
class FrontTurret;
};
};
class CE_Naval_Ships_RHIB_BAF: CE_Naval_Ships_RHIB_base
{
scope=2;
scopeCurator=2;
side=1;
faction="CE_RHS_UK";
crew="CE_Naval_RN_B_Sailor";
class Turrets: Turrets
{
class FrontTurret: FrontTurret
{
gunnerType="CE_Naval_RN_B_Sailor";
};
};
};
class LandVehicle;
class Tank: LandVehicle
{
class NewTurret;
class Sounds;
class HitPoints;
};
class Tank_F: Tank
{
class Turrets
{
class MainTurret: NewTurret
{
class Turrets
{
class CommanderOptics;
};
};
};
class AnimationSources;
class ViewPilot;
class ViewOptics;
class ViewCargo;
class HeadLimits;
class HitPoints: HitPoints
{
class HitHull;
class HitEngine;
class HitLTrack;
class HitRTrack;
};
class Sounds: Sounds
{
class Engine;
class Movement;
};
class EventHandlers;
class Components;
};
class rhs_2s1tank_base: Tank_F
{
class Attributes
{
class rhs_ammoslot_1_type;
class rhs_ammoslot_1;
class rhs_ammoslot_2_type;
class rhs_ammoslot_2;
class rhs_ammoslot_3_type;
class rhs_ammoslot_3;
class rhs_ammoslot_4_type;
class rhs_ammoslot_4;
};
class Turrets: Turrets
{
class MainTurret: MainTurret
{
class Turrets: Turrets
{
class CommanderOptics: CommanderOptics
{
};
class LoaderOptics: CommanderOptics
{
};
};
};
};
};
class AET_F_mapleSyrup_I_VLF_2S1: rhs_2s1tank_base
{
scope = 2;
faction="AET_F_mapleSyrup_I_VLF_nomas";
side=2;
displayName="2S1";
hiddenSelectionsTextures[]={};
crew="AET_F_mapleSyrup_I_VLF_Crewman";
typicalCargo[]={"AET_F_mapleSyrup_I_VLF_Crewman"};
class Turrets: Turrets
{
class MainTurret: MainTurret
{
class Turrets: Turrets
{
class CommanderOptics: CommanderOptics
{
gunnerType="B_soldier_F";
};
class LoaderOptics: LoaderOptics
{
gunnerType="B_soldier_F";
};
};
};
};
};
The example above is what worked for me, I guess I can cut down a lot of it
class LandVehicle;
class Tank: LandVehicle
{
class NewTurret;
};
class Tank_F: Tank
{
class Turrets
{
class MainTurret: NewTurret
{
class Turrets
{
class CommanderOptics;
};
};
};
};
class rhs_2s1tank_base: Tank_F
{
class Turrets: Turrets
{
class MainTurret: MainTurret
{
class Turrets: Turrets
{
class CommanderOptics: CommanderOptics
{
};
class LoaderOptics: CommanderOptics
{
};
};
};
};
};
class AET_F_mapleSyrup_I_VLF_2S1: rhs_2s1tank_base
{
scope = 2;
faction="AET_F_mapleSyrup_I_VLF_nomas";
side=2;
displayName="2S1";
hiddenSelectionsTextures[]={};
crew="AET_F_mapleSyrup_I_VLF_Crewman";
typicalCargo[]={"AET_F_mapleSyrup_I_VLF_Crewman"};
class Turrets: Turrets
{
class MainTurret: MainTurret
{
class Turrets: Turrets
{
class CommanderOptics: CommanderOptics
{
gunnerType="AET_F_mapleSyrup_I_VLF_Crewman";
};
class LoaderOptics: LoaderOptics
{
gunnerType="AET_F_mapleSyrup_I_VLF_Crewman";
};
};
};
};
};
This also seems to work fine
@mortal dove (Hope you don't mind the ping)
Do you think the example above can be simplified any further?
IMO I tend to inherit from a faction vehicle i.e rhs_2s1_tv, or I create a intermediate base class, and then do my edits in that.
(I'm sure someone will correct me if this is wrong)
āØāØāØāØ```cpp
class Tank;
class Tank_F: Tank
{
class Turrets;
};
class rhs_2s1tank_base: Tank_F
{
class Turrets: Turrets
{
class MainTurret;
};
};
class rhs_2s1_tv: rhs_2s1tank_base
{
class Turrets: Turrets
{
class MainTurret: MainTurret
{
class Turrets;
};
};
};
class AET_F_mapleSyrup_2S1_base: rhs_2s1_tv
{
displayName="2S1";
scope=0;
scopeCurator=0;
hiddenSelectionsTextures[]={};
class Turrets: Turrets
{
class MainTurret: MainTurret
{
class Turrets: Turrets
{
class CommanderOptics;
class LoaderOptics;
};
};
};
};
class AET_F_mapleSyrup_I_VLF_2S1: AET_F_mapleSyrup_2S1_base
{
scope=2;
scopeCurator=2;
faction="AET_F_mapleSyrup_I_VLF_nomas";
side=2;
crew="AET_F_mapleSyrup_I_VLF_Crewman";
typicalCargo[]={"AET_F_mapleSyrup_I_VLF_Crewman"};
class Turrets: Turrets
{
class MainTurret: MainTurret
{
class Turrets: Turrets
{
class CommanderOptics: CommanderOptics
{
gunnerType="AET_F_mapleSyrup_I_VLF_Crewman";
};
class LoaderOptics: LoaderOptics
{
gunnerType="AET_F_mapleSyrup_I_VLF_Crewman";
};
};
};
};
};
Though not sure why you are removing the hiddenSelectionsTextures, as this makes the vehicle have no textures at all...
I only removed them for the example since it was too many lines
Since it is not an issue / point of the question baiscally, sorry for any confusion
This seems to also work. the main difference I am noticing is that you create your base class then use that, I assume that would be beneficial incase I wanna have multiple factions with different crews for each and proboably is a good practice in general.
But if I just skip making my own baseclass it should be fine, right?
Yeh you can but IMO its good for making your own edits in without accidentally breaking/overriding the class you inherit from (rhs_2s1_tv, etc).
Just shift the turret inheritance up a class.
Alrighty, thanks a lot for the help š«”
I can sleep easy tonight knowing my mod works ;-;
@lofty zealot and @jagged valve : I've included a $PBOPREFIX$ in all of my mod folders, setup my p drive, linked the folder to the arma directory, the mod.cpp is being read - but none of the raw files are being read (I am running with -filePatching) I have to create a PBO for them to work... am I missing something here?
Never mind - Im reading now that you at least need a dummy PBO pointing to all of the files and if files are added to re-create that.
How exactly is a multiple rocket launcher configured so that each rocket is fired from its corresponding launch tube?
I looked at the configuration of the vanilla MLRS and noticed that it doesnāt use any scripts to achieve this, but I also couldnāt figure out which configuration parameters are responsible for defining the firing origins of the 12 launch tubes.
It is fairly complicated unfortunately and does use scripts, except they have been integrated into BIS functions.
Look for the following inside Event Handlers:
BIS_fnc_missileLaunchPositionFix
BIS_fnc_effectFired
There are probably some examples on this discord where we have walked modders through the process in detail, try searching for "MLRS".
I think I've seen it done in other mods by defining each rocket as a separate pylon. But IIRC vanilla just repositions the rocket with a fired EH on launch.
Does anyone have a spreadsheet that helps to calculate phyx of wheels?
In addition, I saw in the tank tutorial the guy had the ability to edit configs and then reload the tank to check the phyx and gears without having to repack the mod every time.
I made my own spreadsheet but I'm pretty sure I have no idea how engineering works and the math is probably all wrong.
if a bullet is above typicalSpeed does that increase its hit damage? say for 2 bullets having same hit and everything that go 300 m/s, if ones typical speed is 300 and the other is 150, will the one with typicalspeed 150 do more damage?
Should do, yes.
At least I have one example here in my damage test where a bullet did slightly more than the hit value.
if I wanted to see what the damage was, do I use hit EH or dammaged eh?
I used handleDamage but anything should work.
HandleDamage should do better. But if you want to be 100% sure do Diag exe
diag exe?
this, but I wasn't aware of anything relevant there: https://community.bistudio.com/wiki/Arma_3:_Diagnostics_Exe
ah I think many years ago I tried to run it, how do u load it with mods? like is there a way to generate the whole -mod=@YOURMOD with many mods?
You can just swap the filenames and use the launcher.
oh LOL okay cool lemme try that
You can in theory use diag_merge to change config live and test the effects.
Although I imagine at least some of this data is cached, rather than repeatedly reading from config.
the hitpoint diag is what you'd use in the diag exe
i think shots might also show what the damage dealt was
iirc it can be a bit weird tho
the damage is weird :P
Okay I hope it works 
What does the 2 percentages mean? shots diag setting
hmmm okay
Set the Geometry LOD mass to match the real weight of your vehicle (kg).
Some key suspension (damper) parameters that are "calculated" in class Wheels, but adjust around that base value until the correct feel is achieved.
springStrength = 46875; // approx 100 x sprungMass (125 in this example)
springDamperRate = 8385; // 2 * sqrt(springStrength * sprungMass)```
For tankx simulation, `sprungMass = -1;` also works very well.
What confuses me the most is that there are no EventHandlers at all in the vanilla MLRS configuration. So who is actually calling the BIS_fnc_missileLaunchPositionFix function?
The link below points to the MLRS CfgVehicles class configuration.https://drive.google.com/file/d/1otHfr9lZhq7YqSIypxAc-liT-LIbIdH7/view
Nyx uses it
?
Nyx uses it
class LT_01_AT_base_F: LT_01_base_F
{
class EventHandlers: EventHandlers
{
fired = "[_this select 0,_this select 6,'missile_move','MissileBase'] call BIS_fnc_missileLaunchPositionFix; _this call (uinamespace getvariable 'BIS_fnc_effectFired');";
};
};```
The feature was never added to the older mlrs I think
I see. Then how does the MLRS fire rockets from the different launch tube positions?
Don't be suprised. They just move the selection upon a missile has fired (aka model.cfg thing)
When I get home I'll share my spreadsheet where I've tried to calculate values in a "engineering" way. Unfortunately, my vics don't exist IRL so a lot of it is guess work for values.
This also does mean you can SQF it pretty finely. model.cfg animation is definitely not mandatory to make it happened
Because we also got gear ratios and such with torq I'm trying to figure out. Is there any method to see the way the gears work in game?
Could you provide the model.cfg file for the MLRS? Specifically, the one for armor_f_gamma.pbo\MBT_01\MBT_01_mlrs_F.p3d. Iām unable to see the full model.cfg and want to directly use the configuration from it.
No
tldr, it's not config thing. I don't know what are you exactly trying to (or trying to apply this feature into) but sure you can script it
āThey just move the selection when a missile has fired.ā
This means you have to use model.cfg to move the selection, right? So I want to look at how the selection is moved in model.cfg.
Yes and no
The script refers to the selection, that means the SQF is setting pos. That means you can math it and do anything with this feature
IIRC it is just ammo animation type
Iām a bit confused. Does the vanilla MLRS actually use any scripts or not?
Say you have pos_1 to pos_12 and select the corresponded selection to set pos via the SQF, the task is done
IIRC no
If you mean the function name is confusing you, yes. The name is unrelated
Alright, Iāll use scripts.
Well, yes, but no. The engine does not have any feature to do it. But only script did it, so yes, that's the only way
Vehicle physx is a complicated subject with many many parts, mostly config controlled, but with links into the p3d and model.cfg animations.
Engine (Power, Torque Curves, RPM)
Gear Box (Ratio's, transmission, change conditions)
Suspension (spring strength, damper rate, compression & droop, lateral and longitudinal stiffness)
Steering
Differential types
Anti-Roll Bars
Braking
Using real world numbers works surprisingly well for many of the mechanical parts, but there is not going to be a set of formulas which will work every time on every vehicle.
Best for you to demonstrate any problems you come across, along with what you have done so far.
Sure. Once I get back I'll show you want I got. I've been making tanks for a bit and normally using math and tweeking those numbers has worked well. But 2 things have happened.
-
I'm paranoid. My tanks work but I'm worried they don't feel realistic and more cartoonie, hard to tell.
-
One of my latest tanks is having major issues with suspension and my usual math isn't fixing it. I'm unsure is p3d problem but I've gone through my usual check lists and everything is fine. However, it seems to seesaw around the middle wheels and the wheels themselves have no suspension feeling when stopping and starting. They work when driving over things. I'll show some footage when I get back.
Show
- p3d memory LOD with wheel centres and boundary points highlighted
- Geometry Physx LOD
- class Wheels {}
- total mass in Geometry LOD
Double check in buldozer - that as dampers go from 0 to 1, the wheels move upwards (compress)
I've checked all this but I'll show when I get back incase I missed something. To be clear on information, I'm not new to modding but I'm also not an expert. If you also want I can dm send you my test mod so you can see ingame. The vics there are before my major handling overhaul I'm working on. They're a little cartoonie and floaty st the moment but the vic I'm talking about has a similar stiff feeling.
Tank Suspension Dos
fancy thread š
I didn't want to post a billion images and annoy the other people who are also trying to solve issues, haha
is all good š
Anyone know how to change the scope capability of a gun?
Weapon >> WeaponSlotInfo >> CowsSlot >> compatibleItems
It will be a class or array, the class version is the newer/better way
Custom effect classes I define within class HitEffects in CfgAmmo aren't working, yet modifying existing ones works perfectly. Why is this? For example, my custom BCImpactDirt_for_TT_MGM166_LOSAT fails to trigger, but the vanilla BCImpactDirt_30mm works fine when edited.
Is it because class names like 'BCImpactDirt_30mm' are hardcoded into the engine? Or is there a specific place where I need to register newly added effect class names?
Does anybody know where this is defined? Is it in cfgAmmo?
Nvm I found it. Predicted aim point is defined in cfgWeapons, ballisticsComputer = 8
Anyone know how to make enemies spawn in instead of being a constant presence?
Say I want a group of enemies on a map to only be present when you have activated an objective for example
In a way that relates to configs?
Yeah I just did not know where to ask haha so many channels lol
would something like this work
attachment="PylonRack_6Rnd_Vikhr_missiles";
#else
attachment="CUP_PylonPod_6Rnd_Vikhr_M";
#endif```
I'm trying to do this in pylon class for a certain pylon
If you don't binarize the config, yes.
If you need to binarize the config then you'll need an extra config.cpp with skipWhenMissingDependencies.
Is there a way for an object's icon to always display on the map?
I vaguely remember that being a thing but could be wrong
Probably thinking of featureType. But that doesn't make a vehicle's icon appear permanently on the map, only its model regardless of object distance settings.
Hmm alright
Easy enough to script it with drawIcon, it was just for a couple large prop
Question, in single player the tanks tracks look perfect but in multiplayer the middle one always goes up for some reason. Anyone know how to fix this?
If I were to ask about making a ACEAX compat for a gear mod, would I ask here?
It has its own discord, but there's also the readme on github
https://github.com/jetelain/AceArsenalExtended/blob/main/Helper/README.md
Thanks. I wouldn't have asked here, but I didn't get much on google, and using AI for stuff like modding Arma is a dumspter fire
its always fine to ask where to go. š
for vests does passThrough have any effect
Yes it's a coefficient for how much damage is passed onto the total damage when this hitpoint(s) is damaged š¤Ŗ
It used to do nothing with ACE but I think they changed that.
He asked in the ace discord as well. ACE uses it to scale the armor
https://github.com/acemod/ACE3/blob/master/addons/medical_engine/functions/fnc_getItemArmor.sqf#L48-L54
Yeah, they had an issue with the vanilla grenadier vest being ridiculously strong.
Is it possible to "offset" a model's position via config for a static weapon? Basically, turned one of the vanilla radar buildings into a functional radar, but as the model extends into the ground, when placed as an object, it rests on its lowest point instead of the ground-level point.
No
Is it possible to create an EWR with a SensorManagerComponent configuration that doesnāt have the ability to send targets to launchers, only to mark presence?
Possibly stupid question, is there a way to un-require a dependency that's on a mod?
It's not a dependency that's labeled on it's steam workshop page
I didn't know if I could somehow create my own config for a new mod to disable a .pbo in another mod
More specifically, attempting to remove a TFAR dependency in a pbo's config so we can just use ACRE
I suppose you could make another mod that has the same config patches name so it thinks that you are TFAR.
Interesting idea. Have a pbo with the same name for it to load nothing.
Damn, still triggers with nothing in the renamed pbo
Arma won't load addons with duplicate CfgPatches
It will load the first occurrence and error on any later one
Just ask the mod author to make it optional if possible
I'm not sure if it's in perf yet or not, but I remember seeing Error messages about that and "this mod will no longer work in the future"
Plus and Ultimate used the same CfgPatches entries as we did and people would load them all at the same time so they got a random version of Antistasi.
Yeah, best bet at this point. Thanks fellas
allowsMarking = 0; in the sensor you want to make track only, to be sure you could also turn off reportRemoteTargets
CfgPatches name, not PBO name.
Even if they did CfgPatches name (if they did do filename) it wouldn't/won't work
Why not?
.
You get an error saying the mod will stop working in the future. Not sure if it's still loaded on profiling currently or not
Why would there be duplicate?
Because you're using the same CfgPatches name as another addon
But that other one isn't being loaded.
Do you mean making a dummy tfar addon?
Because that's just causing more errors from the mod expecting tfar to be loaded
And if they include files from tfar, then you also need to include those.
The much simpler and more sane option is to just ask the mod author if they can make it optional.
I think it depends what it's actually doing.
I wouldn't know where to begin to understand what this specific pbo is doing, but thanks for the guidance on difference in that it's calling for the cfgpatches name and not the pbo name
I've only done simple retexturing, anything else outside of that is brand new information
If it's listing tfar as a dependency it's probably doing one of three things (that would cause a dependency):
- Inheriting from tfar classes to make radio uis
- Using tfar files / macros for making radios
- Calling tfar functions
Making a dummy addon is almost never the correct choice.
Yeah, still calls for TFAR's initial scripts and throws up an error related to it every new screen
Might be interesting to test in a MP setting, but with it flagging so consistently- I don't see it working
Appreciate it though, fellas o7
It's not the name, it's the CfgPatches entry that needs to exist.
I use that exact approach to fix some errors in my Modpack too, by pretending another mod is present.
Even TFAR itself does that, to pretend legacy TFAR is present.
It will. But it complains while doing so, and ignores requiredAddons
You can fix that too by patching their functions out.
But that seems a lot of effort that might not be worth it.
Hey guys.
I am looking for the method to add a passenger to the quad bike in my faction configuration (mod). It is not very obvious to me.
You can have a group which is a bike plus 1 unit, and hope the ai will get in for long trips.
Or create a separate vehicle with maybe an init eh that adds the passenger.
Thx. Should I omit DataLinkSensorComponent and only use passive and active sensor?
If the passenger proxy does not exist in the p3d model, and you don't have the model with permission to edit, likely not possible.
If you mean, how to change the passenger type (from one faction to another for example), that is possible with code.
Position exists. I know how to change passenger type. I want it to spawn at the same time the vehicle is placed in the editor.
If it's a turret, you can use dontCreateAI = 0;.
Leave it on, your radar now "should not" be able to be used to slave missiles to it but will report enemy positions to other radar sites that can target them.