#arma3_feedback_tracker

1 messages · Page 16 of 1

gaunt depot
#

High ground height, _array is list of AGL positions with z=0

_array inAreaArrayIndexes [player, 15, 15, 0, false, 15] // NO matches
_array inAreaArrayIndexes [getPosATL player, 15, 15, 0, false, 15] // Matches
#

Lets fix the bug instead of treating it as a feature

#

Yeah, it treats everything as ASL, not just centre

solid marten
#

bug with inAreaArray?

gaunt depot
#

inAreaArrayIndexes, expects all positions to be ASL

#

We figured only center position should be ASL but no, all positions are treated as ASL

regal nimbus
#

Uh, I would assume that if you're feeding it with positions then it's just doing arithmetic.

#

Question would be what happens when you feed it with objects.

#

Given that doing an arithmetic 2d cylinder on ATL/AGL is questionable, maybe it's inAreaArray that's the bugged one :P

solid marten
gaunt depot
#

Yeah, I already changed my positions to be ASL and then did the test so there was no matches

#

inAreaArray is fine

#

Still my point stands, inAreaArrayIndexes expects all positions to be ASL, not just center

#

Sorry for confusion

#

Still, I'd just fix the command to be uniform

gaunt depot
#

I wonder if mines can be made to damage buildings less?

#

Kinda strange to have 2 claymores destroy a stone building

untold sky
#

Let's stabilize the player character so he stays at the same angle in water, facing towards the horizon.

The player is swimming up, we need to push him down so lets push by 0.04
Okey he's now in balance its fine now.

Oh the player swam into a mine, he's now angled up a bit, we need to push him down by 0.006
Oh the player is now angled down a bit, we need to push him up by -0.006
Oh the player is now angled up a bit, we need to push him down by 0.006
Oh the ....

#

There is already a safety threshold, because small rotations are imprecise.
The threshold is 0.005.

unborn acorn
#

When an explosion is near(inside) a building, destroyed windows do not make hitGlass sounds when destroyed, can be improved? no sound only due explosion, all ok when shot rifles

dreamy bane
#

wish we had destroyable house doors. (like wooden doors etc) the game already has destroyable glass doors so it should be doable.

sinful kettle
#

Does anyone else find the curator camera annoying? It seems to use ATL height which means it keeps bobbing up and down as you move
It's not that bad over land but over water it's horrible meowsweats

#

Imo at least it should be AGL not ATL ( I personally prefer ASL, but AGL is the most "backward compatible" solution)

sinful kettle
dreamy bane
sinful kettle
#

Even if it was acceptable that way it's not gonna happen because it needs modification to model animations

dreamy bane
#

hmm i didnt realize glass doors had breaking animation, it look like there was just particles flying around and door become invisible. maybe im wrong

#

the ones in Tanoa have animation it seems

#

well have to just rely on my script that opens the doors "when destroyed"

unborn acorn
dreamy bane
sinful kettle
dreamy bane
sinful kettle
#

Do they even support hidden selection textures?
(and even if they did, you'd still see the shadow)

#

Plus the geometry is still there

dreamy bane
#

yeah disabling geometry would be needed. idk about selections if they have those

solid marten
solid marten
gaunt depot
solid marten
gaunt depot
solid marten
#

with mod I mean

#

you can make a mod and tweak all the buildings

hallow sun
#

You can even shoot a building with bullets and destroy it, just takes a while.

gaunt depot
#

Yeah, but this might make other explosive sources weak, people got used to have buildings fold from a single HE shell

solid marten
solid marten
#

at least it wasnt like that when I was playing with building destruction years back

unborn acorn
hallow sun
gaunt depot
#

Nothing wrong with that

#

Having claymores also do that is the issue, not sure if it can be solved by tweaking the buildings

solid marten
#

tweak claymore, is there like a separate anti-personnel damage setting or something

cyan basin
#

oh yeah, the building damage is very arcadey

gaunt depot
#

@solid marten Can I ask for a bit of insight? Does setMissileTargetPos [0,0,0] stops the missile from going to target position or will it actually try to go to [0,0,0]?

#

Basically I want to stop missiles from stop going to target position

#

And another question, what is object complexity requirement for setMissileTarget? Does it have to be full-fledged entity? I was trying to have missile follow flare shot but it doesn't work

#

I wonder if its just an oversight or its possible to have missiles target even simplies entities

#

Having missiles follow actual flare shots would be cool script (flare shots are global)

regal nimbus
gaunt depot
#

Wish there was something property in CfgAmmo to fraction the damage depending on armor or something

#

or whatever buildings have

regal nimbus
#

Honestly the blast damage vs units calculation is so bad that I was seriously wondering if they could improve it without breaking backwards compatibility.

gaunt depot
#

Guess its 11 years too late

solid marten
gaunt depot
#

Also I wonder if setMissileTarget also does some internal weaponLockSystem checks and stuff like that and its not about entity complexity

#

If it does, I wonder if having a flag to bypass them could be a thing

solid marten
gaunt depot
solid marten
#

if you do setMissileTarget objNull does it not cancel the targeting?

gaunt depot
#

Do you want repro now? Can cook it in a few mins.

gaunt depot
#

Hmm, maybe setMissileTarget objNull also cancels setMissionTargetPos too?

solid marten
#

now or later, I will look at it over weekend

#

setMissionTargetPos [0,0,0] this is the init default so maybe you have to use both to cancel targeting, try it

solid marten
#

next dev

gaunt depot
#
  1. Select BIM 9X (AA SR)
  2. Shoot without targeting, script will try to setMissileTarget to flare
  3. Observe that target wasn't set
daring wagon
#

15:21:36 Serialization of Display variables is not implemented
15:21:36 ➥ Context: Serialize Game Variable: _display
15:21:36 Serialization of Display variables is not implemented
15:21:36 ➥ Context: Serialize Game Variable: _this
15:21:36 Serialization of Display variables is not implemented

Would it be possible to print the parent script or something where this variable is being used/defined?

solid marten
# gaunt depot

Maybe you would want to update biki. The sure way to cancel locked missile would be setMissileTarget objNull; This sets target to null, sets direction to [0,0,0] and sets missile state to LOST

#

So maybe you need to also set position to [0,0,0]

gaunt depot
#

How many states are there? Maybe a worthy thing to return with getShotInfo?

devout wave
solid marten
gaunt depot
#

Nice!

regal nimbus
#

Sounds like we're gonna get more feedback on missile AI than any other Arma AI :P

surreal bough
#

comparing the two gameplay of the game Dayz and ARMA in my experience, I really lack more sound for steps, opening doors and manipulating equipment

#

AI literally does it silently

unborn acorn
valid ice
#

outdoors and indoors sounsets are handled by sound shaders, I dont think they are intended to use specifically different sounds for each state

Ah nvm, just saw the actual ticket content

fast lodge
#

It would be really nice if addMagazineCargo could get used on local containers just like addItemCargo

fast lodge
# gray wharf it can…?

let me test it again because some month ago I tried to add a magazine with 50% ammo count into a local weaponholder on a server and it did not work

#

oh wait Im talking about a different command

#

addMagazineAmmoCargo

#

this one

#

it would be nice if it can used on a local container

rose cloak
#

wut intensifies

devout wave
#

I dunno if the global effect part of it has any unforeseen consequences, but in theory you should be able to use it on a local-only object.
Note that:

  • you must use it on the machine where the object is local; other machines don't know it exists
  • you must get the reference to the object on the machine where the object is local; other machines don't know it exists, and if they have an equivalent copy, their own local reference will be different and won't work on different machines
rose cloak
#

called from client in 3DEN MP blobdoggoshruggoogly

fast lodge
#

yea I tested it again and it does work meowawww for some reason when I tested it a year ago it wasnt working at all blobdoggoshruggoogly

surreal bough
#

🤪

cyan basin
#

i have seen the other month on the milsim group someone dead with their limbs stretched on a window lol

daring wagon
gaunt depot
# surreal bough

I had this happen when you use wrong TakeBag action (there are 2, one is broken)

gritty moth
#

I think the 2x sight should be 4x, and 4x sight has a 6x option

solid marten
#

So it happened that for some strange reason the helicopter was declared dead prematurely when it was crashing upside down. Now the next simulation cycle will determine this, and because of this it actually nicely explodes now with a bang

surreal bough
untold sky
outer frigate
#

atl works better when <100m atl imo

untold sky
untold sky
daring wagon
#

How does the Engine handle that. What information does it need?

untold sky
#

It stores it all in the units tree.
What tree it is decides type and side.

#

Entries in units tree contain classname, icon, creation flags.
Composition item has flag whether steam or custom, and the foldername
Marker item has icon, classname, markertype and color
Trigger item has texture and classname
Module item has icon, classname and creation flags
Waypoint item has classname and icon

#

I would need to implement new wrappers for all of these..

#

Unit I already got done

sinful kettle
#

AGL is terrain + water

daring wagon
sinful kettle
#

Actually now that I think about it AGL moves with waves so it shouldn't be AGL either

untold sky
#

There is no "backwards compat" to keep in mind with how the player moves a camera around.
So it doesn't really matter.
If Eden is ASL then that makes the most sense to use there too

sinful kettle
#

Yeah let's go with ASL

untold sky
# daring wagon No idea what the best approach here would be.

I think the most universal would be array of hashmaps.
Hashmap has type entry that says what kinda thing.
And then per thing there are different sub-info's.
And then you can pass multiple with offset entry in each, to make a composition.

Though composition is also very hard..
For composition I would have to basically spawn them all, generate a copy-paste out of it. Delete them all and create a dummy composition with that copy-paste memory..
I'd rather not do that 😄

#

All options are a pain. Unless I just leave it at "unit only"

#

Maybe for future if someone feels like being pained.
We can make it forward compatible and make it array of hashmaps. But for now basically only allow
[{classname: "B_Survivor_F"}]
one entry, only classname.

Later on we can add "type" for others, or offset if someone feels like composition

daring wagon
#

Yeah I guess unit/prop is the most important one.

untold sky
#

Do you actually currently need anything other than single-unit?

daring wagon
#

Let me check

#

Nope, I disabled markers and stuff from adding it to favorites so units only

untold sky
#

Then I'll do jus that and we can maybe extend it later

untold sky
#

Actually only hashmap as argument.
Then you can maybe do

set3DENAttachedCursorEntity {type: "composition", objects: [a, b, c, d, ...]}

We need some syntax to create a actual hashmap 🤣

Something like

#{
  "a": 1,
  5: _variable,
  missionNamespace: player
}

would be neat 😄

outer frigate
#

would maybe close with }# to make it easy to identify when used in code blocks?

untold sky
#

Mh.
<> thingies are unused for opening/closing blocks

#

two character closer feels weird

#

Implementation wise easy to do.
And code editors would already support matching {} pairs and could just ignore the # around it

outer frigate
#

given <> is less likely to be supported by code editors id say #{}# works better imo

#

even if two character closer feels weird... its sqf

gray wharf
#

so HashMap select x would be #{}##x? 😛

untold sky
#

# select command doesn't work on hashmaps.
But that would look like that if that worked

gray wharf
#

make it

outer frigate
#

hashmaps are unordered so select is useless

#

selectRandom works though iirc?

#

not according to biki... hmmm 🤔

gray wharf
#

_myHashMap # 'indexX'

outer frigate
#

get 🙂

gray wharf
#

select

outer frigate
#

😠

gray wharf
#

I dislike # really 😄

outer frigate
#

i love it

#

it means i can make my code even more unreadable

outer frigate
#

🐸

#

anyway im pretty sure there was a ticket for selectRandom in hashmaps, trying to find it

#

hm, cant find it - any interest in expanding it to hashmaps?

untold sky
#

A random key-value pair 🤔
But why 😄
selectRandom keys _hm is doable but expensive

outer frigate
#

ive wanted to randomly select an item and its data before but cant remember precisely why

#

(i.e like id'd items)

untold sky
#

@daring wagon Have you tried getting composition folder paths?
I don't think there is a way for scripts to read what compositions are available.
Besides reading the elements and treeItemData in the right-side tree inside eden.

Adding composition from "folderpath" would be easy to do, but not worth if its not possible to find what compo's are available 🤔

I have now implemented unit and marker cuz it was easy.

daring wagon
#

Compositions are messy as there are several implementations. I don't feel like messing with it if I dont have too 😄

#

There are

  • CfgGroups
  • Steam Compositions
  • Local Compositions
  • Config Compositions (Of these I can get the path to the file IIRC)
untold sky
#

CfgGroups would be "group" type with classname.
local/custom compositions yeah... Eden gets it from treeItemData so I assume scripts can read the tree UI too. But that's quite a chore to enumerate compositions

daring wagon
#

I remember I made a ticket related to that command.

#

Some type of composition didn't work with it

#

(findDisplay 313 displayCtrl 56)tvData tvCurSel (findDisplay 313 displayCtrl 56) //"B_APC_Tracked_01_AA_F"

untold sky
#

When you click on a composition what does it say?

daring wagon
#

Checking

#

"OutpostE"

untold sky
#

That should be foldername

daring wagon
#

"WW2\SPE_Assets_c\Compositions\3den_c\sqe\SPE_Comp_GER_Camp_Small"
It is

untold sky
#

and tvValue says if its steam or custom/local

daring wagon
#

It's folder name if it's a eden composition defined in config.

#

The other compositions are CfgGroups again I guess

#

"C:\Program Files (x86)\Steam\steamapps\workshop\content\107410\3248475523"
For steam composition

untold sky
#

Ugh.

CfgGroups builds config paths by checking parents

#

parent parent parent itemData >> parent parent itemdata >> parent itemData >> itemData

"CfgGroups" it finds the class that has "side" entry matching the currently selected tree.

faction >> type >> group

#

config composition is in a "side" tree, instead of the compositions tree. And there it has the classname.

in the compositions tree its either steam or local based on tvValue

Well that's all alot of fun 😄

#

group spawn would probably be by config path then, not classname

daring wagon
#

Yeah, makes sense I guess

sacred river
#

Is there any chance for having this in 2.18? Currently, its only possible via extension or external tools to get the BUID. Would be really helpful for scripted bans

hallow sun
sacred river
gritty moth
#

Starting the game will cause PS to crash

gray wharf
#

PS?

solid marten
#

play station

solid marten
#

The command is useless, I have edited the description, we have other commands that do a better job returning the same info and more. But since it is nular and meant to obtain only player settings, you can forget about it.

keen sable
#

what about a currentNamespaceName command so we dont have to use a function ```SQF

private _fn_getCurrentNamespaceName = {
if (currentNamespace isEqualTo missionNamespace) exitWith { "missionNamespace" };
if (currentNamespace isEqualTo parsingNamespace) exitWith { "parsingNamespace" };
if (currentNamespace isEqualTo profileNamespace) exitWith { "profileNamespace" };
if (currentNamespace isEqualTo uiNamespace) exitWith { "uiNamespace" };
"error";
};

alpine tulip
#

Not sure what is the usecase there

keen sable
#

easier to get the namespace name for debug or something else, copy paste the _fn_getCurrentNamespaceName func its to hard requires to much work blobcloseenjoy

gray wharf
#

what about

hint str currentNamespace
```?
keen sable
gray wharf
#

(well, does it work?)

keen sable
#

never tried

#

1s

gray wharf
#

but yeah no, 0% chance for the currentNamespaceName command to exist
it's a bit of a pain to create commands so they better do something nice 😄

keen sable
#

na it doesnt just return the namespace type

#

but in a string

#

whatever not a big deal

gray wharf
gray wharf
keen sable
# gray wharf ?

the ticket explains it well doesnt it? i know dedmen subscribed to the ticket so he might be interested on doing it

gray wharf
keen sable
#

i mean its a old ticket so maybe it fell into oblivion 😄

solid marten
gray wharf
solid marten
#

they are currently return "namespace" so it cannot suddeny return soemthing else

gray wharf
#

yeah, I mean could it be made so that str missionNamespace would return "missionNamespace" or is that .ToString() a tough task?

solid marten
#

can extend name command

gaunt depot
#

I very much doubt anyone uses str missionNamespace == "Namespace" check in their mission

solid marten
#

name currentNamespace - "missionNamespace"

gaunt depot
#

typeName missionNamespace maybe

solid marten
#

thats what I meant :0

#

but it returns "NAMESPACE"

#

so no

#

name it is

gaunt depot
#

I'd just change str NAMESPACE to return namespace name

solid marten
#

or type

#

can use type currentnamespace

solid marten
#

so it tis name or type pick one

gaunt depot
solid marten
#

both return string so

#

type is existing command

gaunt depot
#

There is type LOCATION and name LOCATION which seem to do the same thing thronking

solid marten
#

I go with type though

#

yeah

#

type is almost never used so i go with type

#

idea for the return values?

gray wharf
#

I'd vote for name tho :(

solid marten
#

why do you have to always be difficult

gray wharf
#

because namespaces are a same type, they are just different usage

keen sable
#

i vote for name also, i have never seen someone using the type command xD

solid marten
#

NAME NAMEspace meh

#

type namespace 👍

gaunt depot
#

space NAMESPACE rotatingparrot

gray wharf
#

mespa naMESPAce!

solid marten
#

namespacename namespace

keen sable
gaunt depot
#

Speaking of str of stuff, would be so great if entities also had classnames in it, its so confusing that you get same string for both unit and vehicle of unit if they're commander:
[player, vehicle player] => [B Alpha 1-2:1 (Sa-Matra),B Alpha 1-2:1 (Sa-Matra)]

#

but I guess its 11 years too late again

solid marten
#

changing return values is VERRRRRRY risky

gaunt depot
#

[player, vehicle player] => [B Alpha 1-2:1 (Sa-Matra) (B_Soldier_F),B Alpha 1-2:1 (Sa-Matra) (I_Heli_Transport_02_F)]

solid marten
#

so

#

type or name

gray wharf
#

typeName

solid marten
#

taken

keen sable
#

hahaha

gray wharf
#

waitaminute

gaunt depot
#

[u, vehicle u] => [B Alpha 1-2:2 (B_Soldier_F),B Alpha 1-2:2 (I_Heli_Transport_02_F)]

solid marten
#

no u

gaunt depot
#

no u => object id

solid marten
gaunt depot
#

Speaking of which, is there a command to return that object id?

#

211f9600b80# 1832934: dummyweapon.p3d

#

1832934

solid marten
#

getObjectId?

gaunt depot
#

Oh yeah, that it is

#

Fairly recent too, that's why I missed it

gray wharf
solid marten
#

visitor id i think

gaunt depot
#

I.D.

solid marten
#

getObjectID

#

but yeah thats correct casing

gray wharf
#

getObjectIdentificationNumber

solid marten
#

add redirect

gray wharf
#

done!

solid marten
#

so name or type?

keen sable
#

name

gaunt depot
#

it can use namespaces as key

solid marten
#

ok I will extend name after I finish "ArtilleryShellFired" EH

devout wave
#

On the subject of name, setName on units handles fullname/firstname/lastname separately, but name only returns a unified string. There's no way to actually get the separate names (firstname and lastname can contain spaces so can't assume based on splitting the fullname at first space).
I don't really have a use case for this, it just occurred to me while you were talking about this. i think nameName should be added to do this

gaunt depot
#

UAV locality gets unplayable in live games, turrets sometimes take several minutes to switch locality, sometimes they don't seem to become local at all, I couldn't figure out any connections, feels random

#

I'll have a ticket soon-ish

dreamy bane
#

btw speaking of "name", name location does not return anything (empty string).

#

I used text instead

gaunt depot
#

Thank you Arma, very cool

#

Looks like empty world you see in the main menu, no idea how this happened

#

Still says VR for worldName

#

Anything else to run to try to figure what's going on?

#

Also looks like pre-Apex lighting

alpine tulip
#

More like default lighting (CAWorld to me)

gaunt depot
#

A3 Limbo

dreamy bane
alpine tulip
gaunt depot
#

I think I know why it happened though, I started hosting by accident, then cancelled and joined

#

Which seemed to break the game

alpine tulip
#

Thanks, very useful repro step meowsweats

gaunt depot
#

I wonder if you'll end up in limbo on a live server too

gaunt depot
solid marten
gray wharf
gray wharf
solid marten
#

should be on the logs somewhere

gaunt depot
#

Almost 1:30 to switch turret locality on dedic server oldman

#

Couldn't get locality never switch though, only happens randomly on live server

desert trench
#

name _deadUnit should return what now?

gaunt depot
#

Made a ticket with repro, both showing unreasonbly long time for UAV locality switch on dedicated server as well as turret taking the longest (and sometimes never switching locality in live games)

solid marten
gaunt depot
#

Wasn't it something like: ERROR: Dead unit or something?

#

Error: No unit

desert trench
#

unless this was fixed/changed in last few updates, its still the same AFAIK

#

you need cache the unit name for dead units - otherwise you get that error spammed

solid marten
#

last few LOL

#

dont even remember when it was changed

desert trench
#

"Error: No vehicle"

#

for dead bodies

#

with 2.17

#

edit: with cursorObject - which may not be the body

#

name cursorTarget

#

does work indeed

solid marten
desert trench
#

it seems the identity gets reset or sth - like previous setName is no longer applied

#

its weird. seems where the AI is remove, the name gets reset once the unit (AI) has respawned

#

but the vehicleVarName is also different

#

cursorTarget,cursorObject,name cursorTarget,name cursorObject]

#

host

#

[bis_o2_3275,bis_o2_3275,"François-Marie Farage","François-Marie Farage"]

#

2nd client

#

[1f770fed900# 715175: spe_us_hbt44_uniform.p3d REMOTE,1f770fed900# 715175: spe_us_hbt44_uniform.p3d REMOTE,"McGregor","McGregor"]

gritty moth
azure crane
#

does not crash mine shrug

gray wharf
cyan basin
#

the empty world is a special one used when you're disconnected and have no game/scenario/mission running at all

#

been a thing since arma 2 oa

gaunt depot
cyan basin
#

odd

#

fun edge case

keen sable
#

This is the workaround i currently have. idk if there its a better way of check if is running apart of comparing the player speed that it is not accurate at all

    isRunning = false;
    0 spawn {
        private _standingAnims = ["amovpercmevasraswrfldf","amovpercmevasraswrfldfr","amovpercmevasraswrfldfl","amovpercmrunsraswrfldf","amovpercmrunsraswrfldr","amovpercmrunsraswrfldl","amovpercmrunsraswrfldb","amovpercmrunsraswrfldfr","amovpercmrunsraswrfldfl","amovpercmrunsraswrfldbl","amovpercmrunsraswrfldbr"];
        private _crouchAnims = ["amovpknlmevasraswrfldf","amovpknlmevasraswrfldfr","amovpknlmevasraswrfldfl","amovpknlmrunsraswrfldl","amovpknlmrunsraswrfldr","amovpknlmrunsraswrfldf","amovpknlmrunsraswrfldfl","amovpknlmrunsraswrfldfr","amovpknlmrunsraswrfldb","amovpknlmrunsraswrfldbl","amovpknlmrunsraswrfldbr"];
        
        while {true} do {
            private _anim = animationState player;

            private _runningStanding = _anim in _standingAnims;
            private _runningCrouch = _anim in _crouchAnims;

            if (isRunning && { !_runningStanding && { !_runningCrouch } }) then {
                uiSleep 0.28;
                isRunning = false;
            };

            isRunning = _runningStanding || { _runningCrouch };

            uiSleep 0.1;
        };
    };
fast lodge
lament escarp
#

While this was likely intentional at one point, I have found that you cannot unload the magazine from a muzzle with showToPlayer = 0; to your player's inventory, but you can unload it to an external inventory object.

https://feedback.bistudio.com/T182614

sinful kettle
# keen sable This is the workaround i currently have. idk if there its a better way of check...

You can just get the current action group and see if the player is using the sprint actions (called FastXX, where XX is the direction):

_state = animationState _unit;
_actions = getText(configFile >> "cfgMovesMaleSdr" >> "states" >> _state >> "actions");
_actionCfg = configFile >> "cfgMovesMaleSdr" >> "actions" >> _actions;
_isRunning = _state in (["FastF", "FastRF", "FastLF"] apply {toLowerANSI getText (_actionCfg >> _x)})
#

I guess it'll return true if you're "prone sprinting" too

keen sable
#

should i cache the configs reads or its not noticeable the impact ?

alpine tulip
#

Latter

keen sable
#

ok

unborn acorn
untold sky
solid marten
hallow sun
#

Can someone repro that ?
I might have found a cause for that Object 2:1029 not found rpt spam.
https://cdn.discordapp.com/attachments/476133397224488960/1258420913620389999/image.png?ex=6687fb4e&is=6686a9ce&hm=455bb059b1644b9215e0bcb4c3006af5d7db682d1c09a3238a4ebacd80a45a32&
See netID of the UniformContainer in the debug console in the screenshot (Unit was spawned and geared serverside (Not sure if it matters for the repro)).

After sever exec of this code to remove the Uniform the error will continuously spam the rpt.

_targetplayer = objectFromNetId "2:1030";
removeUniform _targetplayer; 

And you should see the error spamming with the netID of your UniformContainer.
This also triggers for removeVest but not for removeBackpackGlobal.
If you execute on the client there is no error spam in the server rpt.

15:54:38 Server: Object 2:1029 not found (message Type_463)
15:54:43 Server: Object 2:1029 not found (message Type_463)
15:54:48 Server: Object 2:1029 not found (message Type_463)
15:54:53 Server: Object 2:1029 not found (message Type_97)
15:54:53 Server: Object 2:1029 not found (message Type_463)
15:54:56 Server: Object 2:1029 not found (message Type_125)
15:54:58 Server: Object 2:1029 not found (message Type_463)
15:55:03 Server: Object 2:1029 not found (message Type_463)
15:55:08 Server: Object 2:1029 not found (message Type_463)
15:55:13 Server: Object 2:1029 not found (message Type_97)
15:55:13 Server: Object 2:1029 not found (message Type_463)
15:55:19 Server: Object 2:1029 not found (message Type_463)
15:55:24 Server: Object 2:1029 not found (message Type_463)
15:55:29 Server: Object 2:1029 not found (message Type_463)
15:55:33 Server: Object 2:1029 not found (message Type_125)
15:55:33 Server: Object 2:1029 not found (message Type_97)
15:55:34 Server: Object 2:1029 not found (message Type_463)
15:55:39 Server: Object 2:1029 not found (message Type_463)
gaunt depot
#

This also triggers for removeVest but not for removeBackpackGlobal.
OA good, A3 bad aviator

fast lodge
#

At the end it is probably connected to the bug that vest and uniform vanish sometimes for others and the server but the backpack always stays for some reason 🤣

#

maybe that comes down to that a backpack is a object (cfgvehicles) and uniform and vest are defined via cfgWeapons

#

but yea arma inventory code is super spaghetti so I doubt anyone is gonna touch it notlikemeow

solid marten
regal nimbus
#

Anyone run into an issue where hideObjectGlobal on terrain objects doesn't work on some init timings?

sinful kettle
#

Shouldn't you always use hideObject for terrain objects anyway?

dreamy bane
#

trees would become invisible but you could still collide at them

regal nimbus
#

The hide terrain objects module uses hideObjectGlobal by default.

regal nimbus
#

Also this is a localhost test case, so I don't see why there would be locality issues.

daring wagon
regal nimbus
#

oh hey, sometimes it unhides only some of the objects :/

#

Generated the same issue with hideObject.

solid marten
#

object streaming issue?

regal nimbus
#

I'm guessing so but it's so hard to replicate reliably that it's hard to find the conditions.

#

The test case has the camera within draw distance of the area where the objects are hidden, so I'm guessing that's a risk factor.

#

Often switching map to altis and back again makes it worse.

daring wagon
#

We had the issue where players would see different objects. For some tree 1 was hidden for others not.

regal nimbus
#

Yeah, back when we had issues with destroyed buildings I figured it was an issue specific to MP, but it turns out you can generate it in localhost...

#

My destroyed buildings workaround probably worked by luck. The method was to wait for the client to ask for the list of destroyed buildings.

sinful kettle
sinful kettle
solid marten
# gaunt depot Couldn't get locality never switch though, only happens randomly on live server

So, bare with me, when one enters vehicle turret, the gunner changes and this forces turret update so turret changes locality. When you take control of the unit in turret, it forces unit update but not turret because nothing changed, the gunner is the same. turret lock is in the same turret update message, could you test it by locking turret to force update and report back?

#

I think the same true for taking control of the driver (havent looked yet but all points to it)

#

Thats a major oversight if true

gaunt depot
#

Did lockTurret on server and it instantly transferred the locality!

#

You have to change it though, can't just true-false it in the same frame.

#

oh wait, you can't unlock it as turret is no longer server-owned anymore thronking

#
gunner uav addEventHandler ["Local", {
    params ["_unit", "_local"];
    if(!_local) then {
        uav lockTurret [[0], true];
    };
}];
#

Doing this in SERVER EXEC as client in repro mission makes turret instantly switch locality alongside the gunner

#

can't figure out proper moment to unlock the turret though

#

Is turret lock stored and synced in the vehicle or the turret? 🤔

devout wave
#

Given that it's a UAV, I wouldn't think you actually need to unlock it other than to force an update again next time it changes locality

gaunt depot
#

locks are also used to prevent connection and taking control of uav crew

#

You won't be able to reconnect to gunner if you don't unlock the turret

devout wave
#

Oh, I didn't know locking did that

gaunt depot
#

Yeah should probably add a note somewhere on wiki

#

I previously had a complicated system of enableUAVConnectability and disableUAVConnectability to control UAV access but turns out all you have to do is to lock/unlock it for each player

#

No need to mess with terminals, wait for terminal updates, etc.

#

UAVConnectability commands are stupid anyway, you can connect terminal and ditch it somewhere and these commands don't work for non-unit stored terminals

#

You need to mess with per frame locking though to make locks local

#

But you only have to do that when scroll wheel menu or terminal is open

#

Nothing is easy in Arma

gaunt depot
# gaunt depot ```sqf gunner uav addEventHandler ["Local", { params ["_unit", "_local"]; ...
gunner uav addEventHandler ["Local", {
    params ["_unit", "_local"];
    if(!_local) then {
        uav lockTurret [[0], true];
        {
            addMissionEventHandler ["EachFrame", {
                uav lockTurret [[0], false];
                removeMissionEventHandler [_thisEvent, _thisEventHandler];
            }];
        } remoteExecCall ["call", _unit];
    };
}];
```So there is nothing complicated about it really, I was just using `onEachFrame` to unlock on client which stopped my debug hint and I assumed turret locality didn't change, but it did.
#

So basically, if gunner locality goes away, also lock the turret and have new gunner owner unlock it back

#

Glad there is a hack to fix this issue but would love to have this fixed properly in the engine

unborn acorn
desert trench
#

our conclusion was its due to PX state not reliably updated

solid marten
gaunt depot
#

I haven't tried in a real game yet but will be trying this hackfix soon-ish

untold sky
#

drawLine3D thicc edition

solid marten
untold sky
#

drawLine3D only goes between two points, so there are no bends. The next segment would be a new line and the corners will overlap eachother

solid marten
#

I mean if you join 2 lines at different angles? I abandoned this after it looked mega ugly the thicker you go

alpine tulip
#

I mean it's less likely to have the feature, but what about "line style" option like solid, dotted etc? What I know is line pattern is defined in CfgCoreData IIRC

solid marten
#

it needs some radius on ends and that's a job

#

and performance loss

untold sky
untold sky
solid marten
#

Not to mention that if you make lines semi opaque you will see the overlaps

#

one possible solution would be to provide option for the end radius

#

roundEnds = true

untold sky
#

But engine line drawing doesn't support rounded ends. That'd be alot more work.
Adding width was just using a parameter that was already there anyways

alpine tulip
#

Uhh yeah that's true

gaunt depot
#

Not sure how to even call it, drawQuad3D? Name would assume you can specify everything for a quad 🤔

#

drawTexture3D also sort of sucks

#

drawIconWorld

#

drawIconWorld ["circle_texture.paa", PositionAGL, ColorRGBmodifier];

#

on line edges and you have smooth line angles

#

Or even:

drawLines3D [[Pos1, Pos2, ..., PosN], Color, Width]
```which adds these edges by itself
#

Less SQF too

gaunt depot
# untold sky drawLine3D thicc edition

That fuzzy border of the blue line looks like stretched texture. I wonder if you could feed it another texture to see what happens, maybe have drawLine3D take texture path instead of color?

sinful kettle
gaunt depot
sinful kettle
#

It already does show thru walls

gaunt depot
#

Sorry, meant to not show through walls, be culled similarly to drawLine3D

#

Wow, drawLine also got width parameter

#

I wonder if other map-drawing commands can get it too 🤔

#

Having to calculate pixel width and redraw same shape 4 more times to make thick line right now

untold sky
#

Fix the 8192 limitation on format
👍 / 👎 ?

alpine tulip
#

But is there side effect?

untold sky
#

No I'm just being funny.
I just found there is a decade old "//todo" on there which says to use a resizable buffer

tacit kettle
#

also what is the new limitation if there is one ?

untold sky
#

Strings longer than 4096 characters would be (very slightly) slower. Because the buffer will resize and copy the data into a new one
99% of uses are probably less than that so no difference there

gray wharf
#

and why 2056 in OFP

untold sky
#

The output of this command is limited to ~8Kb.
It was 8191. The buffer had 8192 elements but the code wasn't very nice

#

The new limit will be whichever power of two is smaller than 10mil

gray wharf
#

no, my bad ^^ wrong column

#

8388608

#

2^23

untold sky
#

yeah.
I can make it go up to 10 mil. But thats extra code and at this length I don't care enough

gray wharf
#

tbh, yeah ^^

#

if someone wants to format something this long they are already wrong in their mind :D

#

or just redirect to str formatText ["%1", _string] you know 🤣

untold sky
#

It now also throws script error if the max limit is reached and the output is truncated.
But its not an error that stops execution so it'll just continue after notifying you

untold sky
#

Took the chance to rewrite it and make it faster blobdoggoshruggoogly

_array = []; 
_array resize 8191; 
_array = _array apply {32}; 

[
diag_codePerformance [{ format ["%1aaa", toString _this]; }, _array, 10000],
diag_codePerformance [{ formatOld ["%1aaa", toString _this]; }, _array, 10000]
]

[[0.024775,10000],[0.0315558,10000]]

Here the new one has to resize and copy the buffer twice. But still performs better.
The magic of not calculating string size twice and using memcpy (just blasts memory from one end to another) instead of strcpy (needs to check every character for whether its the end)

#

Also a little free extra feature.

formatOld ["%%%1", 5] -> "5"
format ["%%%1"] -> "%5"

You can now escape the % in format string to print it out.
Chances of this breaking someones backcompat. Well ya shouldn't have used it wrong in the first place!

alpine tulip
#

format ["%1","%"] 😄

limpid rune
#

ended up just writing it out

daring wagon
#

I always added % as argument

untold sky
devout wave
limpid rune
#

it just eats any % you throw at it

#

I guess actually I could have passed it as an arguement

regal nimbus
devout wave
#

That's a marker, not a location, so it's not part of the map. I'm pretty sure that is Tanoa.

regal nimbus
#

great, no replication then :/

devout wave
#

Yes, that's Tanouka on Tanoa, viewed from the hill to the south

regal nimbus
#

forgot that vanilla maps don't have markers for the towns.

#

hmm. hideObject doesn't just have a limit, does it?

#

Doesn't look like it.

uncut briar
#

It does not. You can hide all trees on tanoa without any issues for example.

regal nimbus
#

Yeah, in all artificial testing it seems fine. Hiding is fully persistent. Doesn't matter how much you hide or where. Doesn't matter whether you use hide object modules or init scripts.

#

So I think I'm down to init timing issues that only happen with real missions and so are impossible to create minimal replication cases for.

daring wagon
untold sky
#

A new kind of spam 😄

untold sky
gray wharf
tacit kettle
gray wharf
untold sky
sleek scaffold
devout wave
sleek scaffold
gray wharf
#

the FT uses an obsolete platform that should be replaced… Soon™, in the meantime I should get access to its files and write home-made filters to prevent 80% of these spams

alpine tulip
#

80% more spams per spam!

unborn acorn
gray wharf
#

no u

outer frigate
gray wharf
#

Should be normal users 😄, spam users and spam comments

cyan basin
#

should be ideally painless to do

gray wharf
devout wave
#

Why does that make it sound like you're going to be posting the spam yourself 🤔

gray wharf
#

I might

cyan basin
#

lol wut

cyan basin
gray wharf
cyan basin
gray wharf
#

no

#

"oh, the new version updates the db"
*rolls back files*
db is not compatible with old version anymore

and that's only one possibility

cyan basin
gray wharf
#

yeah, no

#

that's what I mean: no

cyan basin
#

okay fine, even if you got developer support?

#

well i tried ¯_(ツ)_/¯

gray wharf
#

I more or less know how to take precautions ;-p I just want to limit my own support to some filters easy to add/remove
the real operation itself will be done professionally by IT peeps, with a preprod server and everything that's good

sacred river
# untold sky What cases?

Actually, all the cases I had in mind are solvable with the Steam ID. For a long time I thought the ID in the Wiki for #kick and #ban is some weird internal ID as it is shown 47114712 in the example, rather using a example Steam ID starting with 7565 or something like that.. With just testing it a couple of days ago with Lou, I can convert all my systems to Steam ID.

cyan basin
#

heh

#

it could be clarified that the id is a Steam64 ID integrer

solid marten
solid marten
hallow sun
solid marten
#

thats what weekend is for

fast lodge
#

😂

unborn acorn
#

duplication of Launcher_MRAWS_closeShot1_SoundShader and Launcher_MRAWS_closeShot2_SoundShader, presence of sound shader for a completely different weapon (Vorona), and missing the Launcher_MRAWS_closeShot3_SoundShader in list
looks strange so I want to ask is this all as designed?

solid marten
gaunt depot
sterile nova
daring wagon
unborn acorn
#

Also I want to inform about some more configuration mistakes, listed here: #arma3_feedback_tracker message
It will be great to see fixes and improvements from there

gaunt depot
stone tree
dreamy bane
#

two new commands i'd like to see are case-insensitive **in ** (for string array search) and **add **command, similar to set but would add instead (numbers, arrays, maybe strings)

rose cloak
#

inb4 namespace/object change [string, code] for muh_knee change ["arrow", {_x + 1}]; to replace muh_knee set ["arrow", muh_knee get "arrow" + 1]; 🙃

dreamy bane
#

imo add command would be nice for that

#

or with the {_x + 1} would be cool too

#

was thinking of arrays where the add command could be used

gaunt depot
dreamy bane
#

yep faster but not nice to use hashmap for everything , if you have simple array like ["B_Competitor_F","B_engineer_F"] and would like to have insensitive search for that

gaunt depot
#

Like 2/3 of my new data sturctures are hashmaps now

#

They're amazing!

#

Speaking of classnames, depending on source and some other nuances, I always try to stick to config casing and this eliminates having to care about casing, lowering everything, etc.

#

In cases where commands return lower cases or it comes from unreliable source (user input, etc.), you can do configName(configFile >> "CfgWeapons" >> _weapon)

#

Still, having case insensitive in wont hurt at all

#

inCI or something

#

As for adds, wanted something like that for a long time now

#

Basic form of ARRAY add INDEX, ARRAY sub INDEX, then more complex like @rose cloak suggested

#
Searching 960 files for ") + 1]"
16 matches across 11 files
#

Lots of cases where I just add one to array index

dreamy bane
#

yeah i like hashmaps too they are easy to work with. but i just dont want to turn even the shortest of arrays to hashmap because that it self requires work 😉

dreamy bane
#

so you dont have to do sqf _array set [ (_array # 0) + 1 ];

#

it would be nice for arrays too so you dont have to do ```sqf
(_array # 0) insert [-1, [123] ];

clear glen
#

or maybe modify set to take code on an array similar to apply

_array set [3, {_x +1}]
#

erp..edited because I spoke to fast

#

wouldn't work on a hashmap because itself can set code. maybe a seperate command like modify which could take an array index or hm key

#

ah as artemoz said already I see... yes. I would +1 that command

sacred river
#

Does anybody have also some issues with client crashes (multiple players at the same time) when some high polygon vehicles are used? This issue occured almost a year ago (doesn't matter if players run prof or stable), but the server is running prof all the time.

alpine tulip
#

What vehicle and what it does mean "used"?

sacred river
#

We had this issue with Redd'n'Tanks vehicles (all of them) and BWA3 NH90. Probably some new CUP additions too but not confirmed. And with used, being in them. Driving, flying. Or just be close to them when spawning them.

alpine tulip
#

Unrelated Qs:

  1. Is it possible to have optimized map control? Don't process drawing polygons if forsts or sea and such has no color to draw? (mainly because a map is sometimes the best way to draw something in GUI)
  2. A way/game option to tilt camera aligned with plane/heli roll?
  3. A procedural texture to save/reuse current screen render?
regal nimbus
#

Although if an object is causing Arma to run out of memory that regularly then you should probably avoid using it.

sacred river
regal nimbus
#

If you can get some crash dumps then dedmen would probably be interested.

sacred river
#

And there is the problem. The game crashes with random memory error (access violation) but there are no crash dumps at all

regal nimbus
#

Universally?

#

IME the crash dumps are hit-and-miss at worst.

sacred river
#

I asked a couple of players who had the issue and none of them had any crash dumps

regal nimbus
#

That doesn't seem very likely. Crashes on shutdown at least are super common...

#

So even if they didn't have crash dumps for that issue, they should have crash dumps.

sacred river
#

Well that's what I thought, but sadly it isn't the case. The only thing everyone had in common that they were close to a source with high polygons (one of the players always with the BWA3 NH90). In the last happened case (before I asked here) the source is unknown, but probably something like that. Earlier this year we removed Redd'n'Tanks because players crashed around the Fuchs and Gepard when these vehicles spawned, but I didn't. And afaik all of these vehicles have high pylons (or at least very good models, but I know that the NH90 got a couple of million pylons).

gaunt depot
rose cloak
gaunt depot
#

Needs another command name because this assumes you're setting code

#

_array applySet [3, {_this + 1}]

#

_array applySet [[1,2,3], {_this + 1}] even

#

Imagine the world were you could do private _pos_xy = getPosWorld player setN [2, 0];

#

Or instead of building large arrays for commands that take shitton of arguments you could modify and feed them in a single expression:

    // Imagine _array is pre-made array to draw an icon
    _map drawIcon (_array setN [2, getPosWorld target1, 6, "Target 1 text"]); // Modify position and text
    _map drawIcon (_array setN [2, getPosWorld target2, 6, "Target 2 text"]); // Modify position and text
gaunt depot
#

Though knowing Arma it will probably end up with half of assets on low LODs after sudden zoom in

alpine tulip
rose cloak
#

getSet blobcloseenjoy

gaunt depot
#

get assumes you return one value by index/key though, isn't it?

#

My original name idea was setRet

solid marten
#

letGetSetRet

clear glen
#

applyDontReturnCopyWantOriginalModifiedSet

gaunt depot
#

+Please

desert trench
#

are freeze dumps still worth to upload to A3 FT?

untold sky
#

Most crashes are easier if I just get them via DM

desert trench
#

alright. just mdmp+bidmp or rpt/some 1-3 lines of basic description too? (repro steps if known are also useful i guess)

untold sky
#

For unknown crashes to check just mdmp to me.

For crashes with reproduction steps, so you basically know how it happens and we know that its actually a relevant bug, FT ticket.

There are alot of unactionable crashes on FT that I really can't do anything with, I don't want these to waste space

dusky tendon
#

I discovered a bug in obtaining selectionPosition directly through a string.

(player selectionNames 1) select {_x == "proxy:\a3\characters_f\proxies\weapon.001" } apply {player selectionPosition [_x,1]}; // //String Proxy by selectionnames
return [[0.223065,0.549794,1.4695]];

"proxy:\a3\characters_f\proxies\weapon.001" in (player selectionNames 1);
return true;

((selectionPosition [player, (player getVariable ['unit_weaponProxy','']), 1])); //how String Proxy by unit variable
return [0,0,0];

((selectionPosition [player, "proxy:\a3\characters_f\proxies\weapon.001", 1])); //how String Proxy 
return [0,0,0];

The bug occurs on a dedicated server on the client. It repairs itself when the LOD changes. (moved the camera further away from the player).
The bug may happen again, but I can’t describe specific situations.

gaunt depot
#

Some LODs are probably accessible only when they're loaded

dusky tendon
#

I checked all the LODs using the syntax from 2.06.
These results were returned to me when I started the mission
Lod 1 = [0,0,0]
Lod 2 = [0,0,0]
Lod 3 = [0,0,0]
Lod 4 = [n,n,n] has coordinates
Lod 5 = [n,n,n] has coordinates but not always
For now, I will only be looking for a position at 5, and all my hope is in him. I don't want to make a choice from all possible Lods.

untold sky
#

You cannot just go "I'll take LOD 5"
What LOD 5 is, depends on the model. A model with 3 res lods will have something completely different than a model with 6 res lods

#

If its a bug, then surely I should be able to reproduce it.

If I check the same LOD (The first res LOD), then it works the same.
If I check a different LOD (The second res LOD), then it also works the same (in that it doesn't find the proxy).

#

Indeed the command only searches loaded LOD's, it doesn't force-load the LOD itself

#

it would be neat if allLods would return if a LOD is currently loaded

#

fun fact, selectionNames command force-loads the LOD

#
_name = ((player selectionNames 1) select {_x == "proxy:\a3\characters_f\proxies\weapon.001" }) select 0; // Force loads the first LOD
selectionPosition [player, "proxy:\a3\characters_f\proxies\weapon.001", 0]; // Fetches from first LOD
_name = ((player selectionNames 1) select {_x == "proxy:\a3\characters_f\proxies\weapon.001" }) select 0; // Force loads the first LOD
selectionPosition [player, "proxy:\a3\characters_f\proxies\weapon.001", 1]; // Fetches from second LOD (which might not be loaded)
untold sky
#

allLods will return whether a LOD is currently loaded.
I don't really like scripts force loading LODs, because everyone will just use lod 0 or res 1. And force load all kinds of models in their highest resolution even if they are very far away and irrelevant.
But people are probably doing that already using selectionNames

dusky tendon
#

This may well depend on the Texture settings. Or the quality of the models.

But I tried playing with super low textures and models and didn't notice a difference.

solid marten
untold sky
#

Didn't know that command existed.
Yeah that would be nice and explicit

dusky tendon
#

Now I spoke with a player on the server. And his proxy lod position is not shown as it should. (And now I’m using 5). And the other player is shown correctly.

gaunt depot
#

Wish there was a way to know if object is fully loaded, preloadCamera doesn't seem to be reliable at all

#

Fully loaded is pretty vague though, I guess LOD 0 is loaded? 🤔

#

Oh, preloadObject already returns boolean so it could also return load state for LODs, so that would let me know if objects are fully ready

#

I assume preloading LOD 0 doesn't mean lower LODs are loaded too, isn't it?

#

So you don't have to preload every single LOD one by one

untold sky
#

allLods will return if a LOD is loaded

untold sky
gaunt depot
#

Speaking of preloading, I wish there was a way to know if map control finished loading the textures, I wonder if there is a method that can be translated into a scripting command.

dusky tendon
#
allPlayers apply {100 preloadObject _x};// Return [true,...]

I call global and no have effect. Proxy by Visual [0,0,0].
The player who received the position [0,0,0] also did not receive selectionposition Lod 5

gaunt depot
#

ctrlMapLoaded _map to return true if map is currently loading anything or false if not not

gaunt depot
gaunt depot
dusky tendon
#

i try 10m and [false,false,false...]

gaunt depot
#

Yeah, from my experience preloadObject is not very reliable too

dusky tendon
#

we have Lod 0? I never see positions on Lod 0 (all time this return how [0,0,0])

solid marten
untold sky
#

lod index 0 is lod resolution 1

dusky tendon
#

it would be nice to be able to get not just a proxy, but also the object itself that is held by this proxy. I use it to get the position from where I draw the laser. But I have to store an array with all guns that have proxy a3\data_f\proxies\weapon_slots\side.001 and then calculate the position geometrically. And all this is a dance only for unit modeltowolrldvisualworld [n,n,n,]

untold sky
#

The thing that is in the proxy, is not an object that you can get

gaunt depot
#

Wonder is that's the only exception

cyan basin
#

how i can get more details about this so i can unsubscribe the removed mod?
2024-07-07 00:19:36,064 [ERROR] 22 SteamLayer: 0.0: SteamQuery: class SteamUGCFileDownload - failed - Code: 16 - STEAM_API_DLL TODO @untold sky

cyan basin
#

have you guys considered closing registration to prevent the bot spam problem?

#

or restricting users

devout wave
#

The FT isn't just for the few known diehards on A3, it's also for Reforger and DayZ which have much more development and support activity. People need to be able to create accounts and use it.

cyan basin
#

ah okay, there's no eta for the migration to a better system or upgrading from phabricator to phorge which is a community supported version of the software?

devout wave
#

Didn't you have a whole conversation with Lou about that, like, last week?

cyan basin
#

i mean yeah, but nothing further than that unfortunately :(
im hoping i could hear from someone who is actually involved in the process

#

sorry

outer frigate
#

yeah, lou is involved in the process

#

and has been for months at this point

#

its not an overnight swap

cyan basin
#

oh i see, well it seems to be either confidential or there's no progress to share about

cyan basin
#

im not sure how to reproduce otherwise

#

and im looking for someone experienced in workshop mod management

cyan basin
#

um, what is the maniphest form id 2 used in/for?

cyan basin
unborn acorn
gray wharf
#

clever girl…

cyan basin
#

lol

#

wait, where is the reforger ft channel?

#

shouldnt this channel be named arma_feedback_tracker and be put in a more general category?

outer frigate
#

no

cyan basin
azure crane
#

sometimes I wonder if you ask those questions while having everything righht on the plate just in spite of whatever or is Discord really fucked up so much it hides half of the channels

cyan basin
#

oh, no wonder, the channel inconsistency didnt make me think of it

azure crane
#

no offense :D

cyan basin
#

adhd shenanigans really. i dont pay enough attention or i hit a self-fluke

azure crane
#

when I need to find something I usually press Ctrl+T and start typing whatever I need

cyan basin
#

i also have all channels shown

#

oh interesting, didnt know about t but knew about k

cyan basin
cyan basin
unborn acorn
#

I want suggest to add opening and landing sounds for parachute (all sounds in data but not used)
Config params soundGetOut[]={}; success plays landing sound
soundGetIn[]={}; nothing plays when player uses "open para" action
But if use getIn EH in config the sound will work

So I want to ask, is it will be easier to add sound when parachute simulation triggers animationOpen=""; and animationDrop=""; i.e. in engine not data?
and why soundGetOut[]={}; won't work when player enters to parachute, if it will work the opening sound will be so ez to add too

unborn acorn
untold sky
#

Has anyone noticed that loadAbs command is broken? 😄

Put 1 bandage in container: 0.6
Put 1 uniform in container: 40
Put 1 uniform with one bandage inside it in container: 41.2 😮

#

The game is also bugged when checking if you can put items in container

#

Container can hold 7000.
Fill it up to 6959.4

A uniform with one bandage inside it should be 40.6.
Can it fit in the box? yes.
Do any more bandages fit? no.
Take one bandage out, now there is again space for one more bandage to go in. Can you put it back in? no.The box thinks its full.

Everything inside a uniform is counted twice notlikemeowcry

#

Put my uniform, vest, backpack on.
loadAbs player -> 648
Put all of it in a box
loadAbs box -> 1117
Manually script calculated mass of all items in the box -> 301.6

Have empty uniform, vest, backpack
loadAbs player -> 180.001
loadAbs box -> 180.002
Script calculated: 180

Put one bandage with 0.6 mass into each uniform, vest, backpack.
Expected load 180 + 0.6*3 -> 181.8
loadAbs player -> 181.801
loadAbs box -> 183.602
script -> 181.8

ahhh

surreal bough
#

the reason is that no one needed to count the mass of items in the box 🙂

regal nimbus
#

Curiously we only have one marginal use of the command in our codebase.

#

God knows what the arsenal uses instead.

untold sky
#

Deleting the currently selected row in a ListNBox.
Every deletion also triggers onLBSelChanged.
Except, the second last row delete. You end up with no row selected, and onLBSelChanged doesn't fire

It should be selecting the last row which is now row 0. But instead it just unselects.
Must be some off-by-one error.

Only happens when you have two rows and delete the top one.
Deleting from bottom upwards is fine

desert trench
#

would it be possible to extend https://community.bistudio.com/wiki/getEventHandlerInfo with an optional bool to log the linked code to the EH (if necessary limited to -debug) - unless i am missing something there seems to no way to figure out what is the source of an event id. the engine must know tho

dreamy bane
solid marten
dreamy bane
solid marten
#

You want fix for a command that only works on dev but you don't use dev anymore?

dreamy bane
#

yeah was no point continuing with Dev when stuff didnt work. but I also wonder if this command could be put into stable?

untold sky
#

What do you need it for in non-development use?

devout wave
#

At a guess, it's still for development but they want to develop their extension to work with the current stable branch, rather than with a version of the game that won't be released until an unknown time in the future. Given the current A3 release schedule, tying your extension to dev branch might delay your own updates by a lot.

Also it's a bit annoying to switch branches in general. Normal Steam management doesn't let you have both at once, and I dunno if the standalone game updater ever got fixed to work with Steam Guard.

dreamy bane
untold sky
#

We could put it on profiling binary

#

profiling generally also gets new extension features if possible. So you can also test new things early there

#

ever got fixed to work with Steam Guard
It got fixed once, but then valve broke it again

dreamy bane
#

for profiling you can only download the exe? 🤔

untold sky
#

yeah

dreamy bane
#

that sounds good

untold sky
#

We could probably also push the dev branch exe to google drive, but that's a bit of effort

alpine tulip
#

Ignore all QA, an exe directly from Dedmen

near cedar
#

The code dealer

untold sky
gaunt depot
#

Having dev build exe downloadable same as prof is a great idea

cyan basin
# devout wave At a guess, it's still for development but they want to develop their extension ...

you can have multiple versions of the game but you'd need to use steamcmd force_install_dir every time you want to manage the installation, and things are going to be more manual, you also might need to force/pass -mod= for making use of the install relative folders.
the arma 3 project stuff while mainly for buldozer and engine tools it does fill the purpose of having a dev install i believe, there's a utility in the tools app to manage installations

cyan basin
untold sky
#

You won't have them 🤷

untold sky
cyan basin
#

what if theres code that necessitates data changes?

untold sky
cyan basin
cyan basin
cyan basin
#

would it be possible to request an appid allocation for dev builds exclusively?

untold sky
cyan basin
#

fair, i mean it would help the situation

#

of having multiple installs

cyan basin
#

anyway i do understand that at this point in the game lifecycle bi is not willing to put more resources than the minimum necessary to maintain the current setup

untold sky
cyan basin
#

okay fine, sorry for asking

#

i was just exploring possible ideas to tackle this

#

about the data changes, it could be posted in gdrive with the exe... or would it be too much storage to do?

untold sky
#

Not feasible. Won't do

cyan basin
#

because it's intensive to separately pack the data that did have changes?

#

tickets won't help getting trivial infrastructure changes like this implemented, correct?

untold sky
#

I already said its not feasible. We will not do that. Its not trivial.
I said its not feasible, too much effort.

cyan basin
#

okay sorry for insisting

dreamy bane
#

can we get copyFromClipboard working in editor-MP? I understand it's disabled in MP but why in editor also?

cyan basin
cyan basin
#

well, because its basically the regular client hosting wrapped into the current editing eden mission...?

dreamy bane
#

dunno whats the difference between "real" server hosting but that's how I do most of my testing

cyan basin
dreamy bane
#

yes i know what dedi is. will get back to this topic later

daring wagon
#

I would like to request an event handler for saving. Something like "OnBeforeSave". We only have a scripted event handler for that right now. But that can be circumvented easily.

#

Let me know if I should. Create a ticket for that later.

untold sky
# untold sky Has anyone noticed that `loadAbs` command is broken? 😄 Put 1 bandage in contai...

End of 2011, a bugfix was added to fix wrong mass calculation for backpacks.
The fix was that in function A, the mass of contents was subtracted. And in function B it was added back.

Early 2013, a bugfix was added to fix wrong free space calculation in containers.
For that the fix in function A was removed. And function B was forgotten.

This was broken since February 2013...

This does not only apply to loadAbs. load command, the UI inventory box-fillage indicator and putting items into boxes are also affected.
If you have a backpack that including contents is 365 mass (B_Soldier_A_F backpack).
Then a box with 2000 space (PlasticCase_01_large) can only fit 3 of them and then its full. But it should have space for 5 backpacks.
It actually when broken should only fit 2. Putting the 3rd in puts it to 100.5% full... Another bug

I think I noticed this bug months ago doing logistics and putting backpacks into a box, because you can fill a backpack very quickly in arsenal, and dump it into a box.
But I noticed it takes up much more space and much less items fit in the box. I thought it was the backpack by itself just being so heavy. So I went back to manually right-click tons of items into the box.

Turns out, it wasn't the backpack.

devout wave
#

Beautiful. A true classic Arma moment

azure crane
#

and here I thought it's on purpose

untold sky
#

The bar display is on purpose. Its even documented

// if draggingObj is a container
// let's get mass of a single empty item
// like uniform, vest or backpack
But it just doesn't make any sense. If dragging a filled container, why would we show a weight preview of an empty one

#

it already does it correctly on the player load bar. Just not on the container bar

limpid rune
#

I think zeus ammo box bar is bugged too last I looked at it i'd show a different value each time I opened the menu

outer frigate
#

those bars are all sorts of jacked up

fast lodge
untold sky
#

I don't think so. They wouldn't disappear, they would over-fill the container

untold sky
limpid rune
#

this one

untold sky
#

🤔 mh. But that's scripted, I don't want to look at scripts

limpid rune
#

and naturally after I took that screenshot I couldnt get it to bug out

daring wagon
untold sky
untold sky
untold sky
desert trench
untold sky
#

Ugh. That's harder than expected.
This was not made to look at the handlers contents.
I'll only give you the string of the handlers contents

#

And not the music eventhandlers

#

And not projectiles

#

next dev meowsweats I only tried mission and entity. UI's should also work. MP entity is not implemented

daring wagon
daring wagon
untold sky
#

Comment says backpack, code says all containers. Its all containers

dusky tendon
#

If we talk about the weight of the equipment. Then I remember a very interesting bug in calculating the stamina for a player’s movement and his speed modes.

  1. player setUnitTrait ["loadCoef",0.nn ];
    Reducing weight to increase the stamina bar gives more stamina but does not change the overload weight. Therefore, the player has a stamina bar but cannot run.
#
  1. Any change in weight in the player's inventory recalculates fatigue as if ["loadCoef",0.nn] had not been applied to the player. Therefore, literally all endurance is removed when overloaded. (Even when reloading weapons or changing attachments)
gaunt depot
#

I've also seen this thing. Needs a ticket.

untold sky
#

Yeah that looks like more work, for a ticket

dusky tendon
#

Can anyone create a ticket? I don't want to create an account on feedbackBis, only to create one ticket and forget about the existence of this account.

gray wharf
#

it's not like this forgotten account will haunt you at night or anything

untold sky
#

Most accounts on FT just post spam once and then forget about themselves

rose cloak
gray wharf
rose cloak
#

inb4 closed with "Feature, not bug"

devout wave
#

I mean you should definitely be able to make more than one hat from the average roll of tinfoil

gray wharf
#

yeah that
infinite, maybe not, but 20 at least 😆

outer frigate
#

maybe the scale of the tinfoil hat model needs to be increased instead 🤔

desert trench
#

if sounds via sqf commands are to be played while you are tabbed out with -noPause (in SP only?), it seems the sounds get added to a queue and played once tab back in - can someone confirm that?

#

similar thing seems to happen with draw3d[Icon?] - the creation gets stacked while you are tabbed out, all drawn for all the time you were out drawn in on go, and disappear the next frame

gray wharf
desert trench
#

well thats a workaround, but above would still be bugged

daring wagon
unborn acorn
untold sky
solid marten
unborn acorn
unborn acorn
untold sky
#

beep boop, requesting feedback.
"Attached" entity event, for attachTo/detach.

If the event is fired before the attach, you can get the position of where the object was, before it was teleported to the attach point.
If fired after, you get where the object now is after attaching.

I assume the after is usually wanted.
As far as I can see, detach doesn't change position so there before/after shouldn't matter

outer frigate
#

can you not pass previous position as param if after? if fired frame before movement imo just before would be more valued

untold sky
#

Extra overhead notlikemeow Attaching is rare though notlikemeow
Extra code to write notlikemeow

outer frigate
#

fired after with previous position would be best imo but if that is too much work then just before would be better as we have not yet invented time travel to get position before

gray wharf
#

If fired after, you get where the object now is after attaching.
can't you just getPosASL?

untold sky
#

wha

#

I am not passing any position currently. But you can do it in script ofc

untold sky
outer frigate
#

can you not just get it all yourself with getposasl/vectordir etc or am i missing something

#

youd just need to pass obj param surely meowsweats

untold sky
#

I only pass objects.
Sure you get it yourself

#

But if it fires after it changed position, then you cannot get the old position in the eventhandler script

outer frigate
#

yeah

outer frigate
#

if its before position change, can get all your stuff, exec next frame and get all your new stuff

untold sky
#

Ugh before is hard. Before doing the attach, I don't know if it'll succeed notlikemeowcry

outer frigate
#

those are the best type of events 🙂

#

attach on each frame for random chance for event fire each frame 😄

untold sky
#

Do you also find it annoying that Attached has two T's, but Detached only has one?

gray wharf
#

nope, just you

#

(not that I find you annoying, more that it only annoys you, I mean, I swear yeah!)

outer frigate
#

sometimes

#

it depends

untold sky
#

Arma must make everything so hard

#

How does ViV transport unload work?

  • Detach the cargo, teleport it to unload position
  • Re-attach the already attached cargo at a different offset so it is floating at the unload position. Then detach the cargo.

Two choices. What's it gonna be

gray wharf
#

reattaching most likely prevents a collision, sooo yeah

alpine tulip
#
  1. Just blame someone who wrote the ViV idea back when 2014
hallow sun
#

"Re-attach the already attached cargo at a different offset so it is floating at the unload position. Then detach the cargo."
If it was done like this, it's probably to avoid crates flying into your face because of #ArmaPhysics.
I can speak from experience as player with such a system (ExileMod Viv) and trying to make it better as a scripter 😆

untold sky
#

The re-attach and detach are done in the same frame. There is no physx simulation inbetween.
Doing setpos would also be done in the same frame

gray wharf
#

I expected it to be all scheduled tbh 😄

sinful kettle
regal nimbus
#

What's the locality going to be for attach/detach?

gaunt depot
#

Make local flag for attaches hmmyes

desert trench
#

@solid marten as you had looked into the respawn code for vehicles for 2.18 - any chance to look into unit respawn too?
in particular for playable AI. it seems https://community.bistudio.com/wiki/setPlayerRespawnTime is only for players/clients

only workaround i can see would be: addMissionEventHandler ["EntityRespawned", + if (not (isPlayer _x)) then {_x setDamage 1;}; but thats super bad for multiple reasons

untold sky
untold sky
#

Did you know that Arma will not create a crash dump if it crashes due to a stack overflow (infinite recursion usually)?
Fun. It will crash inside the crash reporting code because there is no space 😄
Finally solved the mistery behind crashes that don't create dumps

gray wharf
#

but is it avoidable?

untold sky
#

I found out how to reserve a bit of stack space.
But the crash reporter does lots of memory allocations (which needs more stack space than we have, and also would crash if memory allocator is in some way corrupted or broken)
Lots of rewriting to be done 😄

#

Did you know that on game crash, Arma copies game version information into clipboard?
It includes a list of all loaded Addons (pbo's)
To do the formatting for that it only needs a couple kilobytes of stack space and several dozen memory allocations.
While we are handling a game crash where everything could be broken/unavailable. Ugh

devout wave
#

Wanting to change that because it's a bad use of resources 🤝 wanting to change that because I hate unprompted clipboard overwrites

untold sky
#

I wanted to fix it. But getting enough memory space for all mods, without allocating memory.. nah.
I didn't even know that feature existed, so I doubt anyone was actually using that for anything productive.
All the info is printed to RPT anyway

outer frigate
#

can we get rid of arma copying errors to clipboard at game start too

untold sky
#

It seems to be some windows problem telling the game that its in focus when its not.
We could disable it for all errors, but I don't want to do that

outer frigate
#

launcher option to disable it for all errors? 🥺

untold sky
#

This huge block of all loaded pbo's.
that is always so super long.
Its so super long, because the line width was limited to 80 characters.
We could stuff it all into one line and get it out of the way. Not that anyone cares about that blob of stuff anyways

daring wagon
#

Yeah that's annoying. I wish we had error levels printed at the front so we could filter stuff more easily.

untold sky
#

I think I'll probably compress it into a data URL.
Then if you want to have the data in it which basically no-one wants, you can paste it into the browser

regal nimbus
#

If you load CDLC using ModLauncherList in the arma3.cfg, it doesn't show as "official" in getLoadedModsInfo. This isn't intentional, is it?

untold sky
#

probably not

#

Isn't ModLauncherList some old legacy Arma 2 stuff that shouldn't even exist anymore? 🤔

regal nimbus
#

It's used by the Arma 3 Unix Launcher.

#

Found out eventually because we have some code that depends on the "official" flag being correct.

#

If you load mods using the "expansions" dialog inside Arma 3 it also uses it.

untold sky
#

Ticket

regal nimbus
cyan basin
#

yeah, you can still manage mods the old way without specifying -mod= at all and using the expansions menu, list gets saved in arma3.cfg

untold sky
desert trench
#

-connect= -port=0 -port=0

#

could this cause issues?

#

like to break campaign hosting

#

nothing special is found in the rpt - mission doesnt get even started

outer frigate
#

Is there any chance of getting renderer changed to display normal details in shadows?

untold sky
desert trench
#

I'm using the normal launcher from steam
And I've had trouble with the ports and multi player since me and my friend didn't have our arma names the same as steam which seems to have caused issues but idk if that could be causing issues

#

as said the rpt showed nothing beside the unusual startup parameters

#

as the hosted campaign was hacked into the engine, its hard to say whats going on there/whats the specific issue

desert trench
#

removing -port=0 -port=0 fixed it

dreamy bane
#

is it a bad idea to have some new net commands to be able to communicate between server and client currently in the lobby? not to run any commands really but just to exchange some data

#

so you could do like ```sqf
[true, false, 123, "string"] sendToLobby;

gaunt depot
#

publicVariableLobby STRING hmmyes

outer frigate
#

do scripted events not work in the lobby

dreamy bane
hushed birch
#

~~not sure if this is a bug, but cant use commands like ctrlMapAnimAdd in a RscMapControl created with titleRsc or cutRsc (RscTitles) #arma3_scripting message

It only happen ingame, on debriefing dialog, its seems to work~~

i was executing cutrsc on each frame 🙂
i dont know how to delete a ticket 👉 👈

limpid rune
#

https://feedback.bistudio.com/T182166 hope this can be looked into at some point, it's pretty bad that launcher effects just straight up don't work in MP.

it does seem related to the magazine being deleted when fired and presumably some 'check' in how gunparticles are spawned blocking it

#

my guess is similar weapons with the magazine being deleted upon firing (like underbarrel grenades) would have a similar issue

hallow sun
#

Any reason why MissionProfileNamespace doesn't save automatically on leaving a game/server like profileNamespace does ?

regal nimbus
#

Is that confirmed behaviour?

#

Our usual issue is that missionProfileNamespace doesn't work correctly on Linux servers, but the exact mechanics are unconfirmed.

#

but then we use saveMissionProfileNamespace and it still doesn't work.

hallow sun
deep plaza
#

Why does hideobject command hide the players geometry lod making the player go through objects, i mean what is the purpose behind this? and could we get a "fix" for this?🫣

devout wave
#

It does the same thing to any object you use it on, player or not, and that's just...what the command is meant to do. Player/notplayer inconsistency would be bad (and likely unreliable as units can stop being players or suddenly start being players).

#

Changing it would be non-backwards-compatible.
What's really needed is a separate new command that only hides visual/shadow LODs and leaves collision alone.

deep plaza
#

That would be amazing if we had a command like that

outer frigate
devout wave
#

I think I heard something like that

deep plaza
#

Should I create a request ticket for such a command or would it not receive any attention?

deep plaza
deep plaza
#

Does this mean that you can enable collision for a hidden player?

solid marten
limpid rune
#

ahhh

untold sky
untold sky
untold sky
dreamy bane
untold sky
#

The main problem for me is getting any script to run in lobby

#

If you can get a loop running, that can read public variables. That'll be enough.
We'll then figure out what we do, eventhandler or just allow publicVariable to send there.
Maybe remoteExec

dreamy bane
#

maybe the onServerData function would be in uinamespce function because missionNamespace probably doesnt work there

untold sky
#

It should work there

#

Its either cleared before or after lobby. That's something to find out.

dreamy bane
#

calling onServerData in client would probably be simplest and you can access the UI from that function

#

then no loop is required

untold sky
#

Same would be if remoteExec could call a function there.
But you first need to register the function/eventhandler

dreamy bane
#

I thought remexec wont work in lobby..

untold sky
#

it doesn't now

dreamy bane
#

ok

#

this is how I would "normally" call UI function ```sqf
call (uinamespace getvariable "guiTestFn")

#

guiTestFn defined in with uinamespace do {};

untold sky
#

Just give me a ticket with example how to execute code in lobby screen.
I need code running in lobby screen that can set a variable. The rest I can figure out

dreamy bane
#

ok will put something up

untold sky
dreamy bane
#

@untold sky I did my best describing the best method I know how to run code in lobby but I'm unsure if this will help you: https://feedback.bistudio.com/T183039 I hope that is of some use. let me know if you need anything else

outer frigate
#

initLobby.sqf event script? 🤔

untold sky
outer frigate
#

ah ofc

desert trench
#

Invalid turret path

#

possible to get this in public build and with more info

#

we could never figure out what this is about (with tanks/vehicles)

sinful kettle
#

It just means that the path it's trying to use is empty/too big/out of bounds index
Getting a turret by path is used by many operations involving turrets, e.g. weapons/magazines/pylons, R2T, MFD, SQF code, etc.
It's not possible to tell what it is about without passing a context to it too to print with the error meowsweats

desert trench
#

too big in what sense - turret layer depth?

#

or some index value of some of the turret specific paramters

#

gunnerCompartments = "Compartment5";
is another weird one. the engine doesnt like Compartment5 - instead of taken from model.cfg(?) it seems some hardcoded enum system instead

deep plaza
sinful kettle
sinful kettle
sinful kettle
#

But you already added that anyway 😅
Oh you mean the ticket. nvm

sinful kettle
alpine tulip
#

Wild and workthought: a diag command/mode to check... drawcalls or something? Graphic performance?

untold sky
untold sky
untold sky
alpine tulip
#

At least not on BIKI, let me try on Diag

#

Both are invalid

untold sky
#

Oh there is a flag whether something is allowed in dev-branch diag binary

#

I don't know why these are off

#

Might be that they don't work in that build, don't have time to test that

#

The pass count seems to be draw calls indeed

#

I'll turn them on in next dev-branch.
As far as I can see the PassCount should work fine. The PerfInfo I don't know

alpine tulip
#

Just checked using diag_list and
["Force","Animation","CursorTargetObject","Shots","Mines","HitPoints","AnimSrcUnit","AnimSrcTarget","Suspension","EPEForce","EPEVehicle","ParticleNames","Particles","SurfaceUnder","AISkill","AIDriving","AIAiming","AIBrain","AIDynamicError","AISuppression","DynSimGrid","DynSimEntities","DynSimGroups"]
Yeah it's not there

#

Sounds a good news to have this. Thanks!

desert trench
untold sky
#

probably yes

untold sky
# desert trench > Invalid turret path

Ugh. There are about a dozen of these. And considering they are now silent on retail builds. We might cause some RPT spam with that.
And in most cases (except triggered directly by a script command) you wouldn't get useful context out of it.

daring wagon
#

Debug only?

untold sky
#

internal binary and diag only

daring wagon
#

Good enough

untold sky
#

OH! .. Well I guess yeah.. duh. Making it debug only is easy

limpid rune
#

some data changes will be needed then, as Compartment5 is used in vanilla too:
\a3\air_f_heli\Heli_Transport_04\config.cpp
line:1456

desert trench
untold sky
#

You'll have it in internal build with context tomorrow

#

Found it. Yeah "compartment1" and "compartment2", ... are local variables in the config parser.
Not sure where they come from. But it will be an enum, or maybe a __EXEC() setting a variable

limpid rune
#

weird, wonder why that was done

untold sky
#

The game is bamboozling me.
I cannot see anything ever setting that variable. But it is there in the end 😠

untold sky
#

raises fist mumble mumble grrr
"bin\config.bin"

#

Up to compartment32.. But not even Compartment5 is set

untold sky
#

Ah there it is ffv bench
CargoTurret_04
gunnerCompartments = "Compartment5";

limpid rune
#

sorry must have got the number wrong

rose cloak
#

// for dedmen to fill eventually blobcloseenjoy

limpid rune
desert trench
#

is anything being worked on that could affect custom mission end types to no longer work?

#

or does this cause it?

#
15:51:15 Error in expression <criptionParams];};
        _descriptionText = format ([_descriptionText] + _descriptio>
15:51:15   Error position: <format ([_descriptionText] + _descriptio>
15:51:15   Error 0 elements provided, 1 expected
15:51:15 File \A3\Ui_f\scripts\GUI\RscDisplayDebriefing.sqf..., line 45```
#

the function has:

        if (_isDebriefing) then {
            /////////////////////////////////////////////////////////////////////////////////

            //--- Static debriefing
            if !(isnil {missionnamespace getvariable "RscDisplayDebriefing_noise"}) then {
                ("BIS_fnc_endMission_end" call bis_fnc_rscLayer) cuttext ["","plain"];
            };```
#

so might - will verify via console

#

hm seems not related

#

"end_ger" call BIS_fnc_endMission;

untold sky
#

yes

desert trench
#

rpt:

15:56:57 "BIS_fnc_log: [BIS_fnc_endMission] Mission completed with 'end_ger' ending."

#

no error raised, but fade to black goes fade in again

untold sky
#

That format error you posted there, is being fixed. That's what we're working on.
The error itself doesn't stop the script from working

untold sky
#

I'll need a repro that doesn't crash before the fix, to see what went wrong there

desert trench
untold sky
#

Maybe custom ones broke in the enum rework recently. I'll need a way to repro

desert trench
#

BIS_fnc_endMission* only seem to call endMission or failMission. probably the custom end names are the prob

#

repro:

  • SP
  • showcase
  • IDAP
  • start
  • hit space twice
  • execute endmission "Behavior" or ["Behavior", false] call BIS_fnc_endMission; (for visual feedback)
#

i guess at least

#
class CfgDebriefing
{
    class End1 
    {
        title = $STR_A3_CFGVEHICLES_MODULEENDMISSION_F_ARGUMENTS_WIN_VALUES_WIN; //TODO: nicer phrase?
    };
    class FriendlyFire
    {
        title = $STR_A3_Orange_Faction_IDAP_CfgDebriefing_FriendlyFire_title;
        subtitle = "";
        description = $STR_A3_Orange_Faction_IDAP_CfgDebriefing_FriendlyFire_description;
        picture = "A3\Ui_f\data\GUI\Cfg\Debriefing\endDeath_ca";
    };
    class Behavior
    {
        title = $STR_A3_Orange_Faction_IDAP_CfgDebriefing_Behavior_title;
        subtitle = "";
        description = $STR_A3_Orange_Faction_IDAP_CfgDebriefing_Behavior_description;
        picture = "A3\Ui_f\data\GUI\Cfg\Debriefing\endDefault_ca"; //TODO: Custom picture?
    };
};```
#

the mission itself doesnt seem to use the custom endtypes itself - shouldnt matter tho

#
74                 ["Behavior", false] call BIS_fnc_endMission;
112                             ["Behavior", false] call BIS_fnc_endMission;
133             ["Behavior", false] call BIS_fnc_endMission;```
#

alternative would be the Helicopters showcase with [[missionName, 2],false] call Bis_fnc_endMission;