#arma3_feedback_tracker

1 messages · Page 21 of 1

sinful kettle
#

no I just want to see the new spheres

snow cairn
sinful kettle
#

hmm. that should fix it
I sent a "fix" to Dedmen for this a while ago but he said let's wait until after 2.20
@untold sky

snow cairn
#

so whats the fix?

sinful kettle
#

the fix would just use the model BB instead of lod BB

#

for this issue. I thought it only affects animated objects but looks like not

snow cairn
#

just for the carrier model or would it apply universally

sinful kettle
#

universally (engine code change)

#

the LOD bbs are borked for some reason. they don't account for anims so they're too small. but this makes 0 sense because it has no anims

snow cairn
#

as someone that doesn't do modelling, this is eye opening.

sinful kettle
#

ofc this "fix" has downsides too. some model BBs are much larger than LOD BBs which can slow down calculations. that was actually one of the reasons why Dedmen didn't like it

#

but the only alternatives are:

  1. leave the bug be
  2. recalculate model bounds at runtime
#

both are bad

snow cairn
#

also putting concrete panels over where you'd fall through lol

sinful kettle
#

the slowdown will be pretty insignificant imo

sinful kettle
#

many other models are still affected

hallow sun
#

I had the same problems with the USS Liberty for players walking inside the ship some years ago, had to place a floor under two seams.

true blaze
#

Dunno i used script i posted in wiki for testing. I wasnt able to find seams but tbf i didnt look very hard. One could pull the carrier parts towards the base for 1 cm to fix that.

#

But would have to scale overlap for each part lenghtwise otherwise youd just end up with seam in another place.
Or a dirty solution would be to use setobjectscale and make each part slightly larger

#

Can you tell me what rotation was used where seam was most noticable?
Basically pos/dir vector?

dreamy bane
#

which carrier are you trying to spawn?

true blaze
#

Freedom, vanilla

dreamy bane
#

hmm isnt that just "Land_Carrier_01_base_F" createVehicle _pos;

true blaze
#

No. Carrier is assembled from parts. Script for that executes on init of base part.
Issue is with seams between said spawned parts of ppl falling thru

dreamy bane
#

ive never had problem with that. here's my full code, I think the last line here is important: ```sqf
_pos set[2,0];
private _carrier = "Land_Carrier_01_base_F" createVehicle _pos;

_carrier setposASL _pos;

_carrier setDir _angle;

[_carrier] call BIS_fnc_Carrier01PosUpdate;

true blaze
#

Ofc its important, otherwise you just roate base and actual parts stay the same.

Here is an exaggerated example of bad stitching, spawn carrier in eden, and set rotation vector to [43.124, 21.563, 24.097]. Observe the results ingame

dreamy bane
#

ok i guess using other than setDir is problematic then

true blaze
#

Even when using setDir, but above really brings the issue to light. Apparently seams are still big enough, that you can fall thru, if you walk on seam midline

#

While function i posted seems to fix the large offset, small seams, that make you fall thru still remain.

dreamy bane
#

weird, ive never noticed such problems

gray wharf
#

go with 90° angles

#

it has been discussed somewhere very recently, it is due to a bad scripting

true blaze
#

Its really hit or miss, but when it happens its annoying. Worst case you fall thru, best case you skydive and break legs

gray wharf
#

setDir 0/90/180/270 for best results

true blaze
#

Hence id like his pos/rotation as this one seems very noticable ^

gray wharf
true blaze
#

This aint looking "too far". And as Leopard explained, error would be relative, and in order of mm, not cm

verbal harness
#

Might have fixed the math

true blaze
#

Set vector dir and up instead of bank roll?

verbal harness
true blaze
#

But seam issue persists

alpine tulip
verbal harness
#

What is that rotation? I can't seem to find any seams big enough to fall over/into after fixing the rotation

alpine tulip
#

x, y, z in Eden = 0, 341.454, 0

true blaze
#

There is also visible z offset. So i wonder if mem points themselves are also crooked. Ill check in the evening

sinful kettle
sinful kettle
#

even if you do fix this seams issue by overlapping the models, you still do get glitches (this time z fighting)

unborn acorn
true blaze
daring wagon
#

Since we have addonFiles why don't we have missionFiles Giving a list of all files inside the mission folder, security?

true blaze
#

@snow cairn After fiddadling with it a bit more, and finding places where i could reliably fall thru, i found a working but dirty solution.
If you dont mind rendering glitches along the seams, it works, i ran up and down along the seams for some 30 minutes and didnt fall thru.
initCarrier.inc

params[["_carrierBase", objNull]]; 
private ["_dummy", "_pos"]; 

//create and assemble the carrier on server 
if (!isServer) exitWith {}; 

private _carrierDir = vectorDir _carrierBase; 
private _carrierUp = vectorUp _carrierBase; 
private _carrierPos = getPosWorld _carrierBase; 

// For overlap scale adjustment, 1.007 seems to be lowest to prevent fallthru
private _scale = 1.007;
private _zOffset = (_scale - 1)*20;

private _cfgVehicles = configFile >> "CfgVehicles"; 
private _carrierParts = (_cfgVehicles >> typeOf _carrierBase >> "multiStructureParts") call bis_fnc_getCfgData; 
private _carrierPartsArray = []; 

{ 
    _x params ["_dummyClassName", "_dummyPosName"]; 
    
    _pos = _carrierBase selectionPosition _dummyPosName;
    if (_dummyPosName find "hull" == -1) then
    {
        // Compensate for scale
        _pos = _pos vectorAdd [0,0, _zOffset];
    };
    _pos =  _carrierBase modelToWorldWorld (_pos); 

    _dummy = createVehicle [_dummyClassName, _pos, [], 0, "CAN_COLLIDE"]; 
    _dummy setPosWorld (_pos); 
    _dummy setVectorDirAndUp [_carrierDir, _carrierUp]; 
    _dummy setObjectScale _scale ;
    _dummy allowDamage false;
    
    _carrierPartsArray pushBack [_dummy, _dummyPosName]; 
} foreach _carrierParts; 

_carrierBase setVariable ["bis_carrierParts", _carrierPartsArray, true];

Also note this will only work close to sea level. If you wanna make flying carrier you will still drop thru.

unborn acorn
gaunt depot
sinful kettle
#

there are too many cases and if you ask me they all matter.
script won't work because it's a model parameter and models are shared.
also config fixes won't fix the models (e.g if you make super simple objs)

alpine tulip
#

This is real random and wild idea: is it still worth of effort so a proxy can have multiple P3Ds/objects?
My usecase: more slots for character cosmetics

Yeah, the answer will be a big "no" but...

#

Also one thing... Will you guys do model data fixes? Do you guys (or reyhard himself) prefer to have such reports? Like Taru Medical (IIRC)'s wrong texture, CTRG uniform's wrong hand weight, US Parade Suit have unretexturable parts, etc. I think I have never heard a yes or no answer

sinful kettle
alpine tulip
#

I don't mean proxy in proxy, but having more than one proxy model in one proxy. Legitly I have no clue how a proxy works tho

sinful kettle
#

I thought this was possible too thonk

alpine tulip
#

So basically, having more cosmetic (mask with glasses, hat with headset etc) is easily possible

gray wharf
#

2.16?
diag_testScriptSimpleVM <code>, returns nothing?

daring wagon
#

nothing makes no sense I guess

gray wharf
#

I believe it prints in logs directly, but I may be wrong

untold sky
#

It returns array afaik.
I think it's disg only

hot lark
daring wagon
alpine tulip
#

Strange idea: alternative format where take args like:
["%ArgFirst, %ArgSecond", "%ArgFirst", "Hello", "%ArgSecond", "World"] so it prints "Hello, World"

regal nimbus
#

I don't get it.

#

Oh, like replace string #1 with #2 etc?

alpine tulip
#

Jup

regal nimbus
#

Isn't that what regex is for

alpine tulip
#

🤔 maybe

fallen elk
#

Unintended behavior from getOrDefaultCall or is it basically the same limitation as event handlers?

createHashMap getOrDefaultCall ["something", {
    if (true) exitWith { -1 };
    1
}];
// nil
regal nimbus
#

I asked before, apparently it's intentional :/

#

I don't understand the logic though.

#

I felt like getOrDefaultCall could really do with a magic variable with the key name too.

fallen elk
#

import it is I guess HaHaa

hollow garden
#

Hello admins of Arma Official Servers. 2 Years ago i played on official Servers of Arma 01 and 03.
There were available in the past:

  1. UAV,
  2. Drawing on the map,
  3. captured Verhicles of green fraction did not disappear
  4. also killed green soldiers disappear very fast...after 5 min. if i want to take their weapon, i dont have a chance

My questions are:
It was very interesing gameplay with those 3 aspects, which i wrote. Is it possible, that those 3 aspekts you, admins,
turn on again on official servers 01 and 03?

Reference point 1
-without UAV, on BLUFOR side, you can not use rhino shooting by laser any more
in comparison to opfor, angara is much stronger as rhino, if you play with rhino like with angara.
-also you can not drop bombs on laser of UAV.

Reference point 2
-if i order launcher or other weapon, i can not find it anymore, because i can not put a point on the place, where i got it.
-i can not make drawing informations for me and my teammates

In total i buyed this game with all these features. Now you, admins, disable these features. Why i should have disadvantages because of your changes.
If you do such changes, i want to get also a share of price, which i payed for this game, back.

Give please Information when exactly you make the changes back.

Thank you very much for your attantion!

gray wharf
hollow garden
#

thank you

#

i posted because admin HorribleGoat wrote: Feedback tracker would be the place to post suggestions.

gray wharf
#

ah yes! the feedback tracker itself ^^

In total i buyed this game with all these features. Now you, admins, disable these features. Why i should have disadvantages because of your changes.
it is a mission design decision, you can still play on other servers
in the end Dwarden will or will not adapt this as he said

hollow garden
#

i know, that i can still play on other servers. but there is not a server like 01 or 03 and has these 4 points, which i wrote above. So it is very important for the gameplay, that these 4 features will be adapt. 5 players (who play on servers 01 and 03) more told the same problems and does not like, that these changes implemented. Because of it, i decided to write.

desert trench
untold sky
untold sky
sinful kettle
daring wagon
snow cairn
#

But I'll go back and sphere it if you want on profiling. I don't remember if we sphered on profiling, but I found the issue first on profiling.

untold sky
untold sky
alpine tulip
untold sky
sinful kettle
gray wharf
untold sky
dreamy bane
#

*only the elite will know the magic variables *

verbal harness
uncut briar
untold sky
#

Well not in that specific case.
Because _this being the key, would again be _this

gaunt depot
#

Make new commands that include magic keys and leave old ones untouched feelsgoodenoughman

gaunt depot
#

getOrDefaultCallKey

#

countIndex with _countIndex, applyIndex with _applyIndex hmmyes

#

Or just _index or even _y

#

selectIndex too

untold sky
#

I wanted to turn _forEachIndex into a command, that fetches the index.
Saves us from having to set a variable, so makes it faster if you're not using the index, and starts working in every loop. Even while loops could get their iteration counter
But, breaks people who do _forEachIndex = 5; Which shall be forbidden anyway

alpine tulip
#

Just a thought actually
configfile >> "CfgVehicles" >> "MBT_02_base_F" >> "Turrets" >> "MainTurret" >> "animationSourceBody" is "mainTurret"
But is it possible to get "otocvez" from "mainTurret" using a script command? So basically fetching a selection name from an animation name, useable for attachTo

untold sky
fast lodge
#

yea that must be it I guess

untold sky
#

A second change to setUnitLoadout is that it will no longer delete/recreate the backpack/vest containers when you replace them by one with the same type

tropic jewel
untold sky
fast lodge
#

the weird thing is that the units I placed are playable civ units without weapons, I guess when the player starts taking control over it does an switch Weapon animation

true blaze
untold sky
#

I don't know anything about that

true blaze
untold sky
true blaze
#

Ah...

verbal harness
#

I'll deal with it when im dealing with other script errors for 2.22

scarlet sage
#

Is it intentional that these little lights on the locked doors are visible from space (but not streetlights and stuff)? I'm guessing no, but I don't have time for a real bug report on the tracker.

#

Also, now with the illumination flares, I feel like it's weird that the mortar has more flare rounds than smoke rounds.

fast lodge
#

flareMaxDistance is probably set to high

meager radish
#

And after 5-10 seconds this fires false and all works fine

#

So any chance for "force apply" arg in setUnitLoadout?

dusky tendon
#

Why, after all these years, is there still no command that brought back the one who activated the mine and can detonate it? (in this case, a demolition charge)
Of the corpses present, only one FIA engineer was clearly robbed of one charge. And I definitely haven't seen him personally install it. And it is impossible to find out the owner of the explosives at all.

scarlet sage
dusky tendon
final isle
#

Why does the blackfoot have DARs now instead of DAGRs? (after 2.20)

last reef
#

Kinda maybe dumb question but with regards to v2.20 is that on profilining branch or on main one? What gives better preformances now?

alpine tulip
#

Both are 2.20

last reef
alpine tulip
#

As for now there shouldn't be much difference

near cedar
verbal harness
untold sky
unborn acorn
desert trench
#

steam overlay, steam fps and steam key actions still dont work in 2.20 for me. anyone else still with this prob?

gaunt depot
limpid rune
#

I think that'll defeat the purpose of it because the variable would have to still be made which is the peformance issue

gaunt depot
#

How on earth ctrlTextWidth can be -nan(ind)? Maybe add a failsafe inside the command to return 0 in such case or something?

#

Or force recalcuate the width

#
    _ctrl_line ctrlSetStructuredText _text;
    ctrlTextWidth _ctrl_line;
    private _line_width = ctrlTextWidth _ctrl_line + KILLFEED_WIDTH_EPSILON;
    if(!finite _line_width) then {
        diag_log text format ["line_width somehow is not finite!!!"];
        diag_log text format ["ctrl_line = %1", _ctrl_line];
        diag_log text format ["line_width = %1", _line_width];
        diag_log text format ["ctrlTextWidth ctrl_line = %1", ctrlTextWidth _ctrl_line];
        diag_log text format ["ctrlTextWidth ctrl_line + EPSILON = %1", ctrlTextWidth _ctrl_line + KILLFEED_WIDTH_EPSILON];
        diag_log text format ["ctrlPosition ctrl_line = %1", ctrlPosition _ctrl_line];
    };
```=>

15:49:41 line_width somehow is not finite!!!
15:49:41 ctrl_line = Control #-1
15:49:41 line_width = -nan(ind)
15:49:41 ctrlTextWidth ctrl_line = -nan(ind)
15:49:41 ctrlTextWidth ctrl_line + EPSILON = -nan(ind)
15:49:41 ctrlPosition ctrl_line = [0.840027,0.0487704,0.159973,0.0364]

#

Not creating a ticket because no way this can be reproduced

#

Since I use a lot of ui2textures in that structured _text my guess the bug stems from some bugged ui2texture texture

untold sky
#

simpleVM already gets rid of _forEachIndex if you're not using it. But SimpleVM is quite limited

untold sky
#

Oh I see, that command is not just checeking text width

#

A structured text, that contains ui2tex images?
I didn't know that was possible 😄

#

jo I see.. image width..
But it pulls it from the underlying DirectX texture, which's size is set in the procedural texture string.
Maybe its possible its somehow not initialized yet.

I need atleast some repro that triggers this code, with a ui2tex so I can follow along and see what might be going wrong

gaunt depot
#

I guess I can just make it wait until ctrlTextWidth is not nil or something

regal nimbus
#

Is there a hidden branch with 2.18 on it? Need to check if something changed.

fickle root
#

legacy

regal nimbus
#

Does that have a code?

#

Ah, Arma3LegacyPorts

verbal harness
regal nimbus
#

thx

cursive tusk
regal nimbus
#

What's the process there? Do you have to beg Nvidia not to allow cheats in your game?

cursive tusk
fallen elk
modest sonnet
solid marten
#

NVM got it reproed

untold sky
cursive tusk
unborn acorn
devout wave
verbal harness
#

correct, see caseless cartridge here

unborn acorn
true blaze
#

These are caseless links

cursive tusk
#

What does Restricted Maniphest Task mean?

devout wave
#

It means the task's visibility has been restricted to certain users or groups of users. Could be an internal task, a security-related task, a task related to an unrevealed project, or a spam task that's been hidden.
Maniphest is one of the feedback tracker's systems. Maniphest tasks are FT tickets.

cursive tusk
#

I guess im just trying to find out if its been deleted or something. Even on my account I cant even see that I created it

cursive tusk
gray wharf
cursive tusk
gray wharf
cursive tusk
gaunt stratus
#

Guess thats the most correct channel to post this.
Our closed community start to feel crazy desync since the 2.20 update, in additional with broken player slots when relogging after briefing stage.

Can not provide any additional rpt files atm.
Games include TFAR, ACE, RHS and other mods, which was stable on 2.18. We did not really updated anything after release.
Desync caused invisible players and 'enabled' (?) godmod for several players, as shown on video. Player count was ~100 players

Hope this will help to understand something.

regal nimbus
#

@gaunt stratus Is the server running on perf or stable branch?

gaunt stratus
#

Im sorry if this is obvious case, and did not bring any new info for this issue.

regal nimbus
#

Dedmen did find a desync (well, guaranteed queue stall) bug earlier but I think that was perf branch.

gaunt stratus
#

Well, we did not experienced this level of craziness after rolling back on stable branch. But TFAR is being crazy with its sync. Sometimes you can’t hear your teammates and its one-way issue usually (they hear you, you hear only few). Fixes by time or relogging on slot.

Not really related to arma problems, ig its TFAR Beta plugin stuff

#

Anyway, thanks for info.

gaunt stratus
regal nimbus
#

In that case you should report any networking issues on #perf_prof_branch. And if you run into major issues then try switching back to stable and see if it helps.

#

Perf v4 was released yesterday with a desync fix so try that first.

gaunt stratus
#

We did not tried v4 yet. But rolling back on stable version really helps us. We'll try v4 i guess.

desert trench
gray wharf
#

(↑ changed rev 152597)

spring ice
regal nimbus
#

Oh, this was actually better in A2?

spring ice
#

@regal nimbus yes

regal nimbus
#

Currently intending to drop waypoints entirely in favour of scripting because the behaviour is all busted. But I figured it always was.

spring ice
regal nimbus
#

GET OUT has a funny bug where they'll get out on previous waypoints instead for some reason. And then you have vanilla vehicles occasionally stopping before they reach the completion radius.

desert trench
# spring ice https://feedback.bistudio.com/T81303 please fix 🙂, this is majorly game breakin...

to see any chance of this getting fixed, i would strongly assume a tightly tailored repro/demo mission is needed.
the outcome may very well depend on various factors (vehicle type, group leader setup, combat and behaviour state, waypoints, etc)
unloadInCombat should play a key role. the config setting seems unchanged since OFP (active for car and motorcycle).

potentially a change in the system with PX, or AI could have influenced/broken it
the said different commands given by the effectiveCommander could indicate something

still would need debugging with https://community.bistudio.com/wiki/canUnloadInCombat and other AI state commands,
as well as said repro steps/demo mission

#

i am not 100% on this: i think Ondra did also some fixes in late OA with AI get in/out behavior (which may not have been merged to A3)

#

meaning it might matter when it was working as suggested (OFP, A1, A2, OA)

daring wagon
#
13:47:49 "Rastergröße erhöhen"
13:47:49 Bad conversion: string
13:47:49  ➥ Context:     [] L137 (x\enh\addons\main\functions\GUI\x\x.sqf)

What's that about?

#

I get the text like this private _text = getText (_x >> "text"); and directly print it to rpt

#

And this is the path configFile >> "Display3DEN" >> "Controls" >> "MenuStrip" >> "Items" >> "ToggleFlashlight" >> "text"

spring ice
#

One Mech and one motorized with MOVE waypoint where the squad simply does nothing after the engagement and one of each again with a Seek and Destroy waypoint where the truck is leaving behind units while driving away.

dusky tendon
#

The players on our server started complaining that their ranks and experience and all the data were missing. Since version 2.20, callExtension ExtDb3 now returns a record error where "" is present. Before version 2.20, everything was fine and "" did not affect the return of the string in the callExtension

Screenshot 1. The name of the player with "".
Screenshot 2. The player changed the name where there is no ""

regal nimbus
#

I don't get it. Where's the ""?

#

Oh, they actually wrapped their profile name with quotes...

dusky tendon
#

Every players with "" lost all after join server...
Only the ЯПОНЧИК got the correct data because he deleted "" in his profile name

regal nimbus
#

I think you'd need to boil down the issue a bit more to get any response. The ScusDatabase functions are your code, right?

dusky tendon
hallow sun
#

This was always a problem with extDB3 in my experience from years ago with Exile.
Had similar problems with players with "" in their name back then.

dusky tendon
#
params [["_CustomStateName","",[""]],["_args",[],[[]]]];
(call SCusDatabase_fnc_ConnectSettings) params ["_db_name","_protocol"];
_plugin = ["0",_protocol,_CustomStateName]+_args;
_formatArray=_plugin joinString ":";
if IFDEBUG(2) then {diag_log text "CallCustomProtoloc";diag_log _formatArray;};

_return="Extdb3" callExtension _formatArray;
if IFDEBUG(2) then {diag_log text "CallCustomProtoloc";diag_log _return;};

parsesimpleArray _return;
regal nimbus
#

well, you have the diag_logs there. Is the issue introduced before or after the callExtension?

#

Well, or after the parseSimpleArray

dusky tendon
#
//[parsesimpleArray _return,_return]

[
    [1,[[""]]],

"[1,[[""""Andrei Gud"""","""","""",[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],[[0,0],[0,0],[0,0]],[[1,0],[1,0],[1,0]],[[0,0],[0,0],[0,0]],[0,0,0,0,0],[],[[0,0,0,0,0,0,0],[0,0,0],[0,0,0],[0,0,0]],5,0,11145,0,0.0,0]]]"
]
#

Yes parsesimpleArray "Impostor"

dusky tendon
#
//[compile _return,call compile _return]

[
{[1,[[""Andrei Gud"","","",[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],[[0,0],[0,0],[0,0]],[[1,0],[1,0],[1,0]],[[0,0],[0,0],[0,0]],[0,0,0,0,0],[],[[0,0,0,0,0,0,0],[0,0,0],[0,0,0],[0,0,0]],5,0,11145,0,0.0,0]]]},

<null>
]
#

Yes thx... blobdoggoshruggoogly

#

Find Error in log

22:20:37   Error position: <parsesimpleArray _return,_return]>
22:20:37   Error parseSimpleArray format error
#
//Error
parseSimpleArray "[1,[[""""Andrei Gud"""","""",""""]"
//Work
parseSimpleArray "[1,[[""Andrei Gud"","""",""""]]]"
#

Need try call this in 2.18

solid marten
#

if you want string you do str if you want quotes in string you do str str

str [str "name", "", ""]

#

The result is

"[""""""name"""""","""",""""]"

#

and there were no changes to parsesimplearray

dusky tendon
#

callextension result - "I don't care about your rules, I'll write two instead of four. It doesn't affect me anymore"

desert trench
#

File '@WW2SPEX\addons\ww2_spex_assets_c_characters_americans_c.pbo' not found.

#

any chance to see this type of message improved please

#

from what i understand this is actually a client missing a mod/pbo (and the message is logged on the DS)

#

at least it should mention the player in some form to have the context

#

Warning: Cannot evaluate '' would be nice to have context from -debug (from parsing configs stage)

untold sky
#

But its not the config entry thats not a string.
Its a script variable.

untold sky
untold sky
desert trench
#

the weird one with this is that AFAIKI its from either bugged mod.cpp or defines/macros in configs.
however it only appears in one session for that server. with multiple sessions have the same modset (same hash)

#

Slow network for player name='XXX', ID=DDD, steamID=DDD. DisconnectTimeout too high (11/30000 ms)

#

first time i noticed this one. does the value display at the end make sense?

#

like here it does:

Slow network for player name='XXX' ID=DDD, steamID=DDD. Ping too high (1208/ 999 ms)

untold sky
devout wave
desert trench
#

yeah the message doesnt quite make sense to me

desert trench
#

i'd love that they fix the broken script in the campaign mission " ", where, if your officer dies before you take the city, the mission breaks and you cannot advance and finish it. I mean, it's an early important mission in the main campaign; and i like the main campaign. I still recommend the experience, but it's broken.

#

(if anyone knows what the guy is referring to)

devout wave
#

I think it may be Tipping Point

#

In that mission, you assault a town, you have an NPC squad leader, and the Fandom wiki claims there was a soft lock if that squad leader died too early. It also says the issue was fixed in 2.14, though.

untold sky
unborn acorn
desert trench
untold sky
#

No.
It said it dropped the connection (without saying what the reason for the drop was)
And informed you what the time and timeout were

In this case the time is waaaay less than the timeout

desert trench
#

Ref to nonnetwork object 1213717: shell_tracer_red.p3d SPE_S_37L57_M51

#

these have no context, so engine created from ammo?

#

https://community.bistudio.com/wiki/setUnitLoadout has global arguments and effect - is that wrong?

_unit setUnitLoadout _unitClass; (without prior local check)

leads to

Ref to nonnetwork object 200fd21c700# 412648: spe_civ_pak2_swetr.p3d SPE_FFI_Doctor
➥ Context: [] L617 (WW2\SPE_Missions_p\GameModesBI_p\SPE_Combat_Patrol\CPInit.sqf)
[] L596 (WW2\SPE_Missions_p\GameModesBI_p\SPE_Combat_Patrol\CPInit.sqf)
[] L49 (WW2\SPE_Missions_p\UtilityFunctions_f\equipment\fn_SPE_setUnitLoadout.sqf)
from server.rpt - script only executed by isServer

#

this might explain also why i am seeing naked units now in 2.20. aka the setUnitLoadout no longer apparently gets applied to remote units.

#

is it possible setUnitLoadout network behavior was changed with 2.20?

vapid cradle
#

It would be great if two AIs could coordinate their effort to make a vehicule aim at a specific target. I'm working on this kind of cannon and this king of cannon takes 2 persons to handle it ( a driver and a gunner). The problem is this kind of cannon cannot rotate left and right, it can only rotate up and down and two AIs cannot coordinate their actions to aim at the target but players can.

desert trench
deft marsh
#

@hexed sonnet can you get @trim acorn to check his discord and check his pm's have stuff for tracker issue I posted above in a PM with him

#

thanks 😃

vapid cradle
desert trench
#

SPE_fnc_System_Vehicles_Static_MainAI_Thread
P:\ww2\SPE_Core_f\System_Vehicles_f\staticWeaponAI\fn_mainAI_Thread.sqf

SPE_fnc_System_Vehicles_Static_turnHandler
P:\ww2\SPE_Core_f\System_Vehicles_f\staticWeaponAI\fn_turnHandler.sqf

or
SPE_fnc_System_AI_SPG_mainAI_Thread
p:\WW2\SPE_Core_f\System_Vehicles_F\aiSPG\fn_mainAI_Thread.sqf";

gaunt depot
#

Want to bump this. Tiles are great for procedural textures and controlling them through script would be even better

untold sky
untold sky
desert trench
#

Alright. Not sure if armahost allows switching to prof - will check.

The code is

        _units = [];
        {
            _units pushBackUnique _x;
        }
        forEach (allPlayers + ([switchableUnits,playableUnits] select isMultiplayer));

        {
            _unit = _x;

            [_unit,BIS_infantryPlayer] call SPE_MissionUtilityFunctions_fnc_SetUnitLoadout;

            ...
        }
        forEach _units;```
untold sky
#

Are you actually setting a local-only units loadout?

#

Although man type units should not be local-onlyable. But I probably allowed it assuming people knew what they were doing when using that checkbox

desert trench
#

BIS_infantryPlayer is the class type (aka string)

#

so cant see how these units would be local only

#

i can test tonight locally with prof (DS+client)

#
Ref to nonnetwork object DDD : xxx

shell_tracer_green.p3d SPE_PzGr4042_KwK42_APCR
shell_tracer_red.p3d SPE_76mm_M1_M62_APHE
shell_tracer_red.p3d SPE_76mm_M1_M93_APCR
shell_tracer_red.p3d SPE_76mm_M7_M62_APHE
shell_tracer_red.p3d SPE_M101_M67_HEAT
shell_tracer_red.p3d SPE_M61_M1_AP
shell_tracer_red.p3d SPE_PzGr3942_KwK42_AP
shell_tracer_red.p3d SPE_S_37L57_M51
shell_tracer_red.p3d SPE_S_37L57_M74
shell_tracer_white.p3d SPE_50mm_PzGr39_AP
shell_tracer_white.p3d SPE_50mm_PzGr40_APCR
shell_tracer_white.p3d SPE_PzGr39_KWK40_AP
shell_tracer_white.p3d SPE_PzGr40_APCR
spe_105_shell.p3d SPE_M101_M1_HE
spe_shell.p3d SPE_50mm_SprGr38_HE
spe_shell.p3d SPE_76mm_M1_M42_HE
spe_shell.p3d SPE_76mm_M7_M42_HE
spe_shell.p3d SPE_76mm_M89_SMK
spe_shell.p3d SPE_M48_HE
spe_shell.p3d SPE_S_37L57_M63
spe_shell.p3d SPE_SprGr_KwK36_HE
spe_shell.p3d SPE_SprGr34_KWK40_HE
spe_shell.p3d SPE_SprGr39_HE
spe_shell.p3d SPE_SprGr42_KwK42_HE

@limpid rune would you happen to have an idea or a hunch what these would be/created how?
like its not regular weapon ammo, nor submunitions - yet how could these be generated?

limpid rune
#

might be something to do with some sound thing

#

like the interior hit sounds, ricochet sounds etc

#

thats the only thing I can think of

limpid rune
#

that isnt to say the scripts are creating the projectiles its more likely the scripts are trying to 'reference a nonnetwork object'

untold sky
#

projectiles are indeed a bit quirky. Some of them are local-only but every client has their own copy kinda thing

#

Most likely the real fix is to add local checks into engine, but for that I need to trace out exactly what thing that is

vapid cradle
#

Actually this cannon will require a driver to position and act as the gun turret and a gunner to handle elevation (and a third guy to bring the ammunitions). The cannon is not supposed to rotate on z axis to get the proper orientation but you're suppoed to drive it to the right orientation

ripe crystal
#

Any updates on this- we are still having issues with this 🥺

#

We check players weapon type a lot in onPlayerKilled and when this doesn't sync it breaks stuff in our mission notlikemeowcry

unborn acorn
desert trench
desert trench
# desert trench ```cpp Ref to nonnetwork object DDD : xxx shell_tracer_green.p3d SPE_PzGr4042_K...

tried to narrow it down a bit without much success. cant see a createVehicleLocal of ours related to these ammo types, nor does the sound FX classes related

one possible angle might be:

_projectile addEventHandler ["Deflected", {
    params ["_projectile", "_pos", "_velocity"];

    [_projectile,_pos,_velocity,"default"] call SPE_fnc_positionalRicochet;
}];```
it doesnt have a local check for the _projectile.
it then tries to `attachTo` the soundFX to it, `setVariable` and `addEventHandler ["Deleted"`
however wouldnt this then create a script line trace?
solid marten
#

Just fixed it

vague moss
#

Thanks a lot! I'll check later

solid marten
#

I actually even had it screenshotted and attempted to fix it many times, today I succeeded

#

Revision: 152992

vague moss
solid marten
#

The AI unit was still considered real player after control was passed back to player, while everything was AI, it even had all the AI scripts restarted

vague moss
solid marten
vague moss
#

Can do! How long do you reckon until it is in profiling?

solid marten
#

🤷‍♂️

vague moss
#

I'll keep my eyes open then :)

vapid cradle
alpine tulip
#

You can check it in Functions Viewer

vapid cradle
#

Hmm i see, it calculates a new position according to heading of current target

#

i'll try it

dusky tendon
#

What is the best way to fix the signatures of the game files?
I changed the version to beta 2.18 and after I went back to 2.20 I have a ui_f.pbo file signature error.

devout wave
#

Verify your game files through Steam

sleek scaffold
#

I am having the issue of some modded weapons not casting shadows. Is that something known? (2.20 Main Branch). The mod in question is "The Free World Armoury"

#

But I also experienced it with other mods

untold sky
untold sky
untold sky
desert trench
vapid cradle
#

I think the weapon should define the position and the direction of the gunparticle but it's the ammo that should determine what gunparticle would be applied. For example, i added a springfield trapdoor, this thing usually shoots black powder cartridge which produces a big white smoke cloud but it can also fire smokeless powder cartridge which shouldn't produce white smoke cloud

#

It's still possible to do something with event handler but well....

tropic jewel
fast lodge
#

It would be super nice to have an script command which disables the zoom on right click

#

btw one thing which is super annoying is that if you dont have an weapon in your hand and you right click it will put you in a slow walk mode. (optics mode key)
There should be an option to turn it off since its on the mouse and you cant override the output of mouse actions or remove that system completly no point to have it if you also have the toggle slow walk option which you can use. A lot of people get into this state and they have no idea why they are slow walking

(isWalking player) dosent even return true because its not toggling the slow walk, it just puts you into the slow walk state

unborn acorn
heady thunder
#

Späm

unborn acorn
#

~~hmm diacritics, there 3 errors messages in last mission Apex Protocol campaign
open \a3\missions_f_exp\campaign\missions\exp_m07.tanoa\mission.sqm search for next text: ~~
init="doStop this; this setUnitPos ""ÜP"";";

daring wagon
#

Who's the German who typed Ü instead of U 😄

gray wharf
#

a Frenchman perhaps Ü

#

you would be… surprised! Ö

daring wagon
#

A french would have put a 🏳️ in there instead.

solid marten
stoic idol
#

certainly french. le üp

oak apex
#

Hello feedback team. the devs at Rotators Collective were kind enough to help me pinpoint the source of a bug thats occuring with vanilla arma. I though it was an issue with Reaction Forces but that doesnt seem to be the case. Any time i spool engines on a helicopter with a HMD, like the AH-99, MH-235, or stub wing blackfoot, the frame rate tanks to less than 1 FPS. outside the helo, or in 3rd person, frames are around 100. Didn't notice this happening before the latest update. Any advice or help with the issue would be greatly appreciated. The RPT files didnt seem to be much help but im more than happy to screen share and replicate the issue

#

should note that this occured running unmodded, vanilla Arma 3

alpine tulip
#

I actually checked the stream and it starts to lag the game after about a second upon he starts the engine

#

There is no script error spam so I am sure it's not our (CDLC) issue

frosty osprey
#

Hi there from your (probably) most retro player. I want to thank the devs for fixing the unsupported Intel instructions in the x64 executable, which now loads fine. And in game it feels pretty fluid. However two new issues have appeared after updating to v.2.20 (Windows 7 x64), which as per the changelog should be fully supported... The first one (T192972) is a combined launcher and game issue by which the Steam API is not working. This prevents the server list from loading, and even if I manually try to connect to an official server, it never loads. Essentially every feature involving Steam is not working... which is very bad. The second issue (T192977) is that I can't get into any vehicle, even in an offline single player game. Please have a look at these issues and see what can be done. If they are a launcher thing, maybe I can patch the v2.20 install with the previous v2.19 launcher?

daring wagon
#

Just be aware that the steam client also has no support for Win7. So that might play a role as well.

agile trail
gusty shell
#

Hey there,

I’ve found a strange bug related to CDLCs (tested with both S.O.G. Prairie Fire and Spearhead 1944).

Steps to reproduce:

1) Start any single-player mission (tested on The Dentist – SPE, Temporary Duty – PF, and several others – it seems to happen across all missions and campaigns).

2) Press Save & Exit.

3) Load the mission and check your map.

Issue:
In the date section of the diary record, the day of the week (e.g., Sun, Mon, Tue...) is replaced with random words or sentences. It’s unclear to me where these come from.

This bug occurs even in BI Arma 3 missions when CDLC is loaded. It does never occur in pure vanilla Arma 3 (with no CDLCs or mods).

It doesn't seem possible to fix this through scripting. Would someone from the dev team be able to look into it, please?

desert trench
#

i can confirm this - for me its "unregistered string" tho

#

as far as i can tell this diay title/subtitle? is purely engine generated. so no clue how CDLCs could cause this

crystal wraith
#

Orange, uh, hyperlinks?, in briefing tabs do not underline when hovered for me as of 2.20. True for the default ones like vote kick, ban, in multiplayer, as well as marker links or other scripted links in mission briefings. The buttons still function when clicked, there just isn't a hover behavior

oak apex
agile trail
oak apex
#

So it seems the only build of the game that was having that issue was the profiling build...which is a shame since thats the most high performance build for me

oak apex
#

Yeah confirmation. Regular and dev builds are fine. The profiling build is having the HMD issue. Is anybody else having this problem? Any known fixes?

modest sonnet
#

You gotta keep an eye on perf changelogs if you run it, last build included some changes to MFD radar stuff
But the bulk of performance changes were already pushed with the 2.20 stable update, you shouldn't see that much difference between perf/stable at the moment

trim acorn
#

@deft marsh no need to startle rest of the bunch, I am onto it 😃

devout wave
oak apex
#

Anybody got a fix for the black screen issue? Had to switch off of profiling because there’s an issue with choppers an HMD, and now about 60% of the time I boot arma the screen just goes black. Can’t alt+tab, can’t ctrl+alt+delete. Whole screen goes black and I have to turn my PC off then turn it on again.

regal nimbus
#

No mods?

#

Not heard of that one.

oak apex
hallow sun
#

If so, try to run the game in windowed full screen mode, that should get rid of the blackscreen freeze thingy.

dreamy bane
#

I wonder why this code doesnt trigger the ScriptError EH ```sqf
addMissionEventHandler ["ScriptError",
{
hint "Got error";
}];

[] spawn
{
sleep 1;
i = / / 0; // Creates "invalid number in expression" error
};

gaunt depot
#

Do you execute that code as whole? It probably fails to compile the whole thing without adding the event

dreamy bane
#

yes as whole in init.sqf. it may be its more of an parser error than runtime. that would explain the behaviour

regal nimbus
oak apex
# hallow sun Do you start the game and then tab out by chance ?

When I was running profiling build I could tab out with abandon lol. Had to go back to stable for other reasons mentioned. Learned my lesson about tabbing out but sometimes when it’s starting up or just when I’m playing a scenario the screen will freeze, go black, then after a bit I can hear the game running but the screen remains black.

untold sky
untold sky
oak apex
cyan basin
vague moss
#

Gonna try the other issue real quick

solid marten
#

Zeus?

vague moss
#

Yeah

#

Remote control broken-AI thingy

solid marten
#

OK lemmie know zues result

vague moss
# solid marten OK lemmie know zues result

As Zeus,Place a rifleman or other unit,place an unarmed enemy and he engages. Take control of him, then release control. Place a unarmed enemy and watch him simply stare at him instead of shooting.

Place a manned static mg and take control of it, then release. Place an enemy unit,he will engage,disembark him from the static and place another enemy,he will stare at it.

#

the Rifleman now correctly engages, as well as the dismounted static mg operator

#

So seems to be working!

solid marten
#

cool cool!

vague moss
#

Do I close the Issue?

solid marten
#

I just did

sudden loom
#

Helicopter will not land on helipad that was placed on object over sea surface. He will fly round, but never land on that helipad.

vapid cradle
#

I think i found a solution for this thread https://feedback.bistudio.com/T181499. Just need to increase the values

                {
                    ambient[]={10000000,10000000,10000000,1};
                    diffuse[]={10000000,10000000,10000000,1};
                    emissive[]={10000000,10000000,10000000,1};
                };```
of the material of the MFD. The result is not as beautiful as when the values are at 1 but it's still readable and that's what i need. With these values i can go 1km deep and i still see the MFDs
solid marten
solid marten
#

OK fix in next profiling

sudden loom
solid marten
#

then use optional boolean

#

heli landAt [position, mode, waitTime, putOnSurface]

putonsurface

#

this landAt [HELIPAD, "land", -1, true]

sudden loom
#

It's seems that helicopter try to land exact at [0,0,0] coordinates of helipad and ignore object's surface at all.

solid marten
#

with waypoint? yes thats the problem at the moment, should be fixed in next profiling

sudden loom
solid marten
#

Only not [0,0,0] but [x, y, 0]

sudden loom
#

I mean in object's model coordinates

solid marten
#

anyway, before we get all more confused, wait for the next profiling

sudden loom
#

Ok

solid marten
#

Should be fixed in Revision: 153035

oak apex
#

I don’t know what happened but on the last week I’ve been able to play maybe an hour. Game keeps crashing. It’s very frustrating

unborn acorn
daring wagon
#

Can someone please hire Trager for BI QA. He seems to enjoy that 😄

deft marsh
#

hehe

sleek scaffold
cyan basin
#

most in serious jobs do, afaik

last jolt
#

I dont know if this is the right place to ask, but has a fix for the shortened render distances of objects when using a custom FOV value in your arma profile ever been considered?

Maybe it's not a well know problem but when you set a custom FOV to be larger than default, you have to zoom in to get normal rendering distances of objects, but if you zoom out to normal view everything always results to around 2km. I have always just learned to deal with it but with recent fixes to some well known bugs I figured I would bring this up

vapid cradle
#

I created a ticket https://feedback.bistudio.com/T193149 because when i attach an object to an ai character and try to use playAction or playMove, the character plays the animation but does not move

#

It happens with any kind of object and any kind of ai character

vapid cradle
#

nevermind, i think i found a way around isong disableAI "MOVE" first

outer spear
#

Yarrr!

vapid cradle
#

Actually isong disableAI "MOVE3 is not a good idea, the character won't collide with objects anymore

desert trench
#

should the game actually crash on faulty config inheritance definitions? can it be made not to crash even?

ie with IFA3 and SPE we encounter this fairly often with other mods doing bad definitions and when loaded alongside, it breaks the game start like this and a "crash"

16:41:19 Error updating 'config.bin/CfgVehicles/SPE_ArmoredCar_base/DestructionEffects/Light2/' by 'WW2\SPE_Assets_c\Vehicles\ArmoredCar_U1_c\m20_auc\config.bin/CfgVehicles/SPE_ArmoredCar_base/DestructionEffects/Light2/', base 'Light1'
16:41:19 ErrorMessage: config.bin/CfgVehicles/SPE_ArmoredCar_base/DestructionEffects/Light2/: Cannot find base class 'Light1'
16:41:19  ➥ Context: WW2\SPE_Assets_c\Vehicles\ArmoredCar_U1_c\m20_auc\config.bin
16:41:19 Application terminated intentionally
16:41:19  ➥ Context: WW2\SPE_Assets_c\Vehicles\ArmoredCar_U1_c\m20_auc\config.bin
ErrorMessage: config.bin/CfgVehicles/SPE_ArmoredCar_base/DestructionEffects/Light2/: Cannot find base class 'Light1'```
#

even more annoying is that rpt wont log the responsible source mod - something like this would be needed:
16:41:19 Updating base class ->Launcher_Base_F, by KA_SRAW\config.bin/CfgWeapons/KA_SRAW/ (original KA_SRAW\config.bin)
however probably complex to impossible to track/identify in the config building stack

#

the other problematic part to identify the source is that both the addon list (pbo/addon) as well as the full modlist is logged only later - so if the game "crashes" during config issues, its a lot harder to track down the source mod to cause it

#

what does this actually mean?
16:41:08 Warning, config 'rds_a2port_civ\config.bin' contained invalid CfgPatches entry with extra required Addon 'A3_Weapons_F'. Invalid CfgPatches entries are invalid. A temporary workaround is being applied, this mod will soon stop working

#

its apparently not from reyhards version but an older repack of this mod - it has this:
requiredAddons[] = {"A3_Weapons_F","A3_Weapons_F_beta","A3_Weapons_F_Acc","A3_Structures_F_EPA_Items_Electronics","A3_Structures_F_EPC","A3_Soft_F","A3_Soft_F_TruckHeavy","A3_CargoPoses_F","A3_CargoPoses_F_Heli"};

#

however thats perfectly valid, right?

desert trench
#

another interesting issue - despite using the par file, it cuts off the modline

#

it cuts off at that @TF Snow Storm Menu mod

#

from rpt

#

@tf snow storm menu doesnt seem to contain any non standard characters

#

any ideas what could be amiss here?

#

(trying to replicate another issue loading 300+ mods)

desert trench
#

seems not related to this particular mod - with a different setup it stops with another mod

#

it seems like even the -par file has a limit on number of mods?

#

~4050 characters till @TF

agile trail
dreamy bane
#

is it possible we get longer stack traces for errors?

regal nimbus
#

longer?

#

If you need a longer stack trace than what you get in -debug then you must be doing something truly horrible :P

dreamy bane
#

its not quite long enough to see the origin of the error, sometimes.. sometimes theres like ten traces on same file and that doesnt help

dreamy bane
#

maybe command to set the maximum trace length . for developers so it wont effect other users

regal nimbus
#

For debugging a complex system I'd generally recommend manually logging the input parameters at the start of each function.

#

stack traces aren't supposed to cover everything.

daring wagon
#

I mean I'd you have 10 nested functions then it might be cut of.

#

Might also want to rethink the whole code structure at that point.

dreamy bane
dreamy bane
regal nimbus
dreamy bane
foggy shuttle
#

If you're talking about just reading script errors, could probably just utilize the "ScriptError" event handler to diag_log the parameters it gives. If that's not what you mean, then ignore me lmfao

dreamy bane
foggy shuttle
#

That's probably because diag_log has a character limit

#

Might be able to copyToClipboard if you're testing locally

dreamy bane
#

nah it does it line by line. its the trace array thats short

foggy shuttle
#

Strange, never had an issue with that and I use it quite often

dreamy bane
#

well most of the time it works for me too but not today

#

it was useless 🙂

alpine tulip
desert trench
#

faulty definition in Tractor_01_base_F

untold sky
untold sky
untold sky
untold sky
untold sky
# desert trench

That is a param text file, not a .par config file right?
Maybe the config file format would handle more data

I don't see a limit, there is a 4096 buffer but it gets reused, would have to repro that

untold sky
dreamy bane
desert trench
last jolt
vapid cradle
#

I'm wondering, why is the AI targeting the vehicle when the driver and the crew are visible and targetable ?

#

I mean, under a certain ratio in between the hit value for the current ammo and target vehicle armor value, the ai should target the crew when its visible and targetable

untold sky
# desert trench `-language=Chinesesimp` rpt > Unsupported language: Chinesesimp and > Unsupporte...

stringtable one means that the translation was not found, it used one of the fallbacks (for exmaple Original or English)
The first one means it wasn't found in our engine internal language whitelist (all languages that can be enabled by languageList.bin) and indeed, Chinesesimp is not in there, only Chinese.

I ran into that too when we added the new languages. Our "Chinese" is actually "Chinese (Simplified)" and Chinesesimp is.. well not there.

I didn't want to deal with it.

untold sky
devout wave
#

The AI can target exposed crew members but it depends on how the vehicle is set up. For example, they'll target turned-out tank crew with small arms.

regal nimbus
#

Apparently the CUP M113 that I just tested is set up wrong then :P

limpid rune
#

it can be real difficult to get working

#

like you can set crewVulnerable and that will basiclaly make AI always try to shoot crew, but the problem is if the AI has an AT weapon (or they're a tank) they'd sooner use their MG/Gun instead

devout wave
#

You could ask the WS team about it as well, they ran into this stuff with their Marid HMG variant. Basically "turned out" is a fairly specific state for an armoured vehicle, and the AI crew will try to avoid using turned out positions when in combat, so for AFVs you don't necessarily want to treat combat positions as turned out - the tradeoff being that the AI will treat non-turned-out positions as being fully protected by the vehicle's armour, and won't try to use small arms on them.

limpid rune
#

the other issue is AI dont like mixing some positions being turned in and some turned out

devout wave
#

WS ended up working around it by attaching an invisible target dummy to the exposed gunner position to make the AI shoot at it, since the dummy's not actually "in" the vehicle

limpid rune
#

oof

devout wave
#

Full discussion of it on the Rotators Discord around here #901047391451484191 message
Apparently they asked BI for a better way to flag turrets as vulnerable, and the request was declined

limpid rune
#

generally thats sort of thing shouldnt be necessary but im guessing what I said with mixed turned in/out might be the issue

#

cuz like the M3A1 halftracks in spearhead the AI will stay on the turned out mg, and get shot at etc without much issue but I spent a lot of time getting those to that point

tropic jewel
#

Vanilla offroad as well with the standup-turnaround-turnout. When turned out enemy will shoot the unit. when turned in it will switch to targeting vehicle center.

vapid cradle
#

The ai doesn't have to find the appropriate position, we just need something simple. The ai can check from its current position if it has an angle to shoot the crew, if yes it targets the crew instead of the vehicle. If it doesn't have an angle it just keeps targeting the vehicle

scarlet sage
desert trench
#

this setup (from Eden) apparently adds the appId into class mission of the mission.sqm and thus makes the mission require the CDLC (and not allow non owners to join) - this seems to be a bug, right? aka this should only happen if "Require DLC" is ticked, right?

uncut briar
#

IIRC yes, if require DLC is not checked it should be visible that the mission uses DLC on the select screen but you should be able to play without owning

desert trench
#

above setup apparently results in:

class Mission
{
    appId = 1175380;
    assetType = "Free";```
#

[on that note thanks for your responses Dedmen - quite busy this week, yet I will respond/make FT tickets with repros for said issues]

daring wagon
# desert trench

Yeah, iirc it was only supposed to show a frame around the scenario image in the scenario menu.

vapid cradle
stoic idol
untold sky
#

@sinful kettle https://feedback.bistudio.com/T163593 laser designator eventhandlers

_unit addEventHandler ["LaserTargetChanged", {
  params ["_unit", "_laserTarget", "_designatedTarget"];
}];

When laser is turned off, then [_unit, objNull, objNull] or we need a separate event just for laser on/off?
You wanted 3 EH's but I think we can all do it in one.

An EH that triggers when the laser is activated (using Fired/FiredMan perhaps)
An EH that triggers when the target is being lased (perhaps both for the "firer" and the "target"?)
An EH when laser target is lost

Laser activated, will be _laserTarget becoming non-null, and laser deactivated will be _laserTarget becoming null (that's the entity thats spawned at laser impact point)
Target being lased, that happens whenever the target position changes?
target being lost, target is just null.

Tho when it says "changed" it should pass both current and prev target, no?
It will basically always transition through objNull when you laze at terrain between two targets

untold sky
gaunt depot
#

Damn this is cool!

#

How does it work for vehicles though? Unit can lase with vehicle turret AND personal laser designator at the same time

#

Start lasing as commander seat, turn out and use laser designator

#

Even more, turrets can keep lasing targets without a unit in them @untold sky

#

My repro steps to have 2 lasers at once from 1 unit

untold sky
#

Very good question 🤔
The lazing here is done by the entity (the soldier)
A vehicle would also be an entity, but a vehicle can have multiple lasers? meowsweats

The laser is actually per .... Oh I see

#

I actually get the turret that is doing the lazing.
I have access to turretpath, gunner inside the turret, weapons of the turret.

So I should probably pass some of that

gaunt depot
#

Send two entities into EH perhaps? Vehicle and instigator unit?

#

And turret path perhaps?

untold sky
#

I think vehicle (the one EH was added to), the operator of the turret/weapon, the turret path

gaunt depot
#
params ["_unit", "_vehicle", "_laserTarget", "_designatedTarget", "_laserWeapon", "_turretPath"];
```maybe?
#

Can you have two different lasers on one turret? I dont remember if I ever tested that.

#

_laserWeapon in case you can have two lasers, if its hardcoded to be impossible no need for that and you can just cycle weapons until you find laser on that turret if you need it

untold sky
#

Turning out already is not a "problem"

gaunt depot
#

Not sure what it should return in case of empty turret still lasing. I know its possible but not sure how it works internally and what's accessible

untold sky
#

Because the vehicle laser is triggered as event on the vehicle.
The turned out units laser, is triggered as event on the unit

But the vehicle itself can have multiple lasers (gunner/commander turrets)

gaunt depot
#

Hmm, leave it to scripter to find which turret fired with VEHICLE laserTarget TURRET command?

#

Or pass turret path in the EH to make it easier

#

[] for personal lasers, [-1], [0], etc. for vehicle lasers?

untold sky
#

If turret is empty and target changes (for example driver is driving around), the operator/instrigator will just be null.

gaunt depot
#

Oh yeah, path would be more reliable then

untold sky
gaunt depot
#

Ah, alright

#

Same event name though?

untold sky
#

yeah

gaunt depot
#
_unit addEventHandler ["LaserTargetChanged", {
  params ["_unit", "_laserTarget", "_designatedTarget", "_turretPath"];
  // On unit: Unit, Laser, Target, []
  // On vehicle: Vehicle, Laser, Target, [0]
}];
```?
untold sky
#

It looks like you cannot have multiple lasers in one turret.
The turrets weapon state only has one laser target, but has multiple weapons in it

gaunt depot
#

Maybe swap unit with turret path array? hmmyes

#

so you can get it yourself with turretUnit

untold sky
#

_unit is the vehicle the EH was added to. You still need that to use turretPath on it

gaunt depot
#

^ Nevermind, I just reliazed unit would be vehicle

#

Yeah

#

Providing laser weapon class name could make things easier for newbie scripters too

untold sky
#

Actually I think I don't even know which weapon started the laser.
And you may switch to a different weapon after starting it. And you may have multiple that can start one

gaunt depot
#

Not needed then, its a them problem

untold sky
#

You could check it yourself by detecting the first event when the laser is started up, grabbing the turret, and finding the currently selected weapon

#

I should probably provide some special flag to identify first laser startup.
Problem is that would be a useless parameter during the actual target-changing while laser is active

gaunt depot
#

Leave it to scripter to setVariable save last laser target to check if it was null, if it was then its a new laser firing and its time to find the weapon

#
_unit addEventHandler ["LaserTargetChanged", {
  params ["_unit", "_laserTarget", "_designatedTarget", "_turretPath"];
  if(alive _laserTarget && isNull(_unit getVariable ["last_laser", objNull])) then {
    private _laserWeapon = if(count _turretPath > 0) then {_unit currentWeaponTurret _turretPath} else {currentWeapon _unit};
    systemChat format ["Lasing with: %1", _laserWeapon];
  };
  _unit setVariable ["last_laser", _laserTarget];
}];
#

Guess this should work

untold sky
#

For some reason the player designating the tower, interrupts the gunner laser's designation of the tower 🤔

If both player and tank aim close to the same spot, both get objNull designated targets.
If I move the player aim higher up, after a bit of distance, both get the tower 😄

So two laser targets close to eachother, disable eachother??

#

The LaserTarget entity, has no shape/model, intentionally so.
When scanning for target it uses nearestObject (not nearestObjects), and it ignores objects that have no shape.
So it finds the LaserTarget, and ignores it, setting the target to null.

That is quite annoying, and also sounds problematic in multiplayer if two players are designating the same vehicle, and their lasers get too close meowsweats

vocal abyss
gaunt depot
untold sky
vocal abyss
#

Another quirk: Laser targets spawned by script just vanish after a while, unless they are attached to something. What's up with that?
From my pet project:

private _laserTarget = "LaserTargetC" createVehicle [0, 0, 0];
_laserTarget setPosASL AGLToASL _position;
_laserTarget attachTo [IFSI_laserTargetAnchor]; //Keeps _laserTarget from despawning.
gaunt depot
#

Guess laser targets are hardcoded to some TTL which refreshes if its being laser by something in the engine

sinful kettle
untold sky
#

No I decided not to. I'm passing the laserTarget object, and getting position is just getPos on it.
Can do that eachFrame if someone wanted to track the position itself

untold sky
#

but I think setPos counts as move

#

Yes, setPos updates it

untold sky
#

Oh also objectParent laserTarget returns owner. I forgot who wanted that

dusky tendon
#

bruh...
so many lights make black zone

dusky tendon
#

"dedicated server with mods"
We had a player shooting missiles from a plane and these missiles were hanging in the world and it is impossible to even delete them using deletevehicle

These missiles don't even respond to setdamage commands. I called the code globally in the console with the assignment of damage 1. After that I checked the damage and the missiles had 0 damage.

untold sky
#

ah yeah ive seen that happen before

vapid cradle
#

SetDammage doesn't work on it, ithought it was intentionnal back then but when i think about it now, it looks like a bug

dusky tendon
#

I have a different error. As you can see in the screenshots, I did not do them at the same time, and the rocket remained in one place as if it had simulation disabled. But in fact, there is no code anywhere that says that the simulation was disabled for rockets. In addition, it looks more like a desynchronization. Because the players who were next to me saw rockets in the air that I did not see.

vapid cradle
dreamy bane
#

is there really no way to prevent action menu from fading away? Its a problem with BIS_fnc_holdActionAdd because if you have too long duration the progress icon will fade away before the action completes

dusky tendon
#

Bruh and where problem...

14:36:56 No alive in 10000 ms, exceeded timeout of 10000 ms
14:37:09 No alive in 22531 ms, exceeded timeout of 10000 ms
14:37:20 No alive in 33578 ms, exceeded timeout of 10000 ms
14:37:30 No alive in 43578 ms, exceeded timeout of 10000 ms
14:37:40 No alive in 53578 ms, exceeded timeout of 10000 ms
14:37:50 No alive in 63578 ms, exceeded timeout of 10000 ms
14:38:00 No alive in 73578 ms, exceeded timeout of 10000 ms
14:38:10 No alive in 83578 ms, exceeded timeout of 10000 ms
14:38:20 No alive in 93578 ms, exceeded timeout of 10000 ms
14:38:30 No alive in 103593 ms, exceeded timeout of 10000 ms
14:38:40 No alive in 113593 ms, exceeded timeout of 10000 ms
14:38:50 No alive in 123593 ms, exceeded timeout of 10000 ms
14:39:00 No alive in 133593 ms, exceeded timeout of 10000 ms
14:39:10 No alive in 143593 ms, exceeded timeout of 10000 ms
#

I again try do this and game freeze...


14:45:49 No alive in 10000 ms, exceeded timeout of 10000 ms
note: Minidump has been generated into the file C:\Users\Andrey\AppData\Local\Arma 3\Arma3_x64_2025-07-21_14-39-54FROZEN0.mdmp
14:46:02 No alive in 23641 ms, exceeded timeout of 10000 ms
14:46:14 No alive in 35469 ms, exceeded timeout of 10000 ms
14:46:24 No alive in 45469 ms, exceeded timeout of 10000 ms
14:46:34 No alive in 55469 ms, exceeded timeout of 10000 ms
14:46:44 No alive in 65469 ms, exceeded timeout of 10000 ms
#

i have file
Arma3_x64_2025-07-21_14-39-54FROZEN0.mdmp
he can help find problem?

#

I figured out what the problem was. I had a search code for selecting a player in onLBSelChanged

    _size=(lbsize _ControlListboxPlayers) -1;
    for "_i" from 0 to _size do {
        _iddata = _ControlListboxPlayers lbdata _i ;
        if (_iddata == _selectedplayer) then {
            _ControlListboxPlayers lbsetcursel _i;
        };
    };

which caused an infinite loop of calling the list item selection. ((((

unborn acorn
vapid cradle
ripe crystal
#

Wanna preface this with that this could be an issue within our mission and not an actual profiling issue. More background though can be found in #arma3_scripting message

regal nimbus
#

Uh, where exactly are these diag_logs running from?

ripe crystal
#

Okay credit to @foggy shuttle for finding the issue but essentially this does not work as it previously used to anymore:

someFinishedScript isNotEqualTo scriptNull

Now if a script is <NULL-script> it will not equal scriptNull. I could be butchering this a little bit but I think that is because it still stores information about the script in memory now like whether it was terminated or not. Anyways the solution is simply just conventional null checking using isNull:

isNull someFinishedScript
ripe crystal
idle quarry
#

Are fixes to the models something that's still being done ? I noticed you cannot retexture buttons on US parade uniform from art of war most likely due to model missing a selection. Went to feedback tracker to see if anyone reported it and it turns out someone did, so guess I'm mostly bumping this up.
https://feedback.bistudio.com/T167361

lunar star
daring wagon
#

Also Spam in the same ticket

hallow sun
#

Can we get getVehicleLoadout & setVehicleLoadout, instead of having to mess with dozens of commands for turrets, pylons etc? krtecek

summer crow
unborn acorn
vapid cradle
#

Ive noticed something wrong with jpg tp paa conversion: EVERYTIME i try to convert a smdi file with correct naming ( ***_smdi.jpg) from JPG to PAA, the glossiness is applied on the entire model. Something breaks the conversion, yet when i open the paa with texView, the smdi looks good. I have to use PNG to have it working properly (and only with smdi, if i use png with _co or _nohq it doesn't work properly sometimes)

limpid rune
#

why on earth are you using jpg for smdi

#

you definitely should be using png or tga and then converting to paa for any real texture

#

SMDI relies on specific colour channel usage, god knows what jpg compression would do to that

vapid cradle
# limpid rune why on earth are you using jpg for smdi

At the very beginning i was using png but some textures were sometimes transparent so i decided to use jpg to be sure there is no alpha. I'm not a developper of Arma 3 but it is veeeeery easy to read a jpg or a png in c+ or c# and vet each pixel RGBA values

devout wave
gaunt depot
#

setTerrainHeight data is still randomly not arriving to JIP. Pictured, I joined the server, saw wrong terrain, then went back to lobby and its fine on next join

#

No repro of course but its been an issue since it was introduced

heady thunder
topaz flax
#

I don't know if this is the right channel, but I have a little feature request for the say3D command. Would it be possible to give this command the ability to change audio volume midplay? Also a param to change the refresh rate of location check?

tranquil harbor
#

mostly an option to change/overwrite the volume would be enough.
playsound3d is a thing, yes but it is not really good for moving objects

vapid cradle
gaunt depot
#
    class FlareWhite_Illumination_F: FlareWhite_F
    {
        author = "Bohemia Interactive";
        ammo = "F_20mm_White_Illumination";
        displayName = "Illumination Flare (White)";
        displayNameShort = "White Illumination";
        descriptionShort = "Type: Illumination Round - White<br />Rounds: 1<br />Used in: Flare Gun";
    };
```gib flare gun 😠
untold sky
regal nimbus
#

Wiki did specifically say you could do it :P

gray wharf
#

sorry!

limpid rune
#

idk how much of a horrible mess it'd be but would it be possible for https://community.bistudio.com/wiki/playAction and it's 'now' variant to return the resulting animation instead of nothing? I know that sounds odd but the way the action lists work you can have for example a different gesture/animation prone or standing for example

#

I'm currently working around it by running gestureState immediately after but having the command return the resulting animation would be 'cleaner'

ripe crystal
gray wharf
kindred halo
#

Are we allowed to provide Arma III feedback on this channel?

scarlet sage
spice temple
#

Hello, would it be possible to add something like client side/server side/client+server side status for mods to Steam Workshop? Similar to required for addons.

cyan basin
#

i'm imagining it's costly to add ingame

spice temple
cyan basin
spice temple
#

Okay, so it's not actually there... because the mod clearly says that it's a mod, and it doesn't matter whether it's just client-side or client-side and server-side...

scarlet sage
kindred halo
#

I dunno, something like...
A Battlefield-style Conquest mode (Sector Control is too big without vehicles at the spawn), or a 'control vehicle from any seat' mode like Easy Red 2. Stuff like that.

scarlet sage
kindred halo
#

That's what 'manual fire' does? I see.
It wouldn't span the whole map, just a smaller area. Like one of the cities.

scarlet sage
kindred halo
#

I can do it. I learned how to code in college.

vapid cradle
#

It would be really great if we could have an objIntersectObj and a terrainIntersectObj functions to make additional collisions for very large (multipart) vehicles. Of course we can do something with lineIntersectObj but its not very effective and consumes way more resources than a simple objIntersectObj function

#

An additional option to attachTo to activate geometry collisions to attached object could be a more simple solution

#

It doesn't have to apply mass, i think we can calculate that with getMass and getCenterOfMass

#

With these functions, Arma 3 could become a swiss knife

vapid cradle
#

It would also be a very useful way to determine what did hit the player or his vehicle

#

Wh"en the player drives a car for example and crashes on something, HitPart event always returns ObjNull so we cannot determine what did the player hit

#

IT would be great to be able to determine what the player hits with vehicles. Nowadays, if i hire a foreign army to make some military operations on my territory, if the soldiers drives like drunken addicts and destroy everything, i want to be able to identify what they destroyed or dammaged so i can make a bill for them

gaunt depot
#

It is quite tricky though and there is no realiable way to tell if crew inside got damaged because of collision to certain object or not if they're remote client crew

#

You can make it fairly reliable when dealing with local entities, but for remote crew there is no way as you get no HitPart not EPEStart, only HandleDamage with nulls and even if you RE the event it still arrives after units are already dead.

#

Damage system needs major overhaul to be able to properly track the damage, I'm afraid we're 12 years too late for it

vapid cradle
gaunt depot
#

You'll have to sum the damage from null sources or self sources and then see if there was EPEStart event within some time frame (I used 1s)

#

Its complicated yes

vapid cradle
#

Hmm i see but that would mean i need to add a damage event to all map objects. That a lot of objects. I don't know if the game will handle it

gaunt depot
#

Wait you want damage to the objects, not to the vehicle?

#

Hmm, I wonder if EPEStart is called before HandleDamage, I think it should

vapid cradle
#

I want to check when the vehicle damages map objects

gaunt depot
#

You can add EPEStart to all vehicles, then on the event check if that object was hit for the first time, if yes then add HandleDamage to it

#

But HandleDamage only works on objects with HitParts iirc, not all objects

gaunt depot
#

Is there HitPart even on collisions? I thought it was only from projectile hits?

#

I don't remember details anymore, been a year since I did a huge deep dive into it, but I believe it should be possible to do what you want with current events, just very tricky to do it right and reliably

vapid cradle
#

It will be a bit tricky but i think i can do it

gaunt depot
#

General logic:

  1. addMissionEventHandler ["EntityCreated", {...}] with check if object is of carx/tankx/airplanex/helicopterrtd simulations
  2. If its right object, create JIP RE so all clients add EpeContactStart event to it
  3. In EpeContactStart check if hit object is a new one, if it is then add HandleDamage to it, also save vehicle that collided with that object and timestap
  4. In that HandleDamage collect all null or same entity damages by whatever logic you want, mark the object to be checked at the end of frame or next frame
  5. On next frame check if there was vehicle colliding with it and it wasn't too long ago (Since its EpeContactStart it only triggers at start of collision but it can continue for a bit dealing more damage frames later), at this point you know sum of collision damage and which vehicle caused it, you can act however you like from there
#

HandleDamage might not work on lots of map entities, you'll need some other event, I don't remember which will work, you'll need to add all damage events to different entities to see which trigger

vapid cradle
#

The problem is EPEContactStart fires after damage event so at firts EPEContactStart if i add a handledammage event i will miss the first damages

gaunt depot
#

Some basic stuff like fences and such bit not trigger any damage events, just death events

gaunt depot
#

HandleDamage is multi call event anyway so you'll need some other place to act on damage sum anyway

#

Oh but HandleDamage might not be there in the first frame 🤔

#

as we're adding it on EpeContactStart

gaunt depot
#

I also encountered this issue and it was apparently changed since 2.18

vapid cradle
gaunt depot
#

So EPEContactStart should fire before HandleDamage so you might be able to add it there before its even fired

gaunt depot
#

I haven't checked if this change really occured as I adjusted my code to work without it

#

Can you check and report in that ticket?

vapid cradle
#

Here is the code i tested:

 params ["_object1", "_object2", "_selection1", "_selection2", "_force", "_reactForce", "_worldPos"]; systemChat str _this; systemChat str (getDammage _object2); 
}];```
When _object2 damage is displayed, the collision damage has already been dealt
#

Yes i'll report in this ticket

gaunt depot
#

Are you sure about it? Add both events with frame number logs

vapid cradle
# gaunt depot Are you sure about it? Add both events with frame number logs

Even without frame number logs, according the logic, if i type cursorObject addEventHandler ["EpeContactStart", { params ["_object1", "_object2", "_selection1", "_selection2", "_force", "_reactForce", "_worldPos"]; systemChat str (getDammage _object2); }]; I'm supposed to see the damage of _object2 before the collision

#

I just tested and i get the damage after collision

gaunt depot
#

No, it should first report the collision, then fire damage event

#

That's right, you need to add damage event on collision event

#

It was the other way around before 2.18, damage before collision event, but now its in proper order

vapid cradle
gaunt depot
#
15:33:35 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
15:33:35 "Frame 31221, EpeContactStart: C_Hatchback_01_F"
15:33:35 ["1b461430080# 1816214: hatchback_01_f.p3d C_Hatchback_01_F (C_Hatchback_01_F)","B Alpha 1-2:1 (Sa-Matra) (B_G_Offroad_01_F)","","",485.491,[-240.677,414.597,76.7167],[23555.3,18041.7,3.93274]]

15:33:35 =========================================================
15:33:35 "Frame 31221: HandleDamageVehicle: C_Hatchback_01_F (ALIVE=true)"
15:33:35 ["1b461430080# 1816214: hatchback_01_f.p3d C_Hatchback_01_F (C_Hatchback_01_F)","",0,"<NULL-object> ()","",-1,"<NULL-object> ()","",true,0]

15:33:35 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
15:33:35 "Frame 31221, EpeContactStart: B_G_Offroad_01_F"
15:33:35 ["B Alpha 1-2:1 (Sa-Matra) (B_G_Offroad_01_F)","1b461430080# 1816214: hatchback_01_f.p3d C_Hatchback_01_F (C_Hatchback_01_F)","","",485.491,[240.677,-414.597,-76.7167],[23555.3,18041.7,3.93274]]

15:33:35 =========================================================
15:33:35 "Frame 31221: HandleDamageVehicle: B_G_Offroad_01_F (ALIVE=true)"
15:33:35 ["B Alpha 1-2:1 (Sa-Matra) (B_G_Offroad_01_F)","",0,"<NULL-object> ()","",-1,"<NULL-object> ()","",true,0]
#

Got curious and went to check, I drove offroad into hatchback and indeed it is still a problem if you have an event only on one vehicle, you need events on both to reliably connect EpeContactStart to HandleDamage

vapid cradle
#

I just tested this code cursorObject addEventHandler ["EpeContactStart", { params ["_object1", "_object2", "_selection1", "_selection2", "_force", "_reactForce", "_worldPos"]; _object2 addEventHandler ["Dammaged", { params ["_unit", "_hitSelection", "_damage", "_hitPartIndex", "_hitPoint", "_shooter", "_projectile"]; systemChat str _this; _unit removeEventHandler [_thisEvent, _thisEventHandler]; }]; }]; And it doesn't throw anything which means Dammaged event doesn't fire after EPECOntactStart

gaunt depot
#

I guess your only option is to scan for objects near relevant vehicles to check if they're new objects that need events setup for them

#

Which objects do you care about anyway? Trees? Fences?

vapid cradle
#

The other option would be to apply the vent to all object on mission preinit, maybe i could be fast enough

gaunt depot
#

Lots of world objects like fences and trees are simple objects, you can't add any events to them at all

#

Okay, here is another approach, one EpeContactStart add hit objects into an array with damage at start of collision, then check if damage increased at the end of the frame for all objects in that array

#

If it did, means your collision did it

#

You probably can even used EpeContact for it, no time stamps needed

vapid cradle
#

Ok let's move

vapid cradle
gaunt depot
#

You can't add any event handler to simple objects at all, most terrain objects are such

#

Otherwise not sure how this can be solved, have all EPE events fire before HandleDamage? Might need large engine modifications

vapid cradle
gaunt depot
#

Yes but it still wont be reliable because of unreliable EPE events order

vapid cradle
vapid cradle
untold sky
vapid cradle
#

But its not mandatory, i can find a way around

#

Most people will probably not have to use playAction or playMove this way i think

desert trench
#

under what circumstances is a spawned function to live/continue beyond mission end on a DS? [Server: SetServerState to MISSION ABORTED]
is there any, would this be a bug?

#
  1. execution line
// init.sqf
[] call SPE_CampaignUtilityFunctions_fnc_MissionStart;
[] spawn SPE_fnc_animatedBriefing;
[...] spawn spe_missionUtilityFunctions_fnc_animatedBriefing_init;
[...] spawn spe_missionUtilityFunctions_fnc_animatedBriefing_local;
[...] spawn spe_missionUtilityFunctions_fnc_eventTimeline;
  1. CODE gets executed even when mission was ended by #missions or #reassign
// Main loop.
while {spe_missionUtilityFunctions_eventTimeline_pointer_local <= _frames && (missionNamespace getVariable "BIS_fnc_eventTimeline_play")} do {
    if (_syncToMusic) then {
        ...
    } else {
        waitUntil {
            if (missionNamespace getVariable ["spe_missionUtilityFunctions_eventTimeline_skip", false]) then {
                ...
                while {(missionNamespace getVariable ["spe_missionUtilityFunctions_eventTimeline_skip", false])} do {
                    ...
                };
            };

            CODE
        };
    };
};

is this to be expected/intended?

untold sky
desert trench
#

Debriefing we use actually for the audio voice over.
I would have expected the "mission end" would halt the simulation, but its seems indeed until the next mission gets selected.

#

Usually this should be a none issue - i only noticed as due to diag_log debug code ran on each frame and thus the rpt grew even after "mission end" a great deal.

surreal bough
#

I found this error: if you change the size of the hud from the main menu of the game (settings, video), then the game will automatically restart... but if you do this from the game itself, then the game will simply turn off - the restart will not occur

wary ferry
#

I have scenario where i can consistently reproduce a hang, but im not sure if it is a issue with the modded terrain im using or if that specific location just happens to provide some edge case that was not present on Altis. Or perhaps you want the issue on the tracker regardless?

I am calling a custom function (spawn) that is creating arty shells at random positions around the player object. On Altis i can spawn a lot of these loops (100+) and still not notice any issues, but on the location on the modded terrain i always get the error after 5-20 instances (a bit random due to random sleeps in the script).

Any way to figure out if it is the terrains "fault" or if i should do a bug report? (i got crash dumps, a scaled down mission, and steps to reproduce)

Exception Code: 0xc0000005
Exception Info: The thread tried to read from or write to a virtual address for which it does not have the appropriate access.
Heap Info: Not Present
regal nimbus
#

Send mdmp to Dedmen and then see if he needs anything else. Not sure if the automatic reporting is working at the moment.

wary ferry
#

alright, will do!

vapid cradle
azure crane
#

This has been an "issue" for so long I doubt it can actually be added.

vapid cradle
limpid rune
untold sky
slim echo
#

I don't know if the feedback tracker would be appropriate for this; more of a feature request than a bug.

Who do I have to pester for the launcher to tell me how much storage the current mod list uses? That would be super useful information to have.

surreal bough
alpine tulip
#

How this can be a example of any in-game issue when you have massive amount of Mods, and likely an AI Mod as well?

surreal bough
untold sky
#

I need a vanilla repro in a ticket

surreal bough
#

well it's unrealistic to do this, we conducted regular tests in the desert on vanilla - everything is clear there, you can do it all yourself... I should rewrite the project on vanilla, in order to prove that it's not even a fact that you will edit... such a thing
my job is to talk about the problem - your right to see it
it's easier for me to prove that I use simple popular mods and provide a mission, I can provide access to the server
but I know perfectly well that if I have a problem, it doesn't mean that everyone has a problem)
the AI ​​skill is broken - I claim this, there is no evidence, unfortunately I have no desire to prove it either
so just a video fact from the player

regal nimbus
#

I'm not sure what you expect. In that situation the guy outside has visibility of you long before you have visibility of him, so he's not reacting that quickly. And then they can always hit with the first shot if they're lucky.

surreal bough
regal nimbus
#

Turn speed doesn't seem to have any dependence on skill.

#

At least they'll do 45 degrees pretty quick on zero.

#

hmm

#

There might be an inversion in here though

#

They're killing me faster on 0 skill than on 0.6 :P

#

never mind, probably just because I changed them to combat mode and they dropped prone.

proper grotto
regal nimbus
#

That's under precision not skill.

#

Also not sure if that one changes visible turn speed either. Haven't checked yet.

surreal bough
#

I find it very strange that I was the only one who noticed that the skill changed at some point... it turns out that I'm tilting at windmills I have the ability to run a mission on ancient hardware, but I no longer have the ability to run it on 2.16

proper grotto
surreal bough
#

I did tests on 2.18 just in the editor placing vanilla units - the result is the same: at 500 meters in the desert on Altis they oneshot the player at the spawn

regal nimbus
#

uh, that's a very different scenario

#

Maybe actually pin down a situation that you can replicate and then I'll test it.

proper grotto
regal nimbus
#

Can't see any difference with either. They just turn pretty fast through 45 degrees.

proper grotto
regal nimbus
#

Spotting is waaay slower at low skill. But in that example you might already be spotted and then it's a target switch.

#

Amusingly they seem to be relatively likely to hit with their first few shots at low skill. After that they're waving all over the place.

#

It's shitty logic but I doubt it changed.

#

Checked 180 degrees, can't see any skill difference in turn rate there either.

mint raptor
#

server browser only works once

#

btw

verbal harness
mint raptor
# verbal harness could you be more specific?

Sorry. I just did some testing so I can provide more accurate information.

It's not as simple as I previously stated. It seems like it might be related to rate-limiting or anti-spam/ddos measures.

Steps to reproduce:

  1. Launch A3 and go to server browser in-game.
  2. Either join a join a server quickly and return to the browser or refresh the browser a couple times.
  3. The browser now either only loads a few servers or none at all.

Browser functionality does not return unless you restart your game.

unborn acorn
twin hornet
regal nimbus
#

First click, full list. Switch to internet and back again, half list. Switch again, nothing.

#

Launcher will happily grind through several thousand servers.

#

Perf branch, for what it's worth.

untold sky
regal nimbus
#

I don't think that's what's happening here. Launcher is doing the same thing, isn't it?

untold sky
#

Launcher and in-game are doing the same thing yeah

regal nimbus
#

Launcher gives me 4k internet servers and >200 officials each time. In-game currently gives me no internet servers and an official list that reduces each time I switch to it. Feels more like a logic bug.

mint raptor
#

Yes, the launcher server browser has different behavior. I can refresh that all day and not get locked out, but it does load the servers slower from what I can tell...

regal nimbus
#

Also restarting the game resets the behaviour but waiting doesn't, which suggests that it's not router or ISP level.

untold sky
regal nimbus
#

2.20 stable behaves the same as perf. I don't have the download bandwidth to try 2.18 and I'm not sure it'd be meaningful anyway given that the servers are all 2.20.

untold sky
#

Ayaa.
My suspicion would be the netcode stuff, but thats not in 2.20

regal nimbus
#

I don't normally use the server browser in-game so I'm not sure how long it was broken for.

surreal bough
#

it doesn't let me access my own server and says this

18:54:10 Client: Dimon UA - Kicked off because of invalid ticket: Ok - Ticket invalid
#

a very strange situation: recently one problem appeared - my server is displayed in the launcher twice, this has never happened before... I think it is somehow connected with the fact that the server is located at my home, ok (but this has never happened before and I have not changed anything in this direction).
if I go to the server that I went to - I start to get chains - yellow>>>red>>>break
I go to the server that appeared new - I played for a couple of days normally, but today it kicked me out and that's it - I can't go anywhere anymore

Client Dimon UA - client's ticket has become invalid. Code: 6
stone tree
vapid cradle
#

Sharing the info with other bots ?

devout wave
#

It's not targeted at the FT specifically. They just detect a system where you can create a post, so they create a post to try to promote whatever dubious websites are on their list.

vapid cradle
#

Hmmm

snow cairn
#

the amount of errors in BIS_fnc_3DENModuleDescription is the reason why its been broken since 3DEN was released...

line 37
line 52
line 53

surreal bough
#

What do these lines mean and the reason for their appearance?

9:16:45 Skipping mods and signatures due to overflow flag being set.
 9:16:49 Skipping mods and signatures due to overflow flag being set.
regal nimbus
#

Means that you have too many mods for the steam protocol packet, so for example the launcher doesn't get a complete listing of what mods the server is running.

#

The steam protocol packet size can be increased in server.cfg but it requires everyone to have UDP packet fragmentation support.

vapid cradle
#

I wouldn't like to give you developers of Bohemia too much work, but do you guys think making a createUnitLocal function could be possible ?
Because right now, there is absolutely no way to have a dialog with a unit on a server. I mean if two or more players try to talk to a unit at the same time, the unit can answer only one time because each computer cannot play animations locally for the unit. The only way would be to create 3 units, make one of them visible only for each computer then play dialogs and animations. But that's a huge charge for the server in my opinion even with headless clients.
It would be great if we could add some sort of RPG experience to current Arma multiplayer experience

untold sky
#

"that's a huge charge for the server" having 3 units, that you can disableSimulation on every machine except the player that sees it. Doesn't sound like much of a problem
I don't see how headless clients are relevant, you wouldn't put the units on the headless client. You spawn it on the client that uses it, and delete it after

vapid cradle
solid marten
#

Not to mention you can hide unit on all other machines but one

vapid cradle
tepid fractal
vital junco
#

When submitting a bug report, is it possible to embed an image without linking to an external website?

vital junco
#

well how

devout wave
#

Click the Upload File button - the rightmost one on the left side of the formatting toolbar, shaped like a cloud with an up arrow

vital junco
#

found it, thanks

gaunt depot
untold sky
#

I never wanted to touch AI driving because it would be a pain and backwards compat issue.
So now that I'm trying to touch AI driving, its even more of a pain that I thought.
The problem is they try to turn in place, which they can't do in water. Giving forward and backward thrust at the same time and thus not making any progress.
So I add a water check, and now they just drive up the river (instead of across) constantly wobbling left/right. And if they manage to touch the coast, they do a 180° in-place turn, and flop back into the water, instead of driving up the river bank...

devout wave
#

Wheeled vehicle AI must have some solution, because they are "OK" in water and can already handle not being able to turn in place. Could you have tracked vehicles switch to using wheeled AI while in water?

untold sky
#

They already do

devout wave
#

Oh, okay

untold sky
#

Tank Steering component, is Car Steering component but with "can turn in-place" turned on

#

And some differences in how the turn input is converted to thrust :/

devout wave
#

About the turn-and-flop-back-into-water behaviour, I'm just curious which vics you're testing with? There are certain modded amphibs that have some kind of scripted(?) system that forces this behaviour even for players, e.g. 3CB AAVP-7A1

untold sky
#

The GM M113. I have no problem as a player when I just give thrust forward.
I can see in diagnostics that the AI vehicle is also giving thrust forward, but making much worse progress 🤔

#

Also not fun to test when every test run has it behaving differently 😄
I just got it to work. It zigzag'ed across the river for 2 minutes, then it hit the coast with so much inertia that it slipped all the way out of the water, and then it pulled itself the rest of the way up and made it to the waypoint.
But that was still more of an accident.
This transition region between water and not water is nasty

Cars have it easy, they give forward thrust and steering wheel. But Tracked vehicles have no steering wheel to steer. I can force them into forward thrust (Thats what I tried where it made it) without steering, and it'll somewhat work but it still too bad to be usable

untold sky
#

Huh. I think I got it.
Just keep randomly guess-swapping conditions and numbers and tadaa, suddenly it can do a 180° turn in water aiming straight towards the waypoint and drive up the river bank.

But not entirely sure if I actually got it or I'm just lucky. There seems to be a chance that after driving up the bank, they suddenly decide to turn back around, drive away from the waypoint and land back in the water

#

And that all is IF they don't decide to do a backflip when touching the water and sink upside-down underwater and eject all crew

#

The thrust behavior is very weird and I don't understand it.
They want to make a right turn, so they give 100% foward thrust on the right tracks, and 100% backwards on the left tracks..
But, that does a left turn not a right?

But somehow, when above water, this math does work out, somehow?
Maybe the code is just mislabeled..

#

Okey I changed nothing, and tried to record a video of it working nicely.

1st did a backflip into the water, but ended upright, nicely drove to coast, then.. just got stuck at the cost, somehow not enough thrust to get up?
2nd backflip upside down in water, crew ejected
3rd normal into water, drive to coast, stuck cannot get up
4th normal into water, drive to coast, get up the coast, do a 180° back into water.
5th normal into water, steer to other coast, get up, slightly stuck but pulls itself up slowly, successful. But.. I didn't record because I expected this to fail again

limpid rune
#

well they almost cleared the river with that backflip

untold sky
#

The water navigation is pretty good now I would say. If only it would actually keep going when it touches land, then we'd be perfect.

untold sky
uncut briar
#

@lavish cargo ⏫ binoculars

lavish cargo
devout wave
untold sky
#

I'll put it into prof tomorrow and you can see if thats good enough. I only tested one vehicle on one river 🤞

regal nimbus
#

For what it's worth I think there's a step in the 3-point-turn logic that also steers backwards, so they repeatedly turn back into the same wall rather than making progress.

untold sky
#

I saw that once it getting stuck at that.
Forward a bit, backward a bit, forward a bit, backward a bit. Forever

regal nimbus
#

once :D

#

wheeled vehicles IIRC

untold sky
#

On the topic of mine simulation performance.
Mines stream-in terrain objects when checking for possible triggers (When the mine is far away from player)
Streaming-in terrain objects alone, is already 20% of the simulation cost.
And.. Mines cannot even be triggered by terrain objects, so why load them in the first place.

verbal harness
#

Maybe to prevent a mine from going off if there is a terrain object (wall/corner of a house) between the mine and a vehicle?
or is it just a dumb distance check?

untold sky
#

There is no line intersect for radius trigger mines, only the wire trigger mine uses line intersect
Can't see anything that would make a wall block detonation, it should see through it

regal nimbus
#

Hmm. Doesn't that terrain data persist between frames?

#

Not like the mines are going anywhere

untold sky
#

I don't know when it gets unloaded.
But the locking of the cell alone is taking time, and as far as I can see the unloading happens atleast alot. The cells are far away

regal nimbus
#

Huh. I figured it only unloaded terrain when it ran out of RAM.

#

and then it'd be some LRU system

untold sky
#

2000 mines on Altis. Before/After. Seems good.

gray wharf
daring wagon
#

That's the mines?

steady panther
untold sky
#

Please do testing of that and report if its good, its available on prof branch

agile trail
#

I've always assumed there is a change of simulation type, or at least physx interaction system, at the boundary between water and land, that has caused the typical "turn-around 180 and go back out to sea" behaviour. Almost like one side of the vehicle gets traction on the ground before the other side, and so spins it back out.

surreal bough
#

Well, landing infantry from landing ships is also a problem... I won't even mention the veiponts, but at least here you can stick the ship on land and give the order to disembark.

#
while {(alive _vehicle)} do
        { 
            if (speed _vehicle < 10 && {(surfaceIsWater position _vehicle)}) then {
                private _vel = velocityModelSpace _vehicle;
                private _vel1 = _vel select 1;
                _vel set [1,5 + _vel1];
                _vehicle setVelocityModelSpace _vel;
            };
            sleep 0.2;
            if (speed _vehicle == 0 /*  && {!(surfaceIsWater position _vehicle)} */) exitwith {
                _time = time;
                waituntil {(speed _vehicle == 0 && {(time - _time) > 20}) || !alive _vehicle}; 
                if (!alive _vehicle) exitwith {};
                private _doors = (configProperties [configFile >> "CfgVehicles" >> typeof _vehicle >> "AnimationSources", "isClass _x"] select {getnumber (_x >> "animPeriod") >=0.1}) apply {configname _x};
                {_vehicle animateDoor [_x,1]} forEach _doors;
                {_vehicle animateSource [_x, 1, false]} forEach _doors;
                {
                    moveOut _x;
                    unAssignVehicle _x;
                    sleep 0.5;
                } forEach (crew _vehicle);
                {_vehicle animateDoor [_x,0]} forEach _doors;
                {_vehicle animateSource [_x, 0, false]} forEach _doors;
#

because the boat can just stand still and do nothing, and you have to push it towards the shore

#

And it's also very strange that if you set the waypoint to disembark on the island, let's say in the centre, all boats will go to one point on the island to disembark.

surreal bough
daring wagon
#

Works as expected

regal nimbus
#

Usually works fine? Like setting a value of two doubles the sway.

#

Main issue is that there's no stacking, so if you have two or more mods that try to use it then they'll fight.

clear glen
#

@untold sky toying around seeing if I could make some unmodifiable hashmaps using createhashmapobject using ["sealed","noCopy"] in combo with compileFinal and ran into this bug. In case it's an easy thing or if it's even worth your time. https://feedback.bistudio.com/T194855

cosmic field
modest sonnet
#

You're shooting 40mm over 1km, it's probably normal

foggy shuttle
#

Yes, that's normal.

static imp
#

Uh, sorry if posting wrong but this URL does not exist.

gray wharf
#

it should either be changed or redirected ^^

static imp
gray wharf
#

@jaunty narwhal ?

jaunty narwhal
#

That re-direct should just work, but it doesn't anymore, so we'll report it to the web team.

jaunty narwhal
#

Should be fixed.

gray wharf
#

@static imp ↑! 🙂

gleaming plume
#

Interesting issue I've discovered earlier today - tracked vehicles that are completely empty on fuel can still be neutral-turned to the left and right, using the mouse (with vehicle freelook disabled).

#

I get that wheels on wheeled vehicles can be turned when vehicles are static and engines off - this should not happen for tracked armoured vehicles.

regal nimbus
#

hmm, I wonder if that's related to the desync you often get from disabled AI-driven tracked vehicles.

vale maple
#

The Issue

  1. It starts when a player crashes/disconnects in an ungraceful manner and then tries to rejoin immediately.
  2. After this happens and they rejoin, they'll get kicked by Battleye (Query Timeout) after exactly 2 minutes.
  3. This will persist until they either change their IP address (modem/router restart for some users and VPN/connection change for other users) or the server restarts.

Solutions

  • Changing IPs always resolves the issue.
  • A server restart will always resolve the issue.
  • If you wait ~90 seconds before rejoining after the ungraceful disconnect, you can avoid the issue from starting.

Attempts to resolve

I've taken some steps to attempt to resolve this including:

  • Changing datacenters.
  • Changing machines.
  • Changing hosting provider.
  • Allowing traffic through the BE ports in windows firewall in a clean install of Windows Server 2022.
  • Updating from Windows Server 2016 to Windows Server 2022.
  • Updating the server directory via steamCMD to make sure BE is up to date.
  • Adjusting the kickTimeout in server.cfg to 90 seconds.
  • Creating a playerUID based kick at the first client state picked up by clientStateChanged hoping it was before the BE cache gets corrupted.

Best Guesses

Seeing that the IP change or server restart always resolves it and allowing your player to fully exit the game in a crash/ungraceful disconnect situation stops it from happening, my guess is that there's some sort of IP address based Battleye cache that's running and it's failing to register the new player after they have an ungraceful disconnect and rejoin before they're removed.

regal nimbus
#

Two minutes after the rejoin or two minutes after the disconnect?

vale maple
modest sonnet
#

Long-standing problem

vale maple
# modest sonnet Long-standing problem

Oh I know, we've been dealing with it for 5 years about 25 incidences a day. We've been able to narrow it down to at least the IP keyed cache being the problem with consistent reproduction/avoidance/solution so I'm hoping that's enough for a fix. Adding a check to see if a player is already registered before they get "out of sync" in the BE cache (or a way to kick them if they're already in without "poisoning them") would likely solve it but that's assuming it's even in their hands (and not Battleye's).

modest sonnet
#

Raise a ticket if there isn't one already I guess, there is a battleye category. I'm not sure on who's end it is to fix but maybe it will poke someone

#

I was trying to write one but I couldn't really reproduce it easily, it sounds like you have some data though

regal nimbus
#

saveProfileNamespace and saveMissionProfileNamespace mangle nils in hashmaps. Nils in arrays are fine. Example:

_testHM = ["key"] createHashMapfromArray [];
profileNamespace setVariable ["testNil", _testHM];
saveProfileNamespace;
profileNamespace getVariable "testNil";
clear glen
#

works fine

#

or at least it is returning 'any' (as opposed to initial <null>)

regal nimbus
#

Reminds me of VB's seven different types of nulls :P

clear glen
#

I suspect it has more to do with using empty array for values vs explicitly defining as nil

#

and yeah.. VB was.... something

regal nimbus
#

IIRC my initial failure case was with something like _hashmap set ["key", _hashmap2 get "key"], where the latter didn't exist.

#

you'd think that was equivalent to ["key", nil] but apparently not.

clear glen
#

_hashmap set ["key", _hashmap2 getOrDefault ["key",nil]] maybe??

#

I saw your correction... though I kinda knew what you meant

#

you can also merge

#

if you have many keys to set

regal nimbus
#

yeah that's not really the point. Arma's full of bugs you can workaround, but I feel like if a hashmap is valid in SQF it's still supposed to be valid once bounced through profilenamespace.

#

Maybe a sign of a worse problem somewhere.

clear glen
#

Yeah that is odd a non-existant key value is not nil.

gaunt depot
#

A new type of nil discovered! nil-nil!

ripe crystal
#

Huh, I never knew nil in hash maps caused issues in the profileNamespace. Pretty sure we did have an issue where players were losing hashmap data all together on the profileNamespace. I chalked it to a procedure of mine I had which sanitized keys and values for code, and perhaps that was still it but seeing this maybe not.

I have always thought it odd that nil is able to be stored for a keys value. In any case where we would use nil with a variable, it would delete. Perhaps because nil is still technically a value represented by the engine as a lack of one that's why it can be assigned to a key? Not sure I am smart enough to understand the why's of that but very interesting nonetheless

gleaming plume
devout wave
nimble veldt
#

See error in logs. Seems to be something is broken in 'HideTerrainObject' module. Windows server, stable branch

xx:47:57 Error in expression <_pivot","_a","_b"];

private _radius = (_a max _b) * 1.42;
private _objects = []>
xx:47:57   Error position: <_a max _b) * 1.42;
private _objects = []>
xx:47:57   Error Undefined variable in expression: _a
xx:47:57 File A3\Modules_F\Environment\HideTerrainObjects\init.sqf..., line 58
eager trout
#

Dumb question for the group. I found that any attachment to the top rail on the SPAR-16 (so basically any 3rd party laser/light combo) is misplaced and sits too far left on the rail. I made a bug report on the tracker, but now I'm wondering if this is a CBA joint rails issue or a BI issue? All of the BI PEQs sit on the side rail, so there's no way to test this except using 3rd party attachments.

scarlet sage
eager trout
scarlet sage
deft marsh
#

On another note, im getting some impressive results with terrain processor +1 😃

surreal bough
#

The standard Evolution mission, like ours, is all tied to blowing up the antenna conditionally... here are a couple of very old problems: if a tree has fallen next to an antenna or an antenna in the wall of a building, at least by some edge, or just in the building, then the tree or the building takes all the damage from explosives - the antenna cannot be blown up

daring wagon
#

So what exactly is the issue?

regal nimbus
#

Could do with a CfgPatches attribute with a list of addons that should block loading this one. Example use case is building on top of both ACE compat and non-ACE versions of mods. Otherwise some cases currently need __has_include and non-binarized config.

rapid badge
#

@deft marsh Sounds like Terrain Processor was a good use of tools dev time/prioritizing in terms of what it enabled for community terrain makers...

deft marsh
#

well there are plugins for GIS software out there that do a bunch of stuff, but it definately wasnt a waste of dev time polishing it a bit for release

#

just need better vegetation to make the most of it now 😄

ripe crystal
#

Not sure how possible or feasible this is but we are kind of running into a unique problem. Ever since HTTP downloading, we've added a lot more to our servers mission file. Right now the current size is ~120MB. Every time we push any kind of mission update (content or hotfix), we have always generally used a new mission name for version histories sake.

The problem is now those old mission files are probably adding up a lot on people's hard drives and I doubt people are aware that is space being taken up that they should probably be clearing. Is there a way that they could be notified upon old missions taking up old space? Alternatively I suppose older missions could be auto-deleted but that sounds kind of risky.

Worst case we could probably just rework our CICD to use a static mission name but figured still might be something worthwhile bringing up

unborn acorn
mortal tendon
regal nimbus
#

Could do with a way to semi-optimally render polyline user markers onto map controls. drawPolygon doesn't work atm because it completes the line. Spamming drawLine is slow.

snow cairn
#

reporting what?

dusky tendon
#

_vehicle setVehicleAmmoDef 1 can remove unit weapon in cargo position...

My EH WaypointComplete patrol for the first waypoint involved restoring ammo for vehicles. I tested the situation and determined that all passengers were losing all their equipment except for clothing and first aid kits. As a result, I had enemies running around the combat zone without weapons.

#

commander same lost weapon

faint fossil
unborn acorn
vale maple
# modest sonnet Long-standing problem

Made a new feedback tracker post for the Query Timeout since all the existing ones had almost no actual information on the bug or were just people ranting about it. https://feedback.bistudio.com/T195080

Anyone who has any further related information please chime in there to help aggregate the info although we have a pretty good understanding of it already. Hopefully this is enough for a fix/workaround for one of the longest standing BE related issues plaguing the community for as long as I can remember. The problem itself seems pretty straight forward but I do worry that BI doesn't have access to fix the BE side of it so perhaps one of the proposed workarounds will fix it. All we really need is a way to kick players before they get registered by BE and plagued by the timeouts.

vale maple
# sacred river Check https://feedback.bistudio.com/T180455

I read this one when searching. It was very incomplete as far as information about the actual problem goes. Most of what we've learned about the issue wasn't even mentioned in it. This isn't a random issue related to hardware like many people seem to assume (or at least, the variant we've been dealing with for years isn't). It's a very specific engine/BE issue with consistent reproduction steps related to ungraceful disconnects and order of internal events when joining a server (something possibly in BI's hands and not locked away by BE)

sacred river
#

I cannot really confirm the steps to reproduce the issue. Around 90% (if not more) of BE Query Timeout issues are related to player hardware. The rest might be connected to connection issues. But most of these issues we had were solved when players actually used better drives. But as Dedmen said in the ticket that he won't do any changes, I actually just made a tick on the issue as resolved in my brain.

vale maple
# sacred river I cannot really confirm the steps to reproduce the issue. Around 90% (if not mor...

Our variant is very reproduceable and certainly has nothing to do with any individuals hardware or connections. It's very clearly directly related to rejoining too quickly before BE updates it's own player hashmap when the player disconnects ungracefully. This means that assuming they have some form of control over the order of operations when joining a server, specifically when in that process BE registers the player, this could be solved by BI without needing BE.

#

For example, by updating the kickTimeout config option to kick before BE registration. This may not be so simple in such a legacy engine but I haven't seen anywhere near the amount of information we've collected on this issue anywhere else and our data suggests what the problem is quite clearly and potential solutions.

desert trench
#

Mission cycle in combo autoselectmission=true; [as best as we could tell] can also lead to BE Query Timeout in some way.
Its very reproducible on the official BI servers for SPE.

Dedmen tried to find the root of the issue last year, and fixed some potential causes, yet unfortunately it didnt help in the end.

Overall I'd assume as the message implies some handshaking between BE and DS and/or client in certain conditions doesnt work out.

Its a shame it hasnt gotten more attention, ie more extensive logging may give more clues, as going by FT/BIF/reddit/etc post, the issue seems to have been quite prevalent for many years with A3.

hallow sun
#

These BE issues are a big turn off, don't wanna know how many people rage quitted because of that alone over the years.

fast lodge
#

Do you have to turn off battleye so nobody will get kicked or is it enough to turn off the verify Signature feature?

untold sky
# clear glen <@90532520101183488> toying around seeing if I could make some unmodifiable has...

compileFinal creates a copy of the hashmap, and the copy is then final-ed.
The bug is that during copying, only some flags are copied over, not all

Specifically the NoCopy and ReadOnly flags are skipped.
Sadly I didn't leave a comment, and don't remember why I skipped the NoCopy one.
I don't know why you would want a copy of a non-copyable hashmap to become copyable 🤣
So its probably fine for me to just fix this.

Also compileFinal copying the hashmap is inefficient. I can edit the existing one in-place if no-one else has a reference to it.

untold sky
untold sky
# vale maple Oh I know, we've been dealing with it for 5 years about 25 incidences a day. We'...

There are two issues.
There is one where even right at mission start, the server is somehow stuck and every player gets kicked with BE timeout and cannot get in.
I investigated that in 2023, made a couple fixes but end result was seemingly not fixed.

The other is the one after kick. As far as I know that is on BattlEye's side. The game does not have a timeout, but BattlEye must have some internally which is why you can join after waiting.

We actually CANNOT tell BattlEye that a player has disconnected. I assume that is the problem. It doesn't handle a new player trying to connect on a IP where a player is already supposed to be on.
I cannot fix BattlEye

untold sky
# regal nimbus `saveProfileNamespace` and `saveMissionProfileNamespace` mangle nils in hashmaps...

Indeed..... What a curious little thing.
It replaces the "no value" with "nil value"

Don't think I'd agree on the term mangle. Both are a undefined variable.

The problem is during saving, it replaces the value. It should not do that.
But also fixing that doesn't make that much sense, because on loading it will place a nil value there anyway.
So after a save+load the result would be the same.

The bug is in createHashMapfromArray not allocating nil value instances.
But if I do that, that makes the use of hashmaps as a "set" container with no values, less efficient because it will allocate needless values.

So can we just consider that an intentional quirk?

#

Mh but it must be a bug?

_testHM = [[] select 0]; 
profileNamespace setVariable ["testNil", _testHM];
saveProfileNamespace;
profileNamespace getVariable "testNil";

Also creates a "no value" so should become the same, but doesn't.

#

Oh I see.
The normal serialization creates a temporary nothing instance.
Then serializes. And if the serialization result is nothing, it sets it back to no value.

The hashmap serialization is optimized to cut out one layer of it, exactly the layer that has that wrapper.

But won't that turn Nil into..
Aw gawd man

#

"any" == nil
"<null>" == nothing
"<null>" == no value

Cursed be ye

untold sky
untold sky
untold sky
untold sky
untold sky
untold sky
# ripe crystal Not sure how possible or feasible this is but we are kind of running into a uniq...

Yeah I had that on my mind too.
For RPT folder we do a deletion based on number of files and then oldest.
I guess we need same too.

Probably file size based though, instead of count.
Like.. 512MB folder size or so?

But I also don't like doing the deletion, because I like having a history and backup of all missions I've played in my folder. That's why I didn't do anything about it.

Maybe a combo of "if folder is too large, delete the oldest files that are larger than 50MB, but keep all the small files around"

FT ticket please

#

The hashmap mess is fixed

ripe crystal
nimble veldt
ripe crystal
clear glen
vale maple
# untold sky There are two issues. There is one where even right at mission start, the server...

I figured you guys couldn't edit Battleye but do you have control over when Battleye registers the player as part of the server join process? All we'd really need to solve it is to force the player to wait the 2 minutes before rejoining. Currently kickTimeout runs too late (the kick works but the player will already be broken in the BE player cache/map). I've also tried kicking on client state 1 but that seemed to be too late as well (unsurprisingly).

gleaming plume
onyx mica
#

would it be big deal instead of kicking someone of server when he has soundfiles in documents\Arma 3\sound to only not loading those sounds and let him join?

untold sky
untold sky
# dusky tendon _vehicle setVehicleAmmoDef 1 can remove unit weapon in cargo position... My EH ...

I have never heard of that command till today.
The code of it is weird, it says it would create a new dummy vehicle, but then never does.

Then its supposed to copy the turret data from that dummy vehicle.
But instead of the dummy vehicle, it passes null to the copy function.
And in the copy function, 90% of the code is just commented out.
It then just calls setVehicleAmmo.

I would say that command is just completely borked, and has been for a while. Don't expect a fix

dusky tendon
#

I also wonder how long it will take to fix setUnitTrait ["loadCoef"], which breaks the stamina calculation logic when moving items in the inventory?

  1. If the player is 90% loaded and has 10% stamina with the default loadCoef value.

  2. If the player is 90% loaded and has 10% stamina with a loadCoef value of 0.

  3. When adding or removing any item from the inventory, stamina is distributed correctly in any slot.

  4. When adding or removing any item from the inventory, stamina is distributed relative to loadCoef 1 instead of loadCoef 0, which causes the player to instantly lose stamina if they had 100% stamina at that moment.

This is especially annoying when reloading.

In the end, someone forgot to add the values ​​of the getUnitTrait "loadCoef" parameter to the calculation.

daring wagon
#

I can do that if dedmen tells me what I should write.

untold sky
untold sky
untold sky
untold sky
#

I will do feedback tracker tickets probably all day tomorrow, so if its there by then..

untold sky
daring wagon
untold sky
#

Atleast I didn't see it in my last pass

untold sky
untold sky
untold sky
daring wagon
#

And to use setVehicleAmmo?

#

I understand they are pretty much the same?

untold sky
sleek scaffold
limpid rune
#

the few times I tried using it it seemed to work as intended? but I only tried it on like tanks etc

vale maple
dusky tendon
#

Who know why currentweapon on player can be Put? How fix this?
(Moded server)
in logs error while he fire
Cannot find cartridge pos for Put, wrong weaponType

#

BRUH... ALAMUT = AK

regal nimbus
#

Put is the grenade throwing weapon.

scarlet sage
regal nimbus
#

oh, yeah

dusky tendon
#

no know why but command broken with mod... how... how engine command can be broken with mods..

#

currentweapon result
primary = put
secondary = primary
handgun = put

How ....

scarlet sage
dusky tendon
#

bruh... on server(server call) he have primary Put but my unit have corrent gun

#

And are you on the profiling branch?
No

Even on yourself?
How you see on screenshot server and me see normal

scarlet sage
#

I wonder if he's normal on his side.

dusky tendon
#
[player,(currentWeapon player)]remoteExec ["groupchat",0];

global call... on he's side this normal

scarlet sage
#

Weird, weird mods

dusky tendon
#

weird weird

scarlet sage
dusky tendon
#

current mods

scarlet sage
# dusky tendon weird weird

Actually, wait:
currentWeapon

Lou Montana - Posted on 2009-07-15 - 04:00 (CEST)
It seems it is not working in 1.02 for other unit than player.

dusky tendon
#

lol

#

2009...

regal nimbus
#

Could have just marked it as local argument and claimed it was intentional :P

foggy shuttle
#

Not just a mod thing, it does happen in vanilla with no mods as well

#

Basically the player can see his own weapon state properly, but over network it doesnt sync some times.
One way we verified a replication method was with exiting a parachute will always screw with the initial weapon state, and be incorrect for an unknown time frame.