There's a really helpful video out there on the Tubes on how to make the code for different tracks. That's how I learned how to do it.
In a nutshell, the code seeks to apply the rain effect to certain surfaces. Since a lot of surfaces have similar names, like "road-01" "grayroad-02" and "road-02", you can instruct the game to look for surfaces with the word "road" in the name by putting a question mark before and after that word.
Different types of surfaces need different effects like shiny surfaces such as roadside windows and banners, vs things like concrete vs blacktop. So you can apply different effects to different surfaces. And that's what the different categories are.
There's an app called the Object viewer or something that allows you to find the names of the surfaces. You can also use it to click on something to get coordinates for streaming drops effects.
You just have to be careful with those question marks that you don't put the same thing into different categories. So you'll have to test and make sure the game doesn't crash. A problematic situation could be if the track maker created surfaces for a window and the ground called "windowtrack" and "track-01" for example. If you applied one effect to "?track?" and a different effect to "?window?", you would be applying two different effects to the "windowtrack" surface which would cause a crash probably.
Here's a video with extremely annoying music that goes through a lot of the steps. It's not the video I used, which I can't find, but it should give you the basics: