#arma3_feedback_tracker

1 messages · Page 22 of 1

ripe crystal
#

I was able to consistently reproduce with the method I did here #arma3_feedback_tracker message with two clients and a dedicated server although it's scope is definitely far out of just parachutes. No idea what causes it either but has been giving us issues for a while

untold sky
#

Now question.
Single string, or array.
If array, then when any are present, or when all are present.

I'm thinking array and when any present then skip.

with a list of addons that should block loading this one.
Sounds like you mean that?

daring wagon
#

For my personal very specific usecase I just need a string.

#

I don't know about @regal nimbus though

#

I'm thinking array and when any present then skip.
Yeah I think that makes the most sense

untold sky
#

Yeah I think any is better.

Then you can put 3 configs into your mod.

Config1:
skip = ["A", "B"]; // This only loads when C is there, but A/B aren't
Config1:
skip = ["A", "C"]; // This only loads when B is there, but A/C aren't
Config1:
skip = ["B", "C"]; // This only loads when A is there, but B/C aren't

#

Or I just name it literally skipWhenAnyAddonPresent to be clear.

alpine tulip
#

pleaseMakeSureYouLoadThisAddonAfterThisIfYouDontMind[] = {"yourAwesomeModThatisBrokenSoICanPatchIt"};

daring wagon
#

Perfect.

#

The propertyname is the documentation in itself

untold sky
#

Is it annoying that all skipped addons are logged in RPT? 🤔
I do like knowing that it works though, but its a bit spammy if lots of addons use it

alpine tulip
#

Prints only if -debug?

daring wagon
#

Players don't look at rpt and modders will probably not have hundreds of mods that use that

vocal abyss
untold sky
#

People didn't ask for a skipAll so I won't bother

surreal bough
#

does it make sense to create a ticket that "switchCamera" does not work if 3rd view is disabled on the server?

untold sky
#

Probably yes. It should still work for switching you into for example gunner camera in vehicle

mortal tendon
regal nimbus
onyx mica
#

Vanilla Arma 3 Bohemia Escape mission on Stratis error on Missionstart

#

happens when i host the server in LAN and start the mission

unborn acorn
untold sky
untold sky
#

@unborn acorn
Can you make me a FT ticket for the samples[]+= you are doing? its missing engine support

gray wharf
#

Dedmen will fix the data and not the bug 😋

surreal bough
surreal bough
#

you can also put a machine gun in a uniform, etc.

regal nimbus
#

this is fine

unborn acorn
gray wharf
#

ticket:

ARMA 3 won't launch if loaded with more than 478 mod folders

oh no

surreal bough
# regal nimbus this is fine

I don't like... I have written scripts for myself that neutralize this... I think the array can also be rechecked in the game for the capacity of an item. I still think it's a flaw, especially since it's possible to do it even with scripts.

#

this is a permitted internal cheat, if you're hoping that the weight will balance it out, then it won't - there are many ways to get around it in the game, or not all items (or rather, their quantity) can create a large weight, but it can still provide an advantage.

devout wave
#

Frankly I think there should be more ways to bypass the limits with scripts (e.g. parameter for addItem commands to ignore limits). It can be a useful trick to have available for missionmaking.
If someone has unrestricted access to run loadout commands on themselves without any validation, you already have a massive flaw in your design anyway and "fixing" setUnitLoadout won't change that.

vital junco
#

AH-99 (Stub Wings) Gunner seat left pylon display is not showing the external pylons box like the front seat does. Anyone else able to reproduce? Vanilla.

unborn acorn
nimble veldt
#

Found it. In my mission happened because I accidentally forgot to provide module settings in one of sub-missions.
Steps to reproduce:

_hlprsGroup = group (missionNamespace getvariable ["BIS_functions_mainscope",objnull]); 
private _helper = _hlprsGroup createUnit ["ModuleHideTerrainObjects_F",(ASLToAGL (getPosASL player)),[],0,"CAN_COLLIDE"]; 
_helper setVariable ["BIS_fnc_initModules_disableAutoActivation",true]; 
_helper setvariable ["BIS_fnc_initModules_activate",true]
void lava
#

BIS_fnc_gridToPos Errors in 3den but when loaded in to singleplayer, it works. The Biki notes: "Does not work on machines with no UI like Dedicated Server or Headless Client - see hasInterface." So is that likely the culprit? I do have a really clunky workaround made for it already but if this COULD work on the server it would save a lot of extra junk

#

Reason for posting it in here is I'm not sure if this needs a feedback tracker ticket or if its working as intended

regal nimbus
#

Well, they'd need to rewrite the function to not use ctrlMapScale.

#

I would guess you can get the required info from CfgWorlds instead, but it'll be a pain.

void lava
#

My workaround is starting from 0,0 (the bottom left) and making an array of arrays... every 50 meters for worldSize rounded down to the nearest 100m. It's a little nightmarish lmao

regal nimbus
#

holy shit

void lava
#

pleading just give me bis_fnc_gridtopos and nobody's scheduler will get hurt

daring wagon
#

@void lava Why don't you copy the function and fix it?

void lava
daring wagon
#

It's just that the map control is hardcoded

void lava
#

Maybe this was written before worldSize was a thing? Just kinda guessing here

daring wagon
#
_idd = [12, 313] select is3DEN;
surreal bough
#

I found an error with setUnitLoadout... If a player removes a magazine from a slot rifle, creates a clone of the player and gives him the player's equipment, then the clone rifle will have a magazine. That is, the equipment of the player and the clone will not be the same.
https://youtu.be/d9XJJtxCUrk

(primaryWeaponMagazine player) apply {player removePrimaryWeaponItem _x}; 
_center = group player createUnit [typeof player, position player, [], 0, "NONE"];
_center setUnitLoadout getUnitLoadout player;
systemchat str ["compare", getUnitLoadout player isEqualTo getUnitLoadout _center];
[(getunitloadout _center) select 0, (getunitloadout player) select 0]
surreal bough
#

the same problem with a backpack: if you put a primary weapon magazine in it, then when transferring equipment to a clone, there will be no magazine in the backpack.

_center = group player createUnit [typeof player, position player, [], 0, "NONE"];
_center setUnitLoadout getUnitLoadout player;
systemchat str ["compare", getUnitLoadout player isEqualTo getUnitLoadout _center]; 
// [["ace_gunbag",[]],["ace_gunbag",[["UK3CB_Uzi_32Rnd_Magazine",1,32]]]] -- false
[(getunitloadout _center) select 5, (getunitloadout player) select 5]  
surreal bough
#

there is probably an in-game logic that if an AI adds a weapon, it searches for a store for weapons in the equipment and is automatically deleted there and added to the weapon - it probably makes sense... But why does it work the same way with agents? Agents, it seems to me, should be able to completely copy the player.

regal nimbus
#

Yeah, it's documented behaviour for addWeapon. Once upon a time it was the only way to get a magazine into a weapon, IIRC.

#

I guess setUnitLoadout is just using those same routines internally.

#

If you want a guy to have an unloaded weapon then you'd need to add the weapon first and then the magazine.

surreal bough
# regal nimbus If you want a guy to have an unloaded weapon then you'd need to add the weapon f...

I did it a little differently... I'm simulating the presence of a magazine in the weapon so that the game doesn't try to add it to the weapon from the backpack.

_prim = primaryweapon _unit;
_item = primaryWeaponItems _unit; 
_mag = primaryWeaponMagazine _unit;
_muz = getarray (configFile >> "CfgWeapons"  >> _prim >> "Muzzles");
_unit removeWeapon _prim;
if (count _muz > 1) then 
{
    _mg = getarray (configFile >> "CfgWeapons"  >> _prim >> _muz select 1 >> "magazines");
    _unit addmagazine (_mg select 0);
};
_unit addmagazine selectrandom (compatibleMagazines _prim);
_unit addweapon _prim;
code {...};
(primaryWeaponMagazine _unit) apply {_unit removePrimaryWeaponItem _x};
_mag apply {_unit addPrimaryWeaponItem _x};
_item apply {_unit addPrimaryWeaponItem _x};
untold sky
#

Sir don't spoil the surprise

verbal harness
#

Issue can be fixed by updating prof again btw ^^

dusky tendon
#

Don`t reveal in prof branch next time ;3

fallen elk
vocal abyss
#

The minus operator already implements that 🙂

dusky tendon
#

Why 4 in array?

alpine tulip
dusky tendon
alpine tulip
#

Yes

deep plaza
ripe crystal
#

Not sure if anyone else has reported it but we've been seeing a small influx of players microphones not working in-game. It will show that VOIP is active but you can't hear anything. Was able to reproduce myself once accidentally but no idea how. Kinda crappy and unhelpful, but wanted to report in the event I am not able to figure out any more details

modest sonnet
#

Is there anything that can be done about the making the greyed out "OK" button in the lobby when battleye fails something more explanatory?
The current design is super hostile and we constantly have people wondering what the hell is going on

#

Ideally the battleye issue itself would be able to be fixed but I'll take what I can get

deep plaza
#

I just noticed that the rain sound effects are completely turned off during thunderstorms. Is this intentional? It doesn’t sound right.

desert trench
#

We are running a Domination server with SPE (stable branch) with persistent setting - normally no issues, yet now "connection failed"
Looking into it, turns out the rpt is 900 MB huge, and with almost 13 mio entries of

15:39:15 BEServer::finishDestroyPlayer(732109127): users.get failed
15:39:15 BEServer::finishDestroyPlayer(732109127): users.get failed
15:39:15 BEServer::finishDestroyPlayer(732109127): users.get failed

#

only the timestamp different

#

is this not a bug for this to get spammed again and again?

#

The discord search turns up couple other people with that issue [from what i understand]

#

[can provide full rpt if useful - ~1 MB when zipped]

desert trench
#

12:44:43 Bad conversion: scalar
on the server with -debug should give code context, right?

regal nimbus
#

According to Dedmen it's supposed to. But IIRC the last time I ran into one of these it didn't give context and I got lucky with a secondary error.

turbid terrace
#

Is it normal that the sun disappears after overcast 0.86?

turbid terrace
#

Solution:
"Stratis" >> "Weather" >> "Overcast" >> "Weather5"
and
"Stratis" >> "Weather" >> "Overcast" >> "Weather6"
can't have through = 0;
through = 0.1; does the trick

gray wharf
turbid terrace
#

fun fact: it affects the moon aswell.

#

the stars are gone aswell, but sooner, 0.66. No solution for this one.

#

could it be skyR = "A3\Map_Stratis\Data\sky_cloudy_lco.paa";? Edit: It's not 🙁

deep plaza
#

Could we get this?
https://feedback.bistudio.com/T188531
If yes then we could just change these values of the existing lightreflector objects in the vanilla game and the update frequency of these objects are also high which means less jumpy when attached in mp

gray wharf
#

just to confirm, onBriefingGear, onBriefingGroup, onBriefingNotes, onBriefingPlan, onBriefingTeamSwitch are non-functional in A3, correct?

gray wharf
#

also question about night time… could something be done about colour banding or is that a dead fight?

daring wagon
#

Uh I think I made a ticket about that 10 years agonotlikemeow

gray wharf
#

I was watching this video https://www.youtube.com/watch?v=au9pce-xg5s and it came back to mind 😄

Play War Thunder now with my links, and get a massive, free bonus pack including vehicles, boosters and more on PC and consoles! PC: https://playwt.link/acerola | Mobile: https://wtm.game/acerola #ad

Silksong is finally here and with it numerous new areas to explore filled with beautiful hand painted art. How does a game like this actually work...

▶ Play video
regal nimbus
#

There's clearly something wrong with the night lighting but I don't remember anyone being interested in fixing it, so not really a fight.

#

I dunno about banding. If there's no moon then most of the pixels just come out at 0,0,0 RGB.

cyan basin
#

how real word accurate is the day/night lighting in arma 3?

#

sorry for the weird wording

dusky tendon
#

getEventHandlerInfo no work for 3denEventHandlers blobdoggoshruggoogly
This is extremely unfortunate. nootlikethis

gray wharf
#

added a clarification… for clarity!

solid marten
#

My left Ctrl cracked from fixing all your bugs!

dusky tendon
lunar star
#

Now that drawicon3d got a bunch of new thingies, would it be possible to also add sidearrow texture param, so that using custom side arrows would be possible?
https://feedback.bistudio.com/T181489

solid marten
#

what you have in mind? the texture for arrow is preloaded

lunar star
#

Was just reminded about this ticket when I saw the latest dev changelog.
IIRC my use case when I made that ticket was a thing where I wanted to have sidearrows match the stylized custom icons and/or have different type of icons have different arrows (for some reason). Of course if it gets too convoluted one can live without it.

solid marten
#

The base is there shouldn't be too difficult

#

but for alt syntax only

solid marten
#

@lunar star Well it works, but but but...
Currently the arrow texture is stretched over the icon texture carcass then rotated depending on the screen side. If icon is not square the arrow stretched and squashed accordingly. I think this should be addressed so that arrow is always square. I will probably modify that, but the fact that arrow is proportional to the icon that should stay. The question is, should it be == width of the icon or == height or (width + height) /2?

young lark
#

Hello, could we maybe get this issue fixed? I think it's mostly impacting servers where the tanks are used to kill a lot of infantry, but when it happens it's very annoying.

https://feedback.bistudio.com/T169063

The thing is, when commander finishes all of his ammo (I think it works other way too, just not tested), then he constantly tries to reload gunners coaxial (or maybe all?) weapons, and so even if you switch in-person to gunner, you can only fire couple of shots before commander is reloading your weapon.

lunar star
solid marten
gray wharf
#

oh wait, I thought it was about private _cfgTopic = [_mission, _topicName] call BIS_fnc_kbTopicConfig;
this makes it impossible to use a description.ext version of it 🙃

solid marten
#

yeah I got that, asking about second part

gray wharf
#

regarding ACRE2, that I don't know, never used it

sleek scaffold
# gray wharf regarding ACRE2, that I don't know, never used it

I wonder, after all the latest additions and improvements to vanilla's voice chat capabilities (Refactoring custom chat channel code, setCurrentChannel enhancements, Increased Radio Channels), how close are we to being able to have a purely vanilla alternative for both ACRE and TFAR?
Setting those up continues to be (specially for new players) a major pain point/headache or for players playing on other Operating Systems

sleek scaffold
scarlet sage
solid marten
#

Tac Cattical

solid marten
gray wharf
#

vector images wen? :-p

dusky tendon
#

I wonder if anyone knows how old the bug is with the player's camera getting detached from the player when they were in ragdoll mode?

player addforce [[0,0,-10000],[0,0,0],false]

I was just messing around with the character's body, hitting this command so many times that the body actually fell under the map and then returned to the ground. But this can happen even regardless of the body's range and speed. This is the easiest way to create this bug.

#

This only happens if the player reenters the ragdoll state. The camera only returns when the player exits the ragdoll state.

daring wagon
gray wharf
daring wagon
#

RV

solid marten
surreal bough
#
18:07:07 BEServer: cannot find channel #107755307, users.card=4
18:07:12 BEServer: cannot find channel #107755307, users.card=4
18:07:17 BEServer: cannot find channel #107755307, users.card=4
18:07:22 BEServer: cannot find channel #107755307, users.card=4
18:07:27 BEServer: cannot find channel #107755307, users.card=4
18:07:32 BEServer: cannot find channel #107755307, users.card=4
18:07:35 BEServer::finishDestroyPlayer(107755307): users.get failed
18:07:40 PlayerConnect: (1) Create Dimon UA, id 173350492
18:07:40 PlayerConnect: (2) Create done Dimon UA, id 173350492
18:07:41 PlayerConnect: (3) Login Dimon UA, id 173350492
18:07:41 PlayerConnect: (4) Squad check queued (No Squad) Dimon UA, id 173350492
18:07:41 PlayerConnect: (4.3) Squad custom files Dimon UA, id 173350492
18:07:41 PlayerConnect: (4.4) Script Dimon UA, id 173350492
18:07:41 PlayerConnect: (4.5) Done Dimon UA, id 173350492
18:07:42 BEServer: cannot find channel #173350492, users.card=4
18:07:43 PlayerConnect: (5) Squad Check complete Dimon UA, id 173350492
18:07:47 BEServer: cannot find channel #173350492, users.card=4
18:07:52 BEServer: cannot find channel #173350492, users.card=4
```What's going on? I can't join the server.
unborn acorn
#
(cfgVehicles)
        class Attributes
        {
            class CreateLightMuzzleFlash
            {
                property="CreateLightMuzzleFlash";
                control="Checkbox";
                displayName="$STR_3DEN_Object_Attribute_AllowDamage_displayName";
                tooltip="$STR_3DEN_Object_Attribute_AllowDamage_tooltip";
                expression="if (_value isEqualTo true) then {[_this, 'FiredLightMed'] call expEden_fnc_createMuzzleFlashLight};";
                defaultValue=1;
            };
        };

default value is true, but after I place object (and start mission) functions do not exec until I reenable checkbox. So to make it work I need: spawn object, open attributes, disable checkbox, press OK, open attributes, enable checkbox, OK → then script works
It doesn't seem like it should work this way, should execute the script by default, is it?

daring wagon
#

Placing an object will not add the attribute code to the missions sqm and therefore will never execute it.

unborn acorn
#

mad thanks

unborn acorn
#

Should this model appear on jets when they break the sound barrier? path is \a3\data_f_jets\particleeffects\shockcone.p3d seems that it is not used or does not work. Sonic boom sound works ok so what about vapor cone frogthinking

ripe crystal
#

Relevant discussion can be found in #arma3_scripting message but createHashmap can be compileFinal on the profileNamespace meowsweats

sinful kettle
#

I noticed that when I do createSimpleObject with this model the game crashes: "\a3\data_f\proxies\heli_transport_01\gunner.p3d" (it's a gunner proxy)
I got this crash when using an automation script and I've been using it since a long time ago, so unless the model has changed, this could be a regression
edit: Solved. it's because of -debug

#

actually it seems to happen with all proxy seats

unborn acorn
#

https://feedback.bistudio.com/T195978

  • Asian camouflaged faces added to the list of Greek faces
  • CSAT (Pacific) sniper uses common Asian faces, although his type counterparts in other factions used only camouflaged faces
solid marten
deep plaza
#

just tried it, it has the same behaviour

ember tulip
deep plaza
#

@solid marten
would it be possible to add option to change the color for the setLightVolumeShape command?

surreal bough
solid marten
alpine tulip
#

AFAIK setLightVolumeShape will not adjust the p3d colors "accordingly"

solid marten
solid marten
alpine tulip
#

Thought that was intentional/how it should work. Will make a snippet maybe later today

untold sky
untold sky
untold sky
deep plaza
# solid marten Can I has?
0 spawn
{
    waitUntil {!isNull player && time > 0};

    setDate [2035,11,20,0,0];

    private _floodLight = "Land_FloodLight_F" createVehicle [0,0,0];
    _floodLight setPosATL (player modelToWorld [-0.5,10,5]);
    _floodLight enableSimulation false;
    [_floodLight, 0, 90] call BIS_fnc_setPitchBank;

    private _light = "#lightreflector" createVehicleLocal [0,0,0];
    _light setPosATL (_floodLight modelToWorld [0,0,0]);
    _light setLightIntensity 2000;
    _light setLightColor [1,0,1];
    _light setLightAmbient [1,0,1];
    _light setLightConePars [90,45,5];
    _light setLightAttenuation [2,4,4,0,9,10];
    _light setLightUseFlare true;
    _light setLightFlareSize 1;
    _light setLightFlareMaxDistance 50;
    _light setLightVolumeShape ["a3\data_f\VolumeLightFlashlight.p3d", [2, 1, 2]];
    [_light, -90, 0] call BIS_fnc_setPitchBank;
};
solid marten
#

Asking because there are like 3 colours for the shape

deep plaza
#

yes the LightVolumeShape does not match the color set by setLightColor and it would be nice if we could change that too just like setLightColor

solid marten
alpine tulip
#

Geez I totally forgot what I said. Cheers

tulip loom
#

I need your help. I'm working on the Visible Laser script, and I've gotten to the point where it works perfectly, even on official servers, without any errors. It works flawlessly. The only problem, and this is something I'm stuck on, is that the script works perfectly from day to night. The laser is always visible, and you can change the colors. Everything is fine. The only module giving me trouble is the time-skip module in Zeus. It doesn't matter whether you adjust the time manually using the EZM module or the vanilla time-skip module. If you change a time period, the laser disappears and can't be recovered. It's simply gone. There's no problem if time is sped up, like with the vanilla time-speed module. There's no problem if you activate it at night, during the day, or if time is running normally. The only problem is that if you change the time period to a specified value, my entire laser code (as far as the laser is concerned) disappears, and I can't proceed. It can't be re-enabled afterward, NOT even if the script is completely deactivated and reactivated. I don't know why it does this. BUT if I go to "EZM delite Clutter" and then "EZM delite bodies," the laser only reappears after re-enabling the script. Otherwise, the laser strangely disappears from the game. I don't know why. It's driving me CRAZY.

#

The biggest problem is the ModuleSkiptime_F

#

The laser after timeskip disappearing in his colours and sometime completly

#

Its a error with the engine or the module?

tulip loom
dusky tendon
#

I was testing the ability to make a hand attack by throwing a grenade, but while I was testing it, an interesting bug occurred.
I haven't seen T poses for a long time.
IT MAY NOT HAPPEN THE FIRST TIME
Need hold mouse in moment throw animation and wait bug

code 😄

onEachFrame {
_arrayMoves=["AwopPercMstpSgthWnonDnon_start",
"AwopPercMstpSgthWnonDnon_throw",
"AwopPercMstpSgthWnonDnon_end"] apply {tolower _x};
 
if (inputMouse 0 == 2 && 
!(player getvariable ["AttackHand",false]) && 
currentweapon player == "" && !(animationstate player in _arrayMoves)) then {
player setVariable ["AttackHand",true];
systemchat format ["Атакует %1",time];
player switchmove ["AmovPercMstpSnonWnonDnon",0,0,false];
player playmovenow "AwopPercMstpSgthWnonDnon_start";
};
if (player getvariable ["AttackHand",false] && animationstate player in _arrayMoves ) then {

} else {
player setVariable ["AttackHand",false]; 
};
 
};
deep plaza
dreamy bane
#

post code?

devout wave
# dreamy bane post code?

They did, it's the attachment right below that message. (I didn't read it and I'm not going to help)

dreamy bane
#

ah sorry

#

yeah lot of code there...

#

you could debug "Draw3D" to see if that code always runs

tulip loom
#

It's really unbelievably frustrating to the point you could just bite into it out of anger, because nothing in the code, after careful checking, indicates an error—or I just don't understand it.

tulip loom
tulip loom
tulip loom
# tulip loom https://pastebin.com/jbUsnFhE

⚠️ (A small note: it's a composition script. You insert the code into an invisible helipad, save it as a composition, and place it on the ground as Zeus to enable it. Keybind for the Player menu: left ALT + C)

tulip loom
gray wharf
#

Yeah well cool down with this issue, you made a ticket, no need to spam all related channels - now wait

dusky tendon
#

It turns out that the curator can accumulate garbage in the form of null objects. And they can't be cleared using remove.
Noticed after activating the Play Music module.
I checked how many empty objects I had in my curator a long time ago, and one time there were a lot of them...

tulip loom
#

Or something else?

dusky tendon
solid marten
dreamy bane
#

do you guys need repro for dedi mission dublicating the playable units at start of the mission? XD or is it known bug?

dreamy bane
#

hmm cant repro it now, weird. it had something to do with respawning and maybe revive

untold sky
untold sky
untold sky
ripe crystal
untold sky
untold sky
ripe crystal
# untold sky I would expect it to be prevented some way. But I cannot find any code doing so

Haha also interesting. I was definitely pikachusurprised to see that's why my loadouts weren't working lol. I imagine probably something new not many people know about or would ever intend to do- so don't feel like you have to make this a super large priority. I imagine you guys are all always dealing with way bigger and more important things. Thanks for the responses and have a good rest of your morning (or afternoon) 🙂

untold sky
gray wharf
#

so it now can

#

I will fix that

untold sky
#

I had concerns about final variables back in 2020. But my main concern was filling namespace with garbage. Which you can also do with non-final variables. And the filling with garbage and final'ed variables has been a thing for a long time before too..

untold sky
gray wharf
untold sky
#

The loading was broken and fixed.
Not the saving, that wasn't touched.

gray wharf
#

so even the changelog was bugged 😂

untold sky
#

Ah :U I guess

gray wharf
#

huehuehue

untold sky
#

My original changelog was "Inability to deserialize CODE variables from profileNamespace"

gray wharf
#

better then

#

(beside the missing closing parenthesis)

untold sky
#

compileFinal does not load variables

#

Also the bug had no relation with final or not. It was about code, not final-ed code

gray wharf
#

…I'll remove the note then

untold sky
#

We should do something about it someday. But not yet.

We would probably iterate over all variables after loading profile namespace, and un-final all of them

ripe crystal
tulip loom
# untold sky > The code (drawline3d) Why is your laser drawLine3D when we have drawLaser?

Why? 1. Performance. 2. I chose my variable for the main reason that it's IMPOSSIBLE to permanently attach this "drawLaser" to anything! Attaching it doesn't work, and there's no other way to bind it 100% securely, rendering it completely unusable if you want to use it as intended. It's created per frame and constantly moves behind the player in frames, meaning that if the player moves quickly, the entire laser is shifted. Draw Laser is COMPLETELY useless!

tulip loom
#

It happens when the time changes and when the date changes, sometimes also when the weather changes, and then it disappears forever and cannot be reproduced.

#

I can show you an example code for drawLaser, as I initially worked with this approach, but it became useless once a player moved quickly.

I will post a pastebin link if i found the Right Version in an edit of this Massage.

gray wharf
tulip loom
tulip loom
#

(since you can't influence the thickness of drawLine3D, only the length, it's a bit small)

tulip loom
#

That is why the Draw Laser is absolutely unsuitable and cannot be used for something it is actually intended for.

pastebincode: https://pastebin.com/9KDwrUp0

It was NOT POSSIBLE to attach this laser FIRMLY to the weapon. Please note that this was one of my very first test versions and, accordingly, the laser attachment has not yet been configured (only the pistol attachment lamp and weapon attachment lamp are in the 'initially' correct position, at least as far as the starting point is concerned).

THAT'S why DrawLine3D was chosen.

tulip loom
gray wharf
#

mp4 instead of mkv

tulip loom
tulip loom
untold sky
untold sky
tulip loom
untold sky
tulip loom
#

wait a sec i convert file

tulip loom
#

for draw laser yes, for draw line no

untold sky
gray wharf
#

you cannot help but show off these lazorzzz, right 😄

untold sky
tulip loom
untold sky
#

Basically everything you tell me is bullshit and easily disproven.
I suggest your check your script for mistakes first.
If you want to report an engine bug then give me a simple repro that proves that its real.

tulip loom
untold sky
#

Well I don't know what's wrong with your game. Clearly alot of things are wrong on your end

tulip loom
lament escarp
untold sky
#

bzbzbzbzzzz boom :3

lament escarp
#

I won't say it is easy, as you have to account for the vectors and the moving proxies as shown by Dedmen above

#

but it is certainly possible and applicable (even with an added offset for where on the weapon the laser should occur)

solid marten
#

insane recoil

agile trail
#

Why is there recoil?

gray wharf
#

I wonder if forcedDifficulty could also be a description.ext option… :3

untold sky
# gray wharf I wonder if `forcedDifficulty` could also be a description.ext option… :3

Complex.
Difficulty is loaded before loading the mission and its description.ext. So that'd be... problematic.
Forced difficulty also overwrites the difficulty selected when people vote for a mission in MP mission selection, again before the actual mission is loaded.
It is also sent in mission selection screen to tell player which is forced before they select a mission.

desert trench
#

wasnt it considered at some point to have a sqf command to change at least some difficulty options mid mission?
with that you could script that [to the extent that sqf command permits]

untold sky
#

You have difficulty overrides in description.ext. that could do most of it probably maybe?

desert trench
untold sky
#

yes

#

I have open task to add the rest to it someday :harold:

surreal bough
#

and what does this tacticsPing do?

verbal harness
#

allow you to tactical ping or not

dusky tendon
ripe crystal
limpid rune
#

did you change the proxies

#

launchers uses a different proxy

dusky tendon
sleek scaffold
dusky tendon
#

Healthy Man Laser

gray wharf
#

blue-pilled laser 😄

sleek scaffold
dreamy bane
surreal bough
# dreamy bane can we please have this? https://feedback.bistudio.com/T183660 its just a single...

as a vector where to follow... Then, when the player is revived, you can check whether the respawn button has been pressed.

onPauseScript[]    = { "ffa_func_OnPauseScript"};
ffa_func_OnPauseScript = {
disableSerialization;
[] spawn { 
    waitUntil { 
        private _disp = findDisplay 49; 
        !isNull _disp && {!isNull (_disp displayCtrl 1010)} 
    }; 
    private _disp = findDisplay 49; 
    private _respawnBtn = _disp displayCtrl 1010; 
    private _eh = _respawnBtn ctrlAddEventHandler ["ButtonClick", { 
        systemChat format ["Player %1 pressed the Respawn button!", name player]; 
        missionNamespace setVariable ["playerPressedRespawn", true]; 
    }]; 
    uiNamespace setVariable ["respawnEH", _eh]; 
}; 

}
dreamy bane
dreamy bane
#

works good, made my own version based on that 👍

dreamy bane
#

problem though is it can detect the respawn button being clicked but not the Ok button (respawn confirm) being clicked

dreamy bane
#

well i fixed it by adding another Buttonclick EH. man these workarounds 😄

dusky tendon
#

When I create a soldier, I see this in the logs. Is there a way to fix this, or is it a problem with the soldier's configuration in the game?

regal nimbus
#

The latter. You could probably "fix" it in config.

dusky tendon
#

Once a vehicle is deleted, the vehicle is not deleted.
Why the hell did the bots get into the vehicles again?


_WaypointDelete setWaypointStatements ["true", 
tostring {if isserver then {deletevehicle vehicle this; {deletevehicle _x}foreach thislist};}
];

I selected the object as a curator and executed the code

curatorSelected params ["_selObjects", "_selGroups", "_selWaypoints", "_selMarkers"];
isObjectHidden (_selObjects#0) // return false
typeof (_selObjects#0) //return  "I_Truck_02_transport_F"
(_selObjects#0)hideObjectGlobal false // no work
netid (_selObjects#0) // return "2:9061" 

I tried to get into the car "that was deleted" and ended up breaking my camera 😄

The car was removed from the game after that. But the bots that were in the car, as well as my characters, are broken, making it impossible to move or look around with them, and they are invisible..

How should this be understood?

regal nimbus
#

Are you sure that's not the cargo group?

dusky tendon
#

The car was deleted. But in reality, the game thought it still existed (not objnull).
That's why it was possible to board it when the bots retained the assignAsCargoIndex. That's why they boarded it again. (In reality, the bots should have disembarked from the passenger seats long ago near the combat zone.)

desert trench
#

Can share the script if useful. That said repro is just to drop one of the said classes and compare config definition vs actual equipment (= none missing).

desert trench
#

looking into discord history, it seems also "fairly" common occurrence

#

any extra logging or anything else to would help?

#

the server is mostly idle with only 1-2 ppl playing every other day, yet randos trying to join without SPE and getting dropped

#

at some point it seems such player drop (or disconnect?) doesnt get handled properly causing unclean state with the resulting rpt spam

#

and the message seems per frame (not per second)

modest sonnet
#

What do you mean by unable to join, grey OK or disconnect with no message?

desert trench
#

Zadra

Domination and Liberation are not responding.

Liberation server - "Downloading data..."
Domination server - "Connecting to server..."

untold sky
untold sky
desert trench
desert trench
regal nimbus
#

Is the issue that it doesn't directly put rockets into launchers? Like it uses the same method you used to do with addMagazine -> addWeapon to get a mag into the launcher.

desert trench
#

dunno if additional logging could help - probably hard to get from the client causing it. so server side logging may not be enough. or if the server state info would help

a stop-gap fix could be to at least stop the rpt message to get logged each frame - like people still seem to be able to join for a while I think (would need to check again). it seems rather the huge rpt log stalls the server eventually

regal nimbus
#

And therefore rockets have to pass through a backpack.

#

But if it has to do it intentionally, it shouldn't spam the logs with it.

dusky tendon
#

#arma3_feedback_tracker message
No mod game
1 screenshot

21:02:39 soldier[I_Soldier_LAT_F]:Some of magazines weren't stored in soldier Vest or Uniform?
21:02:39 soldier[I_Soldier_LAT_F]:Some of magazines weren't stored in soldier Vest or Uniform?
21:02:40 soldier[I_Soldier_AR_F]:Some of magazines weren't stored in soldier Vest or Uniform?

2 screenshot

21:04:21 soldier[I_Soldier_LAT_F]:Some of magazines weren't stored in soldier Vest or Uniform?
21:04:21 soldier[I_Soldier_LAT_F]:Some of magazines weren't stored in soldier Vest or Uniform?
21:04:36 soldier[I_Soldier_AT_F]:Some of magazines weren't stored in soldier Vest or Uniform?
21:04:36 soldier[I_Soldier_AT_F]:Some of magazines weren't stored in soldier Vest or Uniform?

The text appears from launchers, under-barrel grenade launchers, and also from machine guns.
These messages have been appearing for years. And it's unclear why and for what purpose.

#

1297 messages 🤔

desert trench
#

if doable, it should be done at game start, or just once per class - and only if -debug is active

dusky tendon
#

I don't know which channel to write this sentence on, so I'm writing it here.
Is it possible to add a source argument to drawlaser so that the laser doesn't check for collisions with this object? Otherwise, sometimes problems such as collisions with the weapon model occur.

verbal harness
dusky tendon
dusky tendon
#

Using ignoreTarget I wanted to make it so that the plane would attack only planes, but as I noticed, the AI still tries to capture a visible air target in front of it. I haven't noticed this with ground vehicles. As you can see in the video, it locks on and then discards the target. Also, assignedTarget doesn't specify the target the AI ​​locks on at these moments. But the helicopter referenced by assignedTarget still tried to target the plane with missiles.

Perhaps this is a problem with some delay in updating targets, or resetting the target after dowach objnull. When the helicopter exploded due to a collision with other helicopters, the plane completely ignored those remaining helicopters as if they didn't exist (the AI ​​behavior I expected).

//vd= driver vehicle;
{
    if !(_x iskindof "Plane") then {
    vd ignoreTarget _x;
    
    };
}foreach (vd targets [true]);
if !(isnull assignedTarget vd) then {

    if !((assignedTarget vd) iskindof "Plane") then {
    vd doWatch objNull;
    };
};
fast lodge
#

verifySignatures = 3; would be nice to have, which disables the kicking of wrong signatures but still logs it or causes an server event. This way we can easily get rid of the auto kicking for wrong signature mid game and still kick people if they have extra mods enabled.

And yes you can still do this via getLoadedModsInfo & allAddonsInfo but would be good to have it via the server config

surreal bough
#

request for the compatibleWeapons command

tulip loom
tulip loom
# untold sky Well I don't know what your script is doing wrong.. https://gist.github.com/dedm...

So it's been a few days/weeks since the last time I was here to check again if there is a solution to my problem. I tried running the codes via debug and so on, including the ones that were linked, but somehow they don't seem to have the same effect on me as they do on you or something similar. I don't know if I may have made mistakes in the section division, but strangely either nothing happens or an error code occurs.

tulip loom
#

I don't really know why my system reacts differently to the ARMA code than it should. But it's nice and somehow funny to see how many people experimented with these laser things back then.

gray wharf
surreal bough
solid marten
tulip loom
#

GUYS I FOUND IT!!! I FOUND THE PROBLEM!!

tulip loom
# tulip loom

This happens: WHEN you use event handler + eachframe (for drawlaser), both somehow work against each other, and it IS NECESSARY to take all calculations out of the event handler and put them EXCLUSIVELY into eachframe. I didn’t understand this before because it was never communicated anywhere or mentioned in the wiki, but now, after a thousand attempts and documents in Notepad, I’ve recognized the pattern of why it ONLY works this way (regarding Public & Private Zeus Scripting). I hope that now I can set everything else up correctly and finally finish the script. I thank EVERYONE for the help and EVERYONE who dealt with it. This visible laser script has slowly really driven me crazy. As a thank you, when I finish it I will share the script here for you so that you can use it for your own purposes when the time comes. 🫶🏻 👍🏻 💪🏻

Best regards: FINAL 🇲🇪

regal nimbus
#

eachFrame is an event handler?

tulip loom
solid marten
#

Each frame and draw3d are triggered at different times this is why you should use draw3d for drawing

tulip loom
tulip loom
regal nimbus
#

yeah but I was confused by the description of "eachFrame + event handler".

sand marlin
#

Railcar on Tanoa stuck in a bumper

foggy shuttle
#

Would it be possible to get isServer checks in these two scripts?
\A3\Structures_F\Ind\Transmitter_Tower\Scripts\tower_ruins.sqf
\A3\Structures_F\Ind\Transmitter_Tower\Scripts\anchor_ruins.sqf

There is a server check in a very similar file, and I assume the other two were just overlooked.
\A3\Structures_F\Ind\PowerLines\Scripts\column_ruins.sqf

All of these files get execVM'd on killed events of certain objects, and run _x setDamage 1, which causes duplicate setDamage across the network.

dusky tendon
#

player addOwnedMine _charge;
doesn't provide a reference to _instigator when killing a unit (result [B Alpha 1-1:1,bis_o2_1626,<NULL-object>,true] . However, planting a mine via the action and detonating the mine returns [B Alpha 1-2:1,bis_o2_1626,bis_o2_1626,true]

Creation

_charge = createMine ["SatchelCharge_F", player, [], 0];
player addOwnedMine _charge;

unit kill tests with a charge

charge setDamage [1,true,player,player]; 
//return [B Alpha 1-5:1,<NULL-object>,<NULL-object>,true]
player actionNow ["TouchOff", player];
//return [B Alpha 1-6:1,bis_o2_1626,<NULL-object>,true]
player actionNow ["TouchOffMines", player];
//return [B Alpha 2-1:1,bis_o2_1626,<NULL-object>,true]

I detonate explosives with a script and want the destroyed units to be counted as kills for a specific player.
But the TouchOff action has a distance limitation for activating the mine. So I thought about using setdamage with a reference to who killed the mine. But then there are no references at all.

#

Way out of the situation.
From testing, I realized that you can force the player to create explosives through an action, then detonate them through setdamage, then the links to the player will work as they should.

dusky tendon
#

I also noticed that even if you defuse and install a mine created by the script, there will be no link to _instigator

#

Surprisingly, I found a file error. Or is it not surprising?
Sound: Error: File: a3\sounds_f_orange\vehicles\air\uav_01\uav_01_land_hit_04.wss not found !!!

unborn acorn
uncut briar
regal nimbus
#

hmm. Is that expensive?

gray wharf
#

it's included in the gamepass

unborn acorn
gaunt depot
#

Still needed 2.5y later

solid marten
#

any other properties you need? @gaunt depot Can probably make ctrlSetProperties that can be expanded if needed

#

hashmap in out?

daring wagon
#

That would be awesome.

#

Hasmap so we can set multiple properties at once?

solid marten
daring wagon
#

hashmap in out?
I thought that was a question.

solid marten
#

it was array or hashmap, but hashmap sounds more flexible

gaunt depot
#

ctrlGetProperty to return single property maybe?

#

as setter is generic command, thus could be a getter

solid marten
#

you can ctrlProperties return hashmap its up to you what to with it after

gaunt depot
#

Depending on how many properties it will support, I assume just the new ones?

solid marten
#

i think not too many we have already a bunch of commands, this is for missing properties

daring wagon
gaunt depot
#

Went through my notes, small issue I had, lbSetPicture and lbSetPictureRight with empty texture don't delete the texture, might not be worth fixing for backwards compatibility though

#

Not sure about lnb pictures, could be too

solid marten
#

you mean you want to delete texture when send "" but it is ignored?

gaunt depot
#

Yeah

solid marten
#

if this is the case I assume you can always use transparent procedural texture?

gaunt depot
#

Yeah, I ended up setting it to a thin transparent column picture

#

No way to have procedural texture as color is always 1x1 no matter the size you provide

#

maybe a way with some other newer proc texture

#

    private _display = findDisplay 46;
    {ctrlDelete _x} forEach (_display getVariable "testctrls");
    private _ctrls = [];
    _display setVariable ["testctrls", _ctrls];

    private _lb = _display ctrlCreate ["RscListBox", -1];
    _ctrls pushBack _lb;
    _lb ctrlSetPosition [0,0,0.5,0.5];
    _lb ctrlCommit 0;
    _lb lbAdd "lb";
    _lb lbSetPicture [0, "a3\3den\data\cfg3den\history\createcomment_ca.paa"];
    _lb lbSetPictureRight [0, "a3\3den\data\cfg3den\history\createcomment_ca.paa"];
    _lb lbSetPicture [0, ""];
    _lb lbSetPictureRight [0, ""];

    private _lnb = _display ctrlCreate ["RscListNBox", -1];
    _ctrls pushBack _lnb;
    _lnb ctrlSetPosition [0.5,0,0.5,0.5];
    _lnb ctrlCommit 0;
    _lnb lnbAddRow ["lnb"];
    _lnb lnbsetColumnsPos [0];
    _lnb lnbSetPicture [[0, 0], "a3\3den\data\cfg3den\history\createcomment_ca.paa"];
    _lnb lnbSetPictureRight [[0, 0], "a3\3den\data\cfg3den\history\createcomment_ca.paa"];
    _lnb lnbSetPicture [[0, 0], ""];
    _lnb lnbSetPictureRight [[0, 0], ""];
#

Repro snippet, lnb removes the texture, lb doesn't

solid marten
#

so you want to maintain size of the texture just make it null? dunno if we have any command that do this, null is null

gaunt depot
#

Its always 1x1 square so setting to transparent color in lb will leave huge padding

solid marten
#

yeah i know it is always 1x1

#

so you want 0x0?

#

does argba,0,0 work?

gaunt depot
gaunt depot
solid marten
#

@untold sky can we generate size other than 1x1?

gaunt depot
#

Gonna have to be color2 or something, for backwards compat

solid marten
#

yeah

dreamy bane
#

would it be possible to add log only mode to CfgDisabledCommands? so you could test your blacklist without breaking the mission

solid marten
#

In theory yes in practice not so much

vale maple
#

Any chance someone can look into the potential kickTimeout solution to the Battleye Query timeout bug? Moving that kick to happen before BE runs for that player should theoretically stop the player from entering the bugged state. https://feedback.bistudio.com/T195080

I realize that request may sound simpler than it is though depending on how things are set up/legacy systems/etc.

solid marten
#

BE is third party application, we have limited control at its inner workings

vale maple
# solid marten BE is third party application, we have limited control at its inner workings

We don't need a BE change. We need the kickTimeout server config option to happen earlier in the join cycle as a workaround to a BE change. The issue is that you get "plagued" by the query timeout once you break yourself in the BE player list. Moving the kick from kickTimeout to before BE registration in that list should prevent the problem entirely.

It sounded like that was in your control when we were talking to dedmen about it a few months ago here but it was unfortunate timing (right when the crash reporter got implemented). I would also be pretty surprised if you guys didn't have control over at least order of operations when a player joins a server. BE can be disabled and you can still join a server so the joining system is seemingly independent of BE and I would think BE initialization is just a hook (but again legacy code and such so who knows).

I can say that we're definitely losing players to this bug. We have at least 2 dozen incidences a day of it on our server alone and have seen hundreds of new players reinstall their games, BE, new profiles, I mean they try everything to fix it and then give up when the only solutions are to get a new IP address or wait for a server restart (our cycle is every 4 hours)

regal nimbus
#

Any interest in adding basic string compression/decompression commands? We recently moved to saving JSON blobs partly because it's 4-5x less profile space, and it occurred to me that those should compress extremely well.

daring wagon
#

with deflate

dreamy bane
surreal bough
#
InitSound ...
15:28:12 Selected Audio Output: Realtek HD Audio 2nd output (Realtek(R) Audio) - Channels: 2, Freq: 48000
15:28:12 Error: Mastering voice creation failed - no sound will be played, with error: 88890004.
15:28:12 Warning: Audio device creation failed, attempt to create default audio:
15:28:12 SamplesPerSec: 44100, channels: 2
15:28:12 Audio device successfully created with default settings.
15:28:12 InitSound - complete

Error: Mastering voice creation failed - no sound will be played, with error: 88890004.
what is this?

modest sonnet
#

Error 0x88890004 means Windows can't access your audio device, often because it's unplugged, disabled, or has bad drivers

#

Does audio work?

surreal bough
regal nimbus
#

Well, it does say it succeeded with 44100.

#

Would probably need to know whether that's perf or stable branch and what output frequency it's set to in Windows.

gaunt depot
#

@untold sky Can uiEx parameters be made case insensitive please? Got an issue where CT_LISTBOX lowercases picture values and uniqueName becomes uniquename making the texture not function as it should.

#

Or just support both proper case and lower case for situations where engine lowercases the texture path

gaunt depot
#

Thankfully I can use older ui texture for now as UI doesn't need mipmaps, but its still worth to fix uiEx.

untold sky
untold sky
untold sky
untold sky
untold sky
untold sky
untold sky
untold sky
# regal nimbus hmm. Is that expensive?

Loading in all weapon classes? yes.
But after first load all weapon classes stay in memory forever until you exit the game (Vehicle types can be cleaned up if game needs to free memory, but weapon types cannot).
It also makes performance of creating all weapons slower, because O(n) where n is number of weapon classes that were looked up previously, and this command loads all..

untold sky
# gaunt depot https://feedback.bistudio.com/T170835

I had on my todo list a universal thing that can set all control properties that you can also set via config. Its just annoying to implement because basically need to write a new function and list all the possible properties, per control type.

It is really simple to do, but quite annoying busywork.

untold sky
untold sky
untold sky
dusky tendon
# untold sky Too big for discord, needs FT ticket with repro mission. But AI is such a pain, ...

AI is such pain. True x10.
Some players on our server are asking for AI thinking improvements. Our mission is that any mods with AI improvements will definitely break some scripts. Sometimes it feels like they want to suffer playing against bots rather than shoot at the AI.

Players have been asking for AI intelligence that would allow them to outflank players, hide behind every available cover, and fire at empty vehicles from which a player has exited. But they can't even imagine how many hundreds, if not thousands, of lines of code would be needed for all these effects. Furthermore, the AI in Arma never behaves as expected. Sometimes the AI simply runs 3 km away from its waypoint. At low levels, it wants to do this, and who knows why it does this when the retreat number is 0. And I won't even mention the AI's behavior while traveling in vehicles with passengers. The vehicle's commander abandons his subordinates on the road and drives to the next waypoint. But then, as soon as he's gone 500 m or 1 km, he orders them to enter. Or, if the order was to enter, the next one immediately disembarks. Which leads to a funny situation. I won't even mention how the AI gets into accidents or slams its head into the corner of a building or a pole while driving. The game is so old, and our AI is a meme generator about AI.

solid marten
solid marten
#

or triggerAmmo [ammo, distance, time]

#

yeah probably the latter

gaunt depot
#

I wonder what else we can manipulate with the projectiles

solid marten
#

not worth it for 2-3 params

gaunt depot
#

Personally I'm all for binary commands, OBJECT setSomething PROPERTIES

solid marten
#

the latter will be faster

gaunt depot
#

Sure

#

Another idea could be nil or non-Number to skip, but that's hacky

solid marten
#

-1 is default so makes sense

gaunt depot
#

triggerAmmo [_shot, false, 3]

solid marten
#

both values are numbers

gaunt depot
#

Sure, could also be any <0

solid marten
#

yeah

#

all local of course

gaunt depot
#

Of course, leave locality to scripter

vale maple
# untold sky > I can say that we're definitely losing players to this bug. I already gave yo...

Server side scripting executes before BE registers the player? I know for sure that the kickTimeout kick is after BE registers the player, which is the issue.

Once BE attempts to register the player when they're already registered (from an ungraceful disconnect and then the player rejoining before BE purges them) then it's already too late.

As soon as that registration attempt happens the player will then be stuck with a BE Query Timeout kick after exactly 2 minutes of being in the server over and over again until they change their IP address or the server is restarted.

You're saying that the onPlayerJoinAttempt server side script executes before BE registers the player and the kickTimeout kick? If not, then it won't help the problem at all.

untold sky
vale maple
untold sky
#

You can kick them from the server and tell them why. Instead of them getting hung in timeout

#

They just need to stay off the server for long enough

vale maple
#

the issue is that they crash

untold sky
#

I thiiink. Not 100%, that the join attempt is also before BE registration

vale maple
#

then immediately rejoin without waiting the 90 seconds

untold sky
#

Ah

#

Yeah and with script you can detect if the 90s aren't over yet, and tell them they need to wait 2 minutes before rejoining, and kick them again

#

I already explained all of this before

vale maple
#

It's dozens of new players, all the experienced ones know how to avoid it so I doubt they're presssing send on crash reports

vale maple
untold sky
#

Even if it's after BE registration it would work

vale maple
untold sky
#

Tell them they need to disconnect for 2 minutes

vale maple
#

Basically it happens like this:

  1. Player crashes.
  2. Player immediately rejoins the server before BE removes them from their player list.
  3. The BE player list never properly updates them on rejoin and they get kicked after 2 minutes with a query timeout.
  4. This repeats until the server is restarted or they change their IP address.
vale maple
#

The second time if they hit BE player registration it's already too late. A kick message doesn't help them.

untold sky
vale maple
#

If you wait for 2 minutes before you try and rejoin and get the bug, you're fine

untold sky
#

Is that info also in the FT ticket for this?

#

I'd need it anyway if I want to repro this issue?

vale maple
#

So we need to stop them from ever hitting the BE registration

vale maple
#

We've narrowed it down/reproduced it literally thousands of times over the last few years to get to this point

#

VPN works to solve it, changing networks works

#

anything that changes your IP address

untold sky
#

Up till now I thought BE just has a long timeout independent of the game itself.
Not that the timeout is infinite after attempting to reconnect

vale maple
#

No I think the BE timeout is about 90 seconds based on testing

#

once you're "plagued" you're done until you change IP/server restarts

untold sky
#

But the timeout should also run again even after attempting to reconnect

#

Even when you're plagued there should still be a timeout

vale maple
#

but it doesn't, which is the bug

#

the only way to get around it is IP change

untold sky
#

I'll have to talk to BE next year

vale maple
#

they must be using some form of IP key in their list since you can "bust" the entry in their list by changing IPs

vale maple
#

Based on this new info do you still think a server side scripting solution is viable? I can put one together either way to test

vale maple
#

Another interesting note is that it doesn't seem to affect all servers. I've spoken with other community members and many of them have never experienced it. I tried two separate data centers from different companies and experience it on both so I don't know what the difference is there but thought it was worth mentioning.

desert trench
#

@vale maple are you using mission cycle (class Missions in server.cfg) or -autoInit or what other parameters?

vale maple
desert trench
#

just one entry was enough in our case - however our BE timeout issue is even without a crash and rejoin. just player taking too long to get into the server/mission

#

we reproed it with our campaign, yet also WL, EC, etc

#

Dedmen found a few issues when investigating but it didnt solve the issue itself unfortunately

surreal bough
deep plaza
#

Is it possible to get a enablePiP command for single player only?

vale maple
ripe crystal
# vale maple Yes, those "failed joins" also cause it for us. I considered those under ungrace...

Wanted to chime in earlier but didn't since I figured what I'd be saying would seem pretty unhelpful and didn't wanna impede your guys troubleshooting of a legitimate issue but since there seems to be talk it may not be BE related. We'll have more than 100 people on at a given time and we will only get a few query timeouts a day. Absolutely no idea why though others seem to be struggling and we aren't. I wish I had more to offer but here are some tidbits about our server though if it helps:

  • Modified mission
  • A few optional client mods
  • HTTP downloading
  • Kick timer 60 seconds (I think)
  • Four auto-restarts a day (only one hard I think)
vale maple
ripe crystal
vale maple
ripe crystal
vale maple
#

where they can rejoin again after the timeout

ripe crystal
vale maple
#

are the left messages 2 minutes after the join

ripe crystal
vale maple
#

most of the time it'll look like this

#

but sometimes you'll just see the left message after 2 minutes over and over again

ripe crystal
#

Haha huh- no kidding!! Very well might be. I just assumed we didn't since I was counting the actual query timeouts but the weird login/logout patterns would chalk to what you're saying.

vale maple
hallow sun
vale maple
#

Imagine the user experience for new players.

  1. Game crashes while in a high stress situation.
  2. You immediately rejoin to try and get back into the situation.
  3. You now get kicked every 2 minutes and reinstall your game, mods, battleye, spend hours Googling/troubleshooting.
  4. Then just give up and uninstall the game / never look back.
vale maple
hallow sun
#

They were vocal about other issues like the signature kicks etc, always checked the BM feed etc.
So pretty sure it must be a isolated issue, triggered by whatever.

vale maple
#

It's also possible there were BE changes at some point of course and you were on different versions

hallow sun
#

we moved servers pretty often because of Ddos and re-installed everytime.
So i can exclude that

vale maple
#

We'll have to see what BE says when Dedmen reaches out. I suspect the issue will be very obvious on their end if it's what we think it is. It only triggers after ungraceful disconnect too so maybe yours was just that much more stable? I fixed dozens of crashes after taking over from Mubby on our end. Yours always felt solid when we played back in the day.

regal nimbus
#

Depending on your modlist, it might take longer than 2min for most players to restart the game after a crash?

vale maple
#

if you're computer can't load you back in to "break" yourself in the BE player list then you should be all good

regal nimbus
#

My recollection is that 2min would be a pretty quick Arma startup. That's why we use filepatching :P

vale maple
#

also a potential workaround is to make loading take longer artificially

#

mine on performance plus the server is about 25 seconds

regal nimbus
#

hmm yeah, it's faster than I thought. 40 seconds to menu with ACE + RHS.

#

A3 crashing is pretty rare in general though, isn't it?

#

Other than fullscreen alt-tab failures, I guess.

vale maple
# regal nimbus A3 crashing is pretty rare in general though, isn't it?

Apparently not, but dedmen has fixed a ton of crashes on this profiling that haven't hit live yet. Most of the guys that get this are new players that don't have an experienced group member to explain it to them so I'd suspect most, if not all, of them are on the stable branch. So maybe the occurrances will drop with all the crash fixes when they hit stable.

regal nimbus
#

I dunno, with stable you normally need to be doing something fairly weird to crash.

vale maple
#

Older hardware/third party software, it happens for all types of reason. I personally almost never crash but it's definitely happening a good amount still. It's also not just crashes but any ungraceful disconnect. Network, join failures, etc all cause it.

#

I'm also on borderless windowed and fullscreen is the default (I think, right?)

#

I do remember fullscreen crashing during alt tabs much more often but it's been years and years since then

regal nimbus
#

well, unreliable hardware is gonna crash with anything. All those 13700ks out there.

desert trench
# vale maple Yes, those "failed joins" also cause it for us. I considered those under ungrace...

for our case of BE timeout it is - not saying though that it is for yours/others. ours is not the same as your issue

A3 FT, reddit and BIF also had people BE timeout issues reported on a frequent basis over the years.

On a technical level as best as i can tell, while there may be also something at fault on the BE side, in the end probably for various cases the A3 side is and was the origin. Like as its a handshake timeout, if BE doesnt get the OK in time, it will kick people as intended (why this mechanism exists in the first place - i guess to avoid some cheating/abuse). the reason the game, or probably also the client (in terms of hardware, network quality, etc) isnt able to provide the handshake in time should have different causes

unborn acorn
unborn acorn
#

Why voice 'Male03RUS' not used in CfgVoiceTypes? When contact appears 3 Polish and Russian voices added, all polish voices evenly distributed between vanilla 12 voice types but only RUS types use 01 and 02 type. This resulting to any voice selected in the player profile settings, for a player with the "LanguageRUS_F" identity types being only 01 or 02. Although for AI the voice seems to be selected from CfgVoice → voices[]={}; list and successfully applying Male03RUS.
This seems like a mistake to me, or does anyone know if there is a reason for this?

surreal bough
# solid marten Plz make a ticket and post link

The last but also very important feature is missing... compatibleMagazines ammo

Syntax: compatibleMagazines ammo
Parameters:
ammo: String - ammo class name
Return Value:
Array of Strings - all magazines that can loaded this ammo.
deep plaza
#

We have a getter for it but no way to set it

terse bolt
gray wharf
terse bolt
#

I was asked to post it here as a reminder for later

terse bolt
#

i asked if he wanted a ticket, a post was requested

gray wharf
#

I will ban dedmen

ripe crystal
#

I feel like Lou, Dedmen and Crumble all throw paper balls and airplanes at each other in the office

gray wharf
#

air shuttles* please… wait

ripe crystal
verbal harness
gray wharf
#

YOU are not allowed into my pillow fort!

verbal harness
#

Yeah well we have stroopwafels

terse bolt
surreal bough
gray wharf
deft marsh
vapid cradle
#

I do propose to increase the maximum length of the ropes. Currently a ropes can reach a maximum of 100m, i do propose the possibility to have extensible ropes so we can have infinite length for ropes. The rope will increase length until it reach the specified maximum length. It would be very useful to make cables over long distances.
I'd like to make wired torpedoes and modern torpedoes can be wired on around 40-100km. So far i have to show the torpedo without cable but its not very aesthetic.

solid marten
#

Really? 100km of cable, dragging through water? Wonder what kind of engine would it take

devout wave
#

I think the 100km shot is a bit dubious just because of how long it would take, but torpedoes in service now are supposed to be able to do 50-60km. Torpedo command wire is actually very thin, like fishing line thin, so it's not much of a burden...but I am surprised someone's trying to simulate something that no one would ever be able to see in reality

surreal bough
#

It's probably easier to simulate wired control.

#

there are also laws of physics according to which the rope can break from its weight

vapid cradle
vapid cradle
#

Divers actually have few chances to see a cable in the middle of the water, the only chance they can see it is next to the ennemy submarine or if they see the torpedo

deep plaza
#

just noticed changing pip settings while in game resets ppeffects, is this intended because this only happens with pip settings?

lament escarp
sleek scaffold
last jolt
#

So happy the snow issue is fixed 🙏

surreal bough
azure crane
#

humans do it just as well (served as a great ambush spot in a pvp game). You can place the building higher or lower

sleek scaffold
#

There are mods and even dlcs that try to do this via scripts but since those aren't engine commands they end up being incredibly expensive when many Ai units are on the scene

dull gulch
#

Using High Command....

Infantry fighting vehicles / Mech squads, such as the Mora and the BTR-K show the NATO symbol for ARMOR when they should be showing the NATO symbol for MECH

fast lodge
#

is there an easy way to add the blur ppeffect to opticsPPEffects[] = {};

mortal tendon
#

I'll share this with hope that Bohemia will read it at least - im sory but i see no reason to buy Reforger and it is very likely that i will not buy and Arma 4 ( don't get me wrong ) this game arma3 surprises me every day ( it's an endless journey to me and is the best of the best games of all time Bohemia Interactive are gods to me ) but the next Arma if not strictly aim to develop :

  • maps in modern city zones ( which we don't have yet and the pathetic attempts to create one with the current engine don't count ) with realistic glossing , reflections , buildings models/assets
  • the freadom to fully scaling all objects
  • and in last vanilla Ai which if there is an object Tree , bush , grass ... that a real person cannot see through, of course and the Ai should not be able to see through either

I'm not the most knowledgeable person in the game and I'm not exactly sure what the community wants, but i have everything and more than i ever imagined i needed if nothing change i expect to be cemented in Arma 3 salute 🙂

#

I guess I posted my revelation in the right channel 🤞

lament escarp
opaque quail
lapis valley
#

That explains a whole lot

surreal bough
#

I included building damage in the missions and there were such errors in the rpt (map Zagrabad 2025)

20:45:19 Error in expression <ects [_col_abs, _wires select 0, _wires select 1]);                
};>
20:45:19   Error position: <select 1]);                
};>
20:45:19   Error 0 elements provided, 2 expected
20:45:19 File A3\Structures_F_Exp\Infrastructure\PowerLines\Scripts\column_ruins.sqf..., line 25
20:45:19  ➥ Context:     [] L9 (A3\Structures_F_Exp\Infrastructure\PowerLines\Scripts\column_ruins.sqf)
    [] L25 (A3\Structures_F_Exp\Infrastructure\PowerLines\Scripts\column_ruins.sqf)
..............
20:52:44 Error in expression <ects [_col_abs, _wires select 0, _wires select 1]);                
};>
20:52:44   Error position: <select 1]);                
};>
20:52:44   Error 0 elements provided, 2 expected
20:52:44 File CUP\Terrains\cup_terrains_opx_structures\Infrastructure\column_ruins.sqf..., line 25
20:52:44  ➥ Context:     [] L9 (CUP\Terrains\cup_terrains_opx_structures\Infrastructure\column_ruins.sqf)
    [] L25 (CUP\Terrains\cup_terrains_opx_structures\Infrastructure\column_ruins.sqf)

I don't have any information on standard maps.

vapid cradle
#

There is a glitch with setDir for attached objects when you detach them right after:

a attachTo [vehicle player, [0,0,0], "decoy_left"];
a setDir 270;
detach a;
```This doesn't work, the object will get attached but will not take the appropriate direction and wont be detached. I have to add sleep 0.1 before detaching the object in order to have setDir working
surreal bough
#

https://youtu.be/nYNI2xBNRX4
What's wrong with hideobjectglobal?
Keep an eye on the CPU load.
There are no problems with hideobjectglobal in the editor, but it is worth running it on the server, the processor goes into peak load values for a long time.
There are no problems with hideobject

Keep an eye on the CPU load.
There are no problems with hideobjectglobal in the editor, but it is worth running it on the server, the processor goes into peak load values for a long time.
There are no problems with hideobject

▶ Play video
regal nimbus
#

You're hiding 3/4 of the trees on the map?

#

yeah, putting 750 thousand entries in the JIP queue is a bit of a stretch.

#

Interesting that it's a persistent cost though.

#

Ah, it stops eventually. I guess this was one of dedmen's optimisations and there's a queue to get into the JIP queue.

surreal bough
regal nimbus
#

I think the only reasonable way to do this is with seeded randomisation and then hide directly on the client. But A3's seeded random commands are either garbage or too poorly documented to tell whether they're garbage.

#

seriously considered writing an LCG in SQF at a couple of points, but you don't have many bits to work with.

surreal bough
#

do you mean unnecessary unnecessary network traffic? If so, I know about it.
That's probably what needs to be done.

scarlet sage
regal nimbus
fading idol
#

b1140a3f-6310-46d5-823a-ce84ac24626b
got this code and the reporter told me to contact devs in the server

scarlet sage
surreal bough
mighty badge
#

if so, try with a minimal modlist,

gray wharf
#

like, NO modlist

lime sedge
#

My friends also faced the same issue on my hosted server, e.g. in the mission Escape from Tanoa they sometimes couldn't get containers (uniform and vest) and get items from them from the officer at the beginning of the mission, but I could. Locality issues?

surreal bough
#

It's not playable! It's annoying that when you fly in a helicopter, you hold ALT + SHIFT, of course, and that changes the language.

glacial pilot
surreal bough
#

The game itself is not player-friendly - that's a fact

#

The player shouldn't know why he can't join the server and learn the basics of computer science and everything else.

#

the player must click play and play

gray wharf
#

dang, good thing the Windows key is intercepted and Alt+F4 is prevented when not in a menu 😃

glacial pilot
#

It's weird that alt+shift wouldn't be intercepted, while nearly everything else is intercepted

devout wave
#

[beep] Would you like to turn on Sticky Keys?

vapid cradle
#

It would be great if we could create custom sides. So far we cannot have more than one three sides and it we need more factions missiles, aircraft systems etc won't work properly

alpine tulip
#

Though we have more than that (BLUFOR, OPFOR, Indeoendent, Civilian, more internal sides for animals or logics etc) I'd agree it is nice to have. But very unlikely because it would require to update the most basic thing in Engine

#

It'd be nice to have group setSide BLUFOR etc for traitor situation

vapid cradle
alpine tulip
#

A side is not a country?

#

it we need more factions missiles, aircraft systems etc won't work properly
What actually this does mean too

regal nimbus
#

hmm? It is a real limitation.

#

I remember back when Antistasi had punishment missions in occupant towns, we wanted the spawned defenders to be allied to rebels, allied to occupants and enemy to invaders. But that's impossible.

#

I figured the side system is too hardcoded to easily improve it in A3 though.

vapid cradle
alpine tulip
#

No it won't because they are same side. In this context "Country" or "Faction" (ex. NATO, CSAT or US, Soviet) is not the right term but it is called "Side" (ex. BLUFOR, OPFOR...) and the point is literally not limited to "missiles, aircraft systems"

surreal bough
gray wharf
#

thanks!

surreal bough
surreal bough
surreal bough
lime sedge
surreal bough
#

It turns out these are the corpses of players

#

This player hasn't played for an hour.

vapid cradle
#

I think i found some irregalurities with text size when using UI on Texture to show a dialog on a surface which doesn't have same aspect ratio with the UV map

#

the controls are defined like so:```C++
class missile4
{
type = 0;
idc = 30;
x = safeZoneX + safeZoneW * 0.24427084;
y = safeZoneY + safeZoneH * 0.61018519;
w = safeZoneW * 0.0125;
h = safeZoneH * 0.025;
style = 2;
text = "4";
colorBackground[] = {0.102,0.2,0.6,1};
colorText[] = {0.4,0.502,0.902,1};
font = "PuristaMedium";
sizeEx = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1);

    };```
vapid cradle
#

the screen is mapped like so

vapid cradle
alpine tulip
#

Correct me if I misunderstood the term, but ColorCorrections ppEffect's contrast, is it how it should work? (fig 1, using ppEffectAdjust, fig 2, Video Settings' Contrast)

#

I am actually starting to doubt my sanity. This is not Contrast, am I right?!

0 spawn {
    _colorCorrectionHandle = ppEffectCreate ["ColorCorrections",1501] ;
    _colorCorrectionHandle ppEffectAdjust
    [
        1,
        1,
        0,
        [0, 0, 0, 0],
        [1, 1, 1, 1],
        [0.299, 0.587, 0.114, 0]
    ];
    _colorCorrectionHandle ppEFfectEnable true ;
    _colorCorrectionHandle ppEffectCommit 0;
    _colorCorrectionHandle ppEffectAdjust
    [
        1,
        2,    // contrast boost
        0,
        [0, 0, 0, 0],
        [1, 1, 1, 1],
        [0.299, 0.587, 0.114, 0]
    ];
    _colorCorrectionHandle ppEffectCommit 5;
    sleep 7 ;
    ppEffectDestroy _colorCorrectionHandle ;
} ;```
daring wagon
#

Cloudflare is working well I see

gray wharf
#

these were mostly 2021

vocal thistle
vapid cradle
#

I noticed when using UI on Texture to show a display containing a CT_MAP control, control event handler DRAW does not work in View Pilot. Just like ctrlMapAnimAdd does not work on 1st person view, i have to switch to external view or optics and when i come back to 1st person i can see the map has been updated on the texture

gaunt depot
#

Might as well call the Draw event yourself then

gaunt depot
vapid cradle
vapid cradle
vapid cradle
dreamy bane
past nexus
#

Tried making a bug report for dayz and i got this?

#

<@&105621371547045888>

#

I'm trying to make a DayZ bug report
Here is the full report:

alpine tulip
#

discord moderators (orange roles) have no responsibility of Feedback Tracker, but had to say I've never seen this. Someone at BI should take a look there after they start to work in Monday

ripe crystal
#

Shoot, sorry didn't realize you got pings on your phone. Didn't mean to bother you on a weekend notlikemeow

gray wharf
gray wharf
#

(no worries, I check Discord manually 😉 thanks for your concern though!)

past nexus
#

love the How to get a real job google link tho

gray wharf
#

my filter is as aggressive as the spam was 😬 sorry for the inconvenience, but it definitely keeps the FT clean!

past nexus
gray wharf
true blaze
#

Are you actively trying to make AI steal our jobs?!1

solid marten
#

We should go global with disableAI command

alpine tulip
#

To be ticketed: a reliable command to read synchronization state on Eden but in game

#

Will post later

vapid cradle
#

In Arma 3 we can create sound sources. I propose a object CreateSoundListener[position, vectorDir, volume, mode] function that would allow the local machine to hear all sounds at a given position. The mode parameter is to specify on what side do you want to hear the sounds (left, right or stereo). I was working on it to allow players to hear some of the environment on my own radio system but we do not have access to all game sounds and sfx in game data, it would definitely be better if we could do in game. It would also add a new dimension to spying, recon and intelligence

sinful kettle
#

why not use playSound (2d)?

vapid cradle
vapid cradle
#

I also propose additional Say2D and Say3D event handlers in order to detect when an object is saying a sound in order to reproduce it somewhere else when needed (on a passive sonar for example, i can somehow reproduce the sound of a car but if this car is playing a siren for example, i won't be able to know)

regal nimbus
#

Syntax 3 of nearEntities with an empty array for the types appears to return every entity on the map regardless of the area parameter. Surely this isn't intentional?

solid marten
#

Ticket?

regal nimbus
solid marten
regal nimbus
#

isNil behaviour with breakout is quite weird, not sure if bug:

scopeName "main";
call {
    123 breakOut "main"
};
345
=> returns 123
scopeName "main";
isNil {
    123 breakOut "main"
};
345
=> returns 345
solid marten
#

you mean the same code produces 2 different results?

#

ah wait call vs isNil

#

Do we know if it breaks out at all in second case?

sinful kettle
#

I'm pretty sure it doesn't

regal nimbus
#

It breaks out of the isNil but not out of main, as far as I can tell.

#
testvar = 0;
scopeName "main";
isNil {
    123 breakOut "main";
    testvar = 1;
};
testvar
=> returns 0
gray wharf
#

systemChat could have helped here :p

regal nimbus
#

ew

foggy shuttle
solid marten
regal nimbus
#

Not sure I follow. None of these examples should return the isNil value.

solid marten
#
    123 breakOut "main"
};```
if this returns into isNil scope then it should return true, no?
regal nimbus
#

I imagine so.

#

well, false?

unborn acorn
unborn acorn
#

CfgVehicles class that used SoundSet with param loop=0; keeps play same sound until player leave max hear range. When player enter range back game randomly select sound and will play this every time like as loop=1; https://feedback.bistudio.com/T197174

vapid cradle
#

I propose a ctrlSetTextSize function in order to modify the size of text in controls. It will be usefull for displays on texture

tepid fractal
#

It works fine, I used it for labels on a backpack

vapid cradle
#

I think there is a problem with ctrlSetAngle when using display on textures. The control is not rotating only on the Z axis.

#

When i show the display normally the control is rotating properly but when its on a texture its not rotating on the same way

lavish cargo
vapid cradle
#

I posted this feedback few years ago https://feedback.bistudio.com/T181499 and i'd like to say there is a simple way to solve this. When we create a simple lightsource by script, it doesn't get affected by world ambient darkness. So we could add an additional boolean parameter to compartmentLights in order to specify if it get effected by ambient or not

untold sky
untold sky
untold sky
terse bolt
#

Awesome

untold sky
untold sky
tepid fractal
#

You'd think the arma3 would make that obvious

untold sky
untold sky
untold sky
untold sky
untold sky
untold sky
untold sky
untold sky
#

@vale maple what about the "InGameTimeout" battleye config entry? does that have an effect

vale maple
# untold sky Some research. We DO tell BattlEye that a player has disconnected. If the `OnUs...

Tracking one instance of it today in the logs:

  • We have a disconnect log for onUserDisconnected and HandleDisconnect mission event handlers.

It seems that in a healthy disconnect both are fired successfully. However once they're stuck with the query timeout (and the disconnect leading up to it, likely the crash) the HandleDisconnect event handler is never fired, including when the kick is from the query timeout directly.

Player %s disconnected still appears in the server console in both scenarios.

vale maple
vale maple
vapid cradle
vapid cradle
#

If possible i would add a attenuationEffect parameter to CreateSoundListener in order to apply an effect like radio effect for example. An event handler to detect when a listener is created would be perfect

mortal tendon
gray wharf
untold sky
# vale maple Tracking one instance of it today in the logs: - We have a disconnect log for o...

I did the crash by just killing the client in task manager. That leads to connection lost.
I can see both eventhandlers firing correctly, and BattlEye is told that the player is disconnected.

I rejoined within 20 seconds, I can see the BattlEye heartbeats ping-ponging back and forth. Afterr 3 minutes I'm still not kicked for query timeout.

Tested with a local-hosted dedicated server.
Maybe it was because I connected to 127.0.0.1, but going via a LAN address (In case there is some special localhost exception), makes no difference.

11:40:54 BattlEye Server: Player #0 dedmen (192.168.11.1:2316) connected
11:40:54 Player dedmen connecting.
11:40:56 Player dedmen connected (id=).
11:40:56 BattlEye Server: Verified GUID () of player #0 dedmen
11:40:56 BattlEye Server: Player #0 dedmen - Owner BE GUID: 
11:41:46 Player dedmen is losing connection
11:41:51 Player dedmen disconnected.
11:41:53 BattlEye Server: Player #0 dedmen disconnected
11:42:12 BattlEye Server: Player #0 dedmen (192.168.11.1:2316) connected
11:42:12 Player dedmen connecting.
11:42:15 Player dedmen connected (id=).
11:42:15 BattlEye Server: Verified GUID () of player #0 dedmen
11:42:15 BattlEye Server: Player #0 dedmen - Owner BE GUID: 
11:47:09 Player dedmen disconnected.
11:47:11 BattlEye Server: Player #0 dedmen disconnected

Soo.. cannot reproduce? I disconnected manually at the end.

hallow sun
#

In my experience not every server is affected, I ran the same mod (ExileMod) on a MP server with lots of players and never had this problems.
It was years ago, but talked with affected server admins trying to help, find differences etc, but nothing helped them.

modest sonnet
#

Maybe high traffic? Which end do you need to be able to access to debug?

vale maple
# untold sky I did the crash by just killing the client in task manager. That leads to connec...

I've never been able to trigger it with closing in task manager locally. Not sure if there's a network latency component required to triggering it.

I did notice in my testing a while back that closing in task manager the server detects/drops you quicker then if you crash (I think at that time it was one of the audio device swap crashes I used). Not sure why there'd be any difference between an actual crash and force close though unless it's still triggering some kind of cleanup when force closing.

untold sky
#

Might be if there is a heartbeat in progress.
The server sent a request, but never received a reply because it crashed before replying.

But that happens every 30ish seconds, and takes like 60ms to complete. so...
mh..
But if the player is gone and lost connection, there is like.. 10 seconds or so of time the player is connected but not replying.

Maybe BE waits for the reply to the old ping, and refuses to accept new ones

vale maple
untold sky
#

Oh HandleDisconnect.
Yeah thats totally different from OnUserDisconnected handlers

vale maple
#

onUserDisconnected still fires like usual though

#

yeah onUserDisconnected always works but HandleDisconnect stops working once they've got the bug

untold sky
#

HandleDisconnect is "Handle that the player is disconnected and that the unit controlled by it gets its control transferred over to the server"
If the unit is deleted on disconnect, nothing is transferred to server, and it won't fire

vale maple
#

ah gotcha

untold sky
#

If I have to bother BE about it, I'd ratherr it be soomething we can reproduce

vale maple
vapid cradle
vapid cradle
vapid cradle
#

A CT_Paint controller could be a good idea to create fancy stuffs. A controller with functions for basic shapes (spheres, cubes, rectangles, triangles etc...). For example, i'm working on my passive sonar and in order to paint the audio spectrum i'm using CT_Static controllers. the problem is you cannot reposition more than a hundred controllers in few milliseconds. For my passive sonar, i used lines instead of points in because it was lagging too much (too many points). But if we could draw on an image, if would be way faster to slice a part of it and move the rest

#

Is was supposed to be like this, but too much lag

#

if the idea is not adopted for Arma 3, if could be a good idea for Arma 4

gaunt depot
#

AR already has canvas

#

The issue is only the control movement? Is it really that bad?

#

Moving controls could be done in just 2 commands: ctrlSetPositionX and ctrlSetCommit

#

If your spectrum movement is constant you can only issue a single setpos and commit command, order the control to move to the end of the spectrum and delete it

#

@vapid cradle

vapid cradle
#

Hmmm maybe i should make a video so you can understand better how it works. This spectrum is produced by calculating the decibels of each sample played by my dll. Its a real audio spectrum. It takes to much time to move a hundred controls at once

sinful kettle
#

with dll you can just draw that whole UI using the extension tho. well except for the map

vapid cradle
sinful kettle
#

no

#

you can get the D3D device and context pointers and draw anything you want

vapid cradle
#

Ooooh you meant the CT_Extension control. Well that's the first time i hear about it, it looks interesting, i will give it a try

sinful kettle
#

no I just meant the normal D3D methods. you can use the CT_Extension too but it's currently dev only and I've never tried it myself

vapid cradle
#

Aaaah that's true indeed i should be able tu use D3D to paint on Arma 3, the dll is imported

sinful kettle
vapid cradle
#

I will read this and adapt it to my c# dll. I never thought about this. Now i understand better why there is no dll import in Enfusion. Thank you very much ^^

vapid cradle
#

maybe i should try something else but Xaudio i don't know

vapid cradle
untold sky
untold sky
vale maple
surreal bough
#

the weight of the attached object is not taken into account?

surreal bough
#

is attaching vehicle to a tractor a vanilla option or an ace mod?

devout wave
#

Script commands exist for it in vanilla, e.g. setTowParent, ropeCreate etc., but there's no player-facing system for it. Any actual implementation you've seen will be a mod, possibly ACE although there are others.

surreal bough
gaunt depot
#

attachTo is not physical what so ever, its just a way to position stuff by offset

tepid fractal
#

Probably not
I definitely don't want the added mass when attaching things

regal nimbus
#

You can always use setMass if you want it.

unborn acorn
#

just noticed that on some vanilla modules that have added descriptions in the config not visible in Eden. Some have it some don't, can't figure out why...

tepid fractal
unborn acorn
#

Yes you're right. Most vanilla modules have a description. ModuleDescription doesn't work, but ModuleDescription in Attributes does. Is this a bug in the engine that ignores the class ModuleDescription, or does it require working with the config to make it work?

devout wave
#

Is it possible it's displayed in the tooltip in Zeus?

tepid fractal
#

Module >> Attributes >> ModuleDescription is the UI control(s) that show the description when editing the module in Eden
Module >> ModuleDescription is just the text description and some flags for things (i.e. does rotation effect the module, does position effect the module, what can be synced, etc. etc.

Both are required to correctly show the description, and it likely won't be fixed (soon) for the vanilla modules since that's data changes

vapid cradle
surreal bough
tepid fractal
#

If you want the mass, you should do it on your end
Like Sa-Matra said, attachTo is purely visual

#

The ViV system adds mass when carrying an object, because that system isn't meant to just be for visual things

twin hornet
vapid cradle
vapid cradle
#
using System.Runtime.InteropServices;
using System.Text;
using static System.Net.Mime.MediaTypeNames;

namespace ArmaTestDLL
{
    public class Class1
    {
#if WIN64
        [DllExport("RVExtensionVersion", CallingConvention = CallingConvention.Winapi)]
#else
        [DllExport("_RVExtensionVersion@8", CallingConvention = CallingConvention.Winapi)]
#endif
        public static void RvExtensionVersion(StringBuilder output, int outputSize)
        {
            output.Append("Telephone v1.0");
        }

#if WIN64
        [DllExport("RVExtension", CallingConvention = CallingConvention.Winapi)]
#else
        [DllExport("_RVExtension@12", CallingConvention = CallingConvention.Winapi)]
#endif
        public static void RvExtension(StringBuilder output, int outputSize,
            [MarshalAs(UnmanagedType.LPStr)] string function)
        {
            //output.Append(function);
            switch (function.ToLower())
            {
                case "author":
                    output.Append("IARTS Studio");
                    break;
                case "version":
                    output.Append("ArmaTestDLL v1.0");
                    break;
                case "help":
                    output.Append("ArmaTestDLL 1.0");
                    break;
                default:
                    output.Append("ArmaTestDLL 1.0");
                    break;

            }
        }

#if WIN64
        [DllExport("RVExtensionArgs", CallingConvention = CallingConvention.Winapi)]
#else
        [DllExport("_RVExtensionArgs@20", CallingConvention = CallingConvention.Winapi)]
#endif
        public static int RvExtensionArgs(StringBuilder output, int outputSize,
            [MarshalAs(UnmanagedType.LPStr)] string function,
            [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPStr, SizeParamIndex = 4)] string[] args, int argCount)
        {
            return 1;
        }
    }
}
vapid cradle
#

The error occurs when i try to call the dll. For example "ArmaTestDLL" callExtension "author"

solid marten
solid marten
vapid cradle
#

Arma 3 is very stable with any other dll so i didn't try to repair it

solid marten
#

I'm sorry but that question was for Bernhard

vapid cradle
twin hornet
sinful kettle
#

there's a better one but I forgot its name

solid marten
twin hornet
solid marten
#

there was internal ticket

vapid cradle
#

When i use .NET Framework i use unmanagedExport.repack.upgrade, this one is compatible with lastest .NET Framework frameworks (.NET Framework 4.8 last tested)

#

its also based on Rgliescke.dllexport so no code modification is required

dreamy bane
surreal bough
#

Does everyone know that warning flares for missile withdrawal do not work?

solid marten
twin hornet
solid marten
nimble marsh
#

hay @solid marten do you remember SickBoy ?

#

from back in the OFP days

twin hornet
solid marten
#

Ill check tomo why it wasn't merged with prof

untold sky
#

This is now the third channel where I see chatter about the same thing.
Please try to keep it to one channel.
Feedback tracker is for game issues, not your inability to build a DLL correctly.
Your wrongly made DLL crashing the game when being called, is not a game issue.

untold sky
#

Indeed, when checking the changes in that November one. I see it changed how stopSound works.
But no mention at all in changelog?

solid marten
unborn acorn
vapid cradle
surreal bough
#

I'm not the only one who sees this, and I've already changed video cards, but many people see an AI bot on crutches.

modest sonnet
#

oh yeah lol I saw this in ACE arsenal, it's the arms being stretched

#

Need to see where it appeared but I think it may be a profiling thing

limpid rune
#

it's a bugged uniform model lod usually

vapid cradle
#

If possible i would propose a rptFilename function that would return the name of the rpt file. Until now, when i need to find rpt file with an extension i take diag_ticktime, i remove 20 secs and i parse every file from there. I can't remove more than 20 sec because in 30 secs you can start and restart the game. But the problem is when the game will be heavily loaded with mods on low configuration, there could be probably more than 20 secs in between rpt file creation and diag_ticktime

dreamy bane
#

can i ask what are you trying to do with the .rpt?

daring wagon
vapid cradle
#

well would be rare, but i prefer to take under consideration even unusual cases

daring wagon
#

Combine it with a regex match on the name.
It's unlikely a mod creates a file there and even more unlikely that it's going to match the naming scheme of the vanilla rpt files.

gray wharf
#

"we'll cross that bridge when we get there!"

untold sky
vapid cradle
vapid cradle
daring wagon
vapid cradle
#

Depends on what happen to the rpt filename of the second instance

daring wagon
#

Nothing afaik. It just gets a different time stamp. But you surely have looked at that when writing your extension

#

Also this is not relevant to this channel now. Please open a ticket for your initial request and let's move to #arma3_scripting if there are further questions.

#

You can leave a link to the ticket here.

vapid cradle
untold sky
ripe crystal
#

I'm not sure how easy/not easy of an ask this is so dropping here before I create a FT ticket 🙂

Question:
Would it be possible to have some sort of engine solution to have persistent weapon deployment states after respawn (I.E. when you double tap C to keep your gun up)?

Reasoning:
A friend of mine has a CQC server which involves fast paced combat. On death when the player respawns, it becomes cumbersome to consistently double tap C to keep the weapon raised.

Additional yap:
I could be mistaken but I believe the only way other servers have accomplished this is by setting the player in an unconscious state opposed to actually allowing the player to die. More asking in proxy of my friend who owns a smaller server. It's been a while since I've actually tried looking into doing this on our own server and stopped when I saw the current solution was preventing death; so my question may not be as extremely well rounded and do apologize if my request is more difficult to follow.

scarlet sage
sinful kettle
ripe crystal
sinful kettle
#

no I'm not sure but it should

sinful kettle
#

tho iirc it has to be bound in keybindings (it is by default)

ripe crystal
#

Ah okay. I was gonna say I don't think I have that. I'll mess around with switchMove later and confirm if it does or doesn't work. Entire idea behind what I was requesting was more so players would automatically be in that stance without needing to press anything additional; which not sure there is a way to do right now but again could be mistaken.

digital river
surreal bough
#
player selectWeapon (primaryWeapon player)
```?
https://community.bistudio.com/wiki/playAction
digital river
digital river
fallen cloak
#

ah the question here is to toggle the combat speed/pace, not change weapon raised/lowered state, sorry

#

yeah not sure then

digital river
#

no worries, ty for trying!

foggy shuttle
#

From my understanding, there isnt a way to achieve persistent combat stance across lives, or a way to script combat stance.

gray wharf
#

set speed full + limit speed?

nimble marsh
#

maybe ----- > this setUnitPos "UP"; 🙂

#

and maybe _grp setBehaviourStrong "AWARE"; 🙂

sinful kettle
digital river
sinful kettle
#

are you talking about player or AI?

digital river
#

player

sinful kettle
#

then you're probably using a mod that's breaking it

digital river
#

do you have a video of you forcing combat stance? When I try what you provided it brings the gun up, but the second you start walking the gun lowers. Vanilla Arma

sinful kettle
#

or maybe you run it too early

digital river
#

in your clip your gun isnt staying up BlankFace

#

im talking cross hair straight up facing forward ready to shoot while walking

#

combat stance when you 2x "C"

sinful kettle
#

ah you mean tactical stance

sinful kettle
#

I thought you guys are talking about 2xCtrl (I thought maybe I've remapped it)
also I don't use 2xC for tactical stance either so...

digital river
#

Fair enough, I appreciate the help regardless

devout wave
sinful kettle
#

both are official

limpid rune
#

I recall a conversation/investigation into it previously and I don't think there is a way to 'force' it

sinful kettle
#

yeah. it needs a command

limpid rune
#

I guess under action

ripe crystal
#

A command would be nice, but also not sure how much work an engine solution like that is. If it's easy would love to have a new command or existing command argument but if not also totally understand too 🙂

unborn acorn
gray wharf
deep plaza
#

Breaking news: nukes are banned worldwide as of today, your spambot strike is illegal!

gray wharf
#

Kaz, I am a demon

azure crane
deep plaza
dreamy bane
#

been thinking of using CfgDisabledCommands in my mission but while i can check my code that client doesnt run disabled commands what about all the arma vanilla modules/scripts? wouldnt it be useful if you could have log only mode where commands arent disabled but their use would be logged. then you could disable them later based on the logs

lime sedge
vapid cradle
#

I think something very weird happened tonight. I was playing on the very well known 77th JSOC server few minutes ago and the server crashed, ihad to ALT + F4 to kill the game and restart it but now the game won't restart. Everytime i try to start the game i get a Application Hang error on windows. I will probably need to repair the game but i wanted to let you informed in case you might be interested

#

No dump file was generated unfortunately

#

Apparently they have issues on the server since restart, no one can move or type

foggy shuttle
ripe crystal
regal nimbus
#

The vars file normally gets silently wiped & reset when it's corrupted and the text profile is the one that you need to manually clean or kill. But I guess sometimes it might not detect the corruption.

ripe crystal
#

Honestly may have got the two mixed up. Has only happened to me I think twice total in my entire time of playing Arma, so honestly can't remember which

tropic jewel
#

Is it feasible to have the ui setting for the size of left/right info panels to be saved separately?
Right now I believe you can resize one, but after game restart both will be the new size.
Would want one big one small, for pip cam + sensors, for example

sinful kettle
ripe crystal
digital river
#

Wow! Ty so much!

vapid cradle
#

I replaced it with an old version

ripe crystal
#

Tossing here first instead of #community_wiki since it seems like it may not be intended behavior.

When code like this is ran on server in a dedicated server environment, doors will open with a good bit of lag and delay.

_a = "Land_Barn_03_large_F" createVehicle [24130.9,18693.9,0.00143886];
_a enableSimulationGlobal false;

Running such code on client does not create such issues.

fallen cloak
ripe crystal
#

Haha you would be right about it being server only- missed that.

#

Just jotting that there seems to be some funky behavior there.

fallen cloak
#

i honestly didnt even expect doors to do anything with simulation disabled lol

ripe crystal
#

People were complaining about door lag for some global objects we were creating and that's the only reason I even figured it out. Not quite sure why we were disabling simulation on global objects people intend to interact with anyway meowsweats

fallen cloak
#

ye that oughta be it; not the first one getting too aggressive on trying to save performance, did that a buncha times myself and had people break their vehicles on cargo nets (that would normally just collapse at the slightest touch)PepeLaugh

regal nimbus
#

Last time I tested, disabling simulation on buildings makes no measurable difference anyway.

fallen cloak
#

Its only physx objects isnt it? For buildings and static objects youre better off making them simple instead

#

or better yet local only + very simple

regal nimbus
#

normal/simple/local-only are all so marginal that it's hard to prove a difference IME.

#

(for buildings)

#

well, I guess that test wasn't actual houses. Those might benefit a bit with simple, but then they lose functionality.

#

Units and vehicles are what you should be worried about. And mines, at least on stable branch :P

glacial warren
#

Blackfish cockpit instrument has wrong layers, is there still a place to post bugs?

regal nimbus
#

The feedback tracker still exists.

unborn acorn
surreal bough
#

**Title: **
GetOutMan (isEject) returns inconsistent results when using the moveOut player command

**Steps to Reproduce: **
Start in a helicopter.

Case A:
Enter directly as the pilot.
Take off and climb to altitude.
Run moveOut player.
Observe the GetOutMan event handler with isEject.

Case B:
Enter the helicopter as a passenger.
Eject (not Exit) from the helicopter.
Enter as the pilot.
Take off and climb to altitude.
Run moveOut player.
Observe the GetOutMan event handler with isEject.

**Expected Behavior: **
moveOut player should consistently trigger GetOutMan (isEject) with the same value for a pilot in flight, regardless of whether the player entered directly as pilot or switched from passenger.

Actual Behavior:
Case A (direct pilot entry): GetOutMan (isEject) returns false.
Case B (passenger → pilot): GetOutMan (isEject) returns true.

**Notes: **
This inconsistency is caused by the way the moveOut command interacts with the GetOutMan event handler.
https://youtu.be/s_0A6e1y7gE

dreamy bane
#

its alive! 😮

surreal bough
#

Title:
Request for new action command MoveToAny

**Description: **
Currently, Arma provides specific action commands such as MoveToDriver, MoveToCargo, MoveToCommander, MoveToGunner, and MoveToTurret. However, there is no universal action equivalent to the scripting command moveInAny.

This limitation makes it difficult to implement player‑facing actions (addAction) that allow a unit to move into any available seat without manually checking all roles and indices.

**Proposal: **
Introduce a new action command:

sqf
unit action ["MoveToAny", targetVehicle];
This would automatically place the unit into the first available seat (driver, commander, gunner, turret, or cargo), similar to how moveInAny works in scripting.

#

p.s.
To compensate for the absence of a moveInAny action, we have to create such workarounds, while also trying to avoid unintended moveOut unit; unit moveInany _target; behavior when using the scripted alternative

_GetFreeSeat = {
    params ["_veh"];

    private _driverAll = fullCrew [_veh,"Driver",true];
    private _driverOcc = fullCrew [_veh,"Driver",false];
    private _driverFree = _driverAll - _driverOcc;
    if (count _driverFree > 0) exitWith {["driver", []]};

    private _commanderAll = fullCrew [_veh,"Commander",true];
    private _commanderOcc = fullCrew [_veh,"Commander",false];
    private _commanderFree = _commanderAll - _commanderOcc;
    if (count _commanderFree > 0) exitWith {["commander", []]};

    private _gunnerAll = fullCrew [_veh,"Gunner",true];
    private _gunnerOcc = fullCrew [_veh,"Gunner",false];
    private _gunnerFree = _gunnerAll - _gunnerOcc;
    if (count _gunnerFree > 0) exitWith {["gunner", []]};

    private _turretsAll = fullCrew [_veh,"Turret",true]; 
    private _turretsOcc = fullCrew [_veh,"Turret",false]; 
    private _turretsFree = _turretsAll - _turretsOcc; 
    if (count _turretsFree > 0) exitWith { 
        ["turret", (selectRandom _turretsFree) select 3] 
    }; 
    private _cargoAll = fullCrew [_veh,"Cargo",true];
    private _cargoOcc = fullCrew [_veh,"Cargo",false];
    private _cargoFree = _cargoAll - _cargoOcc;
    if (count _cargoFree > 0) exitWith {
        ["cargo", (selectRandom _cargoFree) select 2]
    };
    ["none", []]
};
#
private _seat = [_veh] call _GetFreeSeat;
switch (_seat select 0) do {
    case "driver":    { player action ["MoveToDriver", _veh]; };
    case "commander": { player action ["MoveToCommander", _veh]; };
    case "gunner":    { player action ["MoveToGunner", _veh]; };
    case "turret":    { player action ["MoveToTurret", _veh, _seat select 1]; };
    case "cargo":     { player action ["MoveToCargo", _veh, _seat select 1]; };
    default { systemChat "No free seats available"; };
};
regal nimbus
#

First function can be replaced with a findIf.

surreal bough
# regal nimbus First function can be replaced with a findIf.
_GetFreeSeat = { 
    params ["_veh"]; 
 
    private _driverFree = (fullCrew [_veh,"Driver",true]) - (fullCrew [_veh,"Driver",false]); 
    if (count _driverFree > 0) exitWith {["driver", []]}; 
 
    private _commanderFree = (fullCrew [_veh,"Commander",true]) - (fullCrew [_veh,"Commander",false]); 
    if (count _commanderFree > 0) exitWith {["commander", []]}; 
 
    private _gunnerFree = (fullCrew [_veh,"Gunner",true]) - (fullCrew [_veh,"Gunner",false]); 
    if (count _gunnerFree > 0) exitWith {["gunner", []]}; 
 
    private _turretsAll = fullCrew [_veh,"Turret",true]; 
    private _turretsOcc = fullCrew [_veh,"Turret",false]; 
    private _turretsFree = _turretsAll - _turretsOcc; 
    private _turretIdx = _turretsFree findIf {true}; 
    if (_turretIdx > -1) exitWith { 
        ["turret", (_turretsFree select _turretIdx) select 3] 
    }; 

    private _cargoAll = fullCrew [_veh,"Cargo",true]; 
    private _cargoOcc = fullCrew [_veh,"Cargo",false]; 
    private _cargoFree = _cargoAll - _cargoOcc; 
    private _cargoIdx = _cargoFree findIf {true}; 
    if (_cargoIdx > -1) exitWith { 
        ["cargo", (_cargoFree select _cargoIdx) select 2] 
    }; 
 
    ["none", []] 
};
regal nimbus
#

no no, like one findif :P

#

A bit cleaner with select:

_GetFreeSeat = {
  private _emptySlots = fullCrew [_vehicle, "", true] select { isNull (_x#0) };
  if (_emptySlots isEqualTo []) exitWith ["none", []];
  [_emptySlots#0#1, _emptySlots#0#3];
};
#

IIRC it's not documented but fullCrew's output is ordered by slot type.

unborn acorn
gray wharf
untold sky
untold sky
untold sky
# lime sedge https://feedback.bistudio.com/T197736
  1. Your repro spawns wreck at "start" marker, but the marker doesn't exist.
    It doesn't draw icons, because the drawIcon script command isn't executed.

Every entity that has the component for a minimap display.
Checks if the display is already registered globally, if not it creates one.

At briefing screen, a "Logic" is spawned by initFunctions.sqf, which initializes a "RscCustomInfoMiniMap"
Then the wreck is spawned, its a vehicle Entity with a minimap display component, it creates a "RscCustomInfoAirborneMiniMap"
Its a different display, it has a config error.

class RscCustomInfoAirborneMiniMap: RscCustomInfoMiniMap
{
};

It inherits the onLoad script, from RscCustomInfoMiniMap
So it ends up registering itself as RscCustomInfoMiniMap, overwriting the uiNamespace variable.

Your waitUntil runs, finds the airborne display and registers to it. Instead of getting the main player one.
If you spawn a non-broken aircraft, and get inside, and open the display, you see your icon.

lime sedge
untold sky
#

You wait for us to fix the broken config, or fix it yourself with a mod.

    scriptName="RscCustomInfoMiniMap";
    onLoad="[""onLoad"",_this,""RscCustomInfoMiniMap"",'IGUI'] call     (uinamespace getvariable 'BIS_fnc_initDisplay')";
    onUnload="[""onUnload"",_this,""RscCustomInfoMiniMap"",'IGUI'] call     (uinamespace getvariable 'BIS_fnc_initDisplay')";

These need to be replaced on the airborne one

tepid fractal
#

If there's no script for the airborne one changing scriptName will break it I think

lime sedge
untold sky
tepid fractal
# untold sky No

Is there a script for it or am I misremembering how the ui script stuff works?

untold sky
#

There is a default init display handler

#

If it can find a specific one it will use it, but there is none for the RscCustomInfoMiniMap either

tepid fractal
#

Makes sense

#

I kinda looked at it once and didn't see the need when you can just call a function in the onLoad

vocal thistle
#

I saw in the documentation that a new procedural texture is dropping, smells like a game update brewing so figured it might be a good time to ask if there's any chance we could get this fixed. BettIR would be 100% engine friendly if it wasn't for this part, which would require me to write a nasty workaround, and perhaps it could be avoided 😅

sinful kettle
vocal thistle
# sinful kettle if you make me a minimal addon to test I can take a look at it

Awesome, I'll try to extract something tomorrow.
It's mainly for this mod:
https://steamcommunity.com/sharedfiles/filedetails/?id=3639910715

The low power laser and laser+illuminator variants of the original laser attachment have this problem, I want to just show the IR dot and not the beam, or shrink the beam so it's not as visible, but iirc for now I just converted them to visible lasers with transparent colors so I can read the on/off state and render a scripted laser instead

surreal bough
#

Feature Request: Display All Weapons in Dead Unit Inventory
**Description: **
Currently in Arma 3, when a unit dies, the engine drops all weapons into WeaponHolderSimulated containers. However, when opening the dead unit’s inventory, only the primary weapon (rifle/assault weapon) is shown in the list. Secondary weapons (pistols) and launchers (RPGs, disposable AT weapons) are not displayed in the same inventory list, even though they are present in nearby containers. This creates inconsistency: the rifle is visible, but the RPG is not.

Steps to Reproduce:
Equip a unit with a rifle and a launcher (e.g., RPG).
Kill the unit.
Open the dead unit’s inventory.
Observe that the rifle is visible, but the launcher is missing.

**Actual Result: **
Only the primary weapon is displayed in the dead unit’s inventory. Launchers and other weapons are dropped into separate containers and not visible in the same list.

**Expected Result: **
All weapons carried by the unit (primary, secondary, launcher) should be displayed together in the dead unit’s inventory list. Players should be able to see and take both the rifle and the RPG directly from the body without searching for separate containers.

Benefits:
More logical and realistic inventory behavior.
Simplifies player interaction with dead units.
Reduces confusion between body inventory and external containers.
Improves mission flow where quick access to all fallen soldier’s weapons is important.

**Proposal: **
Update the engine so that the dead unit’s inventory displays all weapons the unit carried at the time of death, not just the primary weapon. Launchers and secondary weapons should be visible in the same interface.

#

**My Workaround (Limitation): **
I made a scripting workaround that makes the launcher visible by attaching its WeaponHolderSimulated container directly to the corpse:

_unit addEventHandler ["Killed", {
    params ["_unit"];
    [_unit] spawn {
        params ["_corpse"];
        sleep 0.5;
        private _holders = nearestObjects [_corpse, ["WeaponHolderSimulated"], 5];
        {
            private _holder = _x;
            private _weapons = weaponCargo _holder;
            if (_weapons findIf {getNumber (configFile >> "CfgWeapons" >> _x >> "type") == 4} > -1) then {
                _holder attachTo [_corpse, [0,0,0]];
            };
        } forEach _holders;
    };
}];

This workaround makes the launcher appear when looting the body, but then the rifle is no longer visible in the same list. It demonstrates the limitation: the engine only allows one weapon type to be shown directly in the corpse inventory.
https://youtu.be/S6pOtiR1uSo

lime sedge
surreal bough
# lime sedge Try this workaround: ```sqf _unit addEventHandler [ "Killed", { ...

it worked, but only with a pause

player  addEventHandler [ 
    "Killed", 
    { 
        params ["_unit"]; 
        [_unit] spawn { 
  params ["_corpse"]; 
  sleep 0.5; 

 
        (getCorpseWeaponholders _corpse) params ["", ["_weaponHolder", objNull]]; 
 
        if (isNull _weaponHolder) exitWith { }; 
 
        _corpse setUnitLoadout [ 
            nil, 
            (weaponsItemsCargo _weaponHolder) select 0, 
            nil, 
            nil, 
            nil, 
            nil, 
            nil, 
            nil, 
            nil, 
            nil 
        ]; 
    } 
    }
];
lime sedge
# surreal bough it worked, but only with a pause ```sqf player addEventHandler [ "Killed",...

Will this work?

_unit addEventHandler [
    "Killed",
    {
        params ["_unit"];

        (getCorpseWeaponholders _unit) params ["", ["_weaponHolder", objNull]];

        if (isNull _weaponHolder) exitWith { };

        [_unit, (weaponsItemsCargo _weaponHolder) select 0] spawn {
            params ["_unit", "_secondaryWeaponInfo"];

            sleep 0.5;

            _unit setUnitLoadout [
                nil,
                _secondaryWeaponInfo,
                nil,
                nil,
                nil,
                nil,
                nil,
                nil,
                nil,
                nil
            ];
        };
    }
];
surreal bough
lime sedge
vocal thistle
sinful kettle
#

put it on the ticket plz

vocal thistle
#

epic

vocal thistle
sinful kettle
azure crane
vocal thistle
#

As right now it seems that setting isIR to 1 enforces the default ir pointer beam and ignores the other settings

sinful kettle
#

will be fixed in the next dev branch update (or probably the one after that)

fallen cloak
#

Wheres the leopard20 appreciation thread for the flow of new commands/features on demand meowheart

azure crane
vocal thistle
vocal thistle
sinful kettle
#

but if scripted/non-IR beamThicknesses were also multipliers then all's good

vocal thistle
#

I remember there was a conversation when I first reported this problem a while back

#

That apparently the IR laser is rendered in some different way and it cant be tuned the same way a vis laser is, it's like two separate handlers based on the isIR flag if I remember correctly

vocal thistle
sinful kettle
#

hmm I didn't see a difference in the code tbh. so with scripted non-IR lasers, beamThickness is thickness in meters?

vocal thistle
#

I have no idea to be fair haha

#

I haven't been using the scripted lasers for a while and I just adjusted the thickness until it looked right

#

I think this was the last time I touched scripted lasers

#

Either way, doesn't matter for me, as long as it works in the update ✌️

sinful kettle
#

I'll double check it tonight. but biki says the beamThickness in drawLaser is a scale (not actual thickness) so I think there won't be much surprises (config IR still does act differently from script tho)

sinful kettle
#

yeah it's also a scale