Page MenuHomeFeedback Tracker

Using the "ECE_NOPERSISTENCY_CHAR" flag for spawned items causes the player corruption when loading.
Confirmed Internally, NormalPublic

Description

Items created with the flag ECE_NOPERSISTENCY_CHAR leads to player corruption on character loading when present in his inventory.

Expected behavior:
An item created with this flag will not be saved in the player's inventory when the character is saved in the DB, similar to how it works for the “ECE_NOPERSISTENCY_WORLD” flag.

Actual behavior (with error)
The item is saved in the player's inventory, but causes a character loading failure, which leads to its forced disconnect and respawn after reconnect.

Details

Severity
Major
Resolution
Open
Reproducibility
Always
Operating System
Windows 11 x64
Operating System Version
23H2
Category
General
Steps To Reproduce
  1. Create any item with the flag “ECE_NOPERSISTENCY_CHAR”.
  2. Place the item in the player's inventory (cargo in my case).
  3. Log out from the server to have the character saved to the database.
  4. Connect back to the server.

Result: Disconnect with error and force character respawn

Additional Information

Example how to spawn item with ECE_NOPERSISTENCY_CHAR

GetGame().CreateObjectEx("SmallStone", vector.Zero, ECE_NOLIFETIME | ECE_NOPERSISTENCY_WORLD | ECE_NOPERSISTENCY_CHAR);

Event Timeline

Geez changed the task status from New to Assigned.Tue, Mar 11, 10:43 AM
Geez changed the task status from Assigned to Confirmed Internally.Tue, Mar 11, 5:59 PM