Build Goal

* /bot goal\_create build <name>
* /bot draw\_oids
	+ this will draw a bounding box around all OID's; which is the type of entity required
* confirm the name of the OID in the center of the bounding box
* face the OID and /bot goal\_setproperty trace after making sure to be outside of the bounds of the desired OID
	+ the center of the screen will say which entity the trace found
	+ confirm that the entity number in the center print matches what is shown inside the bounding box from draw\_oids
* optionally set the stance. defaults to stand.
	+ /bot goal\_setproperty stance crouch (or prone, stand, random, jump)
* /bot goal\_finish

## Detailed Instructions

#### Description

Build is a goal that allows bots to build constructibles
#### Setup

See the Fastrack example at the top of the page for an example setup.
#### Properties

Properties can be set with the goal\_setproperty command assuming that the goal has been selected.
##### group

A group is a method of organizing sets of goals. One advantage to this is that all goals in a group can be enabled or disabled in one line of script rather than seperate goal types requiring additional lines to enable or disable them. Assigning roles to a group is also possible as an alternative to assigning each individual goal a role.
**syntax:** /bot goal\_setproperty group <string groupName>
**example:** /bot goal\_setproperty group myGroup
##### role

See the section on bot roles.
**syntax:** /bot goal\_setproperty role <role mask>
**example:** /bot goal\_setproperty role 1
##### stance

Set the stance the bot should assume while performing this action.
**syntax:** /bot goal\_setproperty stance <string stance>
**example:** /bot goal\_setproperty stance crouch
**values:** stand crouch prone random jump
##### tagname

Sets the name of the goal. This can optionally be set when passed as the optional parameter in the goal\_create command. Useful for renaming goals.
**syntax:** /bot goal\_setproperty tagname <string name>
**example:** /bot goal\_setproperty tagname myGoalName
##### trace

Runs a trace based on where the player is aiming and stores the information for the goal.
**syntax:** /bot goal\_setproperty trace
**example:** /bot goal\_setproperty trace
**note:** the trace must be to an OID entity.
##### EntityName

Sets name of the objective entity. It is faster than trace.
**syntax:** /bot goal\_setproperty entityname <entity name>
**example:** /bot goal\_setproperty entityname barrier
##### IgnoreEntity

This property should be used only if trace property does not work, because TraceLine can't find OID entity or if function GetConstructableState always returns -1. After you set ignoreentity to true, you must use function SetAvailableMapGoals to enable or disable goal. The goal is not automatically disabled after the objective is constructed.
**syntax:** /bot goal\_setproperty ignoreentity <0|1>
**example:** /bot goal\_setproperty ignoreentity
##### vehicle

This property attaches the goal to the specified vehicle.
**syntax:** /bot goal\_setproperty vehicle <vehicle goal name>
**example:** /bot goal\_setproperty vehicle MOVER\_truck
**note:** only use this for build goals that are movable
##### offset

Sets a position where a bot should build the goal from
**syntax:** /bot goal\_setproperty offset <int index>
**example:** /bot goal\_setproperty offset 0
**note:** only use this for build goals that are movable. use usepoints for static positioned goals
##### wait

Sets delay in seconds after objective is built. Useful for bridges or ramps which have blockable waypoint connection.
**syntax:** /bot goal\_setproperty wait <float seconds>
**example:** /bot goal\_setproperty wait 2.1