Hidden default vehicle components are being redisplayed when changing handling/variant/parts states(fix)
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:
- 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.
- Introduce a new event, e.g.,
onVehicleInitializedoronVehicleReinitialized, 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
- Create vehicle
- Hide one of default components, eg.:
setVehicleComponentVisible(veh,'bump_rear_dummy',false) - Switch variant or change handling or fixVehicle, eg.:
setVehicleVariant(veh,1,1) - That's it! You will see the
bump_rear_dummycomponent visible again
Version
latest, not relevant
Additional context
No response
Relevant log output
Security Policy
- [x] I have read and understood the Security Policy and this issue is not security related.
This seems similar to #1556 .
It's easy to fix, but is it necessary, why do we need car variants?
It's easy to fix, but is it necessary, why do we need car variants?
Customization (and also because a lot of vehicles have them and its nice to be able to choose which variants you want)
Customization (and also because a lot of vehicles have them and its nice to be able to choose which variants you want)
Perhaps it is worth making a parameter so that there would be no reloading of hidden components? I can implement it if it's really necessary.
Upd: But it seems to me that the function was not created for this
@C0DELEVEL If you want to save a variant of the machine for values, then use element data to save your variant.
@C0DELEVEL If you want to save a variant of the machine for values, then use element data to save your variant.
It seems you might not fully understand the issue. This is about components (not variants), which are separate entities. If you need more details or a clearer description to help resolve the problem, feel free to reach out to me on Discord (xskyex_)
@C0DELEVEL Did you solve the problem? If yes, can I know how you did it?