(Are there any bug tracking sections on the BU wiki for this type of information? Given the coincidental nature of many errors, it would be helpful to rule out whether a mod introduces an error, for instance.)
Description:
Accessed none logged client-side when pawn dies in bWaterVolume in network game. This happens because the client does not change state from PlayerSwimming immediately upon dying.
Client-side log:
Warning: xPlayer DM-Dev.xPlayer0 (Function Engine.PlayerController.PlayerSwimming.PlayerMove:0076) Accessed None 'Pawn'
Warning: xPlayer DM-Dev.xPlayer0 (Function Engine.PlayerController.PlayerSwimming.ProcessMove:0022) Accessed None 'Pawn'
Warning: xPlayer DM-Dev.xPlayer0 (Function Engine.PlayerController.PlayerSwimming.ProcessMove:0034) Accessed None 'Pawn'
Warning: xPlayer DM-Dev.xPlayer0 (Function Engine.PlayerController.PlayerSwimming.ProcessMove:006B) Accessed None 'Pawn'
Warning: xPlayer DM-Dev.xPlayer0 (Function Engine.PlayerController.PlayerSwimming.ProcessMove:00B4) Accessed None 'Pawn'
Warning: xPlayer DM-Dev.xPlayer0 (Function Engine.PlayerController.PlayerSwimming.ProcessMove:00E5) Accessed None 'Pawn'
Warning: xPlayer DM-Dev.xPlayer0 (Function Engine.PlayerController.PlayerSwimming.ProcessMove:00ED) Accessed None
Warning: xPlayer DM-Dev.xPlayer0 (Function Engine.PlayerController.PlayerSwimming.ProcessMove:0102) Accessed None 'Pawn'
Warning: xPlayer DM-Dev.xPlayer0 (Function Engine.PlayerController.PlayerSwimming.NotifyPhysicsVolumeChange:000A) Accessed None 'NewVolume'
Warning: xPlayer DM-Dev.xPlayer0 (Function Engine.PlayerController.PlayerSwimming.NotifyPhysicsVolumeChange:001A) Accessed None 'Pawn'
Warning: xPlayer DM-Dev.xPlayer0 (Function Engine.PlayerController.PlayerSwimming.NotifyPhysicsVolumeChange:0032) Accessed None 'Pawn'
Warning: xPlayer DM-Dev.xPlayer0 (Function Engine.PlayerController.PlayerSwimming.NotifyPhysicsVolumeChange:0047) Accessed None 'Pawn'
Steps to reproduce:
Start a client-server game.
Jump in a bWaterVolume; die (drowning, damage; self-inflicted or otherwise).
Solution or workaround:
One fix that seems to work is to intercept the state event PawnDied on the server, then force the client to change state. The fix is implemented in a PlayerController-derived class.
Scope:
The bug is in PlayerController.
Example:
Description:
Accessed none logged client-side when pawn dies in bWaterVolume in network game. This happens because the client does not change state from PlayerSwimming immediately upon dying.
Client-side log:
Warning: xPlayer DM-Dev.xPlayer0 (Function Engine.PlayerController.PlayerSwimming.PlayerMove:0076) Accessed None 'Pawn'
Warning: xPlayer DM-Dev.xPlayer0 (Function Engine.PlayerController.PlayerSwimming.ProcessMove:0022) Accessed None 'Pawn'
Warning: xPlayer DM-Dev.xPlayer0 (Function Engine.PlayerController.PlayerSwimming.ProcessMove:0034) Accessed None 'Pawn'
Warning: xPlayer DM-Dev.xPlayer0 (Function Engine.PlayerController.PlayerSwimming.ProcessMove:006B) Accessed None 'Pawn'
Warning: xPlayer DM-Dev.xPlayer0 (Function Engine.PlayerController.PlayerSwimming.ProcessMove:00B4) Accessed None 'Pawn'
Warning: xPlayer DM-Dev.xPlayer0 (Function Engine.PlayerController.PlayerSwimming.ProcessMove:00E5) Accessed None 'Pawn'
Warning: xPlayer DM-Dev.xPlayer0 (Function Engine.PlayerController.PlayerSwimming.ProcessMove:00ED) Accessed None
Warning: xPlayer DM-Dev.xPlayer0 (Function Engine.PlayerController.PlayerSwimming.ProcessMove:0102) Accessed None 'Pawn'
Warning: xPlayer DM-Dev.xPlayer0 (Function Engine.PlayerController.PlayerSwimming.NotifyPhysicsVolumeChange:000A) Accessed None 'NewVolume'
Warning: xPlayer DM-Dev.xPlayer0 (Function Engine.PlayerController.PlayerSwimming.NotifyPhysicsVolumeChange:001A) Accessed None 'Pawn'
Warning: xPlayer DM-Dev.xPlayer0 (Function Engine.PlayerController.PlayerSwimming.NotifyPhysicsVolumeChange:0032) Accessed None 'Pawn'
Warning: xPlayer DM-Dev.xPlayer0 (Function Engine.PlayerController.PlayerSwimming.NotifyPhysicsVolumeChange:0047) Accessed None 'Pawn'
Steps to reproduce:
Start a client-server game.
Jump in a bWaterVolume; die (drowning, damage; self-inflicted or otherwise).
Solution or workaround:
One fix that seems to work is to intercept the state event PawnDied on the server, then force the client to change state. The fix is implemented in a PlayerController-derived class.
Scope:
The bug is in PlayerController.
Example:
Code:
// *F* 2010-11-26 15:22 rejecht
// Attempted fix for bug in official code in network play:
// Dying while swimming causes accessed none errors client-side, because
// the client is not changing state to Dead.
state [B]PlayerSwimming[/B]
{
event [B]PawnDied[/B] (Pawn [B]P[/B])
{
Global.PawnDied (P);
ClientGotoState ('Dead', 'Begin');
}
}