#dev_rc_branch
1 messages · Page 11 of 1
its based on combat behaviour state i think; can be influenced via scripting and also via human commanding
engage at will/loose formation
but yeah would been useful to have more sqf commands for subgroups
it's not just hunting. e.g if you have an 8 man squad and command 5 of them to move somewhere, they form a subgroup and move together in formation, and one of them becomes the form leader
I don't think that affects it. I'm pretty sure they split off units even on YELLOW, as that's default. disableAI "TARGET" definitely stops it though.
Late to the DOF party, this is amazing and is pulling me back in to A3 again!
For PIP scopes and DOF - Is there conceivably a way to define an object's surface (aka the PIP display) in object builder to ignore the Z buffer or force it to infinity distance? This way we could have proper DOF bluring on the scope border while maintaining clear optic view and perfipherals?
not conceivable
I noticed that glass windows ignore the DOF depth buffer so was just wondering if that might be a hidden way around
i've made two other models, an egg and a sphere and both were able to be changed with command but then again i did that like almost 10 years ago
I can't believe you filmed your screen
you keep saying it and I keep doing it
no u
Hi. I haven't been following the dev lately. have you made a change to getRoadInfo and what it returns? I think it returns AGL position instead of ASL now because I was getting some really weird bugs with it the other day where end points of roads were under the terrain. I'll double check later.
ok no that wasn't it.
@full sonnet did you change road initialization stuff? should getRoadInfo be working at pre init?
I remember that being a long story and I thought it was already solved
nvm it was a bug in my own code. it was related to getTerrainHeightASL 
Bit of a random question but will there ever be a pass done to A3's lighting system? or is that an engine limitation kinda thing
Just wondering because the audio with xaudio is a pretty huge change so not sure when a3 is gonna just be kinda "done" in relation to a4 coming out
Everything is engine limitation at this point
Its not a huge change at all
I thought it was pretty big in terms of audio processing(?)
No, just some minor adjustments
oh really hm I misunderstood then
but yeah regarding the lighting I guess it's just not doable
I don't really know much about old illumination methods
Everything is doable with enough time. There are no plans to spend that much time
shame
ye, that's the only thing in my "ideal Arma 3 world" list
honestly i think just having the ability to make light sources cast shadows (dedmen's gonna murder me for mentioning it again but here i am lol) would help a lot with creating more dynamic looking scenes
like a lighting system rework by itself probably isn't even worth it and can only go so far; for example it won't magically make arma's metalness-less and roughness-less materials look modern
(refrained from saying pbr because technically having specularity, reflections, and refraction is a part of pbr advancement, but you get the idea)
Hello! Do you know when the dev branch will be released ?
Getting error Cannot load texture a3\editorpreviews_f\data\cfgvehicles\land_mrl_magazine_01_f.jpg on current Dev branch, all ok on stable
I don't know where to ask this.
But are there any plans for any changes related to ragdolls in multiplayer? Because the current implementation is really bad. Since the body is processed on the server and the limbs on the client, it looks terrible. Is it possible to implement full ragdoll processing on the client?
And sorry to ask here... but how do I access the recoil mask? I couldn't find these parameters in the config.
no
I don#t know what a recoil mask is supposed to be
Maybe I'm calling it something wrong) Recoil is an animation that is applied to a unit through a mask with weight on different bones) For example:
recoil[] = {"head", 0.4, "neck1", 0.4, "neck", 0.4, "weapon", 0.6, "LeftShoulder", 0.4, "RightShoulder", 0.4, "Spine2", 0.4, "Spine3", 0.4};
Well, or something like that))
And perhaps you know where to find this parameter in the config)))
You can use gestures for that - which are just regular additive layer animations the way youre describing, however arma does only support 1 gesture layer, i.e only one can play at a time aside from the hardcoded engine ones like finger trigger pulling
Arma's animation system is somewhat primitive but if youre creative with sqf and manipulate the state machine in just the right way you can get good results
Imho a masked animation system for things like aim offsets instead of the current pivot-and-rotate method would be awesome but it would require refactoring a ton of vanilla stuff so thats probably never happening
I asked a long while ago, but I'mma ask again.
Could we get a horizontal/lateral velocity vector for MFDs? I'm trying to make a helicopter HMD that shows an accurate velocity vector.
Yes, I know that)) I made an Animated Recoil Coefficient mod, if you've seen it.
But I had to make hundreds of animations because I had to create my own recoil animations for every stance, every body position.
ah yep i've seen that mod
And the question is actually... the information about the recoil mask is stored somewhere) Because the basic recoil acts on the upper part of the body.
And if it's there somewhere... then it can be changed and influenced)) The only question is how to find it))
and yeah it's unfortunate; it's a shame that gestures straightup override the animation rather than add onto it (maybe that could be an option that's less desctructive to implement, cuz at least then you wouldnt have to make hundreds)
iirc the recoil mask uses the same mask as the aim offsets
so in short you wouldnt be able to change it without messing up the aim offsets
all of the masks are exposed in an animation's cfg
?) class BlendAnims
yes
gimme a sec
aiming = horizontal;
aimingBody = vertical
idle = seems to be whole body most of the time, no idea actually
head = freelook
leaning = leaning
legs = lower body essentially (used for prone mostly)
mask = weapon switching mask
unless the recoil mask is stored somewhere, it must be using either aiming or aimingbody, which is why the recoil pushes back your whole body
upperTorso
also should probably move this to #arma3_animation @strong rose
Okay, I can try changing the parameters and see what happens in the game. And calculate it that way.
But of course, if the recoil mask and the hull rotation mask are the same thing... then that's bad.
I checked everything that was there and isn't) It doesn't affect)
"Ref to nonnetwork object" fun.
When you spawn a unit in Zeus, the unit is global, yet ref to nonnetwork object is thrown anyway.
Turns out, the units backpack is initialized and network broadcast before the unit itself even has a netId.
And the backpack links to the unit holding it.
So spawning any unit with a backpack in zeus or via createUnit command, always throws "Ref to nonnetwork object" on the client?
Did no-one notice this specific cause yet or am I doing something weird?
🤦♂️
getUnitLoadout when called on a classname, creates a temporary local-only unit.
When that units backpack is created, we pass a variable multiplayer = false. But.. That is a un-used variable, we network broadcast the backpack anyway 🤣
Luckily someone hacked a flag into the netcode that ignores all messages trying to be sent and just voids them. Specifically for this to disable network message sending. All that was needed for this is to not broadcast the backpack. But its nice anyway as it also blocks any networking done by the init script of that backpack.
Ugh.
Some projectile types are global, and some are local and every client spawns his own.
Like when a soldier shoots a bullet, its local. But a UGL grenade shell is a single global projectile.
But for I don't know what reason, that is different for vehicles.
If a vehicle fires a UGL grenade, its a local projectile, that it tries to send over network anyway...
Hopefully fixed a bunch of these next prof
huh, same ammunition sim but different behaviour?
Yeah. Sounds fun right?
Arma always manages to be weirder than my assumptions :/
that sounds like a issue @tranquil sphinx struggled with a few days ago 😛 let see if he broke his fixes that he did for that 🤣
so what the vehicle shotShell gets a local projectile on each client ?
man that's gonna cause some problems
Yea.
In the demining drone case it's a submunition shot, that has the same issue
uuughh i bet the WP/gas scripts are running on each client then in spearhead, at least the ones shot from tanks/artillery
as it's just a local _projectile check
Local projectiles create a lot of annoying issues when you want to interact with them.
For example, when a mortar fires, it spawns a local projectile on each client, and it's essentially impossible to track it down and delete it on every client without very hacky workarounds like labeling each projectile by sequence as they come out of the tube. Even doing that, if someone is tabbed out (my guess) and their client isn't executing your script in a timely manner, the mortar round will still hit and do damage. So far I haven't found a ciws script that kills mortars and works across multiplayer.
I wonder how well the engine, after the recent optimizations, would handle just making every projectile global
Not that we'll probably.
But we already have projectile simulation multi threading now, for mines. Could use that but meh
Hmm. I figured the reason for local projectiles was network traffic. You'd only need to send the startup info for them, no subsequent updates.
Position updates are separate.
Mines until recently were global projectiles without position updates
That makes sense. Now I wonder how often and how much of the network traffic the global projectiles use
Tweaked: Quadbike KIA crew now remains in KIA pose in the vehicle i always thought it made sense for them to get ejected on death
You mean teleport on the ground?
make them ragdoll then :p
those sitting death animations in an open vehicle like that just feels .. i dunno, wrong
Can always add mission option to revert to insta teleport
Have you seen what ragdoll does to fences and walls? 
Ragdolling someone from a vehicle would be astronomical.
Just make him ragdoll into space. No issues with walls there.
I like it
I enjoy Arma. Why don't you want make Arma more Arma?
The spirit is not even ethernalised in achievements
oh i have some experience with ragdolling from vehicle 😄 not sure if i will keep it for various reasons. but the idea in itself is sadly not bad 🙁
just sometimes the applied force seems really weird
better would be some dedicated falling off animation and then ejecting, i guess
It would be amazing to see a real-time app developed that integrates directly with Arma Reforger, allowing players to place map markers and plan activities with instant in-game visibility. Imagine placing a marker on your phone or tablet and seeing it appear immediately in the game — seamless coordination on the fly.
Games like Zelda: Tears of the Kingdom and Metal Gear Solid V already feature this kind of intuitive map interaction. Even DayZ has a great external tool, iZurvive, for map marker placement — but it lacks real-time sync with the game, and requires manual group creation and invites within the app.
With how popular Reforger is right now, there’s a huge opportunity here. A real-time planning tool could be a game-changer for squads, communities, and content creators — and it could absolutely be a solid money-maker for the developer who builds it.
I know I’d happily pay for something like this. 💸
Let’s make it happen!
I made such an app for Arma 3 😄
Why you are posting about Reforger in the Arma 3 dev-branch channel I am confused about though.
They're new to the server so probably this is the only channel it's showing them.
Can there be the flag on the web browser GUI control that allows us to turn off the autoplay/interaction restrictions in chromium? When they're used in an overlay (started by cutRsc), there doesn't seem to be a way to send any user interaction into the page (tried all the browser actions including dialog/alert) so the restriction remains.
I want to be able to do:
const sound = new Audio("data:audio/wav;base64,...");
sound.play();
Or even play videos in overlay (not just display/dialogs, which you can bait a user interaction). This is just about the overlay mode.
The current workaround is to dialog/alert the A3 api and play the sound back in arma, but allowing autoplay would be much nicer.
Additionally, it would be nice to force the browser to operate at >60 fps. For example, I made this HMD script, but it visibly lags the native HUD (it's updated as fast as possible in a Draw3D).
That's really cool.
Yeah the browser control is incredible, issues and all.
Its a iframe sandbox. I don't know without looking it up if I could.
But even if I could, I'm not sure...
For one I'm worried about users being plagued with sound they cannot influence, on the other hand you can already playSound in SQF.
On the yet another hand, browser sound is NOT going through the game sound system, so while the user can turn down the SQF played sound volume, they cannot do that with the browser one.
And I wouldn't like that happening to me.
I have no influence on the browser frame rate. That is on Steam.
You can only disable autoplay through a command line flag afaik
You might be able to setup keybinds that send a signal to the browser control that would allow for users to play/stop and turn up/down volume when utilizing cutRsc
I don't think you can.
There in no SQF script API to send inputs to a control that you cannot actually click on
The sandbox for the browser is quiiiiiite strongly isolated. And chrome is smart enough to not allow dispatch events to count as user interactions. Imagine if you can force autoplay, if there actually exists such a technique (that isn't a zero day) you'd see it on popup ads in chrome.
Looks like yeah there's no way to increase framerate you just paint when steam surface tells you it needs paint (I assume arma isn't the bottleneck). Bummer, I was just getting used to the higher framerate from the recent updates.
But I know you can watch youtube videos at 1080p in steam overlay no problem.
But, I have never tried to run a 60fps video and really watch if it is actually at 60
The browser looks to be rendering at 60 fps. I was just wondering if it could go up to my monitor's refresh rate.
Oh yea looks like the overlay browser's limited at 60 too. I guess that makes sense.
Oh well, still a solid feature far beyond what the ingame hud allows for. And very low maintenance because basically all the steam's exposed apis are already implemented except mouse cursor.
I must have misunderstood the question, I have a notification UI with the sandbox browser in which uses cutRsc and I can push a notification to the UI and it pops up
Ah, you can do that. What I wanted to do is to make the browser play sounds using html's builtin audio apis.
Which you can do, just not in an overlay spawned by cutRsc. You have to have it be a dialog.
Yes it would have to be a dialog, that's how the windows 99 os I made works but you'll convert the sound and videos to a base64 text file, I forget what the actual file is in order for the sandbox browser to work with videos and sounds/music. But there's also a buffer limit on how big the file can be as well.
I'll probably be releasing the first version of that os within the next month maybe even this week we'll have to see
is the setovercast command ignoring the time given? if i put in _time=30;_time setovercast random 1; the command will change the overcastforecast but will not get to that point until the nextweatherchange seconds later rather than my specified time? i've been using the forceweatherchange command to get it to adjust but it causes a massive fps dip if i want to make it constantly randomize the weather in short intervals.
for some reason it's extra slow
timeMultiplier also has an effect for the weather commands (except setRain for some reason).
the whole weather system is a mess imho
The A3API.RequestTexture seems to work for some procedural textures but not others. For example, I can grab the data for simpler procedural textures like colors and perlin noise, but seems like render to texture and ui on texture do not work. (They do return: data:image/webp;base64,)
If possible, the expected output should be the image from the procedural texture at the moment it's requested.
That's probably related to the Image Format.
The WebP encoding only supports one specific format. And if the texture provider cannot supply it, it won't work.
That's on arma 3's side right? I guess the game engine doesn't attempt to convert to paa before showing to the ui normally.
? I encountered an issuie a while back with the config TI resolution.
I cannot recall if this was answered or not, but
opticsPPEffects does not work on vehicles TI optics
and I cannot get scripted PP effects to function when the player is in thermals
my goal is to have low res thermals, but blur the Pixels like a crt from 00's
Did you test on dev/Prof?
I think there was a fix for that, I recently changed something on it
Il double check
I was on prof
I can confirm Scripted PP effects are not functional in either inf scopes, or vic scopes
Can you give me a repro mod somehow? That doesn't need me to download too much stuff
I was just debugging using the PPeffect test scripts while in the scopes
1 - utilise pp effect test scripts that affect vision quality, blur, film grain
2 - in either infantry thermal scope or vehicle, flip between thermal and normal vision
they don’t appear in thermal regardless of priority
Ah, give me a few minutes
next week is fine too
Be me, troubleshooting why since recently the game throws an Assert at exit. Thinking I caused a memory leak.
I did indeed cause one with the PBO loading cleanup stuff. Ok fixed, but there is a second one, a DirectX resource?
But I don't understand... how.. I cannot see.. who... OH.. 😠
Wait, what has Discord to do with that
Apparently it locks our rendertarget 🤷
It should only need that when its actually open, but it does it constantly
Sending angry report to them? 😅
Hello people, I need some statistics.
How large is your MPMissionsCache
How many files are in there
How many files are larger than 50MB, and how large are they combined
Please post numbers in thread 🫂 Hopefully I get like a dozen data points
sorry, sometimes life is shit, and other times it hits you out of no where when you least expect it like the isekai truck
["DynamicBlur", 400, [10]] spawn
{
params ["_name", "_priority", "_effect", "_handle"];
while {
_handle = ppEffectCreate [_name, _priority];
_handle < 0
} do {
_priority = _priority + 1;
};
_handle ppEffectEnable true;
_handle ppEffectAdjust _effect;
_handle ppEffectCommit 5;
waitUntil { ppEffectCommitted _handle };
systemChat "admire effect for a sec";
uiSleep 3;
_handle ppEffectEnable false;
ppEffectDestroy _handle;
};
But, dynamic blur scripted PP effect is quite different thing from config TI resolution
TI resolution is not a extra pp effect, its directly integrated into the TI code
What I’m trying to do is have a low res TI which I have fine, but I want to blur the pixels together like an old style CRT screen
add blur + diffraction, should be fine?
thats my issuie the effects done work when in TI
if you have the effect and toggle between normal and TI, it only affects normal vision
is there even a diffraction PP effect?
will look into it when it works with ti
I believe it won't work… but it would be a nice request for effects to work with TI/NVG hint hint @full sonnet 👀 :3
^ I have a mod that pixelates UAVs based on the frequency of transmissions, but it also means I have to disable TI on all UAVs
I belive NVG works as there is a force in nvg command for pp effects
It does yeah, it's just TI
The postprocessing code is
if (thermalVision)
{
DoThermalBlur();
}
else
{
DepthOfField();
RotationalBlur();
if (nightVision) NVGNoise();
DoScriptedPPEffects();
}
could it be this?```sqf
if (thermalVision)
{
DoThermalBlur();
}
else
{
DepthOfField();
RotationalBlur();
if (nightVision)
NVGNoise();
}
DoScriptedPPEffects();
^ that seems more correct
yeah, better indent 😄
Uh. I guess?
Why does blur make it red?
I think the blur might use the thermal temperature encoded texture, before post-processing turns it into grayscale.
Which makes it kinda useless?
But if all you want is to blur the TI..
Thermal imaging has 3 integrated PP effects. Resolution, FilmGrain and Blur.
Just use the blur that's already there 
ok I can do that though
it might break some mod's backward compatibility, but all there is to do is add TI check in PP effects if needed
I am genuinely all up for it
https://community.bistudio.com/wiki/ppEffectForceInNVG does not document that it only applies to "ColorCorrections" and "ColorInv" pp effects.
These are specifically excluded in NVG, except the flag is set.
other pp effects will run in NVG regardless.
Now the dilemma, I don't want to add a script command.
And backwards compat might not be nice if people don't expect the pp to be inside thermal.
So make alt syntax for ForceInNVG that applies to thermal 🤣 ☠️
That works great
Some PP effects (like resolution) don't work though without extra fixing.
Its a bit disturbing.
If I give Resolution the same code as dynamic blur (which works) then Resolution works in neither rendering mode.
Chrom aber looks neat in thermal
Ewww
condensation in the thermal optic 😄
It seems any scripted pp effect that's added, disables the TI's internal blur.
probably because that's rendered to a different target :/ Which is annoying to fix
"SSAO" and "RadialBlur" seem to not work.. uh.. at all?
the waitUntil ppEffectCommitted never finishes.
Should I be worried about that?
The rest works now
Should I be worried about that?
I hope it's not a memleak waiting
Now the question on how to enable them.
- Just let them be always enabled (like they already are in NVG except the color ones) and see if someone complains
- re-use ppEffectForceInNVG, with alt syntax
- New script command ppEffectForceInTI ☠️ So wasteful
Probably just 1. on profiling branch and see if someone complains in a few months
Would be interesting. We had a drone jamming PP noise effect that basically renders it unflyable within a certain range and you could get around it by simply flicking to thermal. We got around that by simply disabling thermals when it was in effect.
Man, all that shiny grass. The old thermals were really good before it got changed. Maybe it was bad for performance or something but visually was much better.
old thermals had same shiny grass
Only bad contrast
Maybe? I can try to find a picture but I think the grass didn't stand out nearly as much as heated objects like vehicles/people.
Excited for Reforger updates? Nah man, I'm excited for ArmA 3 updates! It's been out for nearly a decade and is still receiving really amazing updates. These two features will both change how we play the game and open up options for loads of mods that will take advantage of them, in particular the terrain deformation mod. One idea I just thought...
Because the contrast was so bad you didn't notice. Because everything was so squished together that you could barely see the difference between ground/grass/tree
Ah, yeah, if that's what you mean. It was preferable when they're squished so important things stand out more. I think that's actually a problem with navigating with thermal optics irl, especially in forest, that the ground is basically indistinguishable from everything else.
Resolution is the only one I need for my mod to work with thermal 🙁
Lucky that I fixed that one today
Mh.
Does it make sense that a headless client, processes addAction's script conditions..
Considering its not a real player and won't be executing any actions? Or could it?
Can action script command run addAction scripted actions? And would anyone try to do that on a HC?
And same thing for calculating cursorTarget
half a millisecond of frametime spent on addAction scripts and cursorTarget.. for a HC..
You can force AI to run addAction scripts by selecting them and pressing 6, though I'm not sure whether that action eligibility is calculated on your computer or the AI's.
It's always the same computer, I think. Squad AIs get moved to the leader player's locality.
I have doubts that anyone ever considered the vectorDir of a headless client logic object.
The position is important, however :P
But yeah, it doesn't seem plausible that dropping cursorTarget and addAction functionality for HCs would hurt anyone's mission/mod.
Also the position really shouldn't be important :/
what does changing the position mess up?
IIRC one example is that the Fired and FiredNear event handlers only trigger on the headless client when it happened near the logic object.
Unlike on the server where it triggers everywhere.
I have always wondered why tree trunks are so hot compared to their leaves, and why grass and rocks are so hot compared to the ground
very random thought. APCs etc. when firing, eject casings ... which do not collide with the vehicle body. on a scale of 0 to 10, how easily could we bully dedmen into looking into this? 😄
you can also try bribing him with plushies and goodies
they're particles they dont have physics
there was physx particles attempted at one point but I think they just crash the game if you use them now, if they still exist, i dont remember
we start a "dedmen foundation" à la blender to get our issues fixed/features pushed higher on the queue with "donations" 
Did more research on this issue. Seems like the window doesn't have focus (even when it seems to be focused in the game). Can confirm that's the case with this js code in the page:
console.log(document.hasFocus());
}, 1000);```
That prints false into console until... I open the devtool console and focus my mouse on it, then it starts printing true and everything works. It's not just scroll issues; it also doesn't show the text caret when in a text input box as if the window is unfocused.
I wonder if setting key focus on the window on ctrl focus would fix it ala: https://partner.steamgames.com/doc/api/ISteamHTMLSurface#SetKeyFocus
(If that's already being done, maybe something to do with the iframe?)
Now you know what I already knew yes.
No keyfocus doesn't fix it, I tried.
I also tried scripts in the root window focusing the iframe, nope
Ahhh that sucks. 😐 Maybe try setting focus after being painted for a frame? Yeah other than that, might just be a steam issue.
Why I don't work on AI issues.
Old ticket. "Character reports "No Fuel" when sitting in back seat of vehicle where they can't even see the fuel"
Repro: "Open the attached repro mission. Get into any passenger seat. Wait for a bit and see your character report "No Fuel""
Repro after an hour of fiddling around and struggling:
- Get into back seat of Prowler
- Wait for AI command to tell you to get into driver seat
- Wait for game forcing you to driver seat (Note you will get stuck, unable to change seats to any other)
- Wait for you to report "No Fuel"
- Get out of prowler
- Get into co-driver seat in Truck (Specifically that seat, other passenger seats don't work for this)
- Wait for AI command to tell you to get into driver seat
- Note how you fail to switch to driver seat, even though you have the action menu option. The "get in driver" command is now stuck/broken
- Switch to truck driver seat manually
- Wait for player to report "No Fuel"
- Get out of truck and back into prowler seat. You can now stay in the back seat because the previous "get in driver" command is still active but broken
- Wait a few seconds for player to report "No Fuel", there is the bug, player reported fuel even though he can't see the fuel state from that seat.
Simple fix really.
Add a if (!IsCargoSeat()) check before sending the "No Fuel" radio message.
But it doesn't work? Why?
Because the unit in the back passenger seat, is not in a passenger seat. Its in a FFV Turret.
The MoveToCargo command, sets a flag that player is in cargo seat.
But the MoveToTurret command does not, even if the Turret is a cargo seat.
Which opens up even more problems.
Have no radio on you.
Sit in the second-backmost seat on the truck. You still have no radio, you cannot use the trucks radio from a passenger seat, its all the way in the front anyway, too far away.
Move by one seat, you are now sitting in the back most seat of the truck, even further away from its radio in the very front.
But tadaa, you now have a radio because you can use the one in the truck, because you are not in a passenger seat anymore.
hemtt ammo truck has no exhaust 🤨
i never realized normal hemtt has a small exhaust, and boxtruck has a big one
Maybe those are electric-hemtt
TIL: p3d files store which element was selected in them when you saved 🤣
Someone fixed something about thermals on it 7 days later. And they didn't update their local files before making the change and committing, overwriting/undoing @rustic plaza's fix (AIII-46096)
I reopened the ticket, maybe we can fix it again
haha, ok, I will fix it 😄
\o/
why not just check if the unit reporting no fuel is only driver (at max commander if no driver), otherwise supress/stop fuel reports and in driver position only (or w/e access to fuel state, so commander position again in theory too)
Why even bother looking at that one tbh. I'm mostly amused by all my AIs serially reporting low fuel as soon as I get them into a vehicle.
I just stumbled upon some code...
The game has code to extract the bikey out of bisign files.
on client, when you do not have a bikey in your keys folder (which you mooost likely will not for mods), it grabs the bisigns of the mod pbo, extracts the bikey and registers them as the keys to be used.
I just need one line of code change, to make dedicated server just load bikey out of the bisigns in mod folder, and you don't need to put any files into "Keys" folder anymore, it will just automatically take all loaded mods..
Possible issue if the server loads mods as servermod it doesn't want the client to be able to load?
ah yes indeed.
So a few more lines of code to exclude servermod folders from it 🤔
But don't take away the ability to have keys in keys folder please
ilbi always making these bad faith arguments :U
wait for me to start working on our mods again, it will triple
that actually is there to allow mods which aren't on the server at all too , hence should be kept
Todays archeology diary.
There is a "Updating base class" error in vanilla data that I want to fix.
An addon uses a class that doesn't exist yet, and it doesn't list proper requiredAddons.
Lets find out where that is actually used.
Its 5 buttons (out of 6, one of the buttons uses RscShortcutButton, the other 5 use RscShortcutButtonMain)
In the pause menu.
Of the preview mode.
Of the oooold 3D editor.
Which can only be opened via a old "select terrain" window.
Which can only be opened via a main menu button.
The main menu button can only be clicked on internal game builds, otherwise the button is disabled.
The main menu button doesn't even exist in the main menu UI config.
If I change some code so I can get into the editor.
The editor has a red "OBSOLETE, NOT FOR RELEASE" banner at the top.
I need to go to preview mode so I can then pause it.
I cannot go to preview mode unless I place a unit first.
The placing unit menu is broken and doesn't show any placeable unit types.
If I change some code to open that pause menu anyways.
A script error pops up and the menu looks like this
that's… TKOH UI?
Yeah, i use that to allow JSRS and Better Inventory mods without forcing them
Is that known that in Russian/Japanese/Korean language, these error boxes do not show the actual error message, just empty space?
RPT prints error in Russian, but empty error boxes in game
font issue?
i guess the popup shows text with a specific font that can't deal with it correctly?
Font and localization issue
Yes Chinese does that too (not racist)
No I mean I am not too. I am Japanese
They just don't care how CJK font is incredibly unreadable, they didn't listen to me anyways, I am not interested to play this game in Japanese too
NANI??
hmm
known
""Failed to load mipmap" popup in main menu if background world is Livonia"
my background world is stratis, though. and it's latest dev-branch update, not profiling
dev got the same stuff as prof.
Stratis is interesting though. Maybe I don't see it because I have world=empty
empty is bad. use world=VR 
Can confirm that the disableAI/enableAI "COMMAND" option works very well now.
Properly everts too when I re-enable.
same error with world=VR
does it fix all your issues though? (Well excluding the getOut, via allowCrewImmobile?)
Yes. As far as I have test cases for. They're no longer doing weird things when I get knocked out because I trigger this when I'm unconscious. As far as I can tell, other than the get out exceptions, they don't give commands anymore. They just say "TAKING COMMAND" and then sit there quietly until I respawn and selectLeader back.
k then we can leave that in
drawIcon3D without 3D?
Multiline ?

Ja!
I forgot it was a command already 😓
Make drawIcon3D great again!
I will need a focus group to play with it when it hits dev, if there are issues Id rather they are sorted while still fresh
I am in.
You are in for a treat!
urine for a treat!
thanks! do you have a format though :-p
You need?
is it "simply" the above format, but in hashmap?
LOL nooooooooooo
What drawIcon3D really needs is an ability to create it and then use a handle to modify or delete it instead of sending large scripted structure and have it parsed by the engine each frame
Map's drawIcon too actually
Using hashmap for arguments is a huge win though, other commands could use same treatment too (drop, setParticle*)
How I saw it:
NUMBER = INDEX drawIcon3D HASHMAP;
iconHandleIndex = -1 drawIcon3D createHashMapFromArray [
["texture", "..."]
,["color", [1,0,0,1]]
,["text", "some text"]
,["position", positionCameraToWorld [0,2,0]]
];
onEachFrame {
if(iconHandleIndex >= 0) then {
iconHandleIndex drawIcon3D createHashMapFromArray [
["color", [random 1, random 1, random 1, 1]]
];
};
};
Or update something else as you need it
BOOL = removeIcon3D NUMBER to delete it
Maybe NUMBER = addIcon3D HASHMAP to avoid that -1 left operand
If we have binary alt syntax for drawIcon3D. Then we don't need extra add/remove commands.
Remove can be handled by alt syntax, by passing it empty hashmap/array
drawIcon3d is parsed into structure internally when executed, then this structure is added to queue for drawing, once processed the queue is cleared together with the structure. With alt syntax, if you set icon alpha to 0 it will abort on the stage of adding it to structure, so it wont take any resources
hashmap set("@hardAlpha", 0) to stop it from drawing
We could also abuse the hashmap and not use another alt syntax.
on first draw, the drawIcon3D command edits the hashmap, to put the iconHandle into it.
And also read it out again to see if you're editing an icon when you run the command again.
Making them persistent needs backend work, but now that we have hashmap syntax its easy to add, just add a "persistent" parameter to the hashmap later, if we do it.
Let's explore this option
Today I'm going to write format for what is there currently
Remind me next week (or assign me ticket) for the persistent thingy
sure thing
Is it just an alternative way to describe icon draws or are there performance benefits other than the 0 alpha short circuit?
I currently have a huge caching thing going on that reduces my per-frame to only what drawIcon3D has to draw. For example:
private _laserIcons = uiNamespace getVariable ["WL_HelmetInterfaceLaserIcons", []];
{
drawIcon3D _x;
} forEach _laserIcons;
And the icon array is populated on a slower schedule.
It would be nice if as mentioned above, I can simply update a hashmap instead of doing all this manually.
Map drawIcon could mostly do with not randomly crashing :/
if only I could repro that 🙂
Never had that happen, and we do a lot of drawIcons
Is it maybe drawing to a non-main map?
I used to be able to reproduce it somewhat reliably, about half the time I opened the dialog and it would crash to desktop, but it "resolved" itself a few days later before I had the ability to properly debug it, as in it became uncommon and not-reproducible anymore
And then it turned up once in three months after I reduced the draw call spam and added icon pre-caching, but the issue's still there.
But yeah, even when it was bad it was never really replicable
Im not convinced that one's us, a single crash can be anything
timing though :/
Mhm
I might pull out my old hardware at some point and see if I can replicate it again. The vague idea I got from the frequency of reports is that it was somewhat linked to bad specs >> poor framerate >> potentially overlapping calls of some sort
It definitely is an engine bug somewhere but it doesn't happen for me so 🤷
Never had drawIcon crashes 🤔
I draw on both vanilla controls (main map, gps, terminal map, arty map) and own map controls
How would you know if your game crashed due to drawIcon or due to whatever else
Probably wouldn't, but I haven't noticed any crashes on map opens
would it be feasible to add access to the engine own unit markers? (2d and 3d respectively)
that should be way more perf friendly, no?
[Feature Request] Add drawUnitIcon and family of SQF commands akin to GroupIcon
https://feedback.bistudio.com/T164042
while are at it KK, you may want to check also (requested repro was provided back then)
[Feature Request] Separate offset from group icon from 2d and 3d to their own parameters
https://feedback.bistudio.com/T170299
also related to this, yet good utility beyond that, would be to expose this directly from engine (which should exist in some form for engine 2d / 3d unit icon display)
[Feature Request] SQF command to return visible targets for an unit
https://feedback.bistudio.com/T168404
If we add persistent icons we will most likely have to serialize a bunch of params 
I had the offset ticket almost done, lemmie see if I can finish it
Found a minor issue when testing gui: If you have a lb control in a display that when LBDblClick'd executes "_display closeDisplay 1", where _display is the display where that control is in, arma seems to steal your mouse such that if you ALT+TAB, your mouse is invisible unless you left click or do ctrl+alt+del to force regain mouse focus.
Replication code:
private _display = (findDisplay 46) createDisplay "RscDisplayEmpty";
private _lbox = _display ctrlCreate ["RscListBox", -1];
_lbox ctrlSetPosition [0.5, 0.5, 0.5, 0.1];
_lbox ctrlCommit 0;
_lbox lbAdd "Double click to steal mouse";
_lbox ctrlAddEventHandler ["LBDblClick", {
params ["_control"];
private _display = ctrlParent _control;
_display closeDisplay 1;
}];
That made me wonder if whatever the game is using to register my input device is also stealing it in such a way that my CT_WEB_BROWER can never get the focus but that is also pure speculation.
What !? This is amazing
Circular progressbar would be amazing
now with ctrlWebBrowser should be easyier 😄
@pallid cliff
Was ist das?
My own custom color attribute which will become redundant
i havent changed the attribute it is still baseColor just added some trickery to set it from either combo or edit boxes
data update pending
_marker set3DENAttribute ["baseColor", "#(50,13,50,60)"]
does work now?
it should
Great.
yeah makes sense
if you open 3den box on this marker it should show custom color in edit boх and default the combo
Will try when it's available. I have already updated the biki https://community.bistudio.com/wiki?title=Eden_Editor%3A_Marker&type=revision&diff=376659&oldid=296748 with custom color format.
dev is very broken currently next week maybe
and how about the build?
broken is gud. Means a lot happened 😄
Is this normal?
clouds in vr, nice
nuke next patch?
VR sunrise/sunset, halo, haze, clouds ... what's next , localized volumetric VR fog ? 😁
not sure I did something specifically
better than most terrain maps
Ah so that's why the status of relevant ticket changed today!
🍻
C-C-C-Combo breaker!
OMG. How many more? I’ve been emulating more channels with real time player mutes for a while.
+10
Oh. Hm. That might not work fully for my use case but I’m sure others would find it helpful.
how many do you need?
Well there’s sometimes 8-10 squads per team when the server is full. So about 20 would work, maybe more to be safe. With ten more, that’s about 15.
no it's 20 total
I mean it comes close. And on second thought, I’ll probably write something to use it until there’s too many and then swap over.
If it doesn't cause extra issues, I'd go even higher so that you could have complex radio/phone systems
Ah ok if there are 20 custom channels total I’ll probably use it and simply restrict each team to 10 squads.
Adding more channels is not a problem if it won't cause performance problems
I remember there was an explanation a while back why it wasn’t just an arbitrary number (or something high) due to performance issues.
If you can, I'd maybe go for something like 50 channels in total. But I understand if it isn't realistic goal
Instead, I run scripts that check player position (for direct chat), vehicle status (for vehicle chat), group (for group chat) etc every so often to unmute them when they’re out of squad chatting. 🤣
I did some code optimisation around custom radio, however without actually testing it it is hard to tell how many channels are too many
Well, we’ll use all 20 and let you know.
make it a description.ext setting, with 10 as default, and 99 a hard ceiling? :D
running away avoiding ninja stars thrown by KK for suggesting more complexity
It is like adding 11 to the volume and hoping not everyone will go to 11
When channels are added, what kind of overhead does that add? Processing on server, network bandwidth (when people are talking or all the time?)?
Well processing network memory
Dunno, I made it so extending channels manually should be easy but, this will add the whole new layer of complexity
Doesn't network usage actually drop if you have many (and more granular) channels with much less participants per channel?
internally add all of them, limit their creation script-side? :o
Custom channel creation are already script only, no?
yes but I mean, prevent script to """create""" (access) "channel 21" if limit is set to 20
Ah understood
it's an engine vs script middle ground, but IDK how much an empty channel weighs on the engine so it's up to KK
It's a bit of a dead weight even if not active
and no "turn on on request" possible, right?
Not the way it was implemented
The generic channels were aways meant to be so they were made static, then someone thought of custom channels, why dont we... oh wait, they are static, ok lets add more. So bye bye flexibility it went
When I originally was working on something that needed more channels I needed one for every player, so about 50-60 and maybe even more depending on the mission.
But I'll probably won't work on that idea anymore so it doesn't matter for me 😂
Game prints errors in Protocol Apex campaign when join lobby
It starts after latest dev update, seems after changing color values to <null> in config
Also Config Viewer print error and shows incorrect config inheritance, seems after Dec update too
Which color values are changed to null and why?
Also which error?
and shows incorrect config inheritance
where?
Cannot give class names yet but remember some classes of Apex lobby background and some buttons, no idea why. Cannot send error name right now, something like 'incorrect number value in expression'
There, "parents" field
Can't send text error right now, related to + operator in script iirc
hi, in the wiki about the new command https://community.bistudio.com/wiki/getLightInfo
11 - VolumeShapePars: Array - getter for setLightConePars
shouldn't it be setLightVolumeShape ?
Yes and also #community_wiki (no need now I fixed) btw are you going to provide repro for jittery light point?
is it just me or is the config viewer broken now on dev
ok, i see i'm not the only one
You mean more broken than usual?
parents broken for youtoo?
yes
it shows only a few entries per class
guess if it doesn't happen to everyone, I will start investigating
The old issue I had is that it seemed to give up entirely when trying to display the deeper trees like pylons & turrets. Like the UI has a timeout.
Wasn't consistent. IIRC it was worse with RHS than vanilla.
Sorry, i will make today, hadn't much time recently
this is what i mean, btw
classes:
RscButtonNoColor
RscDisplayCampaignLobby
360 pcs of <null> values
Broken or missing defines in data repack? Or was always bad and more strict checking/different handling of "null" now?
the null strings are in the ui_f config.bin, something went wrong with binarizing there
I can reproduce the broken binarization with Arma 3 tools CfgConvert from January 2024 
We were packing our configs with a version from 2015 until we had to update it for my "delete" changes.
So.. time to go digging, it broke some time in the last 10 years.
That doesn't explain the parent list thing though, don't know whats going on there
Random fun fact. CfgConvert has a -rvmat "optimization" mode.
All it does is replace useWorldEnvMap = "true" with useWorldEnvMap = 1
does it help
Use hemtt for packing 😄
It reminded me that I can't turn off the 'enable damage' checkbox in the config without errors. Attribute is in : Cfg3DEN → Object → AttributeCategories → StateSpecial → Attributes → AllowDamage. Maybe something can be modified?
The following ways are successful but cause an error message after placvein Eden Editor:
class CfgVehicles
{
class SoundSetSource_Sfx_Water: SoundSetSource_02_base
{
class AttributeValues
{
allowDamage="false";
allowDamage=false;
allowDamage=0;
};
};
};
21:41:36 Error in expression <_this allowdamage _value;>
21:41:36 Error position: <allowdamage _value;>
21:41:36 Error allowdamage: Type String, expected Bool
21:41:36 ➥ Context: allowDamage
21:38:25 Error in expression <_this allowdamage _value;>
21:38:25 Error position: <allowdamage _value;>
21:38:25 Error allowdamage: Type Number, expected Bool
21:38:25 ➥ Context: allowDamage
This is what I get on dev, are you using mods?
Exactly same error on dev for me, no mods
Right but why your parents array was different in the first screenshot?
oh, this was screenshot from biki, wanted to show where to look
So you showed the correct parrents ?
yes taken from here https://community.bistudio.com/wiki/Arma_3:_Splendid_Config_Viewer
ok gotcha
i tested it without mods and had the same error as my screenshot further above
so it's not caused by mods
Yes, the binarized file is smaller and faster to load. The string one would run a script when loading it.
Which, due to how textures are loaded in the game, could well crash your game because we (used to) have no protection around the multithreading there until current prof branch
And even the current new protection is not enough for this on texture loading
ok, time to mass search&replace my files
In almost all cases = "true" or = true in configs is a mistake.
Which is why mikero silently replaces it for you without telling you, which breaks all your stuff if you intentionally try to do that
Ah I recently even added optimization there that explicitly checks if the string is "true" or "false" and skips the script evaluating there.
But its even better when it doesn't even have to check that
i just checked some random a3 rvmats and it's always "true"
That's probably why we added that optimization, people did it wrong, and instead of fixing that we added a workaround to fix their mistakes later
nice 😄
But we actually never applied that workaround to our build pipeline. There we run CfgConvertFileChng (which is required for rvmat's, it changes .tga/.png to .paa in the filepaths) which wasn't updated since 2009.
We'll get rid of that soonish
i believe we have lots of files with tga in the rvmat as well
and in p3d models ofc
does that have any influence?
I think the p3d ones are replaced by binarize.
The rvmat ones by binarize and CfgConvertFileChng. But not if you use CfgConvertSimple to binarize the rvmat
indeed, dont think i ever saw an unpacked p3d without paa in it
The game also has handling for when you try to open a .tga or .png, but that is a very big mess and you better try not to trigger that. That's part of binarize's handling intended for internal builds
fixed in Revision: 153413
is it just me or is the model loading in the field manual really slow now? whenever i click on a vehicle that is somewhat bigger sized, my game freezes for a couple seconds
i'm pretty sure it was loading instantly last time i checked
also I noticed that the first time I open my ADT mod's console, it's become really slow and freezes for several seconds (maybe it's the same as Lexx's issue).
it did freeze the game before too but only a few dozen microseconds not several seconds
another thing is, i am getting spammed with this:
i wish it would tell me what exactly "this shape" is
Sorry no can do
Every file loading in last dev (and second-last Prof) is slow yeah
fixd
Sending a command to a pylon on a vehicle.
Option one:
_vehicle pylonCommand [pylonIndex, actionName, params] and params probably a hashmap
Option two:
_vehicle action ["PylonCommand", { action: "actionName", pylon: "pylonIndex", params: {...}}] with hashmap
option two sounds nicer because it doesn't need new command 🤔
And it does seem logical to use action command for performing an action on a vehicle.
But it would also be new and perhaps unusual?
There would for example be one for SearchLightOn, which is already an action too.
Mh though downside, action command cannot return anything. So couldn't use it to get information from the pylon.
To return information I could modify the hashmap content but thats also a new weird thing of having a command edit a container? And what if that container is read-only, all kinds of rabbit hole.
Maybe new command is justified for this
I vote for pylonCommand because getting info returned would be great. Even just a true/false if pylon successfully fired or something
But it would also be new and perhaps unusual?
no lets do it
Hopefully something like force-fire pylon, jettison pylon, (maybe even set pylon's weapon, set pylon's ammo as an alternative to setPylonLoadout)
Does this also mean the limit of custom channels won't be 10 anymore? 
How else would you steer your pap auto's 😄

stop having fun in the engine keep going dammit!!1! 
I just want to ask in relation to this #creator_dlc_discussion message message which is in relation to the automatic detection of CDLC ownership and if not owned the installation of the Compat for that CDLC. Was there anything done in this regards (I know, nothing was mentioned in the changelogs, but maybe in the background).
yes. Afaik its currently active in dev-branch Arma launcher
if you do not own it and try to load it, you get a popup asking if you want to subscribe to the compat data instead
damn, i wanted a camera pod like this in RF, but it was technically not possible
Guess you'll have to make another update next year 😄
post-release update time!
how would this work if you already have a camera on the helicopter / plane?
The pod overwrites
does the pod take precedence or do you swap between them
ah ok
well sure, i'd throw that in the moment this becomes available for public
I guess one could turn it on/off to swap around 🤔 But that's not planned yet. Not sure if I want to invest that
probably would be waste of time
there's probably a new update going to happen next year anyways 😄
Whoops sorry just seeing replies on https://feedback.bistudio.com/T194246 - thank you guys!!
Does it also detect this if you try to connect to a server? Because I tried to connect to a server, which runs a mod map (or none at all, currently in mission selection) and two CDLC (RF & WS), but the "Join" button is crossed out.
It should, but the main thing missing is testing, could be broken
I could provide some screenshots if needed, but if it's currently in testing then the tester should see the same result as I do, probably.
Ah oki, understood it wrong then.
Next dev +40 custom channels. Now a question... When typing on custom from chatline, the name of the sender is not shown, how do you know who is talking?
you feel it
You set up the custom channel's callsign properties and choose whether to show the sender's name (https://community.bistudio.com/wiki/radioChannelSetCallSign)
(speaking of custom channels and the sender UI: https://feedback.bistudio.com/T175722)
ah yeah of course 👍 i feel a bit silly now
would it be too terrible if this will be a radichannelcreate only option?
In principle it would be nice if it was available in radioChannelSetCallsign too so that it could be changed after the fact. I don't think that would be a super common use case though, so I guess it's not that important.
fitting it into radioChannelInfo might be awkward though 🤔
why?
Depends how you implement it I suppose 🤷 just seemed like it might be awkward to add it to the array in a way that both makes sense and is backwards compatible (e.g. can't make callsign or label return an array). You could stick it on the end, no technical reason why not but it feels odd that it's not with the other callsign stuff.
+1 array element to radiochannel create +1 element in return array
bool true - copy callsign, string - own von callsign
or just string for simplicity
can copy yourself
Would the auto-copy only copy the initial callsign, or would it update with changes from radioChannelSetCallsign? If it would update, then I think that's potentially valuable to have since this isn't being added to radioChannelSetCallsign
If it wouldn't update, then string only makes sense. Default ""?
good point, then bool copy should autocopy and autoupdate with setcallsign
default "" should do what it does now
The message will need to be altered so whatever makes it easier
@viscid onyx am I imagining things or was there a small speaker icon next to speaker at some point?
I'm not sure. I don't specifically recall it, but that doesn't necessarily mean it didn't happen
There is a small speaker icon in the bottom left (next to the channel name, see pic in ticket) when you're transmitting VON
* actually I think this is a status indicator showing that the channel has audio enabled, and shows up whenever the channel selection UI shows up
I just did something and Von became voice activated is that a thing?
There's a keybind in the settings for "Voice Over Net" (distinct from "Push To Talk") which claims to activate VON "permanently". I've never bound it so I can't really confirm, but given that VON does have a certain amount of voice-activated-ness even when using PTT, that might do it
Being in the VON zone reminded me of this: https://feedback.bistudio.com/T156158
I know it's been said that it's a more complex one so no expectations, just came to mind
ok mystery revealed, it is PTT toggle, and the noise of my fans kept the transmission up, until i lowered sensitivity, then it was picking up only voice
The placeholder mesh better be a bright glowing red error word 
maybe a script command to enable/disable the pylon action? could be useful for potential other stuff as well, i guess
@viscid onyx Why do you want to be able to change VoN callsign?
I mean dynamically
I don't understand why these separate commands for label and callsign exist let alone are global
maybe, and that is big maybe, if someone wanted to reuse the channel, since there were only 10 and you could not delete and recreate...but we have 50 now, it is just extending radiochannelcreate is easier than making it a full feature
Ok, after thinking about it, we are going to decide between new radioChannelSetCallSignVoN or extending radioChannelSetCallSign to take array [callsign, callsignVoN]
I don't specifically want to change it after creating the channel. I did say it was probably pretty niche and might not be important, when you asked me before. But radioChannelSetCallsign exists, so it makes sense to me to have the same ability for both displays of the callsign, otherwise they could become out of sync.
The original request, btw, was just for the ability to make the VON indicator show the existing channel callsign, not to have a separate callsign for VON.
If we decide on altsyntax radiochannelcreate will take array or string
if I'm going to add it might as well make it flexible
it is another variable in message either bool or another callsign, might as well be a callsign
There is a way to have a way to block global comands to be used in global env?
I guess is hard to know when a command gonna be executed globally, but will be a nice QOL for inexperienced editors
I’m not sure how that is connected to what I said tbh
In description.ext you can disable any command you wish (including global commands) by having a CfgDisabledCommands class. For example:
class CfgDisabledCommands {
class setMass {
targets[] = {0,0,0};
};
};
This prevents the command from being able to be executed.
yea but i mean is a "feature" in the global commands,that block them to execute in a global env, not just block commands
if !(isserver) exitwith {} solve it basically
I mean a lot of commands have non global commands- map markers, inventory, sound, etc. What is your intended use case out of curiosity?
You could also block global commands and whitelist the local commands to be executed in CfgRemoteExec. Isn't gonna be 1:1 but might be a solution perhaps to what you are looking for maybe
Uh, I mean I just don't really understand what you mean. Triggers can also be local.
but also not...
there is no warning or something if you put a "playsound3d" in a global trigger
From an AC standpoint I could see it potentially being useful but just still not really seeing the point tbh. If you're that worried about something like that, you could just disable the command and only allow server to handle it
if you disable the command, you cant use it in the right way either
Again really just not understanding your use case lol.
I think they want a safety against people executing Global Effect commands on all machines at the same time, causing duplication.
But a) machines aren't aware of whether other machines are running the same command at the same time, and b) sometimes duplication is intentional
Triggers aren't actually a special "global environment", there is no such thing. There's just a copy of the trigger on every machine.
Ah okay cheers. I think perhaps that's what I wasn't getting. A3 is super client authoritative and pretty much anything is possible via memory which makes hosting a large public server without in house AC absolutely impossible so I am sure something like that would be great security wise- just doesn't seem super feasible
It's not a security issue, it's a scripters-not-understanding-global-effect issue
If you're putting code in the code fields of a trigger, you must already be the missionmaker, it's not cheating
yea, this can be seen in the sqm, so a little warning on inits or triggers, should be easy to implement ( also color code in the inits will be a really good QOL lol )
I think you misunderstand what I mean- I'm not talking about a profileNamespace or uiNamespace exploit- more just talking about pure memory injection
This doesn't have anything to do with memory injection
I'm aware- I presumed that's what you were talking about here #dev_rc_branch message
Or were you saying code arguments for a script in mission?
Okay, look.
Editor init fields, and trigger code fields (unless set to server-only) can execute their code on every machine. There is a common mistake made by missionmakers, where they put Global Effect commands in those fields, intending to have code only run once, but actually making it run a lot of times because it's Global Effect and it's being run by every machine in the game.
What FlyingTarta wants is a safety system in the Editor, which warns people that they're using a Global Effect command in a code field which is going to be executed by every machine.
Milo you are overcomplicated things lol, we are talking about dumb mistakes, not memory injection cheats lol
Editor code fields already do some basic error-checking of code you put in them, but I'm not sure that the parser actually has access to definite information about a command's locality. I don't know that commands have some clear flag that says "I'm global effect" in the engine, they just...work how they work when you use them. So I'm not sure how practical it would be for it to detect Global Effect commands.
Dude, I was just trying to understand the question. @viscid onyx explanation was good. I had no idea you were even talking about the Eden Editor
The parser also isn't necessarily very context-aware, so even if it could be done, it might still flag things that are actually protected by locality checks like isServer, or commands that are deliberately being executed everywhere, or commands that are protected by the trigger conditions, which would be quite annoying
ive tryed in the past doing some stuff like this, but didnt find a easy way to read the inits
the "global" commands can be just a hardcoded list lol
...and now someone has to compile and maintain that list. It might happen but I'm not sure how likely that is.
yea, might be a good feature to 3den enhanced more than the base game
an init-enhanced mod will be nice too
❗ Does ACRE radio item go to radio inventory slot?
tfar goes to radio slot
acre radios go to a standard inventory item
ACRE does have a "fake radio" item that goes in the radio slot, but I'm not exactly sure what it does. It might just be there so the game lets you use side chat etc. The radio items with actual ACRE radio functionality don't go in any slot.
So how scripts are supposed to know if player has radio?
iirc checks the inventory, and you can have more than one
ACRE radios have certain config attributes; ACRE provides a function that checks your inventory for items that have one of those attributes
Yes ACRE checks for ACRE, but how are you supposed to know there is a radio item if someone is using ACRE
By using the ACRE "has a radio" function. It's an SQF function that appears in CfgFunctions, anyone can use it if ACRE is loaded
So if I am mission maker and I have no idea who is going to use my mission, I somehow have to still assume that someone might be using ACRE and bend over backwards to search for their function if there is?
I mean most missions don't need to detect whether you have a radio or not; either they'll specifically give you a radio/prevent you from having one, or it doesn't matter.
But yes, if it matters whether a player has an ACRE radio, and you're not in control of it, you will need to specifically check for ACRE radios. There's no single one-command solution that works for both ACRE and vanilla.
You could make your own function that looks for radio items rather than depending on the ACRE function being present, but you'd still need to have it look for ACRE config attributes
I'd argue that's a fault with the kbTell function for explicitly hard coding that specific item name, instead of checking for items with simulation radio/ability to go in radio slot
Like I mentioned above, ACRE does have a fake radio item that goes in the radio slot, which doesn't act as an ACRE radio but is used to allow for engine features like side chat requiring a radio item. A more flexible method in the kbTell function would probably detect that and work fine.
as I commented in the ticket, will be adding slot check, but also one can set scripted even handler to bypass radio check
Well, that's what we do :/
Ah actually we just disabled the radio checks for ACRE :P
Arma 3 update 1.56 RC1 : https://forums.bistudio.com/topic/183855-release-candidate-branch-announcements/?p=2974792#entry2974792
Release Candidate Branch Announcements - posted in ARMA 3 - GENERAL: In this thread well post announcements about Release Candidates (RC) of future main branch updates. That includes the opening of the RC-Branch ahead of an update, possible change logs between RC updates and details on (multiplayer) stress tests. This thread itself will remain closed to allow for a clear overview of announcements, please feel free to discuss this branch here.
so after i made an ctrlmap ui2texture to be able to draw a progress bar and progress icon in a drawIcon3d texture... progress bar are added to drawicon3d 
at least my code have an box that fills with progress
Commands don't know if they have network effect
Also the effect changes if you're in Singleplayer, or based on arguments.
With how promise handles are being added, would it be possible to look into this or something similar?
https://feedback.bistudio.com/T171265
It's been something I've been looking for for a while, and have run out of ways to secure active scripts from cheaters, which this would open up quite a few options.
Ah yeah no problemo.
scriptName indeed not possible as you guessed.
Not sure if the whole script content, I think we generally make that not available in any of the other commands too right? Or was that just the script handle, but we show all content?
Currently there is no way to tell if a script has been added to the script scheduler
Not true, this was possible since isNull check on scripts or even earlier with scriptDone. If not done, then the script is scheduled
That's true for checking a script you already have a reference to (so you can tell if your script has been added to the scheduler). What they're talking about is a way to tell if any script has been added. It's a general "a", not a specific "a". We have a script-oriented check, they want scheduler-oriented detection.
Also no longer true with empty handles/promises. That are not done, are not null but also not scheduled
Right, event handler for when script added with script content?
That's what it says in the ticket 🤷
what would stop script kiddie from removing this EH prior to adding their script?
Without your own server-side measures, nothing. However it would give people a few more options to find skids that dont know their way around your entire mission file. If you have a different solution, I'd love anything
Ask @full sonnet to make nonremovable
Password protected EH removal 😅
That would be amazing to be honest
spawn your own script, if EH doesn't fire, tadaa someone removed it
getEventHandlerInfo would also tell you that.
I'm not sure that knowing it's been removed solves the issue of it having been removed. You still have some unknown script on the loose which has already bypassed any security measures you might have had in the EH.
It would be handy if EHs could be individually restricted in CfgRemoteExec etc so you could prevent anyone but the server from manipulating it. But I recognise that's probably not possible
Anti-cheat wants to detect players cheating.
You know they're cheating when they disabled the anticheat
It would be neat if CfgDisabledCommands, can disable commands to be used locally BUT allow it if it came from a remoteExec from the server 🤔
But cheaters can still bypass it, they don't care. So not worth the effort
eventHandler for when a eventhandler is removed 🤣
Really wish it was that easy 
Only so much you can do in terms of security though. Just a big game of cat and mouse, but having more commands/tools always helps.
make sure there's also an eventhandler for when an eventhandler for when an eventhandler is removed is removed
Recursive event handlers 
We already had that with scriptError once upon a time 
If we can't get the content of the script, would it be possible to have the ability to get hashValue's of active script handles? I realize this might not be possible, but worth a shot in asking
Yeah sure
let something to arma4 
no, this way Arma 4 will have to be beyond wonderful! 
a3\structures_f_exp\data\glass\destruct_full_window_set_dark_2_CA.paa seems corrupted, which causes lod0-5 not to show. lod6 doesn't use the material, so there are no issues. also because of this, the mission loading times increase. texture needs to be rebuild and all should be fine.
tedious to find out, but ez fix
regression/accident?
The texture file itself that I have in my pbo looks fine in TexView and the lods seem to be there 🤔
yup, texture itself was no issue. but once i rebuild the paa from tga, the issue was fixed
tested this on 2 different machines, so it was probably not a game file verification thing
i just verified game file again, just to make sure - issue persists. dev-branch
mandatory checking dev build once in a few months just to see if there's a shocking breakthrough or not
or surprises
i havent really used stable in like 10 years or something
Profiling is love
Doesnt have all the goodies of dev
True
2 others as well 
I also spotted this exact issue in current stable/prof with the Altis airport building.
Are you sure its stable/prof?
and which building exactly?
Imagine you could change the color of the Sun/Moon 🤣 Oh what fun could be had
Yep, the Terminal. The whole building. Precisely (cursorObject):
Land_Airport_right_F
Land_Airport_center_F
Land_Airport_left_F
If models are being looked at then I would note this ticket I submitted: https://feedback.bistudio.com/T189824
The tower one specifically relates to us repacking the entirety of a3 data,
Ah, binarized LDP on the way soon™?
but not directly related to the repack, just new pipelines etc. only way to fully test/validate everything is by just repacking everything
uncovered some interesting issues regarding missing files that have just "survived" in a cache for years even tho no longer included in the source data
Yes we need blood moon
Anyone knows if the moon in A3 has the same property as the sun to generate dynamic shadows? I've only seen it working like that in the Contact campaign I believe
moon doesnt do shadows
Meme stolen from boberro
Would be so cool if it did... I could swear the Contact campaign moon does shadows... or there is a fake sun being used there?
problem is that night time has more light sources and if those dont cast shadows, it becomes more obviously janky
shame we cant have some sort of light overdrive feature where more objects can cast shadows
what ya'll talking about?
I knew it! I wasn't crazy! I wasn$%^#^#@🤪
Is this just a diag_setLightNew?
🙂
Whaaat that is a thing? 😢
It seems like it yeah. We should just make that available in retail maybe
It is, but it requires utterly chaotic config to work properly
You can't just "hey please make the sky red" with that diag command
But "hey please replace the entire lighting"
I'm able to make zones on the map where the whole lighting changes for the player
and It can also transition smoothly into the lighting
And just to showcase if you want to go full crazy mode
https://streamable.com/rtio9i
_cloudFace setRandomLip true
its persistent across sessions (i think even terrains). so would require some extra work to avoid that issue and abuse
on that note you guys could also look into the various diags with simulWeather - some may even work and be useful to expose to diag/retail
@leaden heron kudos to the system and interface 👍
way back i tried a similar (more limited scope), yet we couldnt quite figure out the exact conversion - was working for most cases, yet not 100%
(that said our target was sqf<->config - is yours purely sqf or also for terrain export/import?)
config export and import is working
the only thing is the gui on this tool I made not dynamic so it dosent work on some monitors
If someone could fix it then I would like to release it
@pallid cliff to the rescue 🙏
If it's OS then maybe
I'll send you a dm
When will the "answer to everything" be added back? Can't play without it anymore 😅
roll back to v42
Can you add another option to playSound3D
for attaching the sound to the source so we dont need to create a loop? 🙏 🙏 🙏
Loop parameter for say3D might be easier
You mean looping the sound? I meant attaching the sound to the source so it moves with it
Yes, that's always been say3D's thing. I assumed the new loop parameter was why you specifically wanted to add object following to playSound3D instead, since the loop parameter isn't present in say3D.
Yes, exactly
I think there's probably a fairly fundamental reason why say3D has object following and playSound3D doesn't. It seems more likely that say3D can be expanded to have looping, than that playSound3D can be expanded to have object following. But I could turn out to be wrong 🤷
But playSound3D has more parameters like volume etc
How is this done? >_>
I guess to be more accurate with my question, is this done via a config change or a script?
Is that Contact or vanilla?
stratis, vanilla
I guess this 👇 is either no longer true or the sun is projecting shadows from behind the earth's curvature? https://media.discordapp.net/attachments/105466812870713344/1445859017091055677/image.png?ex=6933dae4&is=69328964&hm=c11f8b0173177ffbd774f516876a8f63f4d8e8a52d6373640cee0092adb0bad1&=&format=webp&quality=lossless
probably not true anymore. i had to double check as well, and indeed, the full moon is casting shadows
but that's the issue, i guess. it only happens with the moon out. once it is gone, shadow is gone too, which happens quite a lot every ingame month
We need dynamic shadows 
once it is gone, shadow is gone too
Eh... Um... isn't it how the real world is supposed to work as well, or am I missing something? 😅
i mean yes. but you can still have a bright terrain
it acts like cloudly sky then, where shadow disappears but you can still see ofc
Undocumented change detected and confirmed!
Who is adding that to a changelog!? Would be great if we could track down the patch number that added it
Well, we went from 1 source of dynamic shadows to 2 (Sun and Full Moon).
I wonder how expensive having a few more could be after the multithreading improvements
you can only have one light source at a time atm (casting shadows), sun or moon.
True, got confused because where I live we often get the sun and the moon at the same time (Basically 7 PM we can see both in the sky)
Isn't it like that everywhere all of the time?
Well, not in Arma, and Arma simulates real life or is it the other way around? I am confused... Real Life emulates Arma then?
I was talking about the "where I live" part.
Pretty sure the poles and some other locations behave differently... sky wise... but could be a global phenomena indeed
I heard that in the UK they only see the sun a few hours each month... if they are lucky
Sry for ping but does getPlayerVoNVolume also get a players voice volume? I mean could we know how loud someone is talking?
Ive been wanting this for while now too
Plz
If it was a flag in createlightsource it would be down to the modders to optimize on priority shadow casting lights vs non shadow casting
oh no, i dont trust modders with optimizing anything
How did DayZ do it? Or is that a byproduct of its hybridization with Enfusion stuff?
DayZ uses Enfusion render indeed
circumstantial tbh, most mods dont play with lights anyway - also could always limit the amount of shadowed lights or something
just imagining cytech underground terrain with a couple shadowed lights in the main areas for extra atmosphere, would look siiick
Implemented into a RV game?
If you havent played DayZ in a few years I recommend checking it out. It's like an alternate universe where Arma 3 feels incredible and looks wonderful 🤣
Gave up on DZSA earlier this year and uninstalled tbh
This footage looks like they implement it before enfusion stuff but I'm probably wrong and it was just the start of the change
https://www.youtube.com/watch?v=nCCSRyyotIk
It was the first Enfusion system to be implemented, think that was in the middle of the move from SQF to enscript but difficult to say since the pre-0.63 patch notes don't mention that change but 0.61 (that changed the renderer) had both sqf and enscript still
But DZSA is still an RV3 game with changes. 1.0 and earlier components from Enfusion were just the script API, renderer and animation system - the last came in 0.63 (0.61 still used RV rtm files only).
I actually wonder how much work it would take to implement it into a3 and if there is any docs from dayz which would help
I know Dwarden has advocated for that but I believe that Dedmen said that it isn't that easy. Then again, BI would have to approve it and not sure that they want ARMA 3 with better graphics at this point given their focus...
a3 with better graphics would give it 10 more years of life
And that is probably something BI management don't want...
not something you'd want as competition for reforger/a4 i guess 😄
Shame that that is a factor on deciding whether to make their best game ever even better...
The graphics are already the least bad thing in A3 IMO.
Well, except the night lighting :/
What are the worst things in your opinion? I would agree that the graphics aren't the worst thing imo, but it's often the most publicly criticised area...
Now that 2.20 has much better perf, my top 10 are mostly AI related. But there's also serious networking usability problems like lack of NAT hole punching, missing logging of disconnect reasons and signature verification kicks for minor packet loss.
To be honest dynamic shadows make the graphics better but only for the night time, it wouldn't really change the look of the game itself and I think almost everyone of the arma 3 players will buy arma 4 when it comes out
Depends whether it compares well to ARMA 3...
Reforger doesn't...
Even tho I still prefer arma 3 over reforger I still bought it and played it a bit and surely others did as well but I can only speak for myself here
And I think getting a small hype for arma 3 again will benefit bohemia and arma 4
Same. But I just don't regard Reforger as an ARMA game...
The improvements in the modding tools are very welcome and nice but the switch away from SQF in my opinion sort of stinks...
About time in my opinion 😄
Object orientation and static typing (!) are lovely features once you get used to them
Higher entry cost for new modders, loss of a specifically ARMA function library built over 20 years, introduction of a language where every variable is global, the need for porting every single piece of modded code from all versions of ARMA including many very good full conversion mods...
well night time and interiors too - yeah it wouldn't change things almost at all for broad daylight but that's also the case for other games anyway (except in the rare cases where you somehow have a light brighter than the sun, in which case its likely an explosion for which shadows aren't that useful)
That and no light leakage through walls too
enhanced lighting dlc, i would buy 😄
The problem is that in that universe, everything is trying to kill you.
||Just like in Australia|||
Except the infected that are so easy to deal with lol
And food is not an issue thanks to loot bloat
Yeah, the infected in Australia tend to leave you alone
Except for toilet spiders 👀
This sounds like a job position 😂
@ebon quail are you doing by chance a file ref check with the "data reorga"? aka to determine missing files (ie still some with radio protocol, or other audio still remain)
ie via regex on cpp, rvmat and sqf, and moveObject on p3d
the goal is parity with the existing data using new pipelines and making sure everything is able to be built from scratch
Only difference being intentionally deleting some very old, duplicate and wrongly named files no sane person would ever be using (spaces in filenames etc)
wrongly named files
It reminded me this problem with the radio protocol files https://feedback.bistudio.com/T156035#2675205
Shows me why I shouldn't assume
😂
'Frag out' radio protocols also not working but seems engine fault https://feedback.bistudio.com/T180926 It will be cool if let it working)
Followed your repro no luck
which part of it? repro works for me, values in engine also line up to never work on grenades
Automatic Reporting... 
Add one subordinate to player group, exec:
(group player) setBehaviourStrong "COMBAT";
(units group player # 1) addItemToVest "HandGrenade";
(units group player # 1) forceWeaponFire ["HandGrenadeMuzzle","HandGrenadeMuzzle"];
After launch Arma 3 with mod contains code:
class CfgAmmo {
class Grenade;
class GrenadeHand:Grenade {
hit = 10.00001;
};
};
Then unit will do radio report frag out
He was able to repro after all, Automatic Reporting in difficulty settings turns off those radio messages 
oh got it
Actually what would you do with a hash of it?
And you mean the hash in the eventhandler, what use does it have if its always different and you cannot use it anywhere?
Do you want the hash to also show in diag_activeSQFScripts?
Ah like hashValue spawn {} to hash the handle, yea. And then also include the same hash in the eventhandler? But what for
By engine code change. So no.
Oh damn, this would've been neat ;-;
Thanks for the reply still!
No its still one.
no
@mossy cloak judge
addMissionEventHandler ["ScriptSpawned", {hint str _this; copyToClipboard toJson _this;}];
0 spawn {
systemChat str diag_activeSQFScripts;
};
["",
" \n systemChat str diag_activeSQFScripts; \n", // Content as string
"AAAAAAAAAAA", // Hash value of handle (I still gotta fix that)
"", // Filename who spawned this script (if from a function)
2, // Line number who spawned this script
"addMissionEventHandler ['ScriptSpawned', {hint str _this; copyToClipboard toJson _this;}];\n0 spawn { \n systemChat str diag_activeSQFScripts; \n};", // Script content of the script that spawned this script
93 // Bytes from start of that script, where the spawn happens
]
Because you need it for anti cheat, I assume its important to see who spawned a thing
could maybe also add remoteExecutedOwner (though.. I think you might have that available in the eventhandler)
This is actually more than I could has asked for to be honest. Having the ability to utilize this is a very big win.
The remoteExecutedOwner would be nice as well, you'd be able to debug scripts that may be sent over the network too often, or maybe when they shouldn't be.
As for what I would be doing with the hash, would be able to cache anti-cheat scripts and either ensure that script is always running via client, or potentially have it heartbeat to server checks. Having it shown in diag_activeSQFScripts would be great as well, would make it easier to scan for.
I have implemented a bunch of things in similar ways already, but there is one way they can cheat that I cannot solve, however this would make it near impossible for cheaters to spoof it and would solve the last issue I have with security.
But I don't want to add remoteExecutedOwner if you can already get it anyway.
And I don't want to spend the time to set up a multiplayer game to test it
It'll land on dev-branch next week, you can tell me if it doesn't work and I'll add it then :harold:
huh there's a slight, maybe unexpected.. mh.
diag_activeSQFScripts returns filename and line that the script is currently at.
But that returns also the name/line if its currently inside a call in some sub function 🤔
Is that unexpected, I was thinking you might want the line in the root script
I guess that adding one more, like the closest light source to the player ie flashlight/headlights would be way too expensive? 🙄
and if someone brings yet another flashlight, poof the first one disappears
That is how it currently works in stable, I dont really see an issue with that. Would be interesting if it could expand to origin name/line, and current name/line, but for my current uses how it currently works is fine. Same thing with the remoteExecutredOwner thing, it would be cool, but not necessary
I was thinking a single local only source of shadows (other than the sun a moon) but without interacting with other player or units' lights otherwise it would be too much work from the devs to implement
and I offered you a case showing its limit
Well yes, when I said "closest to the player" I actually meant the lightsources local to the player without considering lightsources not generated by the player. If someone else brings another flashlight closer we don't care since only the player's matters in the calculation
The closest light source wouldn't even make sense.
It will be your gun or headlamp, which is very close to your eyes.
Meaning the shadows of it, would be in areas you cannot even see.
You want to generate shadows that aren't even visible to the player?
Indeed, my bad for poor clarification, "closest to the player" alone is not correct, closest to the player and which shadows would be visible to the player
The whole idea is to create the ilusion of dynamic lightning with the least amounts of extra "suns/moons" while also not adding anything extra that requires netcode changes, just local and visual to the player
could be limited to other cfgvehicle classes i guess. preferably soldier and vehicle
but question is if that approach would really be worth it. you will still have lots of odd looks at night time.
basically, as long as light shines through objects, there will always be issues
I thought that was fixed years ago 
Best thing is for BI just to make a new renderer... problem solved 💡
Would "probably" get a massive influx of ARMA 3 players generating massive interest and who'd all "probably" buy ARMA 4 when available
that's not something you can fix without shadow-casting so you're probably thinking about the reduction in flashlight range as the fix (which is more of a workaround really)
If thats the solution to our suffering then we should run a poll and let the community vote on it, right?
I don't think there has ever been a vote before, devs either deem it worth it and doable or they don't.
Usually we don't even know with much anticipation what they are working on.
But we can always hope. Big fixes and improvements have been tackled before so that is always promising. I think this last big endeavor could be the icing on the cake for our dear Arma 3.
Would be neat if it would provide the script handle as well in the handler, so there would be a possibility of terminating a scripts as they are run, but I imagine you may not want that for security purposes.
Having all of this would allow us to have more control over what could actually be run, and exclude anything not created in specific pre-defined contexts, or have the ability to pattern search for unwanted things.
I very much appreciate you and all the developers for still working on A3. It's keeping me interested in actually utilizing the increasing amount of tools you keep giving us.
We don't provide it in diag_activeSQF thus we won't here either
You tell a pylon to do something.
Any = pylonAction [vehicle, pylonIndex, actionPath(, arguments)];
Any = pylonCommand [vehicle, pylonIndex, actionPath(, arguments)];
?
Its kinda like an action but with return value, so Action makes sense, and works similarly (multiple actions in one command, by giving the name)
We also have ctrlWebBrowserAction which works similarly (multiple things in one command)
I originally planned Command
I thought about making arguments a hashmap, but that is a waste when there is only one. So arguments will just be specific to the action
We do all love Arma.
That is why all pylon pods being backwards (facing south when aircraft faces north) does not cause a existential crisis

Turns out all proxies are reversed, and I forgot that when doing https://feedback.bistudio.com/T190789
So now we have the orientations wrong in 2.20.
But we can just fix it again in 2.22, surely KJW is the only one using it
As long as they fire in the right direction
We don't even bother to sync the pylons in MP :P
Yeah but thats also the only thing they do right XD
Only the "Missile direction" code reversed it back.
getAllPylonsInfo and thee new stuff are wrong
why were they inverted in the first place
surely it would have been easier to rotate the model than rotating them in code?
All proxies on transport vehicles are apparently reversed?
wild
many objects in A3 are reversed so I'm not surprised 😅
im pretty sure the vast majority are yeah
atleast if you check the reversed config property
Hi, I wanted to ask.
Is it possible to add a mouse sensitivity coefficient command? Or is it difficult to implement?
So that I could change mouse sensitivity via a script. For example, to decrease sensitivity while sprinting. Or change sensitivity based on weapon weight.
Weapon handling related command? Sounds nice tho...
Has dev branch been updated recently? Been wanting to test some of the changes?
I swear I’m blind sometimes
Doing a bit of testing with this, have a few notes, but seems to be working as intended.
The first index in the params seems to only be "" except in 2 instances, not entirely sure what it's supposed to represent.
It would be great if we could see the creation source of scripts, like from an addAction, remoteExec, or some config onLoad/onUnload event etc. Having a parameter showing the source context saying that it originates from a special case like these would be beneficial.
As of right now, the 3rd parameter will return an empty string in these cases, which is to be expected, but would not be able to be capture the full context of what's happening like above.
Other than that, I don't see any improvements in this as of right now.
Script below is one I'm actively changing and using to test cases that this event could be utilized for, unsure if it would be useful for anyone in here
#if __GAME_BUILD__ >= 153496
test_scriptRecords = [];
test_flaggedRecords = [];
addMissionEventHandler["ScriptSpawned",{
params["_unknown", "_content", "_handleHash", "_originFileName", "_originLineNumber", "_originContent", "_originByte"];
([
"private _fnc_scriptName ?= ?'(.*?)';",
"scriptName ('.*?'|"".*?"");",
"#line \d (.*?)\r?\n"
] apply {
(_content regexFind [_x] param [0,[]] param [1,""] param [0,""]) trim ["""'", 0];
}) params ["_spawnedScriptNameHeader", "_spawnedScriptName", "_spawnedScriptLocation"];
_spawnedScriptName = [_spawnedScriptNameHeader, _spawnedScriptName] select (_spawnedScriptNameHeader isEqualTo "");
if (_originFileName isEqualTo "") then {
test_flaggedRecords pushBack [_spawnedScriptName, _spawnedScriptLocation, _unknown, _originContent, _content];
} else {
test_scriptRecords pushBack [_spawnedScriptName, _spawnedScriptLocation, _unknown, _handleHash, _originFileName];
};
}];
#endif
It's filename, so with execVM it should show
Or I think it was, don't remember now..
Creation source.. is in there.
Oh that you mean, we don't know that, I can't do that. I give you the location where it was spawned tho, which besides remoteExec should show you.
Have you tried remoteExecutedOwner yet?
isRemoteExecuted and remoteExecutedOwner seem to work, and provide proper owner numbers, much appreciated!
(except for headless clients as usual, I imagine)
Can test that when I get home
were these changes to TI to get pp effects working, in this dev change? they weren't mentioned in the changelog
They were a while ago
https://i.gyazo.com/a64d46c0ce8bc7e48ff75b139b0bdd05.png
the thermal blur is everything I hoped for, however the Flir colour being turned orange and loosing the contrast is difficult to correct
https://gyazo.com/cca7953e2b67d09e828aa33976f7f7f9.mp4
I did try using the colour correction affect, but I still cant get the colour right and Iv got no thermal contrast anymore
Thats actually interesting. Having multiple clients test it, as well as a headless client, only the headless client is not seen as a remoteExec, and the remoteExecutedOwner is 0. I verified the same code running on every client/headless client with the same input as well.
I've never really looked too far into headless clients, but I'm surprised its different.
According to the wiki it's intentional. But I've never personally run into a case where it was beneficial rather than a pain in the arse.
What turns it o.. oh I know.. orange is the Backend temperature information, before it's calculated down to grayscale. It mixes the two
I should fix that, maybe remind me next month or post it in #arma3_feedback_tracker
Want a ticket or just a post and a reminder?
Post, I'll see it then
While updating my effects-related mod, I noticed an issue:
after modifying config files or SQF scripts, when I first launch the game, the updated effects sometimes do not display at all (nothing appears). However, after triggering the same effect multiple times (usually 3–4 times), everything starts working normally.
I am not sure what causes this behavior.
Could this be related to some kind of internal caching mechanism in the game, or is it possible that materials or textures are not fully loaded during the first attempt?
Initially, I suspected that frequently force-closing the game might have corrupted game files (does Arma 3 even suffer from this kind of issue?), but after reinstalling the game, the problem still persists.
There is no cache between game starts.
The game only reads the files, it doesn't write so it can't corrupt them.
It's possible that loading textures takes a bit of time.
TY, this is exactly the answer I was hoping to hear.
How does the launcher recognize if a mod on the server is the same as the one I have from workshop? I'm subscribed to CBA_A3 and the server is also running CBA_A3 (using an exact copy of the folder I got)....yet it tells me that the server requires Community Base Addons, says that the mod is not loaded and an "unidentified mod" yet under the "additional" tab it correctl sees that CBA is "loaded" and has an "Allowed Signature"
What do I need to do on the server to make the launcher realize that the "unidentified mod" on the server is in fact the mod that the user has loaded?
Im not sure if this is known or not, when in 21:9 or 32:9 aspect ration, when tilitng the camera by leaning, or rolling an aircraft the whole game render display compresses inwards a noticable amout, I first noticed it on an ultrawide monitor, but im just playing superwide for the first time and its super noticable. Is this known or not?
Im dumb, ignore
Doesn't that just mean that your aspect ratio isn't set correctly?
Oh damn, I though i was having the same issue i see in PIP. I had aspect in auto, and it didnt detect it, had to set it to manual
https://gyazo.com/60f6527186ad821d24f00fa2dca6800c.mp4
PIP still ducked
No idea what that's supposed to mean or what one is supposed to see in the video
if it's about the rotation... that's a model animation issue? the pip mempoint rotates more than it should be or rotation is inverted
i guess there's some double selection/animation stuff going on. mod author needs to fix that
This issue isn’t rotation, the pip image is stretching with the rotation
The issue with pip only appears on monitors with aspect larger than 16:9
well, could have mentioned that first 😄
can anyone tell why diag.exe is messing up my addons? I get popups like the one in the picture, modules from zeus enhanced stopped working, all kind of weird stuff..
That assert is not related to modules breaking
Would it be possible to include an alt syntax to the get3DENLayerEntities command to get a layer by its name?
Layer name can be duplicated though.
Hmm. Time to swap channels for my question then
I found one of your earlier responses about radar systems through a search, and I would like to know whether there is any way to overcome the 16 km range limitation. I have tried modifying the parameters in class ActiveRadarSensorComponent, but it did not have any effect.
i just recently found out how terribly unoptimized tanoa moss rocks are. place those big rock walls and drive near them with any car. you will get lag spikes, probably because of the very complex geo model
also i could swear planes create lag spikes as well when flying over them(?) but not 100% sure on that
you dont even have to hit those rocks with a car. just driving near them stresses out the collision detection i guess
probably because of the very complex geo model
it's the roadway that's unoptimized. the game creates thousands of PhysX meshes for those (1 convex body per face...)
the thing is that the geometry already covers them so they're a total waste of performance
you need roadway for soldiers. vehicles drive on geo lod
so you kinda need both
but it's only the vehicles that cause lag spikes if you drive near the rocks
imo geo and roadway could be rebuild from a lower lod level like 3 or even 4. the shape is almost the same and you get a reduction of almost 5k faces down to 1000
tiny rock clutter is even worse. there's rock models that player can step over and it looks like lod0 was used to generate the geo when a simple box would have been enough
yeah that's something i've noticed with any physx that happens close to masses of roadway LODs - i made a cave once out of those things (large moss rocks) and every time a unit ragdolled the whole thing would bite off like 50 frames until the ragdoll died
yeah I mean duplicating the roadway for PhysX is mostly useless (at least for rocks)
I proposed an idea to Dedmen a while ago where if a roadway surface was almost covered by geometry, no PhysX mesh would be generated for it.
but I don't know how slow it would be to do this at runtime (because iirc PhysX meshes are built into the p3ds)
we have setPhysicsCollisionFlag, maybe a setRoadwayCollisionFlag or something would be a useful feature to have as well (wont help with terrains but at least if you're building things out of stuff that has roadways but you have no intention of using said roadways it'd save that performance)
I really don't understand the purpose of this - it's like it was implemented as a stop gap measure for objects that haven't been converted properly
just to incur this massive performance hit
well it sort of makes sense. e.g. some objects may not have any geom shape in some places but you do want your vehicle to move on them like soldiers.
but in most places it is useless and just wastes perf
yes, the existence makes sense
not every object has roadway everywhere. houses dont need them on the side etc
the issue with rocks is that you can rotate them however you want, so you need to cover all sides just in case
those small rock clutter objects have no geo - vehicles just drive over (through) them. but they have roadway because you want soldiers to walk over, not through them
no I understand the reason why the roadways exist on the rocks its more the roadways being copied to the physx geo in engine, whcih is causing the lag
I can't think of an object that it'd be preferable to have this setup:
no geo
a roadway
but the roadway gets copied to the physx geo in engine
that couldnt be achieved by just giving it a physx geo
it would probably help already if a physx mesh would not be created if you are sure it's fully covered under terrain mesh 😄
could shave off thousands of them on rocks, which are almost always placed half into the terrain
if you dont want to check every mesh for it, maybe a custom (config?) property could help the engine to identify where it has to do that
i dunno, just throwing ideas around. alternative is still to optimize the geo mesh on those models.
a model property would be best imo
actually models already have a property that can identify them as rocks. check for map = rock in p3d
i mean at that point just ignore the check and have the config property define whether the duplicate lod needs to be generated in the first place
the person who made the model should know that information so
issue is that a3 has a lot of old models that, let's be honest, nobody is ever going to be touching again, no matter what
Yeah an opt in system for it would be best but that's the issue it's too much legacy
it would be nice to just switch it off and see what happens though lol, what actually breaks
true, but hey you can just let the modders handle it 😂
or also add an sqf command that does the same thing for mission makers who wanna make stuff out of those types of objects but cant be bothered to go config diving
the problem with script/config is a lot of these objects don't have configs
imo some sort of physx culling would be best. detect if a physx mesh is already covered by another and then skip it. but this probably would need to be baked into terrain data and that's for sure not gonna happen 😄
or a complexity limit
RIP
but that'll definitely break something
Do/have the occluders ever worked as intended or consistently? Documentation on them has always been, sparse. In my experience they usually cause more problems than they solve.
can we get a custom steam recording event marker for when you're in a land vehicle and your altatl is >5?
Looks kinda slow.
Yes, but I won't be able to speed it up because it's the Arma JS API that's slow. What I can do is reveal it when scrolling.
is there no way to preload or cache the images/data?
We have a weapon shop which is probably just as slow but it's not JS- it's a standard controls group where we ctrlCreate. Maybe possible it's not the API but the retrieval of the images or the way the controls are being created like kju mentioned.
Never looked into why it is slow for us since it is still fast enough users don't really notice and it didn't matter but we reference the paa, name and other attributes of the weapon or magazine from the config. Would definitely be faster if we cached that data in a hashmap. Can't imagine config commands are that slow but maybe they are?
to run code fast, run it in unscheduled
Probably our larger cause now that you say it. We do that for the actual purchasing so people can spam click an item they wanna buy as fast as they want, but don't think we do it at all when creating the controls iirc.
You can implement timeouts within js to prevent that. I.e buy button disabled for a second, then re-enabled
There's also A3API.SendConfirm where you could set up the buy function to await a promise from the engine. The engine would pass true or false within the event straight back to the UI
There's also some loading approaches that can hide the content until all images have been loaded
In the video, the slowness issue is caused by the number of configurations retrieved in sqf from the engine, and each “editorPreview” must be loaded in base64 with the JS API. The solution involves two things: if the order is not important, then do not execute the texture request asynchronously, so as not to block the process; if it is important, then create a queue pool, ask the backend (.sqf) to render a certain number of textures, then preload them (e.g., the next 15) once the user scrolls down (e.g., 10). we request to preload 15 more, while using loading indicators and skeleton effects.
That's what we generally do on the web dev.
To facilitate detection, I think it is possible to use an API in browsers (to be tested) called “IntersectionObserver.” See the link for more explanation: https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
By the way, if you need to work with multiple files, I've developed a mini loader for “js” and “css” files (here's the code )
<script type="module">
// Here you can add paths from your project root to import your files.
const loads = {
css: [
"gui/css/style.css",
],
js: [
"gui/js/main.js",
"gui/libs/tailwindcss.js",
]
}
// I minified the loader to make it as compact as possible, but basically what it does is retrieve the content of each file and transform it into a URL object, then it adds a “script” or “link” tag depending on whether it's CSS or JS.
let f,a,b,d,g,i,m,s,l;for (f of[...loads.js,...loads.css]){a=await A3API.RequestFile(f.replaceAll('/', '\\'));b=(c)=>document.createElement(c);d=(e)=>URL.createObjectURL(e);g=(h)=> new Blob(h);i=(j,k)=>document[j].appendChild(k);m=(n)=>({type:n});if(f.endsWith('.js')){s=b('script');s.src=d(g([a],m('application/javascript')));i('body',s);}else{l=b('link');l.rel="stylesheet";l.href=d(g([a],m('text/css')));i('head',l);}};document.body.style.display="flex"
</script>
Important to add to the body:
<body style="display: none;">
</body>
(which allows you to wait for the files to load before displaying the content)
Right now, I'm trying to see if I can integrate Vue.js into CT_WEBBROWSER.
That would be awesome, that's my go-to web framework, lol
I think it's possible with a custom post-compiler thanks to the power of vite.

Please post a repo once you're finished if you don't mind- know some peeps who would love it 🙏
I'll try to refine it because it's very rough and make variations for React/Svelte.
Vuejs in arma 3 🫢
Very nice
no
If you set up a occluder wrongly, you can tell that they work. Because players will become invisible and be floating vests/backpacks.
They do properly occlude things as they should
Needs search by name 😄
What part of it is slow?
Loading images? you can fire a hundred requests at once and they will load in parallel?
Getting the vehicle list into it? Just send them ALL at once in a big JSON blob?
Not for this no. The game caches it, but it still needs to convert to webp and send to browser. The browser itself cannot cache it because its completely gone
P3d filenames please?
@full sonnet Look at the rest of the message, I'm trying to explain the problem and the solutions.
Yeah I read that but I don't understand what the bottleneck actually is
the texture load requests take to long to be answered?
The engine will do the loads in a separate texture loading thread, which should manage to do about half a dozen per frame at least.
The webp conversion then is multithreaded, and a dozen per frame should be no problem at all.
Your video looks like less than 1 per frame.
It's not instantaneous; I would need to run a benchmark, but when you have to load 500 editorPreviews, it takes a little time.
a3\Rocks_F_Exp\Cliff\Cliff_wall_round_F.p3d
a3\Rocks_F_Exp\Cliff\Cliff_wall_tall_F.p3d```
Yeah a "little" as in should be very little
Maybe I can use your sample as a benchmark to see where the slowness is?
i noticed that even planes flying over those rocks will cause fps drop. guess there is some collision check even if the plane is flying hundreds of meters above it?
I would have liked to give it to you, but I deleted it. I'm focused on properly integrating Vue.js.
With a “vite.js” plugin
Yeah I think that is the only time I really notice them, when something is going wrong. (Which makes sense) xD
Overall seems like something that is only useful on things without an interior.
Can we get support for allowedHTMLLoadExtensions[] https://community.bistudio.com/wiki/Arma_3:_Server_Config_File
inside of CfgCommands https://community.bistudio.com/wiki/Description.ext#CfgCommands
or can that not happen?
i think that wont happen on purpose
Is there a reason it can happen on the server but not in main menu?
i mean you can whitelist domains in the main menu
or was that only full domains
not sure
but i think the point is that there probably is a idea of security behind
yeah, but thats not enough for me. My issue is me and a few of my friends have the ts3server:// protocol broken, it just does nothing, so Im looking for an alternative. I made a url redirect currently, but that leaves an open browser window. I was thinking if I can whitelist my custom ts3connect protocol, I could give it a default app instead of browser and it would not leave a open browser window.
only https protocol
- ts3server in profiling or already live
instead of having arma introduce maybe potential security issues. have them reinstall their windows/fix those issues locally
or you can always in theory build a extension that does something
I tried fixing it, but nothing worked. Im def not reinstalling whole windows just to fix it
well then i expect they need to live with that issue
:/
ts3server was only recently added to profiling branch.
You cannot whitelist any protocols anyway.
in-server does allowedHTMLLoadExtensions not allow to whitelist custom protocols?
Correct.
so its limited to the same protocols you have outside of server, but on the server you can just pick and choose which ones you want/dont want?
or is the limitation diffrent
There is an Arma'd SGR event and icon (a3_armad).
We have two SGR events.
One is the Arma'd Achievement, which will also show up in the timeline.
Second is PhysXHighMomentumCollision which happens, probably just before you get Arma'd. But it also requires the angular velocity of tumbling around.
A "This not-supposed-to-be-flying vehicle is flying" event might sound sensible. But I don't know how we'd check for that besides checking altitude every frame. And I don't want to do that.
Note you can add any event markers you want yourself too.
So I guess, PR's welcome (to your own mod or any other mod you'd want to put this into)
suppose it could work if isTouchingGround had an event when it goes true/false (after which you could just track the duration), but that feels like a lot of work for this (although i suppose such an event might be useful for other things)
touching ground flag is flipped back and forth every simulation.
I can add "is it actually different from last frame" checks in ~36 locations.. I won't do that.
Fair
Every frame is unnecessary
Once a second sounds reasonable
Guess could PR it into CBA 
It adds ads anyway, cheeky funny feature could be nice
Hi dev community, I'm coming back to you regarding the project to integrate vuejs into Arma 3. Do you think it would be cool to create a mod to facilitate the use of vuejs in Arma, with already integrated functions such as managing the opening of the GUI/overlay, facilitating initial props, and data/action event exchanges?
and create a version with only the script to integrate into your mission yourself, like TheProgrammer.
What do you think about this?
(By the way, if you have any information about the development, I have created a thread on the channel) #1460082787754311802
what is the point of this post, do you announce that you are working on it?
Look, I'm already working on it and I've already had some great results. What I'm asking is what kind of integration would be most practical for you, so that I can focus on integrating it for the public as quickly as possible.
I was able to try Vue Router, Pinia, TailwindCSS, Daysi UI, and Shadcn Vue for external packages.
I have the initia props data to insert data before loading so that in App.vue we have the data sent from the sqf.
App.vue :
<script setup lang="ts">
defineProps<{
msg: string
}>()
</script>
<template>
<h1>Hello App!</h1>
<p>{{ msg }}</p>
<p><strong>Current route path:</strong> {{ $route.fullPath }}</p>
<img src="./assets/img.jpg?inline" />
<nav>
<RouterLink to="/">Go to Home</RouterLink> | test
<RouterLink to="/about">Go to About</RouterLink>
</nav>
<main>
<RouterView />
</main>
</template>
<style scoped>
</style>
the props: msg, is injected from the sqf file that opens the vuejs app
I have already created the vite.js plugin for developing the vuejs application for arma.
vite.config.ts :
export default defineConfig({
plugins: [
vue(),
tailwindcss(),
arma3vue('C:/Users/zac/Documents/Arma 3 - Other Profiles/Paul%20Panzani/missions/TestHTMLGUI.VR/gui/vuejs', 'gui/vuejs')
]
})
I would also like to create a library, vuejs with component integration interacting directly with SQF files, to facilitate texture retrieval, type the Arma 3 API JS, and other utility components.
I would just like the community's opinion on how best to respond to the need.
player addAction ["Vehicle Spawner", {
private _props = createHashMap;
_props set ['msg', 'John Doe'];
["gui/vuejs", _props] call fnc_A3VUE_open;
}];
thanks, "son", the original message wasn't clear about if you were asking for someone to do it, announced you were starting it or something else. that's clarified
Sorry about the “son,” there's an ‘o’ missing for “soon.”
ah 😄 that makes it better 😁 cheers
I'm really sorry.
it's cool, it's cool
Every new mod is cool. So.. of course? I don't even understand the point of asking that 😄
Of course a configurable mod to do something would be nice to have.
Its very hard to get people to tell you what they need without already having plans on building something, in which case they probably already started building it using something else.
I'd say provide a framework. Let people put in their own components (you deal with loading them from the files), and the API for communicating with the game.
That is the obvious stuff thats needed anyway, and I can't think of what else you would do
Frameworks are always welcome. Pythia is a great example on how to make something like python accessible in sqf.
"Sorry, Babe, our wedding photo has to go"
What's he still doing here? I thought he was being shut down. 😛
He is going to get shut down soon when his wife sees that she got replaced by a random dog from the internet.
Trueee.
Man, this is awesome! How did you do it? Does Arma 3 expose any relevant APIs for this? Is it possible to display web pages directly with an embedding Chrome-based engine?
Yes, you can integrate directly with a Chrome engine. There is a page in the documentation that will help you use this. I used this documentation as a starting point to create the Vue.js integration with what is already offered in the documentation.
Yes, of course, when I talk about a mod, it's to find out if it's going to be disruptive for servers that want to be vanilla only. That's why I'm asking what it would be like to see the best solution, because I could initially focus on a single approach.
And when I talk about component libraries, I'm using language incorrectly. What I mean is that natively, Vue.js with its composables cannot support integration with Arma. For this to work correctly, I have to create custom composables, for example for exchanging data from “props.” That's why, for everything to work together, I have to create a composable library that can be used in Vue, Arma.
I had no idea this feature existed. I took a quick look, so is it possible to, for example, display an actual web page on an in‑game computer and interact with it, or is it limited to just browsing a web page in a single game window?
I tried to display the Arma 3 page as described in the documentation, but it doesn't work. In my RPT, it asks me and tells me that the URL is not an absolute path, so I need to see if this can be done or if I just did it wrong, but in theory, yes.
I’m not sure if I understand correctly, but you’re trying to create something that allows real-time interaction between Arma 3 in-game data and a web page developed with Vue.js? For example, like a website to purchase equipment?
Someone created something emulating a windows desktop computer with it with clicking on icons, etc.. Can't find the video, sadly.
Also, @teal elk did this: #dev_rc_branch message
yes, exactly
So there's really a lot you can do. Even things that don't look like webpages at all
When you say “buy,” you're talking about playing games with RP money.
But how would real-time interaction work? I mean, SQF can access in-game data, but it can’t access files. How would you transfer the data obtained from SQF to a web page?
With ExecJS, using HTML, CSS, and JS, it's simple, but with VueJS, it's a different story.
😂
_control ctrlWebBrowserAction [
"ExecJS",
format ["const eSpan = document.createElement('span'); eSpan.textContent = 'Script says %1!'; document.body.appendChild(eSpan);", _message]
];
with vuejs
_control ctrlWebBrowserAction [
"ExecJS",
format ["j(%1)", toJSON (_props)]
];
x')
but
Sending data is easy, but to receive it, I had to create the vite.js plugin, which injects a file loader. To share props, I use injection in the Vue.js compiler code, and now I'm working on retrieving props when loading a component/route in real time.
