#dev_rc_branch
1 messages Β· Page 12 of 1
There is no need to use DLLs. Data can be sent from JS to SQF and from SQF to JS. It seems that a sqf file can be called using the Arma 3 JS API if necessary. Furthermore, the use of DLLs is not necessary.
Read the documentation; it explains the possible relationships.
By the way, where did you get the information about the DLLs?
Yes, I saw it, which indicates that the related functionality is currently under development.
Look at this document.
True. Might be cooler if it could be embedded into missions, without mod.
But thats so annoying to do as a developer
You can display basically one HTML page.
You have no other internet access, its running in a isolated very restricted sandbox.
You can design the page however you want, and can run (basically) any javascript to make it interactive. And communicate with SQF which lets you load files from a PBO.
So everything you can put into one html page, or put into a PBO. You can do.
Just no external internet access. No microphone/camera stuff. No browser local storage. And some other restrictions to make it "safe"
Its not, its all "done" and ready to use
The JavaScript API shows how to load game images in JavaScript, but how can data be returned from SQF? For example, numbers or boolean values?
How do you create a .DLL extension? Is there any documentation available? Because I have quite a few ideas. 
External websites/internet access are disabled.
The feature exists and works, but we disabled it for security.
logic I understand
SQF can ExecJS to execute javascript in the browser. You can pass any data along you want.
Javascript can run an "alert", which lets it send any string to SQF. You can pass any data you want (There is some size restriction)
Both of those methods are also how you can load game textures.
An alert sends a request to the game. The game sends base64 encoded string version of the image back by executing javascript.
Just read the Extensions wiki page, should have everything
I never found it, I think I'm a bit stupid x')
x')
i found it
i'm stupid x')
Are there any restrictions in the DLLs?
alert is just a prompt, right? I mean passing data to an SQF variable.
To use it with BattlEye, BE needs to approve it.
If you don't use BattlEye, no.
it just passes the string to a SQF eventhandler
Okay, I understand.
Just curious in general: What's the reason behind the JS alert being used as the "channel" to return data to the game/SQF?
If after reading the wiki you still have some dll-related questions, then feel free to ask them in #arma3_tools π
Did I hallucinate that there is a map = helipad named property? π€ π΅βπ«
@tepid dock Here's the OS that I created that you mentioned above: https://github.com/InnovativeDevSolutions/os
My upcoming game mode uses @grim lion JS Stuff + some my own
Our Capture UI for OBJs uses it, so much better
Love the js stuff
Just released the os on the workshop
It exists.
Dear dev diary, today I wrote bad code. But its fine, I left a note 
Just don't have hundreds of aircraft in MP I guess 
You should make a video, like people did with the cs and tf2 source code when they leaked.
"The sanity of BI developers"
Only makes me wanna try having hundreds of aircraft in MP now 
that'll be fun, maybe one day the arma channel could do that!
arma code comments without context
few rounds, preferably long form videos, 10 min for the milking xd
might be too embarrassing
Hi guys, anyone have by chance the proyect that some did in the past of an local, offline wiki ?
i have a discord bot that access to the biki, but with the cloudflare thingy...
tanku β€οΈ
someone tried to do a MCP with the wiki? 
Maybe this is useful?
https://github.com/acemod/arma3-wiki
Well ive used the biki files to create a DB, so i tryed to made a mcp lol
https://github.com/Flyingtarta/MCP_ARMA3_BIKI/tree/main/arma3biki_mcp
and when i say "i tryed" was actually claude-code
Note while Windows 7 support was already canned. Windows 8 and 8.1 support is also coming up.
We already bumped the min requirement to windows 10, but so far only definitively dropped windows 7.
Not in 2.22 yet, but Microsoft removed windows 8.1 support from their latest compiler, which we will likely upgrade towards later this year.
So if you're running Windows 8.1 still (We all know no-one would be running windows 7 anymore π€£ ), consider preparing for an upgrade.
This ALSO includes dropping Windows Server 2008 and 2012.
Someone could write a wrapper that backports new API to older OS, and if that is present the game would still run.
Such a project probably already exists somewhere on GitHub. But it'll be too much effort π
Considering RAM prices are about to skyrocket, old PCs are there to stay
Not fluent in CSAT but I think he says &@&#%!!&Β£&& GRENADE!
hm, should vxkex work fine then?
with or without battleye tho?
I don't know what that is
i just remembered.. does anyone else have broken mod logos on dev-branch or is it just me?
my ws and rf files both dont show the icons in virtual arsenal on some items, also the icon change when hovering over it (to the colored variant) doesn't seem to be working
example:
the icon works on the bandana since it's using a vanilla model file, i guess
the ws mask uses our own model file, which isn't detected as part of the addon
and if i move the mouse onto the white box in the bottom right, a popup with "any" something something image can't be found shows up
someone's project using image file execution options feature of windows 7 and later to extend kernel via dlls
ok, for the fun of it i just reverted to profiling branch and there the mod logos are all showing up correctly.. so whatever is going on, it's a dev-branch only issue i guess
Seems OK? Icons show up fine in Arsenal on devbranch even with diagnostics exe.
however, the icon change on mouse-over doesnt work on profiling either
hm ok, i see. the mouse-over icon change works if i actually load the official dlc files via the launcher (dlc menu). if i load it as a regular mod from local files, the mouse-over doesn't work
Well if it says "any" then probably script error?
Nil to string?
But why would it work here
but it works on the other item
and it works in the main menu, that small mod list
Well its script that pulls the info of the item. Its just failing on it but what exactly is afiling
ok, i reverted to dev-branch again and used the dlc menu to enable ws and rf. there it works fine as well.
however -- if i use the workshop mod (compatibility data), the icons are also broken

tl;dr - the issue seems to be with mod handling, not the official launcher cdlc handling
the mod.cpp files are identical. the mod config entry is the same as well of course
mod file has a meta.cpp that is auto-generated by steam i believe. other than that, the only difference is the folder name
i'm 100% sure this is a new issue, though. i never noticed it in the past
actually, yeah. if profiling has no data changes, but it works there (mostly, except the mouse-over), but on dev-branch it is broken, then there must have been some script changes that are causing it now.
cdlc depots have the same manifests atleast on dev/prof so 
The DLC menu in launcher also only sets -mod parameter.
meta.cpp is only used in 4 places.
Crash reporting, server modlist, getLoadedModsInfo script command the workshop itemID.
So I don't think that should matter.
And the rest of the data is the same.
Only leaves the folder name?
You could try to check the classnames with this
https://github.com/acemod/ACE3/blob/master/addons/common/functions/fnc_getDLC.sqf
getAssetDLCInfo on the model.
Ah found it
There was a arsenal change in november.
[internal] Changed logic of detecting mod, which it belongs - for DLC assets there is now another, special check which utilizes getAssetDLCInfo. If model belongs to DLC, then it will be marked as so - even if i.e. class was defined in another mod.
BIS_fnc_getDLC was added. Parameter is the items config class.
That is probably failing now and returning empty string
I don't have time to look deeper. But testing through what that function does should find the problem
at least that seems fine
ok, without looking at the arsenal code, i'm pretty sure it's using "ws" as path, because that's also the addon folder name
and since compat data, etc. doesn't have that folder name, it's failing in arsenal to fetch the correct data
or maybe not. looking at the script right now it doesn't seem like it. _dlc = _itemCfg call bis_fnc_getDLC; and then a bit further down _ctrlDLC ctrlseteventhandler [ "buttonclick", format ["uiNamespace setvariable ['RscDisplayDLCPreview_dlc','%1']; ctrlparent (_this select 0) createDisplay 'RscDisplayDLCPreview';",_dlc] ];
ok, there's more code. also a macro. but that's where it stops for me. i'm not a good enough programmer to investigate this π
The old getDLC code was this
{
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
}
Parameter is also config, I'd assume that also returned "ws"
The icon then comes from
modParams [_dlcName,["logo"]]
so modParams ["ws",["logo"]] ? That work for both variants?
But that part of the code hasn't changed in quite a while
You have a 32-bit operating system and you can't run the 64-bit version of the game.
just found this, lol
Finally we have space
diag option π
oh right, I forgot that
no more renaming files when I want to render an ocap map? 
finally about time
why is server listed if it's not necessary since -server exists?
Because headless client
or does -client work on client binary?
But you also want the no steam, and no battleye, and stuff
headless client also can be launched with game exe passing -client to it
The answer is, because
pointless since the launcher doesn't work properly without steam
launching multiple instances bla bla
game exe can be used for that no problem
launcher properly handles -server by not launching the battleye launcher when be is enabled
also on the topic of launcher changes, can we remove the screen that blocks the user from accessing the mod list and do operations within it?
and how about a way to copy the full launch arguments? so one doesn't need to launch at least once to grab it from the rpt
this makes sense to do with multiple instances in mind, eg different modlist or removing client only mods
and also why not add a way to make servermod sets right from the launcher while we're at it?
because not every server has the same setup?
for me, I would need to prepend "mods/" before every entry
and someone uses full names as seen on workshop, someone uses IDs
There's just too much variety to get something useful
that would be the point of using the launcher for modlists
funny bug with glasses transparency. left side is correct, right side is bug. it works on most vanilla uniforms, but not all of them. it's mostly broken on contact and laws of war clothes. also noticed this in pretty much all of our new ws and rf uniforms, so i started to do some digging. for some reason, i can fix the issue on one of our new uniforms if i am adding a "nvg" proxy to lod0. however, if i am trying to fix our djellaba clothes with the same thing, it does not work. even if i straight up copy&paste all proxies over, it does not work. also curious.. why nvg proxy? is this thing even used? half the uniforms don't have that, they use the hmd proxy.
basically all facewear with transparency is affected
truth told, it might as well the right side that is correct, and the left is the bugged one. no clue what the wanted effect was. i'm just guessing left side is the correct one because that's how the combat goggles etc. are looking on generic nato uniforms... the default setup, kinda
I swear everytime I look in here, Lex is breaking something. π
i'm mostly just posting here when finding bugs :p
back in the days i would post on the forum, but those days are long gone
also funny, some old uniforms have a "radio" and "backpack2" proxy. maybe radio item was supposed to be visible on the uniform at some point?
now i fixed it on another uniform with replacing all proxies.... does alpha sorting apply to them?
Won't fix
well, i will fix it in my stuff if i can, that's good enough for me. just figured i point it out
what's weird is, it doesn't appear to be a rendering issue. at least not of the kind we know from the game. it just seems the transparency is stronger in one model than in the other
this is the proxy setup, if anyone wants to test it. fixed all of my uniforms with it now. lots of seemingly useless crap in there, but that's what's in the vanilla uniforms where it works
i just had a funny thought. what if transparency itself is not "broken" but because of duplicated(?) proxies, the model gets rendered multiple times, and thus the transparency appears darker π
i have no idea, just making shit up. this issue is really weird. but it's noticeable that this only seems to pop up on more recent (dlc) uniforms, where someone apparently cleaned up the proxy list.
you'd see z-fighting in that case, unless there's also even the slightest amount of offset between the two π€·
yeah, probably. i dunno. it's just odd that it is clearly proxy related
Mh actually, yeah why do mods not show that they have extensions up there.
Well now they do π€·
great addition about time :3
These are the options: ```
uavControl [uav, "driver"]
uavControl [uav, "gunner"]
uavControl [uav, "crew"]
uavControl [uav, "all"]
uavControl [uav, "allbutcrew"]
uavControl [uav, "allbutdead"]
Found a probably decade old bug in publisher π
When you have extensions. But only one version 64 or 32, and not the other.
Its supposed to tell you that you're missing the other variant.
But there is a typo in the code.
The 32bit warning only shows, if you have 32bit extensions in the mod.
But the warning is to tell you its missing, so, you don't have. So the warning never shows π’
Oh well, too late to fix now XD Though I guess I am fixing it, atleast the 64-bit missing warning
Add a warning if there is only a 32 bit extensionπ
error*
Yeah exactly. That was already there, it just never worked. So I'll just fix that one. And remove the "you're missing 32-bit" one
Probably no-one has ever seen these error's here.
The only others were if the DLL is corrupted
Probably also that
Also the tooltips take like half a second of hovering before they show up. By that time I've already given up and accepted that there isn't any tooltip
Launcher was doing the same, so annoying
I hate it when tooltips have a delay
I found unfinished content π
There is a size display, telling you how large your "new" version is, compared to the version that is currently on the workshop.
(also fix the freeze when uploading large mod, thx)
Also these are a thing π
No repro, can't fix
it froze for me almost every time I uploaded something 
This looks better to me.
This all used to be there once, but was removed when 64-bit support was added and I cannot find a reason why
You now know how old your mod is and when the last update was. And a nice plausibility check on the size difference.
It also used to list the name of the Author of the mod, but I'd think you'd know your own....
Oh.. Unless you are only a contributor and the author is someone else π€ But we already have the Contributor banner at the top for that
if you are looking at it, I've had problems with publisher and what I assume is a too long file path
(I have long file path registry-enabled but it had no effect, it may be something you have to also enable inside the app)
It freezes at the end of the first upload of this mod, But it won't when updating
what us "this"?
Iirc it happens with every mod that gets uploaded for the first time. I can test that later when I am at home.
There you go
What am I looking at?
I added an X button
So you can manage mods with game running and then just start it again?
Yes. I tried to find the person who requested that above but I can't find it
maybe nobody did and it was all in your head
Can run multiple instances now.
Can launch server, then switch to client binary and start matching client with same parameters
I ditched the launcher and start my sessions with hemtt instead, for exactly that limitation. Great is gone now.
that was already possible but without mod management
me?
you always could launch different mod presets from the arrow in play button
but you cant adjust mod lists themselves when the client is running
Was doing some testing today and found that the newer "WeaponChanged" eventHandler doesn't fire for the Throw weapon or on any of the Throw muzzles. I'm trying to get an event for when the grenade is swapped and am not sure if this is a bug. Reloaded and Fired muzzle events do work on at least the Throw muzzles.
^
Could you make a ticket,I thought we had it
Here you are:
https://feedback.bistudio.com/T197126
can someone please help me with my server
This is almost certainly the wrong channel.
Sorry for my incorrect translation.It is when each mod is uploaded for the first time
Has anybody actually managed to make the server browser succesfully recognize and match up server mods to subscribed steam workshop mods?
Here's the lips issue. I'm sure they weren't this bad before. (in the video it doesn't look as bad as the game at 120+ FPS)
animations issue
Yeah the low fps animations issue, isn't new
I had seen it before too but this is the first time I saw it in this mission with 100% repro rate π
I wonder if maybe the mission attaches them to something for some purpose and the sim rate isn't being updated correctly
actually that does make sense
yeah I'm not crazy. it's definitely much worse π
https://youtu.be/QRcDf3-SdHA?si=lt6-JERRC9Z0PnT_&t=217
γ4KγArmA 3 Prologue: FULL GAME Campaign Walkthrough - No Commentary GamePlay
Timecodes:
0:00 - Intro
0:05 - Reality Check
03:32 - Common Denominator
09:02 - Diplomatic Relations
18:01 - Rising Tensions
25:28 - Damage Control
4k60fps full game walkthrough mission 1-5 ArmA 3 2023 PC, PS5, Xbox series X, RTX 3090
Thank you for watching!
Ple...
also that AAF soldier's animation used to be fine 
I wonder if it's related to the new multithreading simulation?
can confirm at least for the attachment theory - when i was making wrappers for animation sequencing i was attaching units to static invisible objects and that was happening - simulation interval does seem to matter (ergo just ended up attaching them to Game_Logic instead)
Yes, it's normal that simulation rate affects animations - attached objects inherit the sim rate of the parent object.
What's unusual in this case is that the animations seem to be partly or inconsistently affected, and also that it's appeared in a situation where it previously wasn't happening, without (presumably) any changes to the mission.
my theory (and it's a loose theory) is that maybe the units are being attached to a low sim object, then detached, and their sim rate isn't being fully returned to normal. Or, they're being attached to a high sim object like a logic, but parts of their simulation are getting the wrong sim rate for ~reasons~.
Actually, an animation and a tree can cause it from what I've experienced. Not sure I've made a ticket
I remember long ago I found that certain animations would end up like that when I used BIS_fnc_ambientAnim. I think that might be one of them since my notes specifically mention "standing armed" animations having the problem.
Even after stripping the code down to just starting the animation and nothing else, I would eventually end up with units doing that. Though I could never get a 100% repro and it only seemed to happen when there were a large number of units being animated.
Attaching units to a game logic did stop it, however. 
diag_exportTerrainSVG doesn't escape & (and possibly others) correctly, is that something that will get no attention, if I make a FT ticket, or something that would be worth fixing?
You mean in like town names?
Easy to fix if you can tell me where they would appear
yeah, places names
for example https://steamcommunity.com/workshop/filedetails/?id=3317364155
has places R&C Tog Deponi and Falk Stop & Shop
svg lines 834114 and 834116
And they should be R&C Tog Deponi and Falk Stop & Shop
I mean the path to it in the svg.
I don't want to download a terrain and export it
I'll send it all to you in DM with files
If you poke around in this part of the code base could you also remove the semicolon in the style-tag between polyline and ellipse:
Current:
<style type="text/css"><![CDATA[ polyline{ fill: none; }; ellipse{ stroke:url(#colorForest); fill: none; stroke-width: 4; } ]]></style>
Correct:
<style type="text/css"><![CDATA[ polyline{ fill: none; } ellipse{ stroke:url(#colorForest); fill: none; stroke-width: 4; } ]]></style>
It seems like a lot of parsers don't like the additional semicolon and render the trees as black circles (tested with Firefox and GIMP)
Huh, did I miss a memo about dev branch changelog going onto the wiki?
Maybe I am just blind.
From today's changelog: Tweaked: Dev / Prof / RC change logs were re-directed to Community Wiki π
Well, it was only posted to the wiki (the full content of the change log)
Fixed: Units in combat were reporting smoke throws when chemlights were thrown
Too bad there's no SentThrowingChemlight command in the RadioProtocolX classes, and no ThrowingChemlightE_1[] words so they're completely silent even in combat.
But it's still nice to see this fixed after 13 years.
stumbled on it by accident while doing something else, I wish I could have seen that ticket 13 y ago
The "frag out" variant? π
Damn, can the ppeffect blur in flir not be fixed?
forgive me if this is written somewhere, but what actions does this command accept
not yet public
I forgot about it, it can
Don't remember if I had a repro?
#perf_prof_branch message I do have a repro and it works
Blur is fix
@full sonnet Could you fix dev version so that white retangle car-sized boxes aren't used for unknown objects? it is especially prevalent on u minh forest from rtbf (https://steamcommunity.com/sharedfiles/filedetails/?id=3454473123)
Could they fix the missing objeccts in the terrain?
it isn't just that terrain, i see it in arsenal when the object doesn't exist (.p3d) or when placed by other mods that have no p3d for whatever reason
i can ask them too but it is rampant in dev version right now
It is intentional because broken/missing objects cause issues
gotcha...maybe something more placeholder-y?
A big man sized question mark.
miller head
Miller T-posing, always turned towards the player β whatever the locality
With CBA+ACE the nlaw disposable is broken on 2.21.153537
compatibleMagazines "ACE_launch_NLAW_ready_F" returns []
has magazines[] = {"NLAW_F"}; https://github.com/acemod/ACE3/blob/master/addons/disposable/CfgWeapons.hpp#L26-L27
This is already on live, but can't see it on any changelog?
@unreal arrow
Yeah missed that. Launcher changelog is actually under the tools area ish.
Not sure how we include that in the game changelogs actually π€
outside of dev into stable/perf-prof?
No, live on Dev (at least I've tested there)
and compatibleMagazines [weapon, muzzle]
compatibleMagazines ["ACE_launch_NLAW_ready_F", "ACE_launch_NLAW_ready_F"] // also []
getArray (configfile >> "CfgWeapons" >> "ACE_launch_NLAW_ready_F" >> "magazines") // ["NLAW_F"]
Looked back in this channel after forever and saw this π cant find and further info but this message and the change log of it being added in dev branch 2.21 any the wiki link from the change log goes to no where currently haha.
What actions and commands will this give us access to for pylons?
(https://community.bistudio.com/wiki/pylonAction)
Also the reason I came back to check this channel was I wanted to say you and any other devs still working to improve A3 and give us modders more commands or syntax's to work with are awesome!
I keep encountering so many new things that make life so much easier, going great ill use that only to see "since 2.22" hahaha Any idea how close it is to being ready?
What actions and commands will this give us access to for pylons?
The question is rather, what do you want it to do
currently its not much, and especially nothing at all for weapons pylons.
Open to ideas
Targeting pod with laser designator (AFAIK Ded ever teased one)
Working fuel pod
External missile bay (Stealthy one)
What else? A soldier transport pod for Harrier? π€£
i think you can already script working fuel pod. you need to check if the pylon is there and then you can change the fuel consumption rate of the vehicle
ok, question is where to call that script. you'd need PylonChanged EH and probably something in init
Was about to say. We can't know it without EachFrame it
EH on object creation, check if it's vehicle / helicopter / plane, if yes, check if it has pylons, if yes, check if it has fuel pod :p
dont think you have to eachframe it
Well, you can change pylon on the fly (no pun intended)
that's where the PylonChanged EH comes in
Being able to force lock/unlock with that weapon, and force fire that weapon, would be handy. Not sure whether they're within the command's scope though.
Oh that's what you mean. I meant we have to EachFrame it for now to achieve it
Jettison would be neat too. It can be done with scripting but a cleaner option wouldn't hurt.
I was talking about the script command
Weapon pylons have no weapons, they are magazines only.
You'd need to tell the vehicle to fire its weapon
I would like to be able to command fire pylons, or weapon group of pylons, regardless of if the weapons are associated to the locality of the weapon ownership and if that seat ownership exists
Iβm trying to build a scripted weapon control system that allows either seat to take ownership of a group of weapons and fire it, even if not local to them, and it needs to work in mp
There are a lot of jank ways Iβm trying to achieve this, there are some script firing, but itβs weird in mp, also tried swapping pylon ownership
First documentation for "Generic" Pylons is up
https://community.bistudio.com/wiki/Arma_3:_Vehicle_Loadouts#"Generic"_Pylons
https://community.bistudio.com/wiki/pylonAction
Now is the time to have ideas of what could be added.
But many things you will be thinking of, will probably be too complicated to add, so we won't.
Or simple to do via script (like the smoke pod), so we won't do that either.
Not sure if itβs a mobile issue but the link to https://community.bistudio.com/wiki/pylonAction#Example_1 embedded in the page doesnβt seem to function correctly yet.
Oh that was a bad copy paste π
Revision: 153587
What are the odds of the Cfg "sensorPosition" being fixed
it was originaly introduced to allow a sensor origin that was not the eye pos however seems to not function
need more detail of what you mean
on aircraft/vehicle sensors?
When does the position ever matter?
So as part of the apache mod, the radar sits above the rotor disk, allowing you to peak the radar over the horizon>
battle field radars that extend up verticly to clear obstacles, Sam sites that do the same.
vehicles with telescopic cameras
however because its on eye pos, you need to peak the whole airframe
I'll take a look tomorrow
Just testing the dev branch on our life server to make sure nothing breaks, and I've noticed that one of the initial remoteExec's isn't actually running the function it should.
As client on join from init.sqf, it runs a remoteExec to server_fnc_queryRequest. This file grabs server/database data and remoteExec's to client_fnc_requestReceived with remoteExecutedOwner.
This works fine on profiling and stable branches, and returns to client properly.
On the dev branch the client_fnc_requestReceived never runs.
I verified the server properly sees the remoteExecutedOwner, and have verified the remoteExec to client_fnc_requestReceived returns an empty string, implying that it successfully sent it.
I have attempted to replicate the issue, however even with the exact same params, with multiple remoteExec's back and forth, I cannot replicate the issue.
I'm at a bit of a loss as to how to figure out whats going on, hopefully someone may have some insight.
Code in server_fnc_queryRequest that remoteExecs to client.
//Works, runs the function properly
_check1 = [
_hexIcon // "autohover"
];
_check1 remoteExec ["client_fnc_requestReceived", remoteExecutedOwner];
//Works, runs the function properly
_check1 = [
"" // manually defining ""
];
_check1 remoteExec ["client_fnc_requestReceived", remoteExecutedOwner];
//Does not work, function never runs
_check1 = [
_title // "" - manually defining "" works,
];
_check1 remoteExec ["client_fnc_requestReceived", remoteExecutedOwner];
It is 100 a string. Params as a string with only allowed types as a string
["_title","",[""]],
It seems directly correlated with empty strings returned from a database call
Run toArray on it.
There was a bug with empty strings that I recently introduced.
But I found it and fixed it last week
But I don't get what the difference would be between a variagble containing an empty string, and an empty string.
the code doesn't know where the string came from, it doesn't know the difference, so why would it make a difference π€
ah there is only one sensor position per vehicle.
But I don't knopw whats supposed to not be working about it.
The config entry is being read, and its being used (if config isn't there, it uses eyePos as you said)
I can see it being read correctly for Transport vehicles.
But "new" sensors added via SensorManagerComponent, don't support setting a position. They just always use the center of the object.
It might be desirable to make that configurable
toArray returns an empty array for both the variable, and the empty string.
If I change the variable ex. _title = _title + "", even though its the same value, it works. I'm really shocked as to what is going on
typeName _variable = ?
"STRING" in both cases, when it works and when it doesnt
I would have preferred to see a "TEXT" at one point π₯²
You and me both. The code that is being run hasn't changed for years, and seems to only break with dev branch x_x
Interestingly enough, the function WILL run if I call it instead of remoteExec'ing.
#blameDedmen
I have an idea.
There are two variants of empty string
But I don't see why that would make a difference
Your guess is better than mine 
I though it might have been model centre. If we can make that configurable, that would be fantastic
How did you get _title to be empty string.
If
_title = "" does not reproduce the error? Or does it?
_title = "";
[_title] remoteExec ["client_fnc_requestReceived", remoteExecutedOwner];
vs
[""] remoteExec ["client_fnc_requestReceived", remoteExecutedOwner];
?
Cannot reproduce?
TheFunction = {diag_log [diag_frameNo, _this];};
_title = ("" select [5]);
[_title] remoteExec ["TheFunction"];
This does not reproduce either
Maybe its only broken on dev-branch but already fixed internally. But the fix was quite a while ago π€
I'm pretty sure the difference should be
//Works, runs the function properly
_check1 = [
""
];
_check1 remoteExec ["client_fnc_requestReceived", remoteExecutedOwner];
//Does not work, function never runs
_check1 = [
("" select [5])
];
_check1 remoteExec ["client_fnc_requestReceived", remoteExecutedOwner];
That's the only thing I can think of.
after NaN, NaS (Not a String) π
Checked the same again on dev branch, no difference. Its working fine for me
Maybe your server/client versions do not match?
Previous dev branch version is not compatible with current version.
This empty string thing, was broken between 10-24th february.
So last dev-branch, before wednesday, was broken. But the current one isn't anymore
Ill take another look when I'm home, however I can confirm I was on the latest dev branch. If I attempt to remoteExec to myself (myself being server), the same issue arises. That rules out a version mismatch. Attempting to remoteExec a different client has the same result
If i can find a way to downgrade my dev build to find when the issue started, it might help. I haven't tested a dev build before this one
Haven't really said anything on it as I really haven't tested it outside of "my local no worky". But anyway FWIW:
- I swapped from perf to dev the same day this #dev_rc_branch message was posted at 1:26PM EST and that's when I noticed issues on our staging.
- Keeping staging, I swapped back to perf and that resolved the issue.
- Both times I was testing where client was server, although I do believe I remember Fraali saying he had same results with a dedi and client.
The database queries being performed were done with our database addon and not ExtDB3; although we haven't touched it for at least a year; outside of updating Intercept which was done roughly 6 months ago.
Uhhh okay interesting...
I swapped my branch back to dev branch and am now noticing zero issues. The only thing I changed was that I updated the title entry in our database which corresponded with my player:
UPDATE my_table SET my_title=NULL WHERE my_id='76561198071959741';
Even upon swapping it back to it's prior result:
UPDATE my_table SET my_title='Ghille Warrior' WHERE my_id='76561198071959741';
It appears I am no longer experiencing any issues...
Which is really bizarre, as I believe my branch should've been the latest per the changelog message linked in my previous message and I switched my branch via Steam.
@mossy cloak you were doing a lot more testing last night, if you're able to just vibe check I am not trolling with my assessment here; would be appreciated.
Gonna feel really, really bad if we are trolling you guys and both our branches were out of date somehow. π₯Ή
-# Also just to toss out for you Fraali, I am still on a62222c
Good thinking- here appears to be the build I was running then
Exe timestamp: 2026/03/04 01:01:27
Current time: 2026/03/04 13:26:35
Type: Public
Build: Development
Version: 2.21.153584
Doing a bit more testing.
I would assume that that the issue stems from how empty strings are handled within the dev branch has changed, and that the addon we have based on intercept is having some type of issue with how the data is accessed natively?
Database query SELECT '' is being run, and returns properly. Any remoteExec(/Call) that attempts to pass this value provided silently fails, although every other command seems to work just fine like call, spawn etc. the value seems to behave identical to normal strings, so I wonder if maybe due to a recent optimization of how empty strings are stored not matching up properly? Just theories, I don't deal with C/C++ very often.
If there is any way I can potentially scrape memory values/create dumps for this, I (probably) have the ability to do so.
ProductVersion - ["Arma 3","Arma3",221,153584,"Development",true,"Windows","x64","development"]
Image of issue/results.
https://i.imgur.com/uYbBCSO.png
Code Run for testing
o_localTest = nil;
o_localChecking = nil;
o_remoteExecTest1 = nil;
o_remoteExecTest2 = nil;
[]spawn{
_query = "SELECT ''";
_check = [_query, 2] call OES_fnc_asyncCall;
o_localTest = _check select 0;
o_localChecking = [
o_localTest isEqualTo "",
toArray o_localTest,
typeName o_localTest,
str o_localTest,
count o_localTest
];
[o_localTest,{
o_remoteExecTest1 = _this; // Will not show if the issue arises
}] remoteExec ["call",2];
["",{
o_remoteExecTest2 = _this; // Will always show
}] remoteExec ["call",2];
};
I don't know how to reproduce that though
I know of two possible variants of empty strings, and I tested both
I would assume that that the issue stems from how empty strings are handled within the dev branch has changed, and that the addon we have based on intercept is having some type of issue with how the data is accessed natively?
It did in previous dev build. But then it was fixed in current one.
If there is any way I can potentially scrape memory values/create dumps for this
If you can do it in diag binary (I don't know if Intercept works there)
Run your repro code.
Cheat code CRASH, and click yes to do the fulldump.
Then I can dig into missionNamespace and find it the variable.
Actually also works on normal binary, you can just create the dump via task manager
Anything you want me to change in the code I have to make it easier to find?
no
Well
you could put it also in a local variable
and add a while true sleep loop at the end
Then I can just look at the local vars in the spawned script, instead of sifting through mission namespace
Dump created and sent to your DMs with updated code used
TBH I dident have any suggestion, I was moe curious what the plan for it was, but reviewing the wiki updates those are some very nice changes! Love the custom EHs for adding and removing them. I made a EW system I havent pushed out yet, I will defiantly use this for that. I'm manually managing this with the pylonsChanged EH currently.
Not related to pylons but for aircraft still, me and Peral would love the stealth config properties to me changable in the run time. We have quite a lot of stealth aircraft which I made a simple system to enable and disable external pylons but we cant change the stealth characteristics of them. (Im aware this is why the black wasp has two varients)
radarTarget = 1;
radarTargetSize = 0.35;
visualTarget = 1;
visualTargetSize = 0.7;
irTarget = 1;
irTargetSize = 0.75;
Well turns out, there are 3 possible types of strings.
An empty string with a buffer but no content (It used to have content, but was modified in-place and cut down)
An empty string with no buffer (that's what all empty strings are supposed to be)
An empty string with a buffer of size 1, which only contains a null terminator. (The game itself never creates something like this)
Oh right, yes someone asked to increase the target sizes based on pylons. I forgot about that.
Mh implementing that is quite annoying and hurts performance (probably not enough to matter, but enough for me to not like it)
Does it really make that much of a difference?
Is it enough to change it by adding a pylon.
Something like "Attaching this pylon increases the size by N"
Or do you need it fully changeable by just script. Just script is probably actually even easier to do.. but still annoying and the performance hit thing
Scripting control over target size would be really helpful for anything that wants to do electronic warfare/countermeasures/advanced radar stuff
Top-of-the-head examples: an ECM pylon that can decrease your radar target size; a scripted system that increases IR target size when firing a laser; vehicles with mode switches between exposed/stealthy configurations
*That last one could even be applied to existing stealth aircraft, by increasing radar size when the internal bays are open
Yeah this would be awesome. Target size, and maybe even something on the emitter side (radar range sky/ground)
Hey guys. RC is resetting my profile. I know it might not happen to all players, but it's still a problem. Happened on DEV as well, but the problem disappeared, but now it came back on RC. Any idea how is this happening and what steps can I do to avoid this? Basically every time I run the game, settings are reset. Ticket: http://feedback.arma3.com/view.php?id=27514 (dev branch, but the problem is the same on RC)
And sometimes now I cannot get trough the "Best place is to start at Bootcamp", if I click no, it changes the Intel part of the main menu, if I click yes it's either crashes or opens up the bootcamp mission selection with an error message.
Can anyone tell me what the Steam app_update number is for the RC branch. Thx
it's an interesting thing that few people seem to report every now and then
btw is here anyone else that has this problem? https://forums.bistudio.com/topic/187971-game-updater-doesnt-load-rc-or-legacy-branch/ I can't download RC (and legacy) branch with Game Updater. Dev and main branches are downloaded without issues.
I tried app_update 107410 -beta rc validate but I'm still getting 1.54
Tried: app_update 107410 -beta rc -betapassword Arma3Update157RC validate
and app_update 107410 -beta development -betapassword Arma3Update157RC validate
and app_update 107410 -beta rc validate
none seem to get 1.57.134516
isn't it 156 and not 157?
does it have a password even?
yes
app_update 107410 -beta rc -betapassword Arma3Update156RC should be right is I've understood
rgr trying that
no did not work. I got 1.56.0.134536 I should have got 1.57.0.134.516
app_update 107410 -beta rc -betapassword Arma3Update157RC does not work either
Got it
app_update 107410 -beta development validate
is correct
How are you implementing it? (Im curious :D)
TBH idk if its something that would make a huge difference but for stealth aircraft with "beast" modes, like the F35 it would be nice. I work with peral on his aircraft and we have two F35s I've setup to have a button setup to enable or disable exterior pylons so for my purpose I would only need a scripting command to change the values.
I think it is going to make negligible difference per weapon on a pylon, but have or not having multiple external pylons would make some difference.
How I assumed it would work is instead of a value being pulled from config those values are stored in variables and can be modified. The only performance hit I could see is when a vehicles sensors checks "can I see that", it now has to pull a variable from each object rather than is config value which is faster. Ofcourse I have no knowledge on the backend or engine workings of arma because its not accessible so im curious how you are thinking to go about this π
Like NikkoJT said too with scripting commands for all of these it will lead to some fun extra things like increasing the IRSize when you fire your afterburner π
The problem is that these values are currently stored on the entity type. Which is shared between all vehicles of the same type.
So changing it per-vehicle, doesn't work. Thats the annoying thing.
Need to move it over to per entity, but then we have the problem that it uses memory on every entity. Even the ones that are never targets.
Can move it to only transport vehicles, but then when receiving the value we need to check if its a transport vehicle or not, and that costs performance.
RIght, so the per entity is literally EVERY entity. The check for if its a transport vehicle I assume is the same as a isKindOf check? And those loops that need to check for the transport type will only be running on vehicles that have sensor components?
I think the performance drop would be negligible if those are both correct
so you wanted dev branch and not rc?
that explains it then π
-beta rc is for the release candidate
107410 -beta rc -betapassword Arma3Update156RC
Every vehicle that has sensor components, will check almost every other vehicle, so it'll add up
lol..
I noticed an error in my new code. Instead of returning visualTargetSize, I was returning visualTarget, the boolean 0/1 value.
Turns out, that wasn't my error, that was a copy paste.
Its been broken since... probably forever visualTargetSize in config had no effect, it would be either 0 or 1..
Welp lol
[] spawn {
systemChat str diag_tickTime;
waitUntil [{systemChat str ["check", diag_tickTime]; false}, 10, 2];
systemChat str diag_tickTime;
}
The interval time only starts after the condition was evaluated, so if the condition itself takes more than one frame, it can take longer than interval between checks.. but this is scheduled so everyone expects it to be messy
ayyy thank you! And yeah I get that, after i wrote my last message I though of that how every vehicle with sensors checks all others.
is this not possible to be global effect? I would of though just on an update of the values they could be broadcasted to all clients as it only would broadcast on update
I can just use remoteExec ofc. I guess there is the argument of what if you want certain vehicles to have "better" radar than others and therefore change target sizes locally
is this not possible to be global effect
Yes, but I don't feel like implementing netcode
Can do that later, mayybe
Alright thanks a lot for adding this π
I... have a problem here.
I actually cannot use game time for waitUntil timeout/interval, nor ui time....
Due to engine architecture, waitUntil code doesn't have accesss to time.
The only solution I see is to use real world time, not game time.
Which.. should anyway be equal to ui time.
It just means you can't rely on it, and if you really need time (which anyway.. its scheduled, so it'll never be exact) you'd have to keep track of time yourself
Makes it pretty useless for me :/
I think every time I use a timeout in a waituntil, it needs to be simulation time, not UI/real time.
I can make a copy of waitUntil that lives elsewhere... but I don't know what'll all break then
Bit baffled that the engine doesn't have general access to simulation time. Like how do you handle AIs getting stuck :P
AI's have general access to simulation time
Just this code is in a place that doesn't
Oh well. It was a nice-to-have rather than replacing something really obnoxious.
I'll try
On that note I should probably write up an _array findLowest { code }
This is ugly right?
_par = createHashMap;
_par set ["name", "testfile"];
_par set ["folder", "subfolder"];
_par set ["content", "R3voman"];
do3DENAction ["CreateTextFile", _par];
This might be better, but I still find it ugly.
do3DENAction ["CreateTextFile", createHashMapFromArray [
["name", "testfile"],
["folder", "subfolder"],
["content", "R3voman"]
]];
I just felt like PoC'ing around a bit..
do3DENAction ["CreateTextFile", #{
"name": "testfile",
"folder": "subfolder",
"content": "R3voman"
}];
This would be the first addition to SQF core syntax, in like.. 20 years?
So I'm a bit scared of doing this.. It seems to work..
# is an indicator for the compiler.
{} is just a normal codeblock
The code block gets compiled into a constant.
And because of the # it inserts a new make hashmap instruction (like make array works in the assembly)
The new instruction, creates a hashmap, stores it like switch statement does its condition, and executes the codeblock, just like switch/do.
The : are alt syntax of the colon command for switch/case, that look up the hashmap and insert into it.
Also available in cursed as F.
_f = {
hint "hello";
"name": "testfile";
"folder": "subfolder";
"content": getPos player;
};
#{
call _f
}
Currently it runs unscheduled. So this would also be alternative to isNil {codeblock}. You don't need to put anything into the hashmap.
But I think thats a bad idea, it should support scheduled
Huh, this can help quite a bit of mass config generation etc
Interesting
I have never been a super huge fan of hashmaps as arguments/parameters as they are quite wordy. But that new syntax seems nice.
Should I make this a ticket
Yes. But I'd prefer to not have to do it because its annoying π
There are so many useful, functional applications of having this work
Can that write description.ext?
Only text files if you are talking about the new 3den action
@ instead of #? 
well, description.ext is a text file
Literally only .txt file.
All the sensor mast vehicles could use this
π
You can almost do this with preprocesser macros but native syntax is cool.
Is there any possibility of adding Sets? Can already accomplish similar with HashMap structure backing but would be nice bridge between Arrays and HashMaps.
no
any rough guidance on which Q we're likely to see 2.22?
He said next release is "monthish" away
Wow, this looks like a great feature, but for some mod developers like me, it could actually cause serious problems.
To keep development efficient, we rely on tools like sqflint (a VS Code linter/parser for SQF) to validate our SQF code style and syntax.
If there are syntax-level changes, they could break compatibility with tools like sqflint.
For us, that would likely create more trouble than benefits.
from what I see there's no syntax change to the SQF itself. it's just that now we have alternative syntaxes for some commands (# is now unary with code arg, and : takes ANY instead of CODE)
Actually, there is one β for example, : is supposed to be valid only inside a case statement, but now it is also treated as valid in general contexts.
I don't remember there was a constraint on using :. so you can't just write cast "X" : {}; (without any switch) ? it should be possible afaik
There is, actually β using : outside case leads to parse errors.
I did try to patch sqflint, but Iβm still not very familiar with JavaCC and related tooling.
using : outside case leads to parse errors.
well rn it should because again:is a binary command that takes aCASEobject on the left so you do need acase. (so syntax isCASE : CODE)
but once this gets released (if at all) I think Dedmen will change it to beANY : ANYand the linter shouldn't complain anymore.
external linters like SQFLint will have to be updated manually, but internal linters like ADT will adapt automatically because they can read the syntax data directly from the game
Based on my limited understanding, this is currently how sqflint handles : .
It doesnβt treat : as a binary operator/command; instead, it validates : specifically while parsing switch-case statements.
Maybe : could be handled as a normal binary operator instead β Iβm not completely sure. If that approach is possible, I can try to work on it, but to be honest, it would still be quite difficult.
We would need to modify sqflint itself to support this properly.
So I just wanted to kindly ask whether this change is truly necessary.
Either way, I understand your reasoning and decisions.
Afaik HEMTT is the most up-to-date linting tool.
And they would update to support it
using : outside case leads to parse errors.
no it does not. Well Arma does not.
#{ is actually a new compiler syntax thing.
Its like a new quotation mark. # is not a command there
So I just wanted to kindly ask whether this change is truly necessary.
You don't have to use it, if your tools are not compatible with it.
What you do in your code is up to you. Why should a old tool that is not being updated, prevent everyone else from getting access to a new feature?
If you were to go by that logic, then any new script command should not be done, because sqflint's command list won't know it and won't know what to do with it?
honestly this ^
i'd rather have to keep updating my code to accomodate for engine changes/additions than be "alone" in modding a game where the devs abandoned it without support (having done the latter myself, it's not fun or motivating, spending 50+ hours inexperienced digging through assembly to fix/add/change one feature in the engine because the game was too limiting)
i'd much rather have it keep evolving and spend the 1-2 hours needed if i maybe have to change something on my end because we get new features than to be stuck with a game that'll never grow past its current state, im happy we're still getting updates after more than a decade
Okey fine I really appreciate all the work youβre doing, and Iβm genuinely glad Arma is still evolving after all these years.
I agree with your overall point β continued engine updates are important, even if they sometimes require extra adjustments on our side.
For me this will likely mean some painful tooling changes, but Iβll adapt and update my workflow as needed.
Thanks again for the explanations, and for continuing to push the engine forward.
@full sonnet Hi i was wondering if you know about the Cycle Order bug where when cycle redos the waypoints after a while they end up defaulting to world origin 0, 0, 0
it appears pretty consistent and I've had to stop using it for my waypoints for ground units, I've tested it with just CBA.
What does "after a while" mean exactly?
A few cycle restarts around 4-5
You'll see waypoints at 0, 0, 0
What type of vehicle?
any could be infantry as well
this is with CSAT.
maybe i have bad code but i dont think so all im issuing is a cycle with waypoints so π€·ββοΈ
If you can, create a minimal replication case: A mission as small as possible that can reliably generate the problem without mods. Then post that to the feedback tracker.
no
i wonder if the visualTargetSize fix will have an actual influence on the gameplay now or if nobody will notice anything
Wooo!
awww π
- Removed: lineIntersects / lineIntersectsSurfaces multithreading (unresolved crashes, though the script syntax is still present)
bi giveth, and bi taketh away - oh well
kinda curious as to how deep of a code edge case nightmare that must've been to cause crashes (i've used it quite a lot actually and never encountered a crash)
I have also never encountered a crash while I was testing with it.
I put it in TFAR, none of the players in my unit had issues with it.
But after TFAR update got released to public after the beta testing phase, within one day people started reporting mass crashing.
Still no idea what the issue actually is
curious... maybe one day it's figured out π€·
Ah shit, I just used it in our latest release :P
It just iterates the loop on one thread.
Probably still faster than looping it in SQF
Yeah but it's multithreaded on stable?
on 2.20 yea
Maybe it's a safe case anyway because it's a lot of 10m rays in a short area.
I would guess TFAR is doing very long rays that might force terrain loading/unloading?
TFAR used it for object interception, which is 60m tops
it's shrimple, dont need to fix the crash issue, just use gpu for raycasting 
(probably changes it just enough to maybe avoid whatever was causing the crash, and totally doesn't include an additional age of work or whatever)
generic pylons
Are vanilla assets going to uptake these? Would be nice if mission scripting allows to add sensor pods or pilot cameras to helos and jets.
The generic pylon magazines don't require any changes on the aircraft itself to work, and through scripting, any pylon magazine can be added to any aircraft that has pylons. So vanilla aircraft, like all other aircraft, will support generic pylons by default. You will still need a mod to actually create new generic pylon classes to use; I don't think there are any plans to add vanilla sensor/camera pod pylons, because it would require asset work which there aren't resources for.
Ah I see. Still cool.
And there are fuel pods that got quietly added last patch. Fingers crossed for test sensor / pilot camera pods anyway.
I am not 100% sure about this topic, but is still there a chance of tweaking vanilla P3Ds in the future update? Is torturing reyhard still worth it?
I just actually thought of... Ghillie Suit but with actual head instead of goofy balaclava
Or Bohemian heads don't have facial bones, etc...
Small bugfixes yes, but new features rather unlikely
I implemented it now, but I don't have something to test it with.
In the sensor class next to "animDirection" is "animPosition", works the same way.
Its all just copy paste and making it position instead of direction so it should probably work...
Il test with the next update, Thank you
I saw a recent screenshot that showed the A149 without the fuel tank/tgp. Was that just texture/animation trickerybof some sort?
Can this accept coordinate offsets? Or memory point only?
if its the same as "animDirection", it will be mempoint only
Does the Camera/Sensor pylon support adding a magazine? For example, to let a targeting pod add both the sensors, as well as a laser designator? Or would that have to be done using an EH to add/remove a laser designator weapon/magazine?
So some feedback on sensor/camera pod configuration - I've tested using pod models from a few different mods, since there obviously aren't any in Vanilla. Camera pods work great without any memory point defined (model center default), which allows for backwards compatibility with old models; however, they need to be made with no internal textures if you aren't manually defining a memorypoint, or else you will likely get an obstructed view.
For sensor pods, it seems that the default direction is backwards. Fig. 1 shows a combined sensor/camera pod, and even with PilotCameraRotX/Y attempted for sensor direction (provided by CameraComponent according to https://community.bistudio.com/wiki/Arma_3:_Vehicle_Loadouts#CameraComponent), the associated sensor on the sensor display does not move when the camera is rotated, and constantly points backwards. Fig. 2 shows a sensor pod with no camera conmponent. No default direction is defined, and it points backwards as well.
Personally, I think it might be a good idea to take the LITENING on the A-149 and make a version of the model configured as a camera/sensor pod, just so there's a Vanilla template with all the memory points and directions to allow model makers a reference for what is required on custom pod models.
It has script eventhandlers.
You can do anything, even add a weapon with magazines like weapon pylons do, and then use user animation sources to animate the pylon.
For sensor pods, it seems that the default direction is backwards.
I fixed backwards direction for sensors like 5 times already
The pod's are actually inverted coordinate system, because they are proxies. The pylonInfo script command is also broken in 2.20 and gives backwards direction
I probably missed something there when the memory point isn't found
The missile knows where it is because it doesnt know where its facing
Do you know where you are? I love this meme, so in this educational video I dissect what the true meaning of the missile knows where it is is.
If you liked this video consider subscribing, it would help me out.

wat
For anyone working on TGPs, here's a couple little files I wrote to add/remove laser designators to your aircraft when a generic pylon is added/removed. v1.0 is bugged on two-seaters, fix with switch to addWeapon/MagazineTurret.
class EventHandlers{
added = "call compileScript ['\yourFilePath\fn_AL_pylonLaserAdded.sqf'];";//params ["_vehicle", "_pylonConfigClass", "_pylonIndex"]
removed = "call compileScript ['\yourFilePath\fn_AL_pylonLaserRemoved.sqf'];";//params ["_vehicle", "_pylonConfigClass", "_pylonIndex"]
};
Some more feedback on camera component: from my test, the Camera Feed display compnent appears to use the memorypoint/direction of the vehicle class' pilot camera instead of the camera pod's properties. Curiously, it does correctly match the vision mode.
Fig. 1: The active pilot camera is underneath the aircraft, with the underside and a pylon-mounted weapon visible. Meanwhile, the Driver feed is taken from the vehicle class' default position with the aircraft's nose and forward terrain visible. It also obeys zoom level of pylon TGPs.
...did something get broken with the delete keyword?
Vanilla static AA turrets (Defender/Rhea) and their radars (AN/MPQ-53/Cronus) can somehow be flipped up by a human player if they get knocked over even though their configs specifically remove the UserAction for it (PressXToFlipTheThing).
When assigned by default as an attachment entry to a pylon, generic pylons do not appear as selected in the Attributes->Pylons menu. However it is selectable and may be mounted like normal. Yes, I've double-checked that the version I attached is the compatible one.
I think its only the radar display that's rendering it wrongly
This is a radar facing forward, the target display works, it detects the target infront. Only the cone is displayed wrong.
But the weird thing is, if I use a targeting pod with a camera and animation set up, the cone is forwards and also animates correctly
Oh..
XD Everything is wrong
I also dont know if its like this for all models or just pylons (im new to object builder), but I that reminded me i had to invert the Z coordinate of my pylon's pilot camera memory point
Pylons are proxies, so they are inverted models.. kinda mess
Inverting the invert, what an invention
It is supposed to be, that the direction you set up inside the pylon model, should match.
So if it goes out the front of the pylon model, it should also go out the front ingame.
The engine should handle all the inversions.
I just need to rip out this code and redo it.
The method to get the sensor direction, takes a entity transformation as argument (which seems to be nonsense, because it always gets passed the "same" thing, why even have that as argument..)
Some places pass the transformation of the vehicle having the sensor.
Some places pass the transformation of the owner of the sensor, which so far used to also be the vehicle.
But since pylons have sensors, the pylon is the owner, and the pylons position is inverted and offset.
But some places now pass the helicopter instead of the pylon... ahhh.
Afaik there shouldn't be any problems with the pilot camera though 
There is a bug with the pilot camera creation though.
If the pylon is on there at mission start, the camera position is initialized before the pylon's position, and camera ends up inside the vehicle.
And if the model wasn't loaded yet, the init is delayed, but the pylon offset is applied twice so its widely off too.
And the inversion of the proxy was not properly applied to the camera pos, that was probably the thing with your inverted Z coordinate.
Instead of moving forwards it moved backwarsds
Man the camera view in the HUD is such a ultra mega pain
Its all based on a memory point on the vehicle.
But its not on the vehicle for pylons 
Pylon camera position memory point cannot be animated.
I could make it so, but I'd rather not add the overhead
Also HUD camera works by being attached to the vehicle's memory point.
The vehicle doesn't have the pylon memory point, and attaching to pylon is not possible.
But I can attach to the vehicle, with a fixed position offset (So again, the mempoint can't animate here either)
Ah the pain of trying to add a feature to this engine π
I wasn't following the conversation. what are you adding again?! π
goats
A horrible one is enough
FIRE!!
Ill get some more testing in today/this weekend, one of the camera pylons im adding has a horizonal offset and i want 2 see if that will be inverted
I'm also having this bug (I'm not sure if it's related to Devbranch or not) where if an aircraft doesn't have a particular sensor by default, it won't be able to use that sensor even if it's added by a pylon ammo.
For example, the A-10 doesn't have IR detection capabilities without a TGP or AGM-65 mounted on a pylon IRL, so I removed the VIS/IR sensors from my version of the A-164, with the intent that a TGP or Macer/Maverick could be added to grant the functionality. However, when flying around some VIS/IR targets, none of my weapons, whether it's the cannon or AA/AG missiles, can select a target. Only if I add the TGP to a pylon will it let me do so. Sure for the gun, it's fine, but for the missiles with a built-in sensor, it's definently not what I woiuld expect for functionality. Same goes for IR missiles.
Just tested: Yes, the X-offset of my pilot camera memorypoint is also +/- inverted. Only the vertical/Y direction offset is Accept As Is.
The fixes for the stuff should land mid next week
I don't know how that works, I'd need a repro to test it
I guess the best way to tell without a custom addon or class would be with the vanilla AH-9
>Place AH-9, assorted air/gnd targets in 3DEN; ensure ground targets have engines on via MOVE waypoint
>Set pylons to Falchion-22, Scalpel, or any other sensor-guided weapon
>Play scenario, attempt to lock on to any target with pylon-mounted sensor-guided weapon. You will be unable to unless you very precisely "boresight-lock" by lining up the target in the exact center of your screen and pressing T/R
It appears unrelated to the new Pylon feature though
If the aircraft doesn't have a usable sensor, it uses the weapon's own sensors. If the weapon's sensors have a very narrow lock cone, then that's what you'll get. You should check the sensor config for those ammo types.
There's one CUP Hellfire with no lock params at all, because apparently they didn't test that case :/
The BIM-9X and Macer lock cones are a lot wider than center-screen boresight though. If a target is selected via boresight, it also only has a target lock diamond, and not a target select square - from this I can presume the Square part of the target symbology refers to aircraft sensor lock and the diamond refers to ammo sensor lock.
Fig. 1: Target is demonstrated to be a valid IR target, and was selected via "boresight" (T button while HUD weapon reticle is centered on target). Only has Ammo Lock symbology because aircraft lacks sensor.
Fig. 2: Same target is well within ammo lock cone (Macer is 35Β° x 35Β° IIRC), I am spamming the R button; I could do either R or T to the same lack of effect.
Fig. 3: Same editor file, just have a Generic Pylon added with sensors+camera. Now the target appears on my scope, and I can select it from any angle (i.e. not boresight-locked). If the aircraft was appropriately using the ammo's sensor, this case would be possible without the TGP. The only difference I would expect is the the target to only appear while within the ammo's specific sensor bounds, and the ammo-only lock symbology being present, like in Fig. 1.
No DLCs, just the mod I wrote including this custom derivative of the A-143, sensor pod, etc. It does not change vanilla behavior, and the ammo class is the vanilla Macer.
Similar case, A2A. Heat-seeking missiles like the AIM-9 mounted (vanilla Falchion-22 ammo class) can and are intended to lock IRL with no sensor input due to using passive sensors. However, without an IR sensor on the aircraft or a RADAR activated, my heaters are nigh-useless and unable to lock at close range with very little angular deviation from boresight. It's like if it was only functional using the RADAR slave modes found on real aircraft.
dev branch got updated 
base game too
660 MB
am i smelling the 2.22?
Are you sure that's not the EF update?
oh
perhaps
yeah that explains it 
This weeks dev-branch update is being skipped. So no pylon fixes yet π«
Same editor file, just have a Generic Pylon added with sensors+camera. Now the target appears on my scope, and I can select it from any angle (i.e. not boresight-locked).
That sounds like the pylon sensors are working fine though..
I don't know what I'm supposed to do here.
The missiles own sensor doesn't work as designed? That's unrelated to the new pylon feature, so its low priority
Which config entry on the missile, decides its lock-on cone?
Is it that the weapon is missconfigured (not my thing to fix), or that the engine doesn't properly handle the weapons configuration?
little Q about the radio channel stuff... does "setPlayerVoNVolume" hold thru death/respawn? Also does Direct Chat have a hardcoded range?
Im thinking its a separate unrelated engine issue, but only got noticed when I started converting some aircraft but to use pylon sensors.
The VoN volume is actually stored on the unit. So I expect no.
Direct chat is 80 meters.
But the volume falloff over it will also make you stop hearing sooner than that
Then feedback tracker ticket with precise repo.
I need to know the config properties that set the missile's cone, to know what I'm looking for
Sweet thanks
Over the years (Literally going back to 2013) there were a few requests for verifying DLL Extensions before loading them.
Either by checking their Hash or Signature.
We had an internal proposal (Also 2013) to make "bisign"'s for extensions, but that is not backwards compatible.
There were proposals to add new script command/syntax like callExtension, but you provide a hash to it and it verifies it before loading the Extension. But the problem is that if the Extension was already loaded, using the old syntax, then its already too late.
My idea would be a EventHandler, which you can return false in to block a Extension from being loaded.
This also has the problem of an Extension being loaded before the Eventhandler is added.
So on top of the Mission EventHandler added by script, also have a config class with basically config EventHandlers that do the same, which would be present before the first Extension is loaded, and can do the validation.
The EventHandler would get arguments like allExtensionInfo is providing.
Signature (full certificate chain, only windows), file hash, filesize, modfolder its in, file version info (windows).. What else?
Thoughts?
scripted solution is bad
We had an internal proposal (Also 2013) to make "bisign"'s for extensions, but that is not backwards compatible.
why not?
Old Extensions don't have bisigns. They will suddenly stop working.
Server owners would have to make their own, but what for existing workshop mods.
Also once an Extension is loaded, its too late. And you can load an Extension in Singleplayer, before joining a server.
It would make all the existing extensions invalid until modders update them I think
I've never written an extension so I don't know how it works, but does loading it inherently allow the extension to run some malicious code? Or does it require a callExtension to be run first? Could it be an option to block that command before the extension is validated somehow?
Just loading it is enough for it to do anything
Also once an Extension is loaded, its too late. And you can load an Extension in Singleplayer, before joining a server.
well yeah. this is true of any solution you provide. no?
A config class that validates it.
The server has no control over the Extension. But the mod that provides it does, and the mod is bisign checked, and you cannot unload a mod.
if you load a mod that server doesn't use and the mod is not signed you can't join the server at all right? sounds like a trivial question but I've never done it so idk
Yes
depends on signature validation setting of the server no? but in this case I assume it would be set to verify all
Is it more to protect the players from loading "unverified" dll extensions, or rather make sure that the dll versions match between the server and the client?
The main focus is "unverified".
But if the DLL is verified and you can trust that the DLL is what it says it is, then you can also implement the version match check in script.
Currently you can implement version check.
But you trust that what the DLL tells you is its version, is actually it.
In the age of open source extensions, everyone could build their own and replace it with one that just states the same version.
Maybe backwards compatibility is not so bad if you prompt the user to confirm they want to load a mod which has a missing dll signature
Prompt doesn't work, we cannot delay the DLL loading if its requested, without breaking backwards compat
So what if the mod with the DLL gets updated. The hash of the dll would change so you need to push an update to check against the new hash?
Use signatures. Same private/public key, no need to adjust
rgr
Currently allExtensions has sha1 hash, does it actually matter enough that I should also provide sha256?
Because of sha1 being old and "insecure" and stuff
(I know exitWith doesn't work properly.. please ignore that fact)
addMissionEventHandler ["ExtensionLoad", {
if (_this get "name" != "ace_break_linecorrupt") exitWith { true }; // return, Allow loading
// must have signature, so signatures can't be empty
if ((_this get "signatures") isNotEqualTo []) exitWith { false; };
// Find a signature that is..
_validSignatureFound = (_this get "signatures") findIf {
_x get "publicKey" == "308201...E4EA81730203010001" // Signed by my key
&&
!("expired" in (_x get "status")) // Not expired
&&
!("badDigest" in (_x get "status")) // The signature actually matches the binary (it was not edited after signing)
};
_validSignatureFound != -1 // If signature found we load, otherwise we block
}];
Argument is a hashmap
{
"name":"ace_break_line",
"hash":"676CE410E48A0D3CED71004D4F1FAC11D99D0D55",
"signatures":[
{
"notAfter":"2026-04-12T16:42:56Z",
"serialNumber":"1022",
"extensions":{
"authKeyId":"DB479B6C8A1F05807EDBAFCBC2823DB52D554E9C",
"comment":"Plugin Certificate",
"subjectKeyId":"92CF8B549101560DD5D771754E44326EE4056935"
},
"issuerName":"DE, Germany, Intercept, CA, Intermediary CA Dedmen",
"issuer":{...},
"status":[
"ok",
"expired",
"revocationUnknown",
"partialChain"
],
"notBefore":"2023-04-13T16:42:56Z",
"thumbprint":"B6C731E2ABE2113723FAB0EC5342292B576B0E27",
"publicKey":"3082010A...203010001",
"subjectName":"DE, Germany, Intercept, CA, Intercept Core Extension",
"counterSignSig":{...}
}
],
"filesize":226136,
"productVersion":"3.8.4.0",
"hashsha256":"FFB537D2D08B081E9AB387C629F6223D00E6A6149EA91AB45E255D7B6CCDBDA7",
"fileVersion":"3.8.4.0",
"mod":"curator"
}
had this conversation in another chat (i think it was in scripting) - not really a failsafe per se as much as a warning (against malicious ones at least), but if there was a prompt when starting a game without battleye whilst using battleye-unverified extensions (or any extension in general if you cant check for battleye verification) that essentially tells you "you're using an mod xyz that contains an extension that wasnt verified by battleye, if you have been instructed to do so on purpose, it may contain malicious code/etc..."
(i know it's not exactly on topic but since its an extension conversation i figured i'd drop my two cents here)
that wasnt verified by battleye
We don't know that
gotcha, figured as much but wanted to be sure - i mean then it's just along the lines of "using mods with extensions without battleye is dangerous"
can have a "dont tell me again" cause im sure many people do this, but at least it's a warning that still happened
Would be funny if BE was also just checking the hash of the DLL
For their whitelisting, they basically are yes
Find a hash collision in whatever hash they use and have fun
Where to put the config eventhandler to verify the extension.
Its basically a MissionEventhandler but in config 
class CfgExtensions {
class MyModName {
extensions[] = {"extension1", "extension2"}; // Whitelist, which extension names to run this check on (so its not ran on unrelated extensions we don't care about)
onCheckLoad = "call MyMod_fnc_checkExtensionLoad";
publicKey = "308201...E4EA81730203010001"; // The handler has access to the config class, so we can store some properties here)
}
}
Everything i come up with seems ugly in some way.
MyMod_fnc_checkExtensionLoad = {
// must have signature, so signatures can't be empty ("signatures" entry is not present on linux")
if ("signatures" in _this && ((_this get "signatures") isNotEqualTo [])) exitWith { false; };
// Find a signature that is..
_validSignatureFound = (_this getOrDefault ["signatures", []]) findIf {
(_x get "publicKey") == (_this get "config" >> "publicKey") // Signed by my key (Easy access to config that added the handler, so can store the key there)
&&
!("expired" in (_x get "status")) // Not expired
&&
!("badDigest" in (_x get "status")) // The signature actually matches the binary (it was not edited after signing)
};
_validSignatureFound != -1 // If signature found we load, otherwise we block
}
To be fair though that provides a lot of new info and looks like it would do the job :)
-# Maybe @mossy cloak might have some thoughts on #dev_rc_branch message though?
Well I have that in for next profiling branch update.
The config one only, not the missionEH one.
Might even keep it config only, not decided yet
We actually have a ticket about that from 2013. Back then it would've been viable to do that without breaking backwards compat. But 13 years later.. not so much.
We could make a "Hey this mod contains extensions in its folder, we don't know if it will try to load them, or if they are even able to load, but beware"
But... the Arma Launcher already has that.
There was a proposal of moving extensions out of the game process, into a separate process.
Overhead for communications over there, but security benefit. And we can just kill/restart the process when we join a server. So no extensions can load before, and we could actually apply bikey/bisign verification there.
But 13 years since that proposal..
And it would've also blocked some recent features, like interacting with graphics.
why it wasn't done back then?
apparently, some other minor developments happened in between really
hm
maybe stupid question(maybe not) what happens when i use callExtension in that onCheckLoad callback π€ does that crash the game? does it just not load the dll and throw an error?
did this end up in the perf version or the next dev version?
Ah right I forgot that.
It'll be ignored if that is also to an extension that's not yet loaded.
It will fail/skip the load.
Also if a script blocks an extension, it will stay blocked and not retry. Which I also forgot.
That should be in Prof.
Iv just tested Prof, this does not appear to work, I have the animPosition = "sensorPos"; set inside my ActiveRadarSensorComponent components, I do not have an "animDirection" defined and it still appears to be originating from model centre.
I'd need something to test it myself
Iv got something but it aint simple, I don't know of a way to do this simply, I cant config patch a mempoint into a vanilla vehicle to test
Might have an easier way
Sent you a PM to test it
Has anybody actually gotten the "required mods" thing working in 1.56RC server browser?
For me it just doesn't seem to able to connect "@CBA_A3" running on the server with the "@CBA_A3" I've got from steamworkshop
@past moon Any idea what I'm doing wrong?
Do you have CBA downloaded from steam as well, or have you downloaded it from somewhere else and added it manually?
any chance an old mission maker vet could get a personal favour added to the game?
request: description.ext option to auto-join players into a randomly selected lobby slot (instead of the current first-available selection)
it would address this issue:
right now if thereβs a bugged slot (appears joinable while itβs actually occupied), all joining players get auto-joined to it and get βstuck on receiving dataβ
if slot selection was randomized, the likelihood of encountering the bugged slot would be way lower
joinRandomLobbySlot = 1
please β€οΈ
then i can finally use the βskipLobbyβ option and bypass the lobby UI altogether. at the moment itβs essential to have so players can select a non-bugged slot
To bump on this we actually have had this issue forever too. I've never brought it up because I've never been able to reproduce or get a dump to provide useful enough info.
We recently had a case where 8 or so slots went at once and people couldn't join them. Upon debugging I found the names associated with the units were either null or nil:
[swat_0, swat_1, swat_2, swat_3, swat_4, swat_5, swat_6, swat_7] apply {getPosATL _x}
// [[0,0,0],[0,0,0],array,array,[0,0,0],array,array,array]
Typically it'll only happen with a few slots at a time so we are more convinced the one I was debugging above is mission related. Those specific slots were also only implemented within the year to support adding a faction to a gamemode; and what I did to make it work wss quite hacky. It does make me wonder though if in instances of this happening where we've always thought it an Arma bug that somehow the unit is being deleted.
Easy. Feedback tracker ticket please
Does it need some extra config through? Like random joining across all factions?
Only across blufor, until its full and then bump into redfor until its full and so on?
For you to think about and plan out
nil. getPos doesn't return nil on null arg
Added... Latin?
Is this a "because we can" case, here or was there a special reason behind this one?
I'm asking because it's been a long time since I last met someone speaking it
a special request by @pontifex in DM
https://www.bohemia.net/blog/arma-2-the-name-tale
Arma is originally a Latin word
(No special reason other than it was a high-level request from inside BI)
As we're quickly approaching the release ofΒ ARMA 2 , the third installment in Bohemia Interactive's award winning series of military PC simulations, it's a good time to clarify some things about the name and also explain why using Armed Assault 2 is wrong or why Arma is not a cheesy weird name as some English-centric souls may believe!
*These languages were experimentally translated using an AI model. The quality of these translations is not guaranteed, and they may contain mistakes. Separate issues are unlikely to be fixed, but full regenerations using improved models may occur. All other existing languages were translated by a team of human translators.
May I ask what AI model was used?
GPT-5.4
But subject to change for whatever reason
I wonder how that compares to DeepL
oh no, what's vojtΔch thinking about this
Pulling his hair out
On the nil/null, IIRC player vars return nil until someone has actually spawned in a slot. If they joined and then left then it's objNull. Bit of a pain.
was latin ai translated because there's nobody at bi's reach who knows latin translation?
I recently generate string tables for my mod using ai translations, the feedback iv had so far was okay with minor contextual errors in the translation
Same- I figure an AI translation is better than no translation at all. I can't control that I don't speak French, German, Spanish but I can try to do what I can to support it.
exactly, and if anyone does speak the language and wants to correct it, Il welcome that
its immedietly significanty easier for people to enter using mods if there is somewhat of a translation instead of nothing
Depends. A botched translation may be more annoying, because it could break the immersion every now and then. It would constantly remind me "oh, right, I'm just playing a game, because those lines don't make sense in this context so it's not a real person who said that", so to speak
I guess I could see that in the case of mission making with AI who speak dialog. I feel like for other stuff like UI I'd still rather use a botched translation over a language I don't understand though.
https://feedback.bistudio.com/T198797 For my uses I only have blufor configured. I think @trim crane had the same bugged lobby slot issue but he was using the lobby to select factions so players were manually selecting their slot
0, // EAST, random role-joining disabled
1, // WEST, random role joining enabled
1, // RESISTANCE, random role joining enabled
0 // CIVILIAN, random role joining disabled
};```
obviously excluded module/logic/zeus slots so players cant shuffle themselves into special roles
Maybe the array should be side index instead?
A little off-topic from the current request but pretty sure when they're locked on receiving data they also can't escape to chose a new slot. It'd be cool if maybe there was some sort of timeout or something before allowing user input to escape but that's probably way easier asked than to do.
Right now only real option is to ALT+F4 and not sure if we'd be able to use the randomized slot selection since our blurfor slots have units that require different whitelists. So maybe even just some way to chose which slots are viable too if it's not too large of an ask ππ
Create zeus slots and control the world
Well machine translation was ever introduced to the game all the way back then, like 8 years ago. I'm not against of these new strings but it's not something entirely new. Our people suffered by playing Bootcamp already, before we fix it
That order in Quicksilver's example is how the sides enum ordered
assignRandomRoleForSides[] = {1,2};
```I think this looks neater
are players sorted evenly by faction when they first join the server @trim crane ? iβve only ever worked with 1 lobby faction
my intention is to use the skipLobby option. its unusable if thereβs a bugged slot that every client is getting assigned to, so random assignment will sidestep the bug
Imo having numbers in a true/false config looks funky but I get the idea
What could be neat is replacing the idea with the faction name
So
assignRandomRoleForSides[] = {east,west};
cant you do that with #define
Why make complicated when can be simple 
Fair
Is there any chance to make https://feedback.bistudio.com/T63330 ? Request from 2013 
Doesnt it convert to string anyway?
What happens if you use the same folder?
All servers have same list of missions
Right so what is the problem?
I have it on my list to change it. To set the var to objNull by default, instead of nil.
But, it could break scripts if people do isNil check to check if slots are occupied or not
So you can define the list of mission in their config with missionWhitelist and/or missions class?
And the config is already different per server due to name etc, so you already manage multiple server.cfg's
Technically I can, but it's too complicated for my case. The first server (stable missions) must have one list of missions that must be changed every few days, and another server (for testing (pre-play and validate)) with another list of missions that must be changed too. So, I have two folders with different missions for that
I'll have a look
along those lines, I've always wanted to be able to use just one PBO for all terrains... the only thing holding us back is the mission.sqm file
imagine if the system would look for fileExists (format ["sqm\%1\mission.sqm",worldname])
or search for fileExists (format ['%1.sqm',worldname])
and if found, run that instead of mission.sqm
this would mean a unified PBO could handle all terrains
on current dev branch, getting a client crash when I open the "Direct Connect" tab in the server browser
already listed on known issues :D
is fixed already, just not in that build
mission.sqm file
#include "defines.sqf"
#ifdef __USE_LINGOR
#include "sqm\lingor.sqm"
#endif
#ifdef __USE_SAHRANI
#include "sqm\sahrani.sqm"
#endif
#ifdef __USE_CHERNO
#include "sqm\cherno.sqm"
#endif
#ifdef __USE_CHERNO_W
#include "sqm\cherno_w.sqm"
#endif
#ifdef __USE_Caribou
#include "sqm\Caribou.sqm"
#endif
...
#include "defines.sqf"
can i see the defines.sqf?
just trying to set up a PBO which works on all vanilla terrains
I made this decision back on arma 2 and it worked fine.
defines.sqf
//#define __USE_TAKI
//#define __USE_SAHRANI // ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° ΠΊ ΠΌΠ΅ΡΡΠ½ΠΎΡΡΠΈ Π½Π° ΠΊΠ°ΡΡΠ΅
#define __USE_LINGOR // ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° ΠΊ ΠΌΠ΅ΡΡΠ½ΠΎΡΡΠΈ Π½Π° ΠΊΠ°ΡΡΠ΅
//#define __USE_Panthera
//#define __USE_Taki
//#define __USE_Fallujah
//#define __USE_CHERNO_W
//#define __USE_Esbekistan
//#define __USE_CHERNO // ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° ΠΊ ΠΌΠ΅ΡΡΠ½ΠΎΡΡΠΈ Π½Π° ΠΊΠ°ΡΡΠ΅
//#define __USE_Caribou
//#define __USE_isladuala
//#define __USE_Celle2
//#define __USE_Podagorsk
//#define __USE_Emita
//#define __USE_Utes
//#define __USE_Napf
//#define __USE_Franken
//#define __USE_Pantera
//#define __USE_Kulima
//#define __USE_Everon
//#define __USE_Malden
thanks mate
hm thats interesting, the file still needs the .mapname though or? so you cant just do a wildcard pbo that shows up for every map
and then I remembered what the problem was... Yes, every mission had to have a map name in the pbo file.
Ah yeah sad times
where can the known issues list be found at?
ah so it's put in the changelog on a per patch basis as it gets found? thought there might be a dedicated place for that
thanks
there is one generic one (its probably out of date)
https://dev.arma3.com/known-issues
but for dev we just list the dev branch specific ones that are currently a problem in the changelog for that specific dev branch release
its probably out of date
like this one which doesn't exist anymore and just redirects to some ford raptor wallpapers site

Obviously no one. Time to purge it and link to the changelog category on the wiki.
very funny
Was dead serious though.
changelog ones are for dev branch known issues, outside of these.
like "dedicated servers crash on startup" and stuff like that
We don't have a biki page for stable branch issues?
hm fair enough, sorry for misassuming
no, that page fullfills that role for general known issues with the released/stable version
Doesn't even have an AI category :P
So it will be -mpmissions= param and it will only work on dedicated server
That's perfect
Yes, I would really like to be able to enter the missionname empty world (missionname.empty) into the pbo file and then upload the desired world inside the file.
Yee
So format is -mpmissions=MPMissionsAlt or -mpmissions=MPMissions\Experimental but no absolute paths like in -profiles=
relative to game directory only? no dot wildcards such as ..?
nope, mpmissions is designed to be relative to arma3
who broke the tigris hud :> i deployed 2 smoke grenades, but the monitor hud still shows 2 green squares
I make a very shallow pass as part of every main branch release, but those are quite infrequent these days. Could probably do a deeper clean-up next time.
(Unlinked Raptr, thanks for the spot.)
can probably remove it entirely, seeing how it stopped existing in 2017 
But could someone still have it somehow locally installed? π€·ββοΈ Will mark to remove next pass.
Uhh...were the Repair Depot props from the Tanks DLC always like this?
DestructBuilding seems to be glitching out for whatever reason.
all of you gotta stop giving me heart attacks with these random issues after we repacked the entire game data(currently on dev)
π
seems to be a code issue, not data luckily
sure but then people wouldn't know about that issue if they forgot about having that still installed
imo keep it for historic value since it's technically not fixed by the discontinuation of the app
There is no relevance to keep a mention of an online/social app thats been defunct/down since 2017. thats a skill issue on having it installed at this point π
thats checks calendar
almost 10 years ago
Its also not just it being installed its having the client open/running
ah fair enough
ah thanks for your service /gen
Why are you still featuring Arma 3 Units in the launcher then?π¬
don't worry, 0 issues today π
Still more reliable than GitHub ATM.
why does it have so many issues?
nobody wants to deal with the launcher code spaghetti
iirc dedmen is in charge of launcher code?
I had an effing heart attack yesterday. The night before I merged a bunch of shit into our main branch when I was super tried. Imagine my surprise when I saw no pull requests in our repo the next morning. I thought I somehow screwed up default branch 
Oh hey, does that on perf too :P
I remember those are weird because the live one shows up in vehicles but the dead one doesn't appear in allDead.
this looks like the repair depot "healthy model" is clashing with the code which tries to keep supply/ammo containers from sinking below terrain
healthy model set underground, wreck spawned, code to protect supply containers from sinking keeps pushing it back above ground, clashing with the ruin model
solution probably for the code which protects from sinking to check for a ruin model
*no issues until now(i would not ask for it that way tbh π€£)
and discord seemingly
Doable. Make a FT ticket please
How to find what missions work on the terrain though. missionName.*.pbo ?
But what if a SQM is then missing.. But I think likely doesn't matter anyway, we already open the pbo and read mission.sqm to get the mission name out of it. We can read pbo and see what sqm's are inside.
Solvable too. Preprocessor could have predefined macro with world name. But, I prefer multiple SQM filenames like Quiksilver proposed.
Trying to find green squares in the image, but failing to
bla bla #dev_rc_branch message
Already kinda broken in 2.20 stable. You can see it wobble about. Just not as badly, it still stays mostly inside the wreck.
In prof v50 its already wobbly
v40 is wobbly
v31 is wobbly
v10 is not
v18 is not
v24 is wobbly
v22 is not
v23 is not.
#arma3_branch_changelog message
Fixed: Some ThingX entities would get suspended too early when they are un-alived (Shooting target plates not falling down)
ugh..
add more weight to the object?
that said, does it really need to be thingx? it's not like you can flip it back into a box and transport it somewhere else
oof, it already has 500000 mass π maybe it's too much? my mortar container scenery has 7000 mass and uses a similar config
looks like it gets destroyed similar to buildings. maybe just swap it to house simulation directly?
maybe it just searches for worldname.sqm ? otherwise falls back to mission.sqm behaviou
It uses DestructBuilding. And we already have a bypass for DestructBuilding if the destruction phase is 0.
But this thing is sinking into ground, so destroy phase starts at 3 and goes up. Its not zero.
Doable. But I don't want to search all PBO's.
So the pbo itself needs to be marked to support multiple terrains
- is not allowed in filename.
The problem is yes one pbo can support multiple terrains. But then you need 50 copies of the same pbo, because the game only loads pbo's with terrainname.pbo
yep ill leave those ideas up to you. the idea is just to have a universal mission file which works on multiple terrains.... ill make the FT now
Yeah maybe I just make it use mission.sqm as fallback.
And then you might load into a unknown terrain you never heard of.. and I'll let you deal with that problem..
Or we support mission.sqm fallback not existing, and make the mission just not show up in the list then
how does the engine decide which terrain to load? is it from pbo filename or mission.sqm
pbo filename. The mission.sqm has no info about what terrain it is
this is just what i had in mind
mission.stratis.sqm is what I have in mind
nice
while you are here, any tips on how to run a clone of bis_fnc_arsenal ? i want to use the display/HUD and adjust some things under the hood, but running the display is causing trouble
hahaha understood
If you have an idea to configure which slots (list of indices could work), then put it on the ticket.
I'm pretty sure the top slot is just 0, and then so on. Per side.
Using enums isn't really anything new.
If configuration becomes more complicated, with indices per side, and maybe priorities which side to fill first or whatever, it might also make sense to just have class Blufor opfor, ...
But if you have separate server configs, why command line parameter. Wouldn't it make sense to have the mission folder in config.
So you only need to swap config, and not config AND mpmissions parameter?
Yeah.. just do that in all the 54 places where we try to check for mission.sqm
ez.
Hm... idk. In my case there is no difference for me: command line or config. Command line argument is more intuitive, maybe
Command line has additional complications. Not for us but for users.
Like anyone using a server hoster, nitrado and such. Do they generally offer a "extra command line parameters" or do they only allow you to set what they offer? They likely would take a long time to support new parameters.
While server.cfg is generally freely editable and you can directly use the new features.
I think in most cases, like yours (and like Crumble brought up), you'd anyway also want to change the server name to identify which mission set is active. If you use a mission rotation, you have to change it too.
So I think in most cases, you would end up always having to change two parameters instead of just one.
Mission folder to me seems like server configuration, and server configuration seems to make sense to be in the server configuration file π
Also the fact that we now have a parameter, that only works if you're a server. (And afaik that's the only one that does that. Well -config parameter is also server only)
And server config already only works if you're a server.
But now is kinda too late, as the parameter is already implemented now
Could use a Param file, that way hoster doesn't need to support new parameter.
they would still have to support the param file arg, which they probably dont 
it's not too late to undo the implementation but whatever
In my experience there's usually a field for custom args but not sure if every hoster has it
I don't remember any hoster having a field for custom args. It would be pretty dangerous for them. We found an exploit to add arbitrary args on Armahosts and they did not appreciate it :P
The Linux ones could maybe allow it because they're probably using Docker.
ope fair
configfile >> "CfgVehicles" >> "O_APC_Tracked_02_AA_F" >> "MFD" >> "MFD_Commander_Smoke_Indicator"
I can see the text to the left of it.
But can't find anything that controls the thingies being green. On my screen it just looks white too π
"cmAmmo" would be the source for it
I can see that source being used in airplanes and helicopters. But not in any tank MFD
If it is model.cfg, then its data.
And in 2.20 data I can't see it working either
ok, first things first, it works fine in the kamysh, which inherits from exactly the same stuff. except that there is z-fighting. alpha sorting would need to be refreshed, or draw index needs to be increased to "high" in model file
i remember now that i fixed this when doing the vehicle variant for the ws 1.1 update
what it should look like:
Tigris also doesn't work on 2.20 stable. So not a new issue
config side looks correct to me. it inherits everything from the base class as it should. animationsource is there, it's also the same smoke launcher weapon
model.cfg has two "mfd smoke" selections. That "hide" based on "Smoke_source" source
Tigris has "Smoke_source" as "revolving" on weapon "SmokeLauncher"
yea but that should be ok
Kamysh just inherits the same. And uses the same base model.cfg for that
the only real difference i see is that mfd_com_smk_x selections in tigris model is also in OctoVez selection. and it is also tied to the same bone "mfd_com_smk_1", "otocvez", "mfd_com_smk_2", "otocvez",
this could cause the rotation to fuck up
what i would try is to remove the OctoVez selection of those two mesh in the p3d file and try again
I don't know how that works.
If its a model.cfg issue, its 6 years old and I don't care right now.
it could be broken since tanks dlc added it, because at around the same time, the kamysh damage model was also broken :p (and fixed later)
two issues in model.cfg: "drivewheel", "", bone is duplicated, and in line 486 a ; is missing after "speed"
hah, i was right. the additional OctoVez selection is causing it
I'll make a ticket for reyhard π€·
it can also be fixed with just removing the octovez link from the tigris skeleton: #dev_rc_branch message
but i would suggest to fix it in model and setting z bias to "high" to also fix the flickering issue. z bias can also be set to high on the kamysh model, to fix it there as well. ez, takes 20 seconds including opening the model and saving the changes : >
just revisiting an old request @full sonnet , is an AI/group "AttackTargetChanged" event handler still not feasible?
If it wasn't feasible back then it still isn't.
If it just was that I didn't have time to look into it back then, then it might be different now
Is that offer still up? Cuz REST API is planned for after the next update π
lol. I no longer dev for the server I was with that couldβve used it. But Iβm sure theyβll be happy to have it. @mossy cloak
an http one, not an https :p

There is still nothing on the FT ticket.
And the ticket also seems unclear.
So if east is disabled, but west is enabled.
If west is full, you jsut get the first east slot, no randomization?
Random side selection is also not a thing?
I also considered for other cases anyway, to make a server side script eventhandler, that lets you specify in which slot a joining player should go by default.
Can also be used to assign players based on their playerID, to specific slots.
You can implement randomziation however you want in script, more configurable than I could ever make it with a config file.
if I make it scripted, then all the config stuff is obsolete.
Why not simply:
Create a virtual spectator slot
Set skipLobby = 1 in description.ext
Then handle it however you like...
Because thats nonsense
arma 3/BI branded sponsorship fursuit
Where can I find more information on this feature?
Tweaked: Third-party on-screen action available in Spectrum Device view is now executable
I am not aware of it.
navid lod5 is missing camo selections π₯²
Http REST API? Please tell me more I'm listening... Lol
equip spectrum device, come to a vehicle, get in action appears, press space, it works now
So you can now use normal actions while holding a spectrum device?
That changelog entry is a bit unclear then π
@tame wraith FYI
#dev_rc_branch message
This might effect CrowsEW because the default keybind is also used for recording bearing lines on the map.
If you are near vehicle and getin shows then it will trigger the get in, so either get in and do it while inside or step away from vehicle
You can also open the action menu (e.g. scroll) and then close it again (e.g. rightclick) to temporarily dismiss the screen-centre action. I think that will also stop the "currently selected action" button from activating it.
No the scroll is and was always disabled when you use spectrum device
I just realised we have ability to detect the scrolldown menu if it is visible but no idea if an action is shown on screen
Thanks! Might just need to change the default key. The key is already configurable for players iirc.
smth strange, when I'm using -mpmissions with relative path, it logs an error and falling back to default mission
arma3server_x64.exe -mpmissions=Servers\VTG\mpmissions ...
19:55:31 Can't find mission template: '\mpmissions\VTG_New_Paralel_147_v3.vt7' in 'Servers\VTG\mpmissions\', skipping to next mission.
looks like it passing relative path instead of just filename while looking in -mpmissions dir
what directory your normal MPMissions is?
and servers?
"Servers" is just folder that contains profiles in root directory
Arma3
.. MPMissions
.. Servers
.. .. VTG
.. .. .. mpmissions
this should work
It probably made the directory for you already, it creates it if doesnt exist check in Arma3 dir there should be Servers
What is your server config
template=
just one mission, to make it default instead of lobby
That doesnt have VTG_New_Paralel_147_v3.vt7
yes, it doesn't. Should it be here?
without -mpmissions all mission listed in <arma>/mpmissions work
Where is it now what config?
why is server looking for VTG_New_Paralel_147_v3.vt7 if it is not in config?
Was selected via #missions
do you start it with -mission param or something?
Nope
#missions shows all missions from -mpmissions directory, but they cannot be selected
I havent checked if #missions is supported for the new folder option
so if you type #missions what is showing
all missions from MPMissions + from directory specified in -mpmissions
Aere you in the lobby when executing #missions?
lets make it simple, could you write down in the ticket detailed repro so I can check properly
Thanks I will have a look
Could you do me a favour and tell me if #missions works with say -mpmissions=mycustommissions
just 1-level folder? yes, 5 mins
yes
nope, still error
Can't find mission template: 'sions\beach.Malden' in 'mycustommissions', skipping to next mission.
#mission <missionName> works btw
right right, and if you just rename it to custom?
-mpmissions=custom
looks like I said before, lobby selector tries to set mission by full path (truncated)
5m
there is some parsing bug that works with short name but fails on longer names
works with custom
yeah I will look tomo too late now, it is folder name for some reason cannot be too long, the mission name can
0:56:09 Mission T197336_blahblahblahblahblahblahblah.VR read from bank.
Yep, -mpmissions=cus\tom also works
there is bug in parsing pretty sure I know why it does this
if found another issue related to this, but not sure if it fixable on your side.
all missions added by this option are not listed in BE Rcon
rcon shows missions from MPMissions only
but #mission <name> works via RCon as well
even if mission not listed in RCon's missions
should I create another task on bugtracker?
Yes, I will discuss this with @full sonnet afterwards
there was hardcoded length of the mpmissions folder 
oop
I just tested the new behaviour on dev-branch.
It is not just spacebar that is affected. It is also the middle mouse click that now often triggers the vanilla action menu and might close the Spectrum Analyzer when one wants to zoom in.
@unreal arrow also some more feedback in
https://feedback.bistudio.com/T198138#2946414
and the post right after it.
You zoom in with RMB no?
I believe he means our mods custom function that "zooms in" on the highlighted spectrum. (Essential changing the em_min and em_max to a smaller range). So we might need to rethink using that key when in the spectrum device display π
gotcha, just to clarify this only happens when you have another action displayed right?
@waxen pumice ^
(I have not tested it myself yet)
No, RMB is open/close Spectrum Analyzer
- Zoom is Middle-Mouse-Button.
- Shift+Middle-Mouse-Button is unzoom to factory default.
Correct
Not sure if this changed behaviour would also affect the Contact DLC gameplay.
when spectrum is opened now it zooms in if you hold RMB
it wont affect Contact because Contact uses Contact's assets
How does it open and close the Spectrum Analyzer then? π€
you press RMB it shows big display, you press and hold it it zooms in just like scope in weapon
Oh wait. I guess we are talking about 2x different things.
What I mean with "zoom in" is what @tame wraith said here #dev_rc_branch message
Zooming in in the spectrum range.
yeah I got that
@tame wraith am I right that your input scheme is directly taken from the Contact DLC single player behaviour (I guess for ease of familiarization)?
\a3\UI_F_Contact\UI\RscInGameUI these are Contact's scripts
Yeah. I forgot that it has a separate (albeit very similar) script.
vanilla uses a3\UI_F_Enoch\UI\RscInGameUI
the scripts were just copied not sure if anything was altered in the process
I compared them (on 2.20). They only show minor differences.
I will have a look if I can hide those action icons instead of enabling them
I also added shownAction script command that tells you if action icon is shown on screen
Oh that would be awesome, because they were always confusing, even if they were never triggered. π π
I actually don't recall. I think I chose middle-mouse because nothing else was using it when zoomed in and it seemed familiar for that type of "selection" tasks.
That doesn't make a difference. Because it is not just the default action (space bar) that is now triggering. It is also the vanilla menu entry that is highlighted (when middle-mouse is triggered).
does the vanilla action-menu show up when you scroll the middle-mouse now? Or does the spectrum display take control of the mouse scrolling as usual?
No, the vanilla menu shows when pressing middle-mouse, not when scrolling. Scrolling still works.
yeah okay. So you can get that menu to show, but I assume when its shown you still can't navigate it with scroll like usual until you close the spectrum device?
So that can cause a bit of confusion, even ignoring our mod.
but yeah, we can find another key to use instead if needed
@tame wraith in 2.20 (current stable) the vanilla menu also shows when you press middle-mouse-button (which is confusing enough).
But the action is never triggered when pressing middle-mouse again. It keeps zooming in into the spectrum with every middle-mouse button click.
In 2.21 some middle-mouse presses will zoom in into the spectrum and some will cause a vanilla menu action to trigger (if it was shown).
Workaround is to always cancel the vanilla menu with RMB every time middle-mouse spectum zoom was used.
Maybe CrowsEW using middle-mouse just needs changing to Ctrl+Middle-Mouse to sort things out (would somewhat match Shift+Middle-Mouse for the spectrum unzoom).
ah gotcha. Yeah that is not ideal.
Yeah, changing the default key is probably easiest.
Assuming the vanilla menu is not triggered when using combination of keys even if it includes middle-mouse.
Only problem is that even Ctrl+Middle-Mouse let's the vanilla actions take notice of the middle-mouse press.
Ctrl+Numpad+ and Ctrl+Numpad- seem to still be available for something like spectral zoom in and out.
Because I totally see that KKs change to make the actions work, while the Analyzer is open, makes perfect sense.
yeah okay. Hmm, makes it more difficult. I kinda wanted to be able to do it without removing your hand from the mouse. As it would often be something you would do on the fly while aiming around scanning/tracking etc.
But I guess changing the default to something non-conflicting, and then allowing players to rebind it as a standard CBA keybind might be the way to go. Then each can figure out what works for them.
Ctrl+Mouse-Up and Ctrl+Mouse-Down would also be free as it seems.
That would even be in line how a lot of GUIs handle zoom in and out.
That is a good shout
I'll make a test implementation to see how it feels.
But might want to redo the "zoom" to be smaller increments centered around the selection, instead of being the entire selection. To be more of a scroll action feel of "zooming"
@unreal arrow responded to your questions https://feedback.bistudio.com/T198138#2946421
So the BE RCon uses own DLL to look into MPMissions directory, so it has no idea if game uses custom directory. The clue is
command starts without # it has BE internal handling
command starts with # it is passed over to Arma 3 and handled there
I could make Arma 3 print out those missions, but, the mecjaninsm that allows Arma 3 to print arbitrary message to RCon is currently broken in the BE DLL. If it gets fixed I will implement something like #mpmissions
that's sad. Ok, so we are waiting for fix from BE side?
sounds like a hard ask
I found terrible hack how to do it and I like it
based
#mpmissions
Player #0 SERVER (192.168.0.30:2302) connected
(Command) SERVER: mpmissions\
(Command) SERVER: T197336_blahblahblahblahblahblahblah.VR
(Command) SERVER: old.T182166vehicle.Stratis
(Command) SERVER: oldT197336_Dedicated_Server_language_Startup_Parameter_Not_Working.VR
(Command) SERVER: old_restartNoRE_repro.VR
(Command) SERVER: restartNoRE_repro.VR
(Command) SERVER: Silent_Bullet_Test.Altis
(Command) SERVER: T182166vehicle.Stratis
(Command) SERVER: T197336_Dedicated_Server_language_Startup_Parameter_Not_Working.VR
(Command) SERVER: temp_restartNoRE_repro.VR
(Command) SERVER: test_Silent_Bullet_Test.Altis
Player #0 SERVER disconnected```
That could change if BE dll gets updated
even with the industry credentials, are be people hard to get in touch with?
@tame wraith Ctrl+mouse-wheel works quite nice.
I hope the video captures it.
https://youtu.be/GbWCN6LHTls
Changing CrowsEW to this would avoid the double meaning of the middle-mouse button.
That looks great and more intuitive! Definetly an improvement.
I am looking into default actions not showing rather than enabling so bear with me
@unreal arrow can we not add a variable and let mods disable this using the action menu thing?
Then crows ew (and maybe other mods?) just needs a one liner fix instead of rethinking their whole hotkey scheme
i have it 95% finished everyone is going to love it
hideActions, hiddenActions... and before you ask, no it is only possible for player
Been wanting a way to hide/remove actions for a while 
Whoa, it actually works pretty good. hideActions [91] hides all user added actions leaves only engine actions, hideActions [-91] does the opposite
Best feature? hideActions [0] hides ALL actions but it is still possible to execute things like reload R or open inventory I
I'm a little out of the loop on the action changes- am I understanding what I am reading right that this would allow us to hide default actions?
yeah basically but only for player, you cannot target specific vehicle, because even vehicle actions are collected and added to payer when player looks at a vehicle
That's huge
We've had dozens of requests over the years to have a setting that would remove the inventory action
Would finally be able to do that
So for Crows EW.
If you have a spectrum device in hand, they can just disable all actions, and the "Get in" vehicle one won't show up?
No, I will hide all actions when device is up, anyone can then ovewrite it if they need action enabled. Before action would show but none was executable
Can we expect a button in the game settings to hide actions from the actionmenu that have a button on the keyboard?
no you can do it yourself wth the new command
in all scenarios? even for example king of the hill
You could request that @trim crane adds it as an option
How I imagined this implemented, through an event handler
Alternatively it could be attached to either target or caller (and called when something wants to show an action on a target or a caller tries to show any action)
player addEventHandler ["HandleEngineActionShow", {
params ["_action", "_unit", "_target"];
_action in ["UAVTerminalReleaseConnection", "SwitchToUAVDriver", "SwitchToUAVGunner"]; // true for handled
}];
The actions are collected from all over the place to be added to player, those that are about to get added have another filter where you can hide actions you supply (see shownAction enum), hide all actions but the one you supply, hide all or hide none
no event handlers
Yeah those events would be called each frame for tons of actions
Performance 
Limiting actions just for player might not be ideal either, you often can have an AI do an action for you instead, I assume this implementation will still allow for that
So say you did hideActions [-91] to block everything engine, but then you can ask AI to say open a door that you can't open yourself
Or are config actions also considered user actions? π€
So, currently this is pretty safe implementation giving you ability to decide what to show to player. I am not going to go beyond this because 2.22 is too close
If it is, bad example then. Say you want to block "Start timer" on a satchel charge like that, you still could start it through AI actions, right?
if AI is local (and you can give them orders) there is a chance that the local machine disables all actions everywhere, but I'll let KK answer that one π¬
you could execute any action with action command they are unaffected
called it hideActions on purpose because it essentially hides unwanted actions, doesnt disable doesnt interfere with other functionality == safe
I assume you provide an array of actions you want to disable, right?
yep it is either [1,2,3..] or [-1,-2,-3...] or [0] mix and match results in script error. or []
Got it, you just showed a single number in your examples so I wasn't sure
I want to disable "UAVTerminalReleaseConnection", "SwitchToUAVDriver", "SwitchToUAVGunner" actions from mouse wheel menu in my mission to unclutter it (you can do all these in UAV terminal dialog)
Being able to supply strings instead of action IDs could be helpful too
Do we even have that action ID list anywhere exposed to us?
hideActions [163, 165, 166 ]
I still wonder if its possible to implement it using a target/caller argument π€
Being able to supply strings instead of action IDs could be helpful too
Dunno how I feel abou tit
The filtering happens in the end, to add what you ask it has to be done in multiple places so no
player hideActions ["StartTimer"]; // Can't start timer on any satchels
{_x hideActions ["StartTimer"];} foreach units group player; // You can't select the action through AI control menu
_satchel hideActions ["StartTimer"]; // Can't start timer on that particular satchel
gimmie the repro I'll have a look
Just to check, I suspect the units actions collected and added to player and filtering happens at the last moment so they wont show, but better be sure
Do we even have that action ID list anywhere exposed to us?
https://community.bistudio.com/wiki/shownAction
(Nevermind)
?
Forgot you have to add the satchel with addOwnedMine to bot for him to have the actions
When I ordered subordinate to deactivate mine then SPD VERT %.0f str_ui_speed_vertical_freefall text shown under his icon
still I am curious if it will be axed
Making a repro script, almost done
bot = group player createUnit ["B_Soldier_universal_F", player modelToWorld [0,2,0], [], 0, "CAN_COLLIDE"];
[bot] joinSilent group player;
doStop bot;
satchel = createMine ["SatchelCharge_F", player modelToWorld [0,2,0], [], 0];
satchel2 = createMine ["SatchelCharge_F", player modelToWorld [0,10,0], [], 0];
bot addOwnedMine satchel;
player addOwnedMine satchel;
bot addOwnedMine satchel2;
player addOwnedMine satchel2;
player addAction ["hideActions [61];", {
call compile 'hideActions [61];'; // Can't start timer on any satchels
}, 0, -100, false, true, "", "_this == player"];
player addAction ["[NEW] player hideActions [61]; Forbid start timer for player", {
call compile 'player hideActions [61];'; // Can't start timer on any satchels
}, 0, -100, false, true, "", "_this == player"];
player addAction ["[NEW] bot hideActions [61]; Forbid start timer for the bot", {
call compile 'bot hideActions [61];'; // You can't select the action through AI control menu
}, 0, -100, false, true, "", "_this == player"];
player addAction ["[NEW] satchel2 hideActions [61]; Forbid start timer on second satchel specifically", {
call compile 'satchel2 hideActions [61];'; // Can't start the timer on second satchel
}, 0, -100, false, true, "", "_this == player"];
Actions for current implementation + my suggested one which takes either target or caller
F2 -> 6 to check the timer action
Player yes, bot no because that is different menu, commanding menu. Also https://community.bistudio.com/wiki/hiddenActions
https://community.bistudio.com/wiki/hideActions
thats super nice, it would be also really helpful to be able to stop people from certain hotkey actions, right now if people set an hotkey onto a mouse button there is no way to stop it
It hides unwanted actions, doesnt disable them. For example inventory bound to I is an action called Gear. when you are next to vehicle it appears and you can open inventory with either middle mouse button or spacebar. If you hide it, neither middle mouse button no spacebar would open it, but it will still be available via I
If action is bound to a key chances are it will be executable by that key
oh neat we can finally hide the artillery computer properly in ACE
the functionality is added to player, if you respawn you will need to readd it
@lucid totem could you please stick WIP on both commands, what I added to wiki might need to be tweaked
This has been requested repeatedly over time and now the devs have delivered. Thank you! π
That is pretty neat. Could potentially also allow to add "jamming" for base-game explosives "touch-off" action. e.g. hide the action on players entering a jamming radius of effect.
Although might also be smarter ways to deal with that, was just random #showerthought
It is WIP
127.0.0.1
Enter the game server's port:
2304
Enter the RCon password:
123
Logged in successfully
RCon admin #0 (127.0.0.1:63646) logged in
missions
Missions on server:
old.T182166vehicle.Stratis.pbo
oldT197336_Dedicated_Server_language_Startup_Parameter_Not_Worki
temp_restartNoRE_repro.VR.pbo
test_Silent_Bullet_Test.Altis.pbo
#mpmissions
Missions on server (mpmissions\):
MORE\T197336_blahblahblahblahblahblahblah.VR
old.T182166vehicle.Stratis
oldT197336_Dedicated_Server_language_Startup_Parameter_Not_Working.VR
old_restartNoRE_repro.VR
restartNoRE_repro.VR
Silent_Bullet_Test.Altis
T182166vehicle.Stratis
T197336\T197336_Dedicated_Server_language_Startup_Parameter_Not_Working.VR
temp_restartNoRE_repro.VR
test_Silent_Bullet_Test.Altis
BattlEye came through
check out MORE\T197336_blahblahblahblahblahblahblah.VR
this pbo is inside MPMissions\MORE
to launch it
#mission MORE\T197336_blahblahblahblahblahblahblah.VR
Which is best?
hideActions ["HideSelected", 1, 2, 3]
hideActions ["UnhideSelected", 1, 2, 3]
hideActions ["HideAllButSelected"]
hideActions ["UnhideAllButSelected"]
hideActions ["HideSelected", [1, 2, 3]]
hideActions ["UnhideSelected", [1, 2, 3]]
hideActions ["HideAllButSelected", []]
hideActions ["UnhideAllButSelected", []]
"HideSelected" hideActions [1, 2, 3]
"UnhideSelected" hideActions [1, 2, 3]
"HideAllButSelected" hideActions []
"UnhideAllButSelected" hideActions []
2nd? i would prefer array style boxed numbers
+1 on leftarg/rightarg, seems ideal for two arg commands
2nd I guess?
Other SQF commands often take upper case strings, could fit here too
"CAN_COLLIDE" and such
I vote ["string", [values]]
I would use a different name on third otherwise
Also I think the command should accept readable action names alongside number IDs
that's because enum
but yes case-insensitive
@unreal arrow Any chance for contextual hiding by providing target/caller as argument?
Ok, the action has target so theoretically you can provide target and only filter actions added from target, but
if you want to track every target you have to store hideActions for every target, and that is not happening
it is stored in player brain as the actions are displayed for player
Hmm
Can't you store hidden actions list in the entity itself?
_entity hideActions [61];
```Player checks if the action ID 61 has to be shown, if it has target, check if target has 61 in its hidden actions array
player hideActions [61];
```Player checks if the action ID 61 has to be shown, check if the player itself has 61 in its hidden actions array
no it will add too much complexity, it is alrready becoming quite complex with ability to set reset some actions while leaving other actions for other mods to modify
sounds ambitious
This is why I like 2nd syntax, we can expand arguments if needed
hideActions createHashMapFromArray [
["HIDE", [1,2,3]]
,["UNHIDE", [4,5,6]]
,["HIDE_ALL_EXCEPT", [7]]
,["UNHIDE_ALL_EXCEPT", [8]]
];

But yeah I'm OK with 2nd syntax
Still think the actions should be addressed by their name so the code is more readable
if this is possible to implement at a later date we can add it hideActions ["mode", [61], _entity];
Personally I'd just go the entity oriented approach
This makes the most sense, how often do you need to disable ALL actions? Not sure. How often do you want to disable specific action on that specific entity? Pretty sure that's what people are gonna use the most
I'm not happy with string for mode, it could be #define HIDE_SELECTED 1;
hideActions [HIDE_SELECTED, [1,2,3]]
Sure you can do defines for presudo enums but its still ugly, the actions have names, it makes sense to let scripters use the names
Not a big deal for me personally but I just think this is right
We probably could poll people who have a need for this feature and ask for their use cases

