Custom effects
Build the effect in the CS2 Workshop Tools. Copy the compiled files from your addon’sgame folder into Documents\Starline\scripts\assets, keeping the folder layout:
C_OP_RemapCPtoVector into the color field, or a renderer color scale bound to a control point. Then set that control point with SetControlPoint.
particles.Load
nil and an error message.
Every file the effect references is checked before anything loads. References found in scripts\assets load with it. Everything else must exist in the game. A missing reference fails the load.
Reloading the script picks up edits to the effect file itself. Edits to children, materials, and textures need a game restart. Files in scripts\assets take priority over game files with the same name.
Files are capped at 64 MB each and 256 MB in total.
particles.Spawn
effect is a name returned by particles.Load or any stock .vpcf path. lifetime is in seconds. Without it the particle lives until you destroy it.
particles.Attach
attachment is a model attachment name. Without it the particle follows the entity itself.
Particle
Control points carry whatever the effect reads from them: positions, colors, counts. A control point the effect never reads is ignored. Children share their parent’s control points.
Lifetime
Particles are cleared at round start, on map change, when their lifetime runs out, and when the script unloads. Outside a match nothing spawns and the handle turns invalid. For anything that should stay up, like weather, checkIsValid() and spawn again: