The Driver Syndicate/Vehicles/Vehicle Zones

From Equilibrium Engine Wiki
Jump to navigation Jump to search

Vehicle Zones are used to define named vehicle sets for the level.

Currently it's not possible to set vehicle zones to other than default yet but with ongoing road system refactoring it's coming true soon.

Making Vehicle Zones

Each level/city can have it's own unique sets of vehicles. Vehicle zones are defined in the file located in next path:

<Addon Folder>/scripts/lua/levels/<Level Name>_vehicles.lua

For default level it is going to be located in GameData/scripts/lua/levels/default_vehicles.lua

If your city is in early stages of development or for some reason it does not have vehicle zones, the game will fall back for default one.

File Structure

Example of vehicles.lua file:

local FreeRideVehicleSet = {
    CopVehicles = {
        default = {
            Patrol = {
                cop_regis   = { },
                --cop_k5      = { minFelony = 0.75 }
            },
            RoadBlock = {
                cop_regis   = { },
                --cop_k5      = { minFelony = 0.75 }
            },
        },
		mission3 = {
            Patrol = {
				k5 = { type = "GangAI", tags = PURSUER_PATROL_TAGS }
            },
            RoadBlock = {},	-- no roadblocks
        },
		mission4 = {
            Patrol = {
				k5 = { type = "GangAI", tags = PURSUER_PATROL_TAGS },
				mustang = { type = "GangAI", tags = PURSUER_PATROL_TAGS },
				carla = { type = "GangAI", tags = PURSUER_PATROL_TAGS },
            },
            RoadBlock = {},	-- no roadblocks
        },
    },
    Traffic = {
        default = {
            rollo       = {},
            mustang		= {},
            mustang_f	= {},
            carla		= {},
            torino		= {},
            taxi		= { interval = 5, tags = "taxi" },
            ranchero	= { interval = 5 },
            k5			= { interval = 8 },
            van			= { interval = 15 },
            cop_regis	= { interval = 20, traffic = false }, -- cops are spawn by the requests
            vette		= { interval = 15 },
            --suburban	= { interval = 25 },
            --bus		= { interval = 30, parked = false },
        },
        warehouses = {
            ranchero	= { interval = 3 },
            k5			= { interval = 3 },
            van			= { interval = 4 },
            taxi		= { interval = 12, tags = "taxi" },
            rollo       = { interval = 2 },
            mustang		= { interval = 2 },
            mustang_f	= { interval = 2 },
            carla		= { interval = 2 },
            torino		= { interval = 2 },
            cop_regis	= { interval = 20 },
            vette		= { interval = 25 },
        },
    }
}

local GameModeVehicleSets = {
    ["freeride"] = FreeRideVehicleSet,
    --["minigames/survival"] = SurvivalVehicleSet
}

local vehicleSet = GameModeVehicleSets[MissionManager:GetGameMode()]

-- always return freeride set if no corresponding gamemode set has been found
return vehicleSet or FreeRideVehicleSet

In this example:

  1. default and warehouses are representing zone names. Currently only default is used and IT DOES NOT represent a level name.
  2. rollo, mustang, carla, van etc are the vehicle script names that are spawned for that zones
  3. numbers are represeting the spawn interval which also determines the rarity of traffic in a level.
  4. CopVehicles sets the cop car script globally for the level

See Also

Vehicle configurations