[BUG] Insane player desync

Started by NicusorN5, May 01, 2019, 01:19 PM

Previous topic - Next topic

NicusorN5

Description
After playing for about 1 hour on my zombie survival server with AlecuMadalin, he got invisible for some reason. His shadow is still visibile. Seems to be fixed by respawining or by rejoining.
Reproducible
Sometimes

What you were doing when the bug happened
https://www.youtube.com/watch?v=vaanL7IXQkE

What you think caused the bug
My revival system :
function Survivor::Revive(Saviour)
{
Saviour.player.Score += 1;
GetKillStreakReward(Saviour.player);
this.Up();
::Message(GREEN+Saviour.player+" revived "+this.player);
}
function Survivor::Update()
{
if(this.NeedToBeSaved == false)
{
if(this.player.Health < this.MaxHP)
{
this.player.Health += 1;
if(this.FastHealthRegen) this.player.Health += 4;
if(this.player.Health > this.MaxHP) this.player.Health = this.MaxHP;
}
if(this.player.Health <= 25) this.Down();
}
if(this.NeedToBeSaved)
{
this.player.Health -= 1;
if(this.player.Health == 1)
{
this.player.Frozen = false;
this.player.Kill();
::Message(RED+this.player+" was killed by zombies!");
}
if(this.FastRevive)
{
this.player.Health += 6;
if(this.player.Health >= 100)
{
this.Up();
this.player.Health = this.MaxHP;
this.FastRevive = false;
}
}
}
if(LOADEDMAP != null)
{
if(::DistanceFromPoint(this.player.Pos.x,this.player.Pos.y,::LOADEDMAP.pos.x,::LOADEDMAP.pos.y) > ::LOADEDMAP.distance)
{
::Announce("~o~GET BACK TO THE FIGHTNING ZONE COMRADE!",this.player,0);
this.player.Health -= 5;
}
else if(ZOMBIE_IMMUNITY >0 )
{
this.player.Health = this.MaxHP;
if(this.NeedToBeSaved) this.Up();
}
}
}

NicusorN5


Stormeus

Thanks for the report. We've had rare reports of this happening in the past but nothing consistently reproducible. A more minimal script would help though, since I don't know what this.Up() and this.Down() are defined as.

NicusorN5

#3
I'll send you the entire class scripts and store files in your PMs.