Sprinkle

From Valve Developer Community
Jump to navigation Jump to search
English (en)中文 (zh)Translate (Translate)
Sprinkle Tool in Counter-Strike: Global OffensiveAlien SwarmPortal 2
Sprinkle Tool in Garry's Mod
Sprinkle Tool in Hammer++
The Sprinkle Tool in use.

(in all games since Alien Swarm)(also in Hammer++Garry's Mod) The Sprinkle Tool allows for quick placement of pre-defined entities onto your map. This is ideal for painting foliage, rocks, litter, etc, but can be used with any entity, like decals or NPCs. Sprinkle Tool requires that you make a custom .txt script before it can place entities.

To open the Sprinkle Tool:

  1. Choose Sprinkle... from the Tools Menu or use the shortcut Ctrl+Alt+S to open the Entity Sprinkle dialog.
  2. Holding Left Click around your map will allow you to use the tool.
  3. Holding Right Click and moving the mouse will change the Radius size.
  4. Holding CTRL while Left Clicking will temporarily change the mode to Subtractive, acting as an eraser.

(only in Hammer++Garry's Mod) Hammer Map Tools Toolbar has an additional icon for the Sprinkle Tool.


Adding Types

Types define what should be placed with the tool. They're located at <gameinfo path>/scripts/hammer/sprinkle (ex. Counter-Strike: Global Offensive/csgo/scripts/hammer/sprinkle/), a folder that must be manually created.

To add your own types, you'll need to add a Definition File in this folder. It can be named anything, as long as it's a .txt file.

Definition File Example

"Agave Plants" //This is the name that will appear in the Sprinkle menu
{
	base //The base values of what you want to sprinkle. You can add any keyvalue, ex. "fademaxdist", and it will be applied to every entity
	{
		"classname" "prop_static"
		grid "64 64" // The default grid size of this type, this can be overridden in the Sprinkle menu
	}
	
	10 //This is the chance of this set of values being used, this can be any number
	{
		"model" "models/props/de_dust/hr_dust/foliage/agave_plant_01.mdl" //The values of this case. More keyvalues can be added, ex. "skin" or "rendercolor"
	}
	10
	{
		"model" "models/props/de_dust/hr_dust/foliage/agave_plant_02.mdl" 
		"rendercolor" "13 204 75"
	}
	10
	{
		"model" "models/props/de_dust/hr_dust/foliage/agave_plant_03.mdl"
		"rendercolor" "13 204 75"
	}
	10 //Since there's 4 cases with the same chance, each case has a 1/4 chance of being placed
	{
		"model" "models/props/de_dust/hr_dust/foliage/agave_plant_04.mdl"
		"uniformscale" "1.3"
	}
}

Mode

This lets you select how the tool will act when placing entities. There are four options:

  • Additive - Adds entities in the Radius and will overwrite any existing entities in the Radius.
  • Subtractive - Removes entities in the Radius.
  • Replace - Replaces all entities in the Radius, acts like Additive and Subtractive.
  • Overwrite - Overwrite entities in the Radius, acts like Additive but only on already existing entities.
Note.pngNote:The tool will not replace already existing entities, only entities created by the Sprinkle Tool.

Density

Slider from 0% to 100%. Determines the chance of an entity being placed.

Random X/Y/Z

(only in Garry's Mod)

Also known as Grid Offset. After an entity is placed, it will be moved a random distance on this axis; your input is the maximum distance. If this value is too high, your entities will be floating or clipping. NOT TO BE CONFUSED with Random Yaw.

Item Offset (Z)

(only in Garry's Mod)

Following the terrain, uniformly raises or lowers the placement. Useful for when a prop has empty space on its bottom.

Grid Size

Determines how close together entities are placed in the Radius. By default it uses the 'grid' defined in the script, but if 'Use Grid Size from Definition' is unticked, a custom grid size can be entered. Pressing 'Use Grid' will use Hammer's current Snap Grid Size.

Random Yaw

Will randomly spin the entities on their Yaw. Good for breaking up repetition.