getTrafficGroupFromFile
Definition
-- @/lua/ge/extensions/gameplay/traffic/trafficUtils.lua:96
local function getTrafficGroupFromFile(options) -- returns an existing vehicle group file
options = options or {}
local group, fileName
local dir = path.split(getMissionFilename()) or '/levels/'
local files = FS:findFiles(dir, '*.vehGroup.json', 0, true, true) -- vehGroup files in the level directory
if not files[1] or options.useCustom then
files = FS:findFiles('/vehicleGroups/', '*.vehGroup.json', -1, true, true) -- vehGroup files in the vehicle groups directory
end
if options.name then -- file simple name (e.g. "traffic", "police", etc.)
local filteredFiles = {}
for _, v in ipairs(files) do
local _, fn = path.splitWithoutExt(v)
if string.find(fn, string.lower(options.name)) then
table.insert(filteredFiles, v)
end
end
files = filteredFiles
end
if files[1] then
fileName = files[math.random(#files)] -- if multiple files exist, select one randomly
group = jsonReadFile(fileName)
if group then
group = group.data -- assumes that group data exists (might fail!)
end
end
return group, fileName
end
Callers
@/lua/ge/extensions/gameplay/traffic.lua
if fileMode then
fileData, fileName = gameplay_traffic_trafficUtils.getTrafficGroupFromFile({name = 'police'}) -- level specific police vehicles
if fileData then
if fileMode then
fileData, fileName = gameplay_traffic_trafficUtils.getTrafficGroupFromFile({name = 'traffic'}) -- level specific civilian vehicles
if fileData then