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