SA-MP Forums

Go Back   SA-MP Forums > SA-MP > Bug Reports

Thread Tools Display Modes
Old 26/09/2017, 06:06 PM   #1
IstuntmanI's Avatar
Join Date: Mar 2009
Location: Romania
Posts: 1,801
Reputation: 375
Default [NO SYNC] Pushing players/actors

These two sync bugs are similar to each other so I'm reporting them in the same topic:

1. I don't know if anyone reported this before, but this is one of the smallest things that actually annoy me when playing, as I'm using pretty much funny animations on other players sometimes: When pushing players which are staying in the same position you will see them moving a bit in a small offset from their original position, but that only on your screen (not sure if on the screen of others too), while on his screen he stays in the same position. This is mainly bad because animations look weird if trying to do some animation like kissing the other player after you touched him even a bit, he will be in another position to you and he won't see the animation doing the same thing on him like you do. If they start moving the position sync will be fine again, until they will stop and you touch them. Wish I could do some kind of video showing two players on two different monitors.

Possible fix: Probably none right now because AFAIK someone reported some old SetPlayerPos sync bug too: the player position wouldn't be synced to others if the distance from the old position was smaller than 1.0, so we couldn't use that function when the player has no velocity to just set him back to the old position, if there's any player streamed to him. (and using SetPlayerPos like that would probably make things buggy especially if the player has lag)

2. I am 100% sure this was reported before, it is mostly the same thing as the first sync bug I reported above, actors could be pushed in a small offset too (not sure), but additionally: You can push actors around A LOT (until they will actually stream out because their position isn't actually synchronized to the server), but this problem is even bigger (well, these are 2 sync bugs in one I guess): you can push them around a lot with the car or with whatever you want. Actors will be far away from their original position and will only come back to the original position when they will stream in again to you. That is even a bigger problem because even if the actual "moved" position of the actor isn't synchronized, it is behaving like that client sided if there's anyone on your screen moving the actor.

Possible fixes right now:
- Maybe placing some box object without any collision in it, but its walls to be around the actor, the collision of the walls actually being there. That would disallow players to touch the actor, but probably can't be made too precise. If there isn't any empty box with those dimensions, then we would have to use a maximum of 5 objects for this method of fixing it.
- This is the most well known "fix" out of these two I guess: using a short timer for the actors and use SetActorPos everytime on them, which is pretty bad. (or, well, a bit more optimized: if they are actually streamed to anyone, could track them using the OnActorStreamIn/Out callbacks.

A great solution for this would be some kind of "SetActorFixed" (can't find a good name for that), so he couldn't be pushed anywhere. Also, the pushing in a small offset should be totally disabled.

These may be hacky to fix, but we could benefit from these few things, they can also make roleplaying better if using animations.

IstuntmanI is offline   Reply With Quote
Old 26/09/2017, 08:20 PM   #2
Little Clucker
Join Date: Sep 2017
Posts: 10
Reputation: 2
Default Re: [NO SYNC] Pushing players/actors

that's should get fixed asap really annoying
playZeD is offline   Reply With Quote
Old 27/09/2017, 03:45 PM   #3
Huge Clucker
azzerking's Avatar
Join Date: Dec 2009
Location: England, Leicestershire
Posts: 482
Reputation: 72
Default Re: [NO SYNC] Pushing players/actors

1. Pretty certain this can't be fixed server side, since it only happens client side and of course the other player hasn't really moved so his client won't send an update packet to server.

2. Same thing, but since you said they could be pushed outside of their sync zone, I would probably leave the possibility to memory hacking. Since we don't have direct tools to access the update packet of Actors, and I'm not too familiar with how actors work (since I haven't really played with them) it might still be possible to increase the send rate of actors packets and maybe check if they are out of range. However since i'm not sure if this is client side it might be a dead lead.

Using SetPlayerPos would suck, the best bet actually would be to find a way to get the position of another player from the client, and compare it to the current position on the server. If the actor/player was within inches or 1 - 2 ft of their actual position then you could set them back without actually using SetPlayerPos. But I'm certain this can not be done without client side modifications.
Web Skill: PHP, HTML, CSS, JS, RUBY, NODE.js.

Programing Skill: Objective C, C#, C++, D#, Python, Java, MySQL, Rust, Go

OS Skill: Windows (95 - 10), Ubuntu/Debian, Raspbian, Kali, Arch, Unix, Mac (E-MACs - Current)

Scripting Skill: LUA, Pawn, C38*
azzerking is offline   Reply With Quote

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Players goes out of sync when entering vehicle jeffery30162 Scripting Help 16 09/02/2015 08:09 PM
Disable car moving, pushing bobsona Scripting Help 8 05/01/2015 03:52 AM
Vehicle Pushing Tanush123 Scripting Help 4 30/05/2013 10:37 PM
People pushing cars Osviux Bug Reports 10 05/01/2011 11:44 AM
Players pushing empty vehicles Osviux Help Archive 0 04/01/2011 08:40 PM

All times are GMT. The time now is 10:31 AM.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.