citizenfx / fivem

The source code for the Cfx.re modification frameworks, such as FiveM, RedM and LibertyM, as well as FXServer.
https://cfx.re/
3.4k stars 1.99k forks source link

8-bit to 32-bit integer - potential fixes for sirensetting id (carcol) (vehicle lights) #2612

Open Legacy-TacticalGamingInteractive opened 5 days ago

Legacy-TacticalGamingInteractive commented 5 days ago

What happened?

Someone at Cfx mentioned that I should make an issue about this here when the fix got added for the 255 Global Props limit by changing the 8bit to 32bit integer issue. Perhaps this same methodology could be applied to the global limit of carcols sirensetting id's which are also capped at 255 for the same reason. You can see that information here: https://github.com/citizenfx/fivem/commit/3d66c889321ffa2b0095f09194be618deafee0c6

Additionally, here is a repo of some Single Player/FiveM client sided fixes that perhaps we can replicate to FiveM overall in some fashion: ASI Mod for FiveM and Singleplayer Source Code

Should anyone be willing to take a look see and make it so. This would be an incredible game changer to have these fixed server side synced with FiveM client build.

Cheers!

Expected result

Ability to increase siren id's from 255 to 65535

Reproduction steps

  1. Load any server with unique carcols id value and carvariations sirensettings value= up to 255 and beyond.
  2. After reaching 256+ the lights will be broken in game. The lighting will not function correctly as it overlaps with other ID's at that point.
  3. While a client sided fix can be applied manually, it will not be synced across a server for all players or the FiveM client build. But the potential is here to test this and fix.

Importancy

There's a workaround

Area(s)

FiveM, FXServer

Specific version(s)

FiveM 3095 / Windows Server / Build 8733

Additional information

This would greatly solve a lot of issues for server owners, vehicle developers and the longevity of FiveM with roleplay servers especially with many Tebex assets these days. Meaning that cars can no longer be modified and bundled to use one set ID for a pack anymore by devs or server owners without original source files. Which used to be a way to at least mitigate the amount of ID's needed for a set of vehicles. But today, often the developers release them one at a time each with a unique ID value.. Thus hitting this limit is a lot faster and easier to get to these days than in previous years.

JajarGaming commented 4 days ago

8 to 32 is a bg jump. Isn't 16-bit possible?