Entity Concealment doesn't recreate when entering/leaving entity culling radius

For a good bug report you should probably include:

  1. Client (production/canary) and FXServer version: canary | FXServer-master SERVER v1.0.0.5132 win32
  2. What you expected to happen: entity concealment be persistent when recreating an entity
  3. What actually happens: entity concealment resets and the recreated entity spawns to a random offset from the initial position
  4. Category of bug (eg. client, server, weapons, peds, native): client
  5. Reproducible steps, preferably with example script(s):
  • Use the command spawnveh, it spawns a vehicle with the server-side experimental native CREATE_AUTOMOBILE (tested with a networked vehicle from CreateVehicle client side and it didnt even despawn when going outside culling radius)
  • From the repo and with runcode, copy the printed net id and get the client side handle of the vehicle
  • Conceal the vehicle with NETWORK_CONCEAL_ENTITY:
crun NetworkConcealEntity(NetToVeh(<NETID_PRINTED_HERE>), true)
  • Go far away past culling radius (one trick to check it is just by spamming the NetToVeh(..) until it says there’s no entity)
  • Return to the area and the vehicle appears in a random offset from its initial position, not concealed.

Little video showing it happening:


(2022-01-25 16-16-21_trim Incase the embed breaks)

Repro resource:
repo_conceal.rar (457 Bytes)

This isn’t a bug, and the same behavior occurs even in actual GTA itself, since it’s not a bug.

I don’t even know why the ‘expected behavior’ would be for clients to somehow remember local overrides applied to entities that don’t exist on said client anymore (until all eternity, given that deletion events also don’t route to clients that don’t know of a specific entity), or for any client to magically be able to store a flag inside of an entity at random, as both behaviors seem rather unexpected instead.

Set a state value or so and poll that from your client script, or otherwise just re-hide entities you don’t want.

Gotcha, thanks for the reply!