Page MenuHomeFeedback Tracker

Ammo in players inventory will duplicate when other players connect to the server whilst the game is in progress.
New, WishlistPublic

Description

This video demonstrates a glitch/bug that has been present in ArmA III since at the earlier, and possibly before the introduction of the Zeus DLC.
The bug in question causes the items and magazines in a players inventory added via script, be this hand written or exported form the virtual arsenal to duplicate and clone when a new player connects to the game after the start of the mission. To clarify on this; the five players in the video start the mission with four 6.5mm magazines in their inventories (totalling four). When all five players connect at the start of the mission, this number stays the same. However, when a player disconnects and rejoins the server, every other players items and magazines duplicate. This happens each time another player joins in progress.
This had been tested extensively with various mods running, however the video above shows the issue occurring on a completely unmodded, vanilla version of the game. We, the Virtual Warfighters beseech you at Bohemia Interactive to please fix this issue, as to us, and I’m sure many other groups and players in the ArmA community, being able to join in progress with pre-equipped units is an integral part to playing ArmA scenario’s, and the game is fundamentally broken without it.
This issue has been tested on both a dedicated, and local run server across a variety of missions, mod sets and game versions over the last few months, and we have seen no change in the behaviour of this bug during that time.
Thank you for taking the time to read this description, watch the above video, and review this bug ticket. We at Virtual Warfighters will do whatever we can to help remedy this issue. {F25179} {F25180}

Details

Legacy ID
3213651582
Severity
None
Resolution
Open
Reproducibility
Always
Category
Inventory
Steps To Reproduce

as above we have ran our server fully modded and also completely vanilla and the bug will happen.
we built a mission in vanilla with scripted units via virtual arsenal, and then ran it asking one of our members to drop out and re log back in to the server from the lobby.

Additional Information

the video is shown here: https://www.youtube.com/watch?v=V8eWEu61XUk&feature=youtu.be

also uploaded with this post are the server logs of the time when recorded

Event Timeline

beechey101 edited Additional Information. (Show Details)
beechey101 set Category to Inventory.
beechey101 set Reproducibility to Always.
beechey101 set Severity to None.
beechey101 set Resolution to Open.
beechey101 set Legacy ID to 3213651582.May 7 2016, 7:52 PM

Sounds like you are running some global inventory commands in unit init.

I was one of the people who helped test this in the session, it was using Virtual Arsenal exported loadouts, which should already resolve this issues automatically? It should not have to be altered in which to then have it set up globally and I have no knowledge as to altering it as a setting.

Unless this is done server side via a file or some sort.

*Edit*

Killzone Kid I previously reported this issue (0020360), even though it was vague as to what was the cause. You also classed that as to do with Global InvComm

I have also done a video to showcase it: https://www.youtube.com/watch?v=Uwc8dljOjCQ&feature=youtu.be

The solution to you problem is simple, stop using unit init and use event scripts instead to run your code https://community.bistudio.com/wiki/Event_Scripts

Sadly the Virtual Arsenal doesn't take Join-In-Progress into account. One way, or the only way I've found, to avoid all problems with loadouts is to use a function or preprocessFileLineNumbers that has a locality check (and ideally some sort of a loadoutDone variable check). I guess technically you could try adding:

if (local this) {

to the beginning of the export paste, and

};

to the end of it, but I've never tried it that way. If it works it's clearly the simplest method.

I wouldn't call using Event Scripts "simple" in comparison to just pasting an export into unit init, since it involves at least basic knowledge of scripting.

Altogether this game series has always been in need of proper and working unit inventory management in the editor, it's a darn shame it was dropped out of the release features. I guess due to problems in the engine that are the cause here too.

I take it this is a new error for the series? I never witnessed this problem back on ARMA 2?

I consider myself fairly learned in the scripting of units for the ARMA series, however looking into these scripts I have no idea where to start especially with gear. I understand using init, description, etc. But then gearing a unit with a file seems like it has the possibility to cause massive failure?

*Edit*

Hmm, well I have spent the last hour or so researching the F3 MP Framework and suffice to say, oh damn oh damn. This is both awesome and horrifying. However I do hope that one day this issue can be solved with virtual arsenal, albeit this post should probably change to that instead.

So a units init is called every time a players joins, on every computer?

"So a units init is called every time a players joins, on every computer?"

on every computer where unit is created. Obviously if unit already exists locally, the init won't run again on this pc.

"I take it this is a new error for the series? I never witnessed this problem back on ARMA 2?"

It's a new problem in the sense that there are more commands with a global effect in use in Arma 3. In Arma 2 you would've gotten the same effect if you had used "(unitBackpack this) addMagazineCargoGlobal".

The issue is that to ensure the items go where the player wants, the Virtual Arsenal uses addItemToUniform/Vest/Backpack, which all work with global arguments and have a global effect. Without a locality check or a "do only once" variable check, this means duplicates when JIP is involved.

The commands for adding the uniforms, vests and backpacks themselves are global too, but it's not as big of a problem (addUniform was local previously, and that was terrible in another way when trying to setup loadouts).

After even further inspection, the F3 Framework is getting easier to understand and so far it has all been working. Besides gear as it seems very strange so I will need to play around with that more.

I guess that is a post closed and problem solved, unless it changes to Virtual Arsenal exports causing bugs (even though it may be possible to export that to a unit script file?)

Besides that, on behalf of the community I play with, thank you! While it may be slightly more complex, F3 Framework has some awesome features in it.

VWWrath added a subscriber: VWWrath.May 7 2016, 7:52 PM

What is the plausibility of BI adding some sort of checks as MagirotV mentioned before the next major patch?

Though I understand that F3 Framework does a lot of nice things, just from talking to Khaos I have understood that its no easy process to achieve the same thing that you can with direct init field equipping. The only difference is that one will break when a player JIP's and the other wont.

Virtual Arsenal was a godsend when it came to setting up loadouts and equipment for missions but the point of it having an export button is completely useless if we can't utilise that feature.

I thank you for giving us a workaround for now, at least we can use it to stop the lengthy gearing up period at the beginning of our missions, but its rather important for a game that boasts one of the most powerful editors out there that you can at least give the units in the mission the equipment they actually need.