AddDoorToSystem native rounds x, y, z values to integers

  1. Client (production/canary) and FXServer version
  • Client - Beta - b2699
  • FXServer - 5949
  1. Description
    When adding doors to the door system to add locks, if two of the same archetype of door are at coordinates that have coordinates at the same rounded integer values, they conflict and only the first door registered is added to the door lock system.
    i.e. ADD_DOOR_TO_SYSTEM treats the following vectors as the same location
    vec3(189.577179, -929.293335, 30.875042)
    vec3(189.877182, -929.6633, 30.875042)
  2. What you expected to happen
  • When adding doors with the same archetype at different float coordinates, all doors get added to the door system.
  1. What actually happens
  • Only the first door added to the door system gets registered to the door system and any following doors are not registered.
  1. Category of bug (eg. client, server, weapons, peds, native)
  • native
  • client
  1. Reproducible steps, preferably with example script(s)
  • Load up the resource linked in the zip below. It includes:
    • A simple ymap that adds two doors of the same model in the middle of legion square
      • The first at (189.577179, -929.293335, 30.875042)
      • The second at (189.877182, -929.6633, 30.875042)
    • A simple client script
      • That adds the above doors to the doorlock system when within 80 units
      • Sets both doors to the locked state
  • Go to the middle of Legion Square (189.0, -929.0, 30.0)
  • Observer that one door is locked in place while the other doors swings freely
    • They should both be locked if the Door System didn’t round off coordinates

brokendoor.zip (2.5 KB)

I wouldn’t call this a bug report, this is likely intended R* game behavior and would go in #general-discussion:feature-requests inatead.

Moved to suggested topic.