The Driver Syndicate/Vehicles/Vehicle Zones: Difference between revisions

From Equilibrium Engine Wiki
Jump to navigation Jump to search
(A short description of vehicle zones.)
 
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''Adding to a vehicle zone'''
Vehicle Zones are used to define named vehicle sets for the level.


Vehicle zones are .def files found within scripts/levels pathing.
''<small>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.</small>''


for default city its GameData/scripts/levels/default_vehiclezones.def
== 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'''


for your city it'll be Addons/YourCity/scripts/levels/mycity_vehiclezones.def
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.


To add to them you simply add the name of the car you want, and the name has to match their script name. So if you wanna add arvensis.txt you will add arvensis <number>;
== File Structure ==
Example of vehicles.lua file:<syntaxhighlight lang="lua" line="1">
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 },
        },
    }
}


The number determines the rarity of traffic in a level.
local GameModeVehicleSets = {
    ["freeride"] = FreeRideVehicleSet,
    --["minigames/survival"] = SurvivalVehicleSet
}


0 - the car will appear in traffic very often
local vehicleSet = GameModeVehicleSets[MissionManager:GetGameMode()]
100 - the car will be very rare.


To add a vehicle zone to your city you will add your cities name to the beginning of the script file. For example default_vehiclezones.def is for default city, while victoria_vehiclezones.def is for Victoria.
-- always return freeride set if no corresponding gamemode set has been found
return vehicleSet or FreeRideVehicleSet
</syntaxhighlight>In this example:
 
# '''default''' and '''warehouses''' are representing zone names. ''Currently only default is used and IT DOES NOT represent a level name.''
# '''rollo, mustang, carla, van''' etc are the [[The Driver Syndicate/Vehicles/Configuration File|vehicle script]] names that are spawned for that zones
# '''numbers''' are represeting the spawn interval which also determines the rarity of traffic in a level.
# '''CopVehicles''' sets the cop car script globally for the level
 
== See Also ==
[[The Driver Syndicate/Vehicles/Configuration File|Vehicle configurations]]

Latest revision as of 19:25, 24 January 2025

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