Skip to content

Hidden default vehicle components are being redisplayed when changing handling/variant/parts states(fix) #3888

Closed
@C0DELEVEL

Description

@C0DELEVEL

Describe the bug

Hey,

if we hide one of the default vehicle components, e.g., bump_rear_dummy, using the setVehicleComponentVisible function and then change the vehicle's variant, modify its handling value, or fix the vehicle (fixVehicle), all default components ignore the fact that they were hidden using setVehicleComponentVisible and are displayed again.

This becomes a significant challenge when using the component system for vehicle tuning, especially if we want to implement it optimally without sending unnecessary data between the server and frequently analyzing and updating the current components status.

As for proposed solutions to address this issue, I see two options:

  1. Add client-side awareness of hidden components for a given vehicle so that they remain hidden during vehicle reinitialization. This would prevent them from being displayed again after events like handling changes, variant switches, or fixes.
  2. Introduce a new event, e.g., onVehicleInitialized or onVehicleReinitialized, which would allow us to reapply the appropriate visibility settings for components whenever the vehicle is reinitialized due to the aforementioned reasons.

Steps to reproduce

  1. Create vehicle
  2. Hide one of default components, eg.: setVehicleComponentVisible(veh,'bump_rear_dummy',false)
  3. Switch variant or change handling or fixVehicle, eg.: setVehicleVariant(veh,1,1)
  4. That's it! You will see the bump_rear_dummy component visible again

Version

latest, not relevant

Additional context

No response

Relevant log output

Security Policy

  • I have read and understood the Security Policy and this issue is not security related.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions