MantisBT - Soldat Dedicated Server
View Issue Details
0000142Soldat Dedicated ServerScripting Corepublic2011-12-20 15:372014-10-08 20:21
dnmr 
ExHunter 
immediatemajorrandom
resolvedfixed 
2.7.2 
 
0000142: MovePlayer() causes players to drop weapons and flags randomly
It's as simple as the title states. MovePlayer() ahs been unusable since 1.5 or so. This ruins many large scripts and scripters' nerve cells.
No tags attached.
related to 0000247resolved ExHunter MovePlater not working correctly. 
Issue History
2011-12-20 15:37dnmrNew Issue
2011-12-26 00:31FalconNote Added: 0001288
2011-12-27 14:55jrgpAssigned To => jrgp
2011-12-27 14:55jrgpStatusnew => assigned
2011-12-28 01:16jrgpAssigned Tojrgp =>
2011-12-28 01:16jrgpStatusassigned => acknowledged
2012-02-26 01:21TheOneNote Added: 0001357
2012-02-29 20:31FalconAssigned To => Falcon
2012-02-29 20:31FalconStatusacknowledged => assigned
2012-05-24 20:43FalconNote Added: 0001517
2012-05-24 20:43FalconStatusassigned => confirmed
2012-05-24 20:44FalconAssigned ToFalcon =>
2013-01-25 22:01FalconRelationship addedrelated to 0000247
2013-01-25 23:05FalconNote View State: 0001517: public
2014-08-18 01:51ExHunterNote Added: 0002271
2014-08-18 01:51ExHunterAssigned To => ExHunter
2014-08-18 01:51ExHunterStatusconfirmed => feedback
2014-10-06 03:56ExHunterAssigned ToExHunter =>
2014-10-06 03:56ExHunterStatusfeedback => confirmed
2014-10-08 20:21ExHunterStatusconfirmed => resolved
2014-10-08 20:21ExHunterResolutionopen => fixed
2014-10-08 20:21ExHunterAssigned To => ExHunter

Notes
(0001288)
Falcon   
2011-12-26 00:31   
Dunno if that helps but in 1.5 MovePlayer() was working randomly (moving to pretty much random location or 0,0) when there were two calls too close to each other in time.
(0001357)
TheOne   
2012-02-26 01:21   
Two separate bugs here.
First, "two calls close to each other in time", - in my opinion it isn't the time being relevant but the procedure calling MovePlayer. I am able to successfully teleport two players moving one call to AppOnIdle, even if it takes place a millisecond after the first one - while calling two MovePlayer in the same procedure always ends in a desaster, no matter which code between. Could it be, that variables concerning MovePlayer are not reset until the current procedure ends?

Second, weapon- and flag-drop bugs. These seem to rely on time. Up to one-two seconds after the Player was moved, there is a certain chance, that any player on the server (especially the one who was moved) may drop his weapon, calling OnWeaponChange as if he pressed the button, or the flag he was carrying. In 1.5 flags sometimes returned magically to the base, I haven't seen this bug in 1.6 yet. However, flags are still "dropped" sometimes in the place the player was before he moved.
(0001517)
Falcon   
2012-05-24 20:43   
I've landed in the middle of client code while trying to resolve this. Not sure what exactly is the bug, i suspect some kind of anti cheat collision detections
(0002271)
ExHunter   
2014-08-18 01:51   
I've modified a little bit the netcode, MovePlayer wasn't really synchronized between client and server.

Please report me in next beta if something got better (or not at all). Probably some Climb save server could provide me help in that.