View Issue Details

IDProjectCategoryView StatusLast Update
0008714Multi Theft Auto : San AndreasSynchronizationpublic2018-02-21 00:15
ReporterTosferaAssigned Tosbx320 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Version 
Target VersionFixed in Version1.5.2 
Summary0008714: Vehicle door/component desync on vehicle stream-in/out
Description

When a player is leaving an area or streams out a vehicle, the doors ( missing, open ratio, damage ) gets lost for that player. Once he or she returns to the area and streams in the vehicle, the doors are all back on for the client but the server still knows it's missing.

Steps To Reproduce

I've created a small test resource which can be found here ( http://37.187.250.129:8080/doorSync.rar ). Run the script when you're at X: 0, Y: 0, Z: 3 and watch the vehicles ( 2 ) spawn. I've made an interval for vehicle 1 for the doors, if you run the removal of doors right when it spawns, they won't be removed client sided but will be removed server sided.

If you don't want to download, use this in a file and start the script:
local v = createVehicle ( 411, 0, 0, 10 );

setVehicleDoorState ( v, 0, 4 );
setVehicleDoorState ( v, 1, 4 );
setVehicleDoorState ( v, 2, 4 );
setVehicleDoorState ( v, 3, 4 );
setVehicleDoorState ( v, 4, 4 );
setVehicleDoorState ( v, 5, 4 );

setVehiclePanelState ( v, 0, 3 );
setVehiclePanelState ( v, 1, 3 );
setVehiclePanelState ( v, 2, 3 );
setVehiclePanelState ( v, 3, 3 );
setVehiclePanelState ( v, 4, 3 );
setVehiclePanelState ( v, 5, 3 );
setVehiclePanelState ( v, 6, 3 );

Reenter the area to see their doors and hoods back up on the vehicle.

TagsNo tags attached.

Users sponsoring this issue
Sponsors List Total Sponsorship = EUR 3

2015-03-09 20:21: VinW (EUR 3)
Users sponsoring this issue (Total Sponsorship = EUR 3)

Activities

qaisjp

2015-01-12 05:15

administrator   ~~0022856

Mirrored to a reliable source: https://gist.github.com/anonymous/d3a554dcb3be5964cb04

Tosfera

2015-01-20 17:57

viewer   ~~0022899

Been digging a bit more. If you're checking the door state of a vehicle for the server side as well as the client side, they both return 4. The model just isn't being updated. Damage will be update, just not the missing state.

Skuleris

2015-02-12 16:13

viewer   ~~0022990

Bump ?

VinW

2015-03-09 21:38

viewer   ~~0023082

Similar bug at vehicle:setWheelStates(...). When you change the state, then stream out and in again, sometimes the textures of the wheels aren't loaded. Would be nice, if these bugs could be fixed in 1.5 :)

Tosfera

2015-07-26 10:50

viewer   ~~0023721

Not sure if I'm allowed to do so but I'm going to bump this. It's been a thorn in my eye, as Dutch people say. I've been trying to write workarounds for it but I'm getting tired of writing those haha. Let's pray for 1.5.1 and hope it's fixed in there.

qaisjp

2015-07-26 13:54

administrator   ~~0023723

I'll take a quick stab at it, but no promises.

Tosfera

2015-07-30 09:24

viewer   ~~0023752

Any luck so far or haven't you been able to find the time yet? ^^'

qaisjp

2015-07-30 11:32

administrator   ~~0023753

I did some investigating and testing yesterday so I could understand the issue better - it seems that the damage state (door/panel) doesn't correctly set on creation either.

Tosfera

2015-07-31 10:06

viewer   ~~0023764

When it gets created, it seems like it's being created damaged. The doors fall off and stuff but the streamer places them back. At least.. that's what I can see in the game. I've been roaming through the code myself too but couldn't find anything that could mess this up by a simple.. not-called function. Maybe if you re-stream or change the order of the stream/create function? Just as a test, to see what's actually going on.

sbx320

2015-08-18 00:44

administrator   ~~0023962

Fixed in https://github.com/multitheftauto/mtasa-blue/commit/11cab31187920ff657a461ef651e1b3e6f99cf3b

W

2016-01-10 08:28

viewer   ~~0024317

Last edited: 2016-01-10 08:29

View 2 revisions

I can confirm that this bug is indeed fixed in v1.5.1-release-7751 after this commit was merged to 1.5.1 branch.

Issue History

Date Modified Username Field Change