Vehicle Route Constraint System
From Mod Wiki
Overview
The main two entities involved in the vehicle route constraint system are:
Constraints:
- You need one controller per route, and 1 or more markers per route.
- You may only have one start point, and one end point.
- You may not have any loops in the route.
Markers
- To connect the markers together, use ctrlk as usual.
- Position markers 32 units off the ground, about 1024 units apart (more is ok, try not to go less). The precision cursor (F11) is particularly useful for this.
- All the markers must also be linked to the contoller by setting a parent key to the name of the controller.
- To disable air drops on a point, set the no_air_drop key to 1. Use this for markers inside tunnels or under overhangs.
Controller
- Set editor_unique1 to make sure this entity is not renamed
- Set the mask to use on the mask key (see Playzone below).
- Set the number of points that will be considered a warning on the num_points_warning key. (Default: 3)
- Set the number of points that will be kick the player on the num_points_max key. (Default: 6)
- Set the model to use for the arrow on the model_directional key. (Default: models/guis/assets/arrow.lwo)
- Set the skin to use on the arrow on the skin_direction_model key. (Default: deployEffect}
- Set the colour of the arrow on the directional_model_color key. (Default: 0 1 0)
Playzone
- The mask is defined in an appropriate playzone (Default: mask_mcp_route)
- Set mask_mcp_route at an mcp_route.tga in the masks/ folder for your map (e.g. for Valley you'd use masks/valley/mcp_route.tga)
- Add a key zone_vehicle_route with the value of 1 to the same playzone as the mask key
Debugging
- g_drawRouteConstraints Set this to 1 to debug the route of the vehicle you are currently using, set it to 2 to debug paths being used by any vehicle.
- The green sphere is the best point reached by the vehicle
- The red box is the current point the vehicle is at.
- The blue sphere is the best point reached that is available for an air drop.
- g_noRouteConstraintKick Enables/disables the player being kicked for going the wrong way.
- g_noRouteMaskDestruction Enables/disables the MCP checking the mask position is valid.
Examples
- An example map can be found at base/maps/examples/routeconstraint.world
- An example script can be found at base/script/maps/routeconstraint.script