Page MenuHomeFeedback Tracker

When getting hit by vehicle, your body lies on the ground and you stay there for other players even when you're standing up
Need More Info, WishlistPublic

Description

That's a important bug do report, mainly because players around all missions are taking advantage to walk and kill people, as they are on the ground for everyone except for himself.

If you try to eject from vehicle at 40 km/h, approximately, the car will blow over you and your body will stay there (you won't raise for everyone except yourself, as I said).

Details

Legacy ID
2789926666
Severity
None
Resolution
Open
Reproducibility
Sometimes
Category
Anims
Steps To Reproduce
  1. Get in a car and call a friend to come with you.
  2. Try to eject at 40 km/h, approximately.
  3. You will be thrown to the ground and your body will lie down, of course. But when you are standing up, your friend will keep seeing you on the ground. So you can kill him on a 'invisible' state.
Additional Information

If someone find your body there, you can be killed.

Event Timeline

BlackShot edited Additional Information. (Show Details)
BlackShot set Category to Anims.
BlackShot set Reproducibility to Sometimes.
BlackShot set Severity to None.
BlackShot set Resolution to Open.
BlackShot set Legacy ID to 2789926666.May 7 2016, 7:59 PM

Hello,
thank you for the report. Sadly, I was not able to reproduce the problem. Could you please share more details?
1] Was it a mission on direct or dedicated server?
2] Which vehicle were you using?
3] Is it possible to attach a simple repromission here?
Thank you very much.

Hi,

  1. I never tried that on singleplayer, but it's reproducible on dedicated servers.
  2. Any kind of land vehicles, mainly civilians (like hatchbacks, trucks etc.).
  3. Well, I just have some advanced missions, but I think you can try editing your handleDamage to disallow vehicles hits.

Anyway, I'll try to make a video soon.

(Please note that the only difference here is that I use a handleDamage code to disallow roadkill. But, when the code isn't apply and the player lies on the ground, the error occurs).

I've tested this on dev, ejecting quadbike, offroad, suv, van... player does not go into ragdoll. Placing player into ragdoll manually synced player position on all clients no problem. There have been some changes though:

"Fixed: Problem with MP synchronization of living characters in ragdoll"

http://forums.bistudio.com/showthread.php?149636-Development-Branch-Changelog&p=2839727&viewfull=1#post2839727

Is it possible to test it on dev?

Thank you for the fast answer. At first, the problem was fixed.

If I face any more problems related I write it down again.

Thanks! :)

Can confirm this!

Pos on client [1704.5,5650.77,0.00143909]
Pos on dedicated [1704.5,5650.77,0.00143909]
Pos on another client [1655.03,5661.54,0]

Last dev in 2014

More info:

getPosWorld setPosWorld doesnt do anything
setdir doesnt do anything
in fact direction of the unit is 0 on the client that is not synced

Oops, thank you again! I added my last answer based on your changelog's link. I would test it soon with a friend, so I would post the result here. Unfortunately, it wasn't possible.

Anyway, thank you so much for taking your time on this! Happy to know it was really identified! :)

Also confirmed.

The location of the 'invisible' client to my client is [0,0,0] or perhaps that is just where the affected players icon goes when my machine cannot find the affected player.

I think I know the reason for this too, or at least a glimmer of reason.

When a player gets ragdolled, does their attached Logic get sent to [0,0,0]?

If so, [0,0,0] is outside the 'bubble' we now have where clients get accurately updated information on vehicles. There often is very fast flickering of vehicles that are perceived by the client to be outside their bubble, and also I believe if some client reference is getting sent to [0,0,0] during ragdoll, then that location is well outside the bubble on most areas of the island.

After that occurs, perhaps we no longer get accurate updates on the affected client.

I have implemented a 'knock-down' effect for fatigue system (using createVehicleLocal), and often players are reporting that once a player goes down, he becomes invisible to others afterwards until his vehicle changes. Other clients sometimes cannot track position of the player after ragdoll state is entered.

Once the players vehicle changes (ie the invisible player gets into a truck) all is well and synced properly again.

Seems perhaps there is an issue with (vehicle player) after the ragdoll state?

I'll try doing some MP testing on affected clients, to see if a simple broadcasted anim change will have any effect.

Thank you for the addition, MDCCLXXVI.

We tried adding some anim change, but it also didn't have effect.

I have a theory. Since this desync does not happen if ragdoll is forced manually, but only happens when player exit a vehicle on the move, maybe he is still partially considered inside the vehicle while outside of it?

Changed Reproducibility from always to sometimes, doesn't happen every time

It is ragdoll related, not related to the exit from a vehicle.

As said above, I have players running around on foot on my server, getting very fatigued and then passing out (using createVehicleLocal to nudge them in the back to induce ragdoll).

They locally emerge from ragdoll and can get up and move around fine.

However another client may still see their ragdoll lying on the ground, and the actual player appears invisible.

If would like to run a small MP test on the weekend let me know.

--

aside info:

I also have map icons for players. after a death event, the icon briefly sets to [0,0,0] but does not disappear. Once the new unit is created on respawn, the icon goes back over their head.

Contrast with this ragdoll issue.

Player enters ragdoll.
Map icon goes to [0,0,0]

^ That is as much as other clients become aware of.

They are never informed of the player exiting ragdoll and the map icon stays at [0,0,0].

Only when a player enters a vehicle or dies/respawns is this synced correctly.

Any update on this?

I believe we now get regular (albeit delayed) updates on player vehicles which are outside the real-time update bubble. IIRC in the 1.38 sitrep Petr Kolar said there is 1-second update loop for player vehicles which are, say, across the island. Whereas a few versions ago, there was no update loop until the player got closer to the distant one.

If my theory above is correct, this issue is now resolved (said tentatively).

http://dev.arma3.com/post/spotrep-00038
1.38 SPOTREP:

Fixed: Problem with MP synchronization of living characters in ragdoll
Tweaked: Send player position message as high priority once per second

If no one is having issue with this anymore, perhaps it can be marked as Resolved.

I hope you're right, but unfortunately they seem to have forgotten about this ticket.