Regarding your first issue (textures disappearing on spectate), it usually happens because the camera moves faster than the GTA:SA engine can stream the textures into memory. It's a hard engine limitation, but sometimes tweaking engineSetModelLODDistance for specific objects or increasing the server's streaming memory can mitigate it.
Now, about the "speedroads" in Las Venturas: you are 100% correct. Those specific colored floors on the LV Strip have a much higher native friction/grip in the game's surface data compared to normal asphalt. When you use Legacy handling, that extra grip turns cars into rockets.
The video you watched was right, it is very easy to disable with a simple client-side script. You just need to use engineSetSurfaceProperties to normalize the grip on those surfaces so they behave like a regular road.
Here is a quick example of a client-side script that loops through the surfaces and lowers the grip of those overpowered floors:
Lua
addEventHandler("onClientResourceStart", resourceRoot, function()
-- Loop through all GTA surface IDs (0 to 178)
for i = 0, 178 do
local grip = engineGetSurfaceProperties(i, "tyregrip")
-- If the surface has an unnaturally high grip (like the LV strip), normalize it
-- Normal asphalt grip is usually around 0.8 to 1.0
if grip and grip > 1.2 then
engineSetSurfaceProperties(i, "tyregrip", 1.0)
end
end
end)
just add this to a client script, and you will be able to play with Legacy handling anywhere in LV without the speedroad effect bothering you. Let me know if you need help setting it up!