Sprinkle: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (add {{lang}})
(Multipage template)
Tag: Replaced
Line 1: Line 1:
{{lang|Sprinkle}}
{{Multipage}}
[[Category:Hammer Tools]]
[[Category:Hammer Tools]]
[[Image:Entitysprinkledialog.png|right|thumb|'''Sprinkle Tool''' in {{Csgo}}{{As}}{{Portal2}}]]
[[Image:Sprinkle tool - GMOD.png|right|thumb|'''Sprinkle Tool''' in {{GMOD}}]]
[[Image:Sprinkletoolexample.gif|right|thumb|The '''Sprinkle Tool''' in use.]]
{{only|{{GMOD}}{{Csgo}}{{As}}{{Portal2}}}}
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''':
# Choose '''Sprinkle...''' from the '''Tools Menu''' or use the shortcut {{key|Ctrl+Alt+S}} to open the '''Entity Sprinkle''' [[dialog]].
# Holding '''Left Click''' around your map will allow you to use the tool.
# Holding '''Right Click''' and moving the mouse will change the '''Radius''' size.
# Holding {{key|CTRL}} while '''Left Clicking''' will temporarily change the mode to '''Subtractive''', acting as an eraser.
{{only|{{GMOD}}{{Hammerplusplus}}}} [[Hammer_Map_Tools_Toolbar|Hammer Map Tools Toolbar]] has an additional icon for the '''Sprinkle Tool'''.
__TOC__
==Adding Types==
'''Types''' define what should be placed with the tool. They're located at <code>''<gameinfo path>''/scripts/hammer/sprinkle</code> (ex. <code> Counter-Strike: Global Offensive/csgo/scripts/hammer/sprinkle/</code>), 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 <code>.txt</code> file.
==Definition File Example==
<source>
"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"
}
}
</source>
==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|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|{{GMOD}}}}
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|{{GMOD}}}}
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.

Revision as of 04:34, 19 October 2023