From e63e0ea07505c3aaed93df3dfbafdfba3338cf8d Mon Sep 17 00:00:00 2001 From: zRxnx Date: Fri, 17 Mar 2023 23:02:29 +0100 Subject: [PATCH] Add files via upload --- client/client.lua | 81 +++ client/functions.lua | 1040 ++++++++++++++++++++++++++++ configuration/config.lua | 82 +++ configuration/strings.lua | 205 ++++++ files/graphic_off.dat | 1346 ++++++++++++++++++++++++++++++++++++ files/graphic_on.dat | 1348 +++++++++++++++++++++++++++++++++++++ fxmanifest.lua | 32 + readme.md | 31 + server/functions.lua | 155 +++++ server/server.lua | 75 +++ server/utility.lua | 55 ++ shared.lua/functions.lua | 28 + 12 files changed, 4478 insertions(+) create mode 100644 client/client.lua create mode 100644 client/functions.lua create mode 100644 configuration/config.lua create mode 100644 configuration/strings.lua create mode 100644 files/graphic_off.dat create mode 100644 files/graphic_on.dat create mode 100644 fxmanifest.lua create mode 100644 readme.md create mode 100644 server/functions.lua create mode 100644 server/server.lua create mode 100644 server/utility.lua create mode 100644 shared.lua/functions.lua diff --git a/client/client.lua b/client/client.lua new file mode 100644 index 0000000..4d2379e --- /dev/null +++ b/client/client.lua @@ -0,0 +1,81 @@ +ESX, COOLDOWN = Config.esxImport(), nil + +RegisterNetEvent('esx:playerLoaded',function(xPlayer) + ESX.PlayerData = xPlayer +end) + +RegisterNetEvent('esx:setJob', function(job) + ESX.PlayerData.job = job +end) + +RegisterCommand(Config.Command, function() + if not Config.CanOpen() then return end + + OpenMainMenu() +end) +RegisterKeyMapping(Config.Command, Strings.cmd_desc, 'keyboard', Config.Key) +TriggerEvent('chat:addSuggestion', ('/%s'):format(Config.Command), Strings.cmd_desc, {}) + +CreateThread(function() + local pedCoords + ::loop:: + if DATA_SETTINGS.booster then + pedCoords = GetEntityCoords(cache.ped) + DisableOcclusionThisFrame() + SetDisableDecalRenderingThisFrame() + RemoveParticleFxInRange(vector3(pedCoords.x, pedCoords.y, pedCoords.z), 10.0) + OverrideLodscaleThisFrame(0.4) + SetArtificialLightsState(true) + ClearAllBrokenGlass() + LeaderboardsReadClearAll() + ClearBrief() + ClearGpsFlags() + ClearPrints() + ClearSmallPrints() + ClearReplayStats() + LeaderboardsClearCacheData() + ClearFocus() + ClearHdArea() + ClearPedBloodDamage(cache.ped) + ClearPedWetness(cache.ped) + ClearPedEnvDirt(cache.ped) + ResetPedVisibleDamage(cache.ped) + ClearPedLastWeaponDamage(cache.ped) + ClearExtraTimecycleModifier() + ClearTimecycleModifier() + ClearOverrideWeather() + DisableVehicleDistantlights(false) + DisableScreenblurFade() + SetRainLevel(0.0) + SetWindSpeed(0.0) + end + + Wait(2000) + goto loop +end) + +DATA_ROUTE = {} +CreateThread(function() + local pedCoords + ::loop:: + pedCoords = GetEntityCoords(cache.ped) + for k, data in pairs(DATA_ROUTE) do + if data.time - 1 < 1 then + SetBlipRoute(data.blip, false) + RemoveBlip(data.blip) + DATA_ROUTE[k] = nil + + Config.Notification(nil, Strings.navi_timeout) + elseif #(vector3(data.coords.x, data.coords.y, data.coords.z) - vector3(pedCoords.x, pedCoords.y, pedCoords.z)) < Config.Navigation.checkFinish then + SetBlipRoute(data.blip, false) + RemoveBlip(data.blip) + DATA_ROUTE[k] = nil + + Config.Notification(nil, Strings.navi_reached) + else + DATA_ROUTE[k].time -= 1 + end + end + Wait(1000) + goto loop +end) \ No newline at end of file diff --git a/client/functions.lua b/client/functions.lua new file mode 100644 index 0000000..37f7562 --- /dev/null +++ b/client/functions.lua @@ -0,0 +1,1040 @@ +OpenMainMenu = function() + ESX.UI.Menu.CloseAll() + local MENU = {} + + if Config.Menu.informations then + MENU[#MENU + 1] = { + title = Strings.info_title, + description = Strings.info_desc, + arrow = true, + onSelect = function() + OpenInfoMenu() + end + } + end + + if Config.Menu.settings then + MENU[#MENU + 1] = { + title = Strings.setting_title, + description = Strings.setting_desc, + arrow = true, + onSelect = function() + OpenSettingMenu() + end + } + end + + if Config.Menu.vehicle then + if GetVehiclePedIsIn(cache.ped, false) ~= 0 then + MENU[#MENU + 1] = { + title = Strings.veh_title, + description = Strings.veh_desc, + arrow = true, + onSelect = function() + OpenVehicleMenu() + end + } + end + end + + if Config.Menu.bills then + MENU[#MENU + 1] = { + title = Strings.bills_title, + description = Strings.bills_desc, + arrow = true, + onSelect = function() + OpenBillMenu() + end + } + end + + if Config.Menu.company then + if ESX.PlayerData.job.grade_name == 'boss' then + MENU[#MENU + 1] = { + title = Strings.company_title, + description = Strings.company_desc, + arrow = true, + onSelect = function() + OpenCompanyMenu() + end + } + end + end + + if Config.Menu.navigation then + MENU[#MENU + 1] = { + title = Strings.navi_title, + description = Strings.navi_desc, + arrow = true, + onSelect = function() + OpenNavigationMenu() + end + } + end + + if Config.Menu.server then + MENU[#MENU + 1] = { + title = Strings.server_title, + description = Strings.server_desc, + arrow = false, + metadata = Config.Server + } + end + + lib.registerContext({ + id = 'zrx_personalmenu:personal_menu:main', + title = Strings.menu_main, + options = MENU, + }) + + lib.showContext('zrx_personalmenu:personal_menu:main') +end + +OpenInfoMenu = function() + if COOLDOWN then + Config.Notification(nil, Strings.on_cooldown) + return + end + StartCooldown() + + local MENU = {} + local PLAYER_DATA = lib.callback.await('zrx_personalmenu:server:getPlayerData', 500) + local SID = GetPlayerServerId(PlayerId()) + + MENU[#MENU + 1] = { + title = Strings.back, + onSelect = function() + OpenMainMenu() + end + } + + MENU[#MENU + 1] = { + title = Strings.player_title, + description = (Strings.player_desc):format(SID, GetPlayerName(PlayerId()), PLAYER_DATA.ping), + arrow = false, + } + + MENU[#MENU + 1] = { + title = Strings.rpname_title, + description = (Strings.rpname_desc):format(PLAYER_DATA.name), + arrow = false, + } + + MENU[#MENU + 1] = { + title = Strings.dob_title, + description = (Strings.dob_desc):format(ESX.PlayerData.dateofbirth), + arrow = false, + } + + MENU[#MENU + 1] = { + title = Strings.height_title, + description = (Strings.height_desc):format(ESX.PlayerData.height), + arrow = false, + } + + MENU[#MENU + 1] = { + title = Strings.sex_title, + description = (Strings.sex_desc):format(ESX.PlayerData.sex == 'm' and Strings.male or Strings.female), + arrow = false, + } + + MENU[#MENU + 1] = { + title = Strings.job_title, + description = (Strings.job_desc):format(PLAYER_DATA.job.label), + arrow = false, + } + + MENU[#MENU + 1] = { + title = Strings.job_grade_title, + description = (Strings.job_grade_desc):format(PLAYER_DATA.job.grade_label, PLAYER_DATA.job.grade), + arrow = false, + } + + MENU[#MENU + 1] = { + title = Strings.bank_title, + description = (Strings.bank_desc):format(ESX.Math.GroupDigits(PLAYER_DATA.bank)), + arrow = false, + } + + MENU[#MENU + 1] = { + title = Strings.money_title, + description = (Strings.money_desc):format(ESX.Math.GroupDigits(PLAYER_DATA.money)), + arrow = false, + } + + MENU[#MENU + 1] = { + title = Strings.black_money_title, + description = (Strings.black_money_desc):format(ESX.Math.GroupDigits(PLAYER_DATA.black_money)), + arrow = false, + } + + MENU[#MENU + 1] = { + title = Strings.lice_title, + description = Strings.lice_desc, + arrow = true, + onSelect = function() + OpenInfoLicenseMenu() + end + } + + lib.registerContext({ + id = 'zrx_personalmenu:personal_menu:info', + title = Strings.menu_info, + options = MENU, + }) + + lib.showContext('zrx_personalmenu:personal_menu:info') +end + +OpenInfoLicenseMenu = function() + local MENU = {} + local PLAYER_LICENSES = lib.callback.await('zrx_personalmenu:server:getPlayerLicenses', 500) + + MENU[#MENU + 1] = { + title = Strings.back, + onSelect = function() + OpenInfoMenu() + end + } + + for k, data in pairs(PLAYER_LICENSES) do + MENU[#MENU + 1] = { + title = data.type:upper(), + arrow = false, + } + end + + lib.registerContext({ + id = 'zrx_personalmenu:personal_menu:info:licenses', + title = Strings.menu_info_lice, + options = MENU, + }) + + lib.showContext('zrx_personalmenu:personal_menu:info:licenses') +end + +DATA_ENGINE = true +OpenVehicleMenu = function() + if GetVehiclePedIsIn(cache.ped, false) == 0 then + OpenMainMenu() + return + end + + local MENU = {} + local vehicle = GetVehiclePedIsIn(cache.ped, false) + + MENU[#MENU + 1] = { + title = Strings.back, + onSelect = function() + OpenMainMenu() + end + } + + MENU[#MENU + 1] = { + title = Strings.eng_title, + description = Strings.eng_desc, + arrow = false, + onSelect = function() + if DATA_ENGINE then + SetVehicleEngineOn(vehicle, false, false, false) + SetVehicleUndriveable(vehicle, true) + DATA_ENGINE = false + else + SetVehicleEngineOn(vehicle, true, false, false) + SetVehicleUndriveable(vehicle, false) + DATA_ENGINE = true + end + end + } + + MENU[#MENU + 1] = { + title = Strings.extra_title, + description = Strings.extra_desc, + arrow = true, + onSelect = function() + OpenVehicleExtrasMenu() + end + } + + MENU[#MENU + 1] = { + title = Strings.livery_title, + description = Strings.livery_desc, + arrow = true, + onSelect = function() + OpenVehicleLiveryMenu() + end + } + + MENU[#MENU + 1] = { + title = Strings.lights_title, + description = Strings.lights_desc, + arrow = true, + onSelect = function() + OpenVehicleLightsMenu() + end + } + + MENU[#MENU + 1] = { + title = Strings.window_title, + description = Strings.window_desc, + arrow = true, + onSelect = function() + OpenVehicleWindowMenu() + end + } + + MENU[#MENU + 1] = { + title = Strings.doors_title, + description = Strings.doors_desc, + arrow = true, + onSelect = function() + OpenVehicleDoorsMenu() + end + } + + lib.registerContext({ + id = 'zrx_personalmenu:personal_menu:vehicle', + title = Strings.menu_veh, + options = MENU, + }) + + lib.showContext('zrx_personalmenu:personal_menu:vehicle') +end + +OpenVehicleExtrasMenu = function() + if GetVehiclePedIsIn(cache.ped, false) == 0 then + OpenMainMenu() + return + elseif not Config.CanOpenExtras() then + Config.Notification(nil, Strings.extra_cannot) + OpenVehicleMenu() + return + end + + local MENU = {} + local vehicle = GetVehiclePedIsIn(cache.ped, false) + + MENU[#MENU + 1] = { + title = Strings.back, + onSelect = function() + OpenVehicleMenu() + end + } + + for i = 0, 20 do + if DoesExtraExist(vehicle, i) then + MENU[#MENU + 1] = { + title = (Strings.extra_title2):format(i, IsVehicleExtraTurnedOn(vehicle, i) and Strings.on or Strings.off), + description = Strings.extra_desc2, + arrow = false, + args = { id = i }, + onSelect = function(args) + if IsVehicleExtraTurnedOn(vehicle, args.id) then + SetVehicleExtra(vehicle, args.id, 1) + else + SetVehicleExtra(vehicle, args.id, 0) + end + + OpenVehicleExtrasMenu() + end + } + end + end + + lib.registerContext({ + id = 'zrx_personalmenu:personal_menu:vehicle:extras', + title = Strings.menu_veh_extra, + options = MENU, + }) + + lib.showContext('zrx_personalmenu:personal_menu:vehicle:extras') +end + +OpenVehicleLiveryMenu = function() + if GetVehiclePedIsIn(cache.ped, false) == 0 then + OpenMainMenu() + return + end + + local MENU = {} + local vehicle = GetVehiclePedIsIn(cache.ped, false) + + MENU[#MENU + 1] = { + title = Strings.back, + onSelect = function() + OpenVehicleMenu() + end + } + + for i = 0, GetVehicleLiveryCount(vehicle) do + MENU[#MENU + 1] = { + title = (Strings.livery_title2):format(i), + description = Strings.livery_desc2, + arrow = false, + args = { id = i }, + onSelect = function(args) + SetVehicleLivery(vehicle, args.id) + + OpenVehicleLiveryMenu() + end + } + end + + lib.registerContext({ + id = 'zrx_personalmenu:personal_menu:vehicle:livery', + title = Strings.menu_veh_livery, + options = MENU, + }) + + lib.showContext('zrx_personalmenu:personal_menu:vehicle:livery') +end + +DATA_LIGHTS = { + interior = true, + exterior = true, + neon = true +} +OpenVehicleLightsMenu = function() + if GetVehiclePedIsIn(cache.ped, false) == 0 then + OpenMainMenu() + return + end + + local MENU = {} + local vehicle = GetVehiclePedIsIn(cache.ped, false) + + MENU[#MENU + 1] = { + title = Strings.back, + onSelect = function() + OpenVehicleMenu() + end + } + + MENU[#MENU + 1] = { + title = Strings.lights_int_title, + description = Strings.lights_int_desc, + arrow = false, + onSelect = function() + if DATA_LIGHTS.interior then + DATA_LIGHTS.interior = false + SetVehicleInteriorlight(vehicle, false) + else + DATA_LIGHTS.interior = true + SetVehicleInteriorlight(vehicle, true) + end + end + } + + MENU[#MENU + 1] = { + title = Strings.lights_ext_title, + description = Strings.lights_ext_desc, + arrow = false, + onSelect = function() + if DATA_LIGHTS.exterior then + DATA_LIGHTS.exterior = false + SetVehicleLights(vehicle, false) + else + DATA_LIGHTS.exterior = true + SetVehicleLights(vehicle, true) + end + end + } + + MENU[#MENU + 1] = { + title = Strings.lights_neon_title, + description = Strings.lights_neon_desc, + arrow = false, + onSelect = function() + if DATA_LIGHTS.neon then + DATA_LIGHTS.neon = false + DisableVehicleNeonLights(vehicle, false, false, false) + else + DATA_LIGHTS.neon = true + DisableVehicleNeonLights(vehicle, true, false, false) + end + end + } + + lib.registerContext({ + id = 'zrx_personalmenu:personal_menu:vehicle:lights', + title = Strings.menu_veh_lights, + options = MENU, + }) + + lib.showContext('zrx_personalmenu:personal_menu:vehicle:lights') +end + +DATA_WINDOWS = { + front_left = false, + front_right = false, + back_left = false, + back_right = false +} +OpenVehicleWindowMenu = function() + if GetVehiclePedIsIn(cache.ped, false) == 0 then + OpenMainMenu() + return + end + + local MENU = {} + local vehicle = GetVehiclePedIsIn(cache.ped, false) + + MENU[#MENU + 1] = { + title = Strings.back, + onSelect = function() + OpenVehicleMenu() + end + } + + MENU[#MENU + 1] = { + title = Strings.left_front_win_title, + description = Strings.left_front_win_desc, + arrow = false, + onSelect = function() + if DATA_WINDOWS.front_left then + DATA_LIGHTS.front_left = false + RollUpWindow(vehicle, 0) + else + DATA_LIGHTS.front_left = true + RollDownWindow(vehicle, 0) + end + end + } + + MENU[#MENU + 1] = { + title = Strings.right_front_win_title, + description = Strings.right_front_win_desc, + arrow = false, + onSelect = function() + if DATA_WINDOWS.front_right then + DATA_LIGHTS.front_right = false + RollUpWindow(vehicle, 1) + else + DATA_LIGHTS.front_right = true + RollDownWindow(vehicle, 1) + end + end + } + + MENU[#MENU + 1] = { + title = Strings.left_back_win_title, + description = Strings.left_back_win_desc, + arrow = false, + onSelect = function() + if DATA_WINDOWS.back_left then + DATA_LIGHTS.back_left = false + RollUpWindow(vehicle, 2) + else + DATA_LIGHTS.back_left = true + RollDownWindow(vehicle, 2) + end + end + } + + MENU[#MENU + 1] = { + title = Strings.right_back_win_title, + description = Strings.right_back_win_desc, + arrow = false, + onSelect = function() + if DATA_WINDOWS.back_right then + DATA_LIGHTS.back_right = false + RollUpWindow(vehicle, 3) + else + DATA_LIGHTS.back_right = true + RollDownWindow(vehicle, 3) + end + end + } + + MENU[#MENU + 1] = { + title = Strings.all_win_down_title, + description = Strings.all_win_down_desc, + arrow = false, + onSelect = function() + for i = 1, #DATA_WINDOWS do + DATA_WINDOWS[i] = false + end + + RollDownWindows(vehicle) + end + } + + MENU[#MENU + 1] = { + title = Strings.all_win_up_title, + description = Strings.all_win_up_desc, + arrow = false, + onSelect = function() + for i = 1, #DATA_WINDOWS do + DATA_WINDOWS[i] = true + end + + for i = 0, 3 do + RollUpWindow(vehicle, i) + end + end + } + + lib.registerContext({ + id = 'zrx_personalmenu:personal_menu:vehicle:windows', + title = Strings.menu_veh_win, + options = MENU, + }) + + lib.showContext('zrx_personalmenu:personal_menu:vehicle:windows') +end + +DATA_DOORS = { + front_left = false, + front_right = false, + back_left = false, + back_right = false, + hood = false, + trunk = false +} +OpenVehicleDoorsMenu = function() + if GetVehiclePedIsIn(cache.ped, false) == 0 then + OpenMainMenu() + return + end + + local MENU = {} + local vehicle = GetVehiclePedIsIn(cache.ped, false) + + MENU[#MENU + 1] = { + title = Strings.back, + onSelect = function() + OpenVehicleMenu() + end + } + + MENU[#MENU + 1] = { + title = Strings.left_front_door_title, + description = Strings.left_front_door_desc, + arrow = false, + onSelect = function() + if DATA_DOORS.front_left then + DATA_DOORS.front_left = false + SetVehicleDoorShut(vehicle, 0, false) + else + DATA_DOORS.front_left = true + SetVehicleDoorOpen(vehicle, 0, false) + end + end + } + + MENU[#MENU + 1] = { + title = Strings.right_front_door_title, + description = Strings.right_front_door_desc, + arrow = false, + onSelect = function() + if DATA_DOORS.front_right then + DATA_DOORS.front_right = false + SetVehicleDoorShut(vehicle, 1, false) + else + DATA_DOORS.front_right = true + SetVehicleDoorOpen(vehicle, 1, false) + end + end + } + + MENU[#MENU + 1] = { + title = Strings.left_back_door_title, + description = Strings.left_back_door_desc, + arrow = false, + onSelect = function() + if DATA_DOORS.back_left then + DATA_DOORS.back_left = false + SetVehicleDoorShut(vehicle, 2, false) + else + DATA_DOORS.back_left = true + SetVehicleDoorOpen(vehicle, 2, false) + end + end + } + + MENU[#MENU + 1] = { + title = Strings.right_back_door_title, + description = Strings.right_back_door_desc, + arrow = false, + onSelect = function() + if DATA_DOORS.back_right then + DATA_DOORS.back_right = false + SetVehicleDoorShut(vehicle, 3, false) + else + DATA_DOORS.back_right = true + SetVehicleDoorOpen(vehicle, 3, false) + end + end + } + + MENU[#MENU + 1] = { + title = Strings.hood_title, + description = Strings.hood_desc, + arrow = false, + onSelect = function() + if DATA_DOORS.hood then + DATA_DOORS.hood = false + SetVehicleDoorShut(vehicle, 4, false) + else + DATA_DOORS.hood = true + SetVehicleDoorOpen(vehicle, 4, false) + end + end + } + + MENU[#MENU + 1] = { + title = Strings.trunk_title, + description = Strings.trunk_desc, + arrow = false, + onSelect = function() + if DATA_DOORS.trunk then + DATA_DOORS.trunk = false + SetVehicleDoorShut(vehicle, 5, false) + else + DATA_DOORS.trunk = true + SetVehicleDoorOpen(vehicle, 5, false) + end + end + } + + MENU[#MENU + 1] = { + title = Strings.all_doors_close_title, + description = Strings.all_doors_close_desc, + arrow = false, + onSelect = function() + for i = 1, #DATA_DOORS do + DATA_DOORS[i] = true + end + + for i = 0, 4 do + SetVehicleDoorOpen(vehicle, i, false) + end + end + } + + MENU[#MENU + 1] = { + title = Strings.all_doors_open_title, + description = Strings.all_doors_open_desc, + arrow = false, + onSelect = function() + for i = 1, #DATA_DOORS do + DATA_DOORS[i] = false + end + + SetVehicleDoorsShut(vehicle) + end + } + + lib.registerContext({ + id = 'zrx_personalmenu:personal_menu:vehicle:doors', + title = Strings.menu_veh_doors, + options = MENU, + }) + + lib.showContext('zrx_personalmenu:personal_menu:vehicle:doors') +end + +DATA_SETTINGS = { + graphic = false, + booster = false +} +OpenSettingMenu = function() + local MENU = {} + local settingsFile, lines, setting + + MENU[#MENU + 1] = { + title = Strings.back, + onSelect = function() + OpenMainMenu() + end + } + + MENU[#MENU + 1] = { + title = Strings.graphic_title, + description = Strings.graphic_desc, + arrow = false, + onSelect = function() + if DATA_SETTINGS.graphic then + DATA_SETTINGS.graphic = false + settingsFile = LoadResourceFile(GetCurrentResourceName(), 'files/graphic_off.dat') + lines = StringSplit(settingsFile, '\n') + + for k, v in ipairs(lines) do + if not StartsWith(v, '#') and not StartsWith(v, '//') and (v ~= '' or v ~= ' ') and #v > 1 then + v = v:gsub('%s+', ' ') + setting = StringSplit(v, ' ') + + if setting[1] and setting[2] and tonumber(setting[2]) then + SetVisualSettingFloat(setting[1], tonumber(setting[2])+.0 ) + end + end + end + else + DATA_SETTINGS.graphic = true + settingsFile = LoadResourceFile(GetCurrentResourceName(), 'files/graphic_on.dat') + lines = StringSplit(settingsFile, '\n') + + for k, v in ipairs(lines) do + if not StartsWith(v, '#') and not StartsWith(v, '//') and (v ~= '' or v ~= ' ') and #v > 1 then + v = v:gsub('%s+', ' ') + setting = StringSplit(v, ' ') + + if setting[1] and setting[2] and tonumber(setting[2]) then + SetVisualSettingFloat(setting[1], tonumber(setting[2])+.0 ) + end + end + end + end + end + } + + MENU[#MENU + 1] = { + title = Strings.booster_title, + description = Strings.booster_desc, + arrow = false, + onSelect = function() + if DATA_SETTINGS.booster then + DATA_SETTINGS.booster = false + + RopeDrawShadowEnabled(true) + CascadeShadowsSetAircraftMode(true) + CascadeShadowsEnableEntityTracker(false) + CascadeShadowsSetDynamicDepthMode(true) + CascadeShadowsSetEntityTrackerScale(5.0) + CascadeShadowsSetDynamicDepthValue(5.0) + CascadeShadowsSetCascadeBoundsScale(5.0) + SetFlashLightFadeDistance(10.0) + SetLightsCutoffDistanceTweak(10.0) + DistantCopCarSirens(true) + SetArtificialLightsState(false) + else + DATA_SETTINGS.booster = true + + RopeDrawShadowEnabled(false) + CascadeShadowsClearShadowSampleType() + CascadeShadowsSetAircraftMode(false) + CascadeShadowsEnableEntityTracker(true) + CascadeShadowsSetDynamicDepthMode(false) + CascadeShadowsSetEntityTrackerScale(0.0) + CascadeShadowsSetDynamicDepthValue(0.0) + CascadeShadowsSetCascadeBoundsScale(0.0) + SetFlashLightFadeDistance(0.0) + SetLightsCutoffDistanceTweak(0.0) + DistantCopCarSirens(false) + end + end + } + + lib.registerContext({ + id = 'zrx_personalmenu:personal_menu:setting', + title = Strings.menu_setting, + options = MENU, + }) + + lib.showContext('zrx_personalmenu:personal_menu:setting') +end + +OpenBillMenu = function() + if COOLDOWN then + Config.Notification(nil, Strings.on_cooldown) + return + end + StartCooldown() + + local MENU = {} + local PLAYER_BILLS = lib.callback.await('zrx_personalmenu:server:getPlayerBills', 500) + + MENU[#MENU + 1] = { + title = Strings.back, + onSelect = function() + OpenMainMenu() + end + } + + for k, data in pairs(PLAYER_BILLS) do + MENU[#MENU + 1] = { + title = (Strings.bill_title):format(k --[[data.id DATABASE ID]]), + description = Strings.bill_desc, + arrow = false, + args = { id = data.id, label = data.label, amount = data.amount }, + onSelect = function() + COOLDOWN = false + PayBill(data.id) + Wait(100) + OpenBillMenu() + end, + metadata = { + { label = Strings.bill_reason, value = data.label }, + { label = Strings.bill_amount, value = (Strings.bill_amount_value):format(data.amount) }, + } + } + end + + lib.registerContext({ + id = 'zrx_personalmenu:personal_menu:bills', + title = Strings.menu_bills, + options = MENU, + }) + + lib.showContext('zrx_personalmenu:personal_menu:bills') +end + +OpenCompanyMenu = function() + if COOLDOWN then + Config.Notification(nil, Strings.on_cooldown) + return + end + StartCooldown() + + if ESX.PlayerData.job.grade_name ~= 'boss' then + OpenMainMenu() + return + end + + local MENU = {} + local DATA_SOC_MONEY = lib.callback.await('zrx_personalmenu:server:getSocietyMoney', 500, ESX.PlayerData.job.name) + + MENU[#MENU + 1] = { + title = Strings.back, + onSelect = function() + OpenMainMenu() + end + } + + MENU[#MENU + 1] = { + title = Strings.company_money_title, + description = (Strings.company_money_desc):format(ESX.Math.GroupDigits(DATA_SOC_MONEY)), + arrow = false, + } + + MENU[#MENU + 1] = { + title = Strings.company_hire_title, + description = Strings.company_hire_desc, + arrow = false, + onSelect = function() + local playerClos, playerDis = ESX.Game.GetClosestPlayer() + + if playerClos == -1 or playerDis > 5 then + Config.Notification(nil, Strings.no_nearby) + else + TriggerServerEvent('zrx_personalmenu:server:managePlayer', GetPlayerServerId(playerClos), 'hire') + end + end + } + + MENU[#MENU + 1] = { + title = Strings.company_fire_title, + description = Strings.company_fire_desc, + arrow = false, + onSelect = function() + local playerClos, playerDis = ESX.Game.GetClosestPlayer() + + if playerClos == -1 or playerDis > 5 then + Config.Notification(nil, Strings.no_nearby) + else + TriggerServerEvent('zrx_personalmenu:server:managePlayer', GetPlayerServerId(playerClos), 'fire') + end + end + } + + MENU[#MENU + 1] = { + title = Strings.company_promote_title, + description = Strings.company_promote_desc, + arrow = false, + onSelect = function() + local playerClos, playerDis = ESX.Game.GetClosestPlayer() + + if playerClos == -1 or playerDis > 5 then + Config.Notification(nil, Strings.no_nearby) + else + TriggerServerEvent('zrx_personalmenu:server:managePlayer', GetPlayerServerId(playerClos), 'promote') + end + end + } + + MENU[#MENU + 1] = { + title = Strings.company_derank_title, + description = Strings.company_derank_desc, + arrow = false, + onSelect = function() + local playerClos, playerDis = ESX.Game.GetClosestPlayer() + + if playerClos == -1 or playerDis > 5 then + Config.Notification(nil, Strings.no_nearby) + else + TriggerServerEvent('zrx_personalmenu:server:managePlayer', GetPlayerServerId(playerClos), 'derank') + end + end + } + + lib.registerContext({ + id = 'zrx_personalmenu:personal_menu:company', + title = Strings.menu_company, + options = MENU, + }) + + lib.showContext('zrx_personalmenu:personal_menu:company') +end + +OpenNavigationMenu = function() + local MENU = {} + + MENU[#MENU + 1] = { + title = Strings.back, + onSelect = function() + OpenMainMenu() + end + } + + for k, data in pairs(Config.Navigation.destinations) do + MENU[#MENU + 1] = { + title = data.label, + description = Strings.navi_desc2, + arrow = false, + args = { label = data.label }, + onSelect = function(args) + local found = false + + for v, data2 in pairs(DATA_ROUTE) do + if data.coords == data2.coords then + found = true + end + end + + if found then + Config.Notification(nil, (Strings.navi_already):format(data.label)) + else + local blip = Config.Navigation.route(vector3(data.coords.x, data.coords.y, data.coords.z), (Strings.navi_dest):format(args.label)) + DATA_ROUTE[#DATA_ROUTE + 1] = { + blip = blip, + coords = data.coords, + time = Config.Navigation.timeout + } + + Config.Notification(nil, (Strings.navi_set):format(data.label)) + end + end, + } + end + + lib.registerContext({ + id = 'zrx_personalmenu:personal_menu:navigation', + title = Strings.menu_navi, + options = MENU, + }) + + lib.showContext('zrx_personalmenu:personal_menu:navigation') +end + +PayBill = function(bill) + ESX.TriggerServerCallback('esx_billing:payBill', function() + end, bill) +end + +StartCooldown = function() + COOLDOWN = true + + SetTimeout(Config.Cooldown, function() + COOLDOWN = false + end) +end \ No newline at end of file diff --git a/configuration/config.lua b/configuration/config.lua new file mode 100644 index 0000000..97b5aa8 --- /dev/null +++ b/configuration/config.lua @@ -0,0 +1,82 @@ +local seconds, minutes = 1000, 60000 +Config = {} + +--| Discord Webhook in 'server/server.lua' +Config.Command = 'personalmenu' --| Command +Config.Key = 'F5' --| Note: its a keyMapping +Config.Cooldown = 3 * seconds --| Note: Only for client > server or server > client | To disable set to 0 +Config.Menu = { + informations = true, + settings = true, + vehicle = true, + bills = true, + company = true, + navigation = true, + server = true +} + +Config.Company = { + job = 'unemployed' --| Job when you get fired +} + +Config.Navigation = { + timeout = 120, --| In seconds + checkFinish = 25.0, --| In GTA Units + destinations = { --| Place here your locations + { label = 'Police Station', coords = vector3(407.6613, -986.1854, 29.2603-0.9) }, + { label = 'Medical Center', coords = vector3(291.7147, -586.7615, 43.1760-0.9) }, + { label = 'Mechanic', coords = vector3(-377.3869, -131.3874, 38.6804-0.9) }, + { label = 'Meetingpoint', coords = vector3(217.9133, -850.6498, 30.1731-0.9) }, + }, + route = function(coords, text) --| Change it if you know what you are doing + local blip = AddBlipForCoord(coords.x, coords.y, coords.z) + SetBlipSprite(blip, 38) + SetBlipColour(blip, 0) + SetBlipScale(blip, 1.0) + SetBlipAlpha(blip, 255) + SetBlipAsShortRange(blip, false) + BeginTextCommandSetBlipName('STRING') + AddTextComponentSubstringPlayerName(text) + EndTextCommandSetBlipName(blip) + SetBlipRoute(blip, true) + SetBlipRouteColour(blip, 26) + + return blip + end +} + +--| Place here your Links/Informations +Config.Server = { + { label = 'Discord', value = 'discord.gg/example' }, + { label = 'Website', value = 'www.example.com' }, +} + +--| Place your checks here before the personal menu opens +Config.CanOpen = function() + return true +end + +--| Place your checks here before the vehicle menu opens +Config.CanOpenExtras = function() + return GetVehicleBodyHealth(GetVehiclePedIsIn(cache.ped, false)) >= 950 or true +end + +--| Place your notification here +Config.Notification = function(source, msg) + if IsDuplicityVersion() then + local xPlayer = ESX.GetPlayerFromId(source) + xPlayer.showNotification(msg) + else + ESX.ShowNotification(msg) + end +end + +--| Place your esx import here +--| Change it if you know what you are doing +Config.esxImport = function() + if IsDuplicityVersion() then + return exports['es_extended']:getSharedObject() + else + return exports['es_extended']:getSharedObject() + end +end \ No newline at end of file diff --git a/configuration/strings.lua b/configuration/strings.lua new file mode 100644 index 0000000..cb36aef --- /dev/null +++ b/configuration/strings.lua @@ -0,0 +1,205 @@ +Strings = { + cmd_desc = 'Open the personal menu', + back = 'Back', + on = 'On', + off = 'Off', + no_nearby = 'There is no player nearby', + on_cooldown = 'Calm down!', + male = 'Male', + female = 'female', + + menu_main = 'Personal menu', + menu_info = 'Personal menu - Info', + menu_info_lice = 'Personal menu - Informations licenses', + menu_veh = 'Personal menu - Vehicle', + menu_veh_extra = 'Personal menu - Vehicle extras', + menu_veh_livery = 'Personal menu - Vehicle liverys', + menu_veh_lights = 'Personal menu - Vehicle lights', + menu_veh_win = 'Personal menu - Vehicle windows', + menu_veh_doors = 'Personal menu - Vehicle doors', + menu_setting = 'Personal menu - Settings', + menu_company = 'Personal menu - Company', + menu_bills = 'Personal menu - Bills', + menu_navi = 'Personal menu - Navigation', + + info_title = 'Informations', + info_desc = 'Show your character informations', + + setting_title = 'Settings', + setting_desc = 'Edit some settings for you', + + veh_title = 'Vehicle', + veh_desc = 'Manage your vehicle', + + bills_title = 'Bills', + bills_desc = 'Manage your bills', + + company_title = 'Company', + company_desc = 'Manage your company', + + navi_title = 'Navigation', + navi_desc = 'Set a waypoint', + + server_title = 'Server', + server_desc = 'See some server informations', + + player_title = 'Player', + player_desc = 'ID: #%s - Name: %s - Ping: %s', --| arg1: Server ID - arg2: Player Name - arg3: Player ping + + rpname_title = 'Name', + rpname_desc = '%s', --| arg1: RP Name + + dob_title = 'Date Of Birth', + dob_desc = '%s', --| arg1: RP Date Of Birth + + height_title = 'Height', + height_desc = '%s', --| arg1: RP Height + + sex_title = 'Sex', + sex_desc = '%s', --| arg1: RP Sex + + job_title = 'Job', + job_desc = 'Job: %s', --| arg1: Job name + + job_grade_title = 'Job grade', + job_grade_desc = 'Grade: %s - %s', --| arg1: Job grade name - arg2: Job grade number + + bank_title = 'Bank', + bank_desc = 'Balance: $%s', --| arg1: Bank balance + + money_title = 'Money', + money_desc = 'Balance: $%s', --| arg1: Money balance + + black_money_title = 'Black Money', + black_money_desc = 'Balance: $%s', --| arg1: Black money balance + + lice_title = 'Licenses', + lice_desc = 'See your licenses', + + eng_title = 'Toggle Engine', + eng_desc = 'Disable/Enable the engine', + + extra_title = 'Extras', + extra_desc = 'Enable/Disable extras', + extra_cannot = 'You cannot open the extras currently', + + livery_title = 'Liverys', + livery_desc = 'Enable/Disable liverys', + + lights_title = 'Lights', + lights_desc = 'Enable/Disable liverys', + + window_title = 'Windows', + window_desc = 'Roll Up/Down windows', + + doors_title = 'Doors', + doors_desc = 'Open/Close doors', + + extra_title2 = 'Extra #%s - %s', --| arg1: Extra ID - arg2: On/Off + extra_desc2 = 'Enable/Disable selected extra', + + livery_title2 = 'Livery #%s', --| arg1: Livery ID + livery_desc2 = 'Enable selected livery', + + lights_int_title = 'Interior Lights', + lights_int_desc = 'Enable/Disable interior lights', + + lights_ext_title = 'Exterior lights', + lights_ext_desc = 'Enable/Disable exterior lights', + + lights_neon_title = 'Neon lights', + lights_neon_desc = 'Enable/Disable exterior lights', + + left_front_win_title = 'Front left window', + left_front_win_desc = 'Down/Up front left window', + + right_front_win_title = 'Front right window', + right_front_win_desc = 'Down/Up front right window', + + left_back_win_title = 'Back left window', + left_back_win_desc = 'Down/Up back left window', + + right_back_win_title = 'Back right window', + right_back_win_desc = 'Down/Up back right window', + + all_win_down_title = 'All windows down', + all_win_down_desc = 'Put every window down', + + all_win_up_title = 'All windows up', + all_win_up_desc = 'Put every window right', + + left_front_door_title = 'Front left door', + left_front_door_desc = 'Open/Close front left door', + + right_front_door_title = 'Front right door', + right_front_door_desc = 'Open/Close front right door', + + left_back_door_title = 'Back left door', + left_back_door_desc = 'Open/Close back left door', + + right_back_door_title = 'Back right door', + right_back_door_desc = 'Open/Close back right door', + + hood_title = 'Hood', + hood_desc = 'Open/Close hood', + + trunk_title = 'Trunk', + trunk_desc = 'Open/Close trunk', + + all_doors_close_title = 'Open all doors', + all_doors_close_desc = 'Open all doors', + + all_doors_open_title = 'Close all doors', + all_doors_open_desc = 'Close all doors', + + graphic_title = 'Graphicmod', + graphic_desc = 'Enable/Disable the graphicmod', + + booster_title = 'FPS Booster', + booster_desc = 'Enable/Disable the fps booster', + + company_money_title = 'Company Money', + company_money_desc = 'Balance: $%s', --| arg1: Company Balance + + company_hire_title = 'Hire', + company_hire_desc = 'Hire the nearby player', + company_hire_already = '%s is already in your company', + + company_fire_title = 'Fire', + company_fire_desc = 'Fire the nearby player', + + company_promote_title = 'Promote', + company_promote_desc = 'Promote the nearby player', + + company_derank_title = 'Derank', + company_derank_desc = 'Derank the nearby player', + + company_you_hired = 'You hired %s', --| arg1: Hired player name + company_by_hired = 'You were hired by %s', --| arg1: Who hired you + + company_you_fired = 'You fired %s', --| arg1: Fired player name + company_by_fired = 'You were fired by %s', --| arg1: Who fired you + + company_you_promote = 'You promoted %s to %s (%s)', --| arg1: Promoted player name - arg2: Player job - arg3: Player job grade + company_by_promote = 'You were promoted by %s to %s (%s)', --| arg1: Who promoted you - arg2: Player job - arg3: Player job grade + + company_you_derank = 'You deranked %s to %s (%s)', --| arg1: Deranked player name - arg2: Player job - arg3: Player job grade + company_by_derank = 'You were deranked by %s to %s (%s)', --| arg1: Who deranked you - arg2: Player job - arg3: Player job grade + + company_higher = 'There is no higher grade!', + company_lower = 'There is no lower grade!', + + navi_desc2 = 'Press to set waypoint', + navi_dest = 'Destination: %s', --| arg1: Destination name + + navi_set = 'You set a waypoint to %s', --| arg1: Destination name + navi_timeout = 'Your waypoint got deleted due to timeout!', + navi_reached = 'You reached your destination!', + navi_already = 'You already set a waypoint at %s', + + bill_title = 'Bill #%s', --| arg1: Bill ID + bill_desc = 'Press to pay bill', + bill_reason = 'Reason', + bill_amount = 'Amount', + bill_amount_value = '$%s' --| arg1: Bill amount +} \ No newline at end of file diff --git a/files/graphic_off.dat b/files/graphic_off.dat new file mode 100644 index 0000000..ce37b02 --- /dev/null +++ b/files/graphic_off.dat @@ -0,0 +1,1346 @@ +# Visual Configuration Table +# Platform tunnings: +# MyValue.x64 x64Value +# MyValue.xb1 xb1Value +# MyValue.ps4 ps4Value +# +# PC vs consoles setup +# MyValue.x64 BigValue +# MyValue SmallerValue +# +# XB1 vs others +# MyValue.xb1 smallValue +# MyValue goodValue + +# stores intial values for configuration of in game elements +#Name Value +#Values to use with height based reflection map +heightReflect.width 100.00 +heightReflect.height 220.00 +heightReflect.specularoffset 0.15 +heightReflect.waterspeed 1.00 + +#Values to use with rain collision map +raincollision.specularoffset 1.00 +raincollision.waterspeed 1.00 + + +#Values for rain GPU particle effect +rain.NumberParticles 16384 +rain.UseLitShader 1.00 +# rain.gravity 0.00 0.00 -0.98 +rain.gravity.x 0.00 +rain.gravity.y 0.00 +rain.gravity.z -0.98 +rain.fadeInScale 2.00 +rain.diffuse 1.00 +rain.ambient 0.40 +rain.wrapScale 0.60 +rain.wrapBias 0.40 +# rain.defaultlight 1.00 1.00 1.00 +rain.defaultlight.red 1.00 +rain.defaultlight.green 1.00 +rain.defaultlight.blue 1.00 +rain.defaultlight.alpha 16.00 + +#General weather configuration +weather.CycleDuration 120 +weather.ChangeCloudOnSameCloudTypeChance 0.5 +weather.ChangeCloudOnSameWeatherTypeChance 0.5 + +#Config for static values for skyhat +sky.sun.centreStart 0.98 +sky.sun.centreEnd 1.00 +sky.cloudWarp 1.00 +sky.cloudInscatteringRange 0.68 +sky.cloudEdgeSmooth 0.76 +sky.sunAxiasX 1.00 +sky.sunAxiasY 0.00 +sky.GameCloudSpeed 0.00 + +#config values for cloud shadows +shadows.cloudtexture.scale 1.00 +shadows.cloudtexture.rangemin 0.00 +shadows.cloudtexture.rangemax 1.00 + +#config values for vehicle settings + +# car.interiorlight.color 1.00 1.00 0.70 +car.interiorlight.color.red 1.00 +car.interiorlight.color.green 1.00 +car.interiorlight.color.blue 0.70 +car.interiorlight.intensity 1.50 +car.interiorlight.radius 2.10 +car.interiorlight.innerConeAngle 0.00 +car.interiorlight.outerConeAngle 90.00 +car.interiorlight.day.emissive.on 0.00 +car.interiorlight.night.emissive.on 0.00 +car.interiorlight.day.emissive.off 0.00 +car.interiorlight.night.emissive.off 0.00 +car.interiorlight.coronaHDR 1.00 +car.interiorlight.coronaSize 1.00 + +# car.fatinteriorlight.color 1.00 1.00 0.70 +car.fatinteriorlight.color.red 1.00 +car.fatinteriorlight.color.green 1.00 +car.fatinteriorlight.color.blue 0.70 +car.fatinteriorlight.intensity 1.5 +car.fatinteriorlight.radius 3.10 +car.fatinteriorlight.innerConeAngle 0.00 +car.fatinteriorlight.outerConeAngle 90.00 +car.fatinteriorlight.day.emissive.on 0.00 +car.fatinteriorlight.night.emissive.on 0.00 +car.fatinteriorlight.day.emissive.off 0.00 +car.fatinteriorlight.night.emissive.off 0.00 +car.fatinteriorlight.coronaHDR 1.00 +car.fatinteriorlight.coronaSize 1.00 + +car.platelight.color.red 1.00 +car.platelight.color.green 1.00 +car.platelight.color.blue 1.00 +car.platelight.intensity 0.50 +car.platelight.radius 0.90 +car.platelight.innerConeAngle 0.00 +car.platelight.outerConeAngle 90.00 +car.platelight.day.emissive.on 0.00 +car.platelight.night.emissive.on 0.00 +car.platelight.day.emissive.off 0.00 +car.platelight.night.emissive.off 0.00 +car.platelight.coronaHDR 1.00 +car.platelight.coronaSize 1.00 +car.platelight.falloffExp 64 + +car.dashlight.color.red 1.00 +car.dashlight.color.green 0.85 +car.dashlight.color.blue 0.60 +car.dashlight.intensity 0.20 +car.dashlight.radius 1.50 +car.dashlight.innerConeAngle 0.00 +car.dashlight.outerConeAngle 90.00 +car.dashlight.day.emissive.on 0.00 +car.dashlight.night.emissive.on 0.00 +car.dashlight.day.emissive.off 0.00 +car.dashlight.night.emissive.off 0.00 +car.dashlight.coronaHDR 1.00 +car.dashlight.coronaSize 1.00 +car.dashlight.falloffExp 4 + +car.doorlight.color.red 1.00 +car.doorlight.color.green 0.85 +car.doorlight.color.blue 0.95 +car.doorlight.intensity 0.05 +car.doorlight.radius 1.10 +car.doorlight.innerConeAngle 0.00 +car.doorlight.outerConeAngle 90.00 +car.doorlight.day.emissive.on 0.00 +car.doorlight.night.emissive.on 0.00 +car.doorlight.day.emissive.off 0.00 +car.doorlight.night.emissive.off 0.00 +car.doorlight.coronaHDR 1.00 +car.doorlight.coronaSize 1.00 +car.doorlight.falloffExp 4 + +# car.taxi.color 1.00 1.00 0.60 +car.taxi.color.red 1.00 +car.taxi.color.green 1.00 +car.taxi.color.blue 0.60 +car.taxi.intensity 1.50 +car.taxi.radius 0.80 +car.taxi.innerConeAngle 0.50 +car.taxi.outerConeAngle 1.00 +car.taxi.coronaHDR 1.00 +car.taxi.coronaSize 1.00 + +car.neon.defaultcolor.red 1.00 +car.neon.defaultcolor.green 0.00 +car.neon.defaultcolor.blue 1.00 +car.neon.intensity 16.0 +car.neon.radius 1.5 +car.neon.falloffexponent 128.0 +car.neon.capsuleextent.sides 1.2 +car.neon.capsuleextent.frontback 0.6 +car.neon.clipplaneheight -0.014 + +car.headlights.angle -0.7 +car.headlights.split 0.0 +car.headlights.global.HeadlightIntensityMult 5.0 +car.headlights.global.HeadlightDistMult 1.0 +car.headlights.global.ConeInnerAngleMod 1.0 +car.headlights.global.ConeOuterAngleMod 1.0 +car.headlights.global.OnlyOneLightMod 1.0 +car.headlights.global.Fake2LightsAngleMod 0.95 +car.headlights.global.Fake2LightsDisplacementMod 0.17 +car.headlights.submarine.Fake2LightsAngleMod 0.830 +car.headlights.submarine.Fake2LightsDisplacementMod 0.0 +car.headlights.fullbeam.IntensityMult 1.1 +car.headlights.fullbeam.DistMult 1.3 +car.headlights.fullbeam.CoronaIntensityMult 2.0 +car.headlights.fullbeam.CoronaSizeMult 2.0 +car.headlights.aim.fullbeam.mod 0.0 +car.headlights.aim.dippedbeam.mod -0.2 +car.headlights.aim.fullbeam.angle 0.0 +car.headlights.aim.dipeedbeam.angle 0.0 +car.headlights.player.intensitymult 1.2 +car.headlights.player.distmult 1.5 +car.headlights.player.exponentmult 3.0 + +# car headlight volume lights data +car.headlights.volume.intensityscale 0.005 +car.headlights.volume.sizescale 1.0 +car.headlights.volume.outerintensity 0.0 +car.headlights.volume.outerexponent 50.0 +# car.headlights.volume.outerVolumeColor +car.headlights.volume.outerVolumeColor.red 0.00 +car.headlights.volume.outerVolumeColor.green 0.00 +car.headlights.volume.outerVolumeColor.blue 0.00 + +car.coronas.MainFadeRatio 0.25 +car.coronas.BeginStart 50.0 +car.coronas.BeginEnd 300.0 +car.coronas.CutoffStart 290.0 +car.coronas.CutoffEnd 300.0 +car.coronas.underwaterFade 0.4 + +car.sirens.SpecularFade 15.0 +car.sirens.ShadowFade 15.0 + +# heli poslight +heli.poslight.nearStrength 20.0 +heli.poslight.farStrength 80.0 +heli.poslight.nearSize 0.25 +heli.poslight.farSize 1.00 +heli.poslight.intensity_typeA 12.0 +heli.poslight.intensity_typeB 6.0 +heli.poslight.radius 2.5 +# heli.poslight.rightColor 0.00 1.00 0.00 +heli.poslight.rightColor.red 0.00 +heli.poslight.rightColor.green 1.00 +heli.poslight.rightColor.blue 0.00 +# heli.poslight.leftColor 1.00 0.00 0.00 +heli.poslight.leftColor.red 1.00 +heli.poslight.leftColor.green 0.00 +heli.poslight.leftColor.blue 0.00 + +#heli white head lights +heli.whiteheadlight.nearStrength 15.0 +heli.whiteheadlight.farStrength 60.0 +heli.whiteheadlight.nearSize 0.25 +heli.whiteheadlight.farSize 2.00 +heli.whiteheadlight.intensity 4.0 +heli.whiteheadlight.radius 2.5 +.0 +# heli.whiteheadlight.color 1.00 0.00 0.00 +heli.whiteheadlight.color.red 1.00 +heli.whiteheadlight.color.green 1.00 +heli.whiteheadlight.color.blue 0.80 + +#heli white tail lights +heli.whitetaillight.nearStrength 15.0 +heli.whitetaillight.farStrength 60.0 +heli.whitetaillight.nearSize 0.25 +heli.whitetaillight.farSize 2.00 +heli.whitetaillight.intensity 4.0 +heli.whitetaillight.radius 2.5 +# heli.whitetaillight.color 1.00 0.00 0.00 +heli.whitetaillight.color.red 1.00 +heli.whitetaillight.color.green 1.00 +heli.whitetaillight.color.blue 0.80 + +#heli interior light +heli.interiorlight.color.red 1.00 +heli.interiorlight.color.green 0.20 +heli.interiorlight.color.blue 0.05 +heli.interiorlight.intensity 1.50 +heli.interiorlight.radius 2.10 +heli.interiorlight.innerConeAngle 0.00 +heli.interiorlight.outerConeAngle 90.00 +heli.interiorlight.day.emissive.on 0.00 +heli.interiorlight.night.emissive.on 0.00 +heli.interiorlight.day.emissive.off 0.00 +heli.interiorlight.night.emissive.off 0.00 +heli.interiorlight.coronaHDR 1.00 +# the corona size is actually used as the bone offset for this particular light +heli.interiorlight.coronaSize -0.25 + +# plane poslight +plane.poslight.nearStrength 1.0 +plane.poslight.farStrength 10.0 +plane.poslight.nearSize 1.0 +plane.poslight.farSize 15.0 +plane.poslight.intensity_typeA 12.0 +plane.poslight.intensity_typeB 12.0 +plane.poslight.radius 2.0 + +plane.poslight.rightColor.red 0.00 +plane.poslight.rightColor.green 1.00 +plane.poslight.rightColor.blue 0.00 + +plane.poslight.leftColor.red 1.00 +plane.poslight.leftColor.green 0.00 +plane.poslight.leftColor.blue 0.00 + +# plane whiteheadlight +plane.whiteheadlight.nearStrength 1.0 +plane.whiteheadlight.farStrength 10.0 +plane.whiteheadlight.nearSize 1.25 +plane.whiteheadlight.farSize 15 +plane.whiteheadlight.intensity 4.0 +plane.whiteheadlight.radius 1.75 + +# plane.whiteheadlight.color 1.00 0.00 0.00 +plane.whiteheadlight.color.red 1.00 +plane.whiteheadlight.color.green 1.00 +plane.whiteheadlight.color.blue 0.80 + +# plane whitetaillight +plane.whitetaillight.nearStrength 1.0 +plane.whitetaillight.farStrength 10.0 +plane.whitetaillight.nearSize 0.5 +plane.whitetaillight.farSize 15.0 +plane.whitetaillight.intensity 6.0 +plane.whitetaillight.radius 1.75 +# plane.whitetaillight.color 1.00 0.00 0.00 +plane.whitetaillight.color.red 1.00 +plane.whitetaillight.color.green 1.00 +plane.whitetaillight.color.blue 0.80 + +# plane control-panel light +plane.controlpanel.light.color.red 0.00 +plane.controlpanel.light.color.green 0.00 +plane.controlpanel.light.color.blue 1.00 +plane.controlpanel.light.intensity 3.00 +plane.controlpanel.light.falloff 1.00 +plane.controlpanel.light.falloff.exponent 32.00 + +# plane right emergency light +plane.emergency.right.light.color.red 1.00 +plane.emergency.right.light.color.green 0.50 +plane.emergency.right.light.color.blue 0.00 +plane.emergency.right.light.intensity 0.00 +plane.emergency.right.light.falloff 8.00 +plane.emergency.right.light.falloff.exponent 32.00 +plane.emergency.right.light.inner.angle 60.00 +plane.emergency.right.light.outer.angle 65.00 +plane.emergency.right.light.rotation 270.0f + +# plane left emergency light +plane.emergency.left.light.color.red 1.00 +plane.emergency.left.light.color.green 0.50 +plane.emergency.left.light.color.blue 0.00 +plane.emergency.left.light.intensity 32.00 +plane.emergency.left.light.falloff 10.00 +plane.emergency.left.light.falloff.exponent 32.00 +plane.emergency.left.light.inner.angle 60.00 +plane.emergency.left.light.outer.angle 65.00 +plane.emergency.left.light.rotation 270.0f + + +# plane inside hull light +plane.insidehull.light.color.red 1.00 +plane.insidehull.light.color.green 1.00 +plane.insidehull.light.color.blue 1.00 +plane.insidehull.light.intensity 0.00 +plane.insidehull.light.falloff 6.00 +plane.insidehull.light.falloff.exponent 4.00 +plane.insidehull.light.inner.angle 60.00 +plane.insidehull.light.outer.angle 85.00 + +# luxe 2 cabin light +plane.luxe2.cabin.color.red 1.00 +plane.luxe2.cabin.color.green 1.00 +plane.luxe2.cabin.color.blue 1.00 +plane.luxe2.cabin.intensity 5.0 +plane.luxe2.cabin.radius 2.4 +plane.luxe2.cabin.innerConeAngle 20.0 +plane.luxe2.cabin.outerConeAngle 180.00 +plane.luxe2.cabin.falloffExp 8.0 +plane.luxe2.cabin.useDynamicShadows 0.0 + +# luxe 2 cabin strip light +plane.luxe2.cabin.strip.color.red 1.00 +plane.luxe2.cabin.strip.color.green 1.00 +plane.luxe2.cabin.strip.color.blue 1.00 +plane.luxe2.cabin.strip.intensity 3.0 +plane.luxe2.cabin.strip.radius 1.63 +plane.luxe2.cabin.strip.falloffExp 128.0 +plane.luxe2.cabin.strip.capsuleLength 4.7 + +# luxe 2 cabin tv light +plane.luxe2.cabin.tv.color.red 0.07 +plane.luxe2.cabin.tv.color.green 0.22 +plane.luxe2.cabin.tv.color.blue 0.97 +plane.luxe2.cabin.tv.intensity 3.0 +plane.luxe2.cabin.tv.radius 1.5 +plane.luxe2.cabin.tv.innerConeAngle 20.0 +plane.luxe2.cabin.tv.outerConeAngle 180.00 +plane.luxe2.cabin.tv.falloffExp 8.0 + +# luxe 2 cabin lod light +plane.luxe2.cabin.lod.color.red 1.00 +plane.luxe2.cabin.lod.color.green 1.00 +plane.luxe2.cabin.lod.color.blue 1.00 +plane.luxe2.cabin.lod.intensity 1.1 +plane.luxe2.cabin.lod.radius 1.0 +plane.luxe2.cabin.lod.falloffExp 1.0 +plane.luxe2.cabin.lod.capsuleLength 6.5 + +# luxe 2 cabin window lights +plane.luxe2.cabin.window.color.red 1.0 +plane.luxe2.cabin.window.color.green 1.0 +plane.luxe2.cabin.window.color.blue 1.0 +plane.luxe2.cabin.window.intensity 0.5 +plane.luxe2.cabin.window.radius 1.3 +plane.luxe2.cabin.window.innerConeAngle 0.0 +plane.luxe2.cabin.window.outerConeAngle 90.0 +plane.luxe2.cabin.window.falloffExp 32.0 +plane.luxe2.cabin.window.useSun 1.0 + +# swift 2 cabin light +heli.swift2.cabin.color.red 1.00 +heli.swift2.cabin.color.green 1.00 +heli.swift2.cabin.color.blue 1.00 +heli.swift2.cabin.intensity 5.0 +heli.swift2.cabin.radius 1.5 +heli.swift2.cabin.innerConeAngle 20.0 +heli.swift2.cabin.outerConeAngle 180.00 +heli.swift2.cabin.falloffExp 16.0 +heli.swift2.cabin.useDynamicShadows 0.0 + +# boat lights +boat.intensity 10 +boat.radius 0.7 +# boat.color 1.00 1.00 0.70 +boat.color.red 1.00 +boat.color.green 1.00 +boat.color.blue 0.70 + +boat.light.interiorshutdowndistance 100.0 +boat.light.fadelength 10.0 +boat.light.shutdowndistance 60.0 +boat.corona.fadelength 20.0 +boat.corona.size 4.0 +boat.corona.intensity 1.0 +boat.corona.zBias 0.02 + +sub.lightOne.color.red 0.10 +sub.lightOne.color.green 0.30 +sub.lightOne.color.blue 1.00 +sub.lightOne.intensity 32.00 +sub.lightOne.radius 3.00 +sub.lightOne.falloffExp 8.0 +sub.lightOne.innerConeAngle 0.00 +sub.lightOne.outerConeAngle 89.00 +sub.lightOne.coronaHDR 0.00 +sub.lightOne.coronaSize 0.00 + +sub.lightTwo.color.red 0.20 +sub.lightTwo.color.green 1.00 +sub.lightTwo.color.blue 0.50 +sub.lightTwo.intensity 32.00 +sub.lightTwo.radius 2.00 +sub.lightTwo.falloffExp 8.0 +sub.lightTwo.innerConeAngle 0.00 +sub.lightTwo.outerConeAngle 89.00 +sub.lightTwo.coronaHDR 0.00 +sub.lightTwo.coronaSize 0.00 + +# train settings +train.light.r 1.0 +train.light.g 1.0 +train.light.b 0.8 +train.light.intensity 3 +train.light.falloffmax 2.1 +train.light.fadingdistance 100.0 +train.light.fadelength 10.0 +train.ambientvolume.intensityscaler 2.0 + + + +# emissive bits +car.headlight.day.emissive.on 10.00 +car.headlight.night.emissive.on 10.00 +car.headlight.day.emissive.off 0.05 +car.headlight.night.emissive.off 0.001 +car.taillight.day.emissive.on 25.0 +car.taillight.night.emissive.on 25.0 +car.taillight.day.emissive.off 0.30 +car.taillight.night.emissive.off 0.003 +car.indicator.day.emissive.on 10.00 +car.indicator.night.emissive.on 10.00 +car.indicator.day.emissive.off 0.30 +car.indicator.night.emissive.off 0.003 +car.reversinglight.day.emissive.on 20.00 +car.reversinglight.night.emissive.on 3.00 +car.reversinglight.day.emissive.off 0.10 +car.reversinglight.night.emissive.off 0.003 +car.defaultlight.day.emissive.on 1.50 +car.defaultlight.night.emissive.on 1.50 +car.defaultlight.day.emissive.off 0.05 +car.defaultlight.night.emissive.off 0.003 +car.brakelight.day.emissive.on 30.00 +car.brakelight.night.emissive.on 30.00 +car.brakelight.day.emissive.off 0.30 +car.brakelight.night.emissive.off 0.003 +car.middlebrakelight.day.emissive.on 30.00 +car.middlebrakelight.night.emissive.on 30.00 +car.middlebrakelight.day.emissive.off 0.30 +car.middlebrakelight.night.emissive.off 0.003 +car.extralight.day.emissive.on 9.00 +car.extralight.night.emissive.on 9.00 +car.extralight.day.emissive.off 0.001 +car.extralight.night.emissive.off 0.05 +car.emissiveMultiplier 2.00 + +# Lod distances for vehicles +car.lod.distance.high 40.00 +car.lod.distance.low 180.00 + +# search lights... +defaultsearchlight.length 100.0 +defaultsearchlight.offset -0.13 +defaultsearchlight.color.red 0.030 +defaultsearchlight.color.green 0.030 +defaultsearchlight.color.blue 0.030 +defaultsearchlight.mainLightInfo.falloffScale 2.0 +defaultsearchlight.mainLightInfo.falloffExp 8.0 +defaultsearchlight.mainLightInfo.innerAngle 0.0 +defaultsearchlight.mainLightInfo.outerAngle 5.0 +defaultsearchlight.mainLightInfo.globalIntensity 4.0 +defaultsearchlight.mainLightInfo.lightIntensityScale 10.0 +defaultsearchlight.mainLightInfo.volumeIntensityScale 0.125 +defaultsearchlight.mainLightInfo.volumeSizeScale 0.5 +defaultsearchlight.mainLightInfo.outerVolumeColor.color.red 0.0 +defaultsearchlight.mainLightInfo.outerVolumeColor.color.green 0.0 +defaultsearchlight.mainLightInfo.outerVolumeColor.color.blue 0.0 +defaultsearchlight.mainLightInfo.outerVolumeIntensity 0.0 +defaultsearchlight.mainLightInfo.outerVolumeFallOffExponent 50.0 +defaultsearchlight.mainLightInfo.enable 1.0 +defaultsearchlight.mainLightInfo.specular 1.0 +defaultsearchlight.mainLightInfo.shadow 1.0 +defaultsearchlight.mainLightInfo.volume 1.0 +defaultsearchlight.mainLightInfo.coronaIntensity 6.0 +defaultsearchlight.mainLightInfo.coronaIntensityFar 12.0 +defaultsearchlight.mainLightInfo.coronaSize 3.5 +defaultsearchlight.mainLightInfo.coronaSizeFar 35.0 +defaultsearchlight.mainLightInfo.coronaZBias 0.3 +defaultsearchlight.mainLightInfo.coronaOffset 0.4 +defaultsearchlight.mainLightInfo.lightFadeDist 40.0 + +helisearchlight.length 100.0 +helisearchlight.offset -0.13 +helisearchlight.color.red 0.030 +helisearchlight.color.green 0.030 +helisearchlight.color.blue 0.030 +helisearchlight.mainLightInfo.falloffScale 2.0 +helisearchlight.mainLightInfo.falloffExp 8.0 +helisearchlight.mainLightInfo.innerAngle 0.0 +helisearchlight.mainLightInfo.outerAngle 5.0 +helisearchlight.mainLightInfo.globalIntensity 4.0 +helisearchlight.mainLightInfo.lightIntensityScale 10.0 +helisearchlight.mainLightInfo.volumeIntensityScale 0.125 +helisearchlight.mainLightInfo.volumeSizeScale 0.5 +helisearchlight.mainLightInfo.outerVolumeColor.color.red 0.0 +helisearchlight.mainLightInfo.outerVolumeColor.color.green 0.0 +helisearchlight.mainLightInfo.outerVolumeColor.color.blue 0.0 +helisearchlight.mainLightInfo.outerVolumeIntensity 0.0 +helisearchlight.mainLightInfo.outerVolumeFallOffExponent 50.0 +helisearchlight.mainLightInfo.enable 1.0 +helisearchlight.mainLightInfo.specular 1.0 +helisearchlight.mainLightInfo.shadow 1.0 +helisearchlight.mainLightInfo.volume 1.0 +helisearchlight.mainLightInfo.coronaIntensity 100.0 +helisearchlight.mainLightInfo.coronaIntensityFar 50.0 +helisearchlight.mainLightInfo.coronaSize 2.5 +helisearchlight.mainLightInfo.coronaSizeFar 35.0 +helisearchlight.mainLightInfo.coronaZBias 0.3 +helisearchlight.mainLightInfo.coronaOffset 0.4 +helisearchlight.mainLightInfo.lightFadeDist 40.0 + +boatsearchlight.length 100.0 +boatsearchlight.offset -0.110 +boatsearchlight.color.red 0.030 +boatsearchlight.color.green 0.030 +boatsearchlight.color.blue 0.030 +boatsearchlight.mainLightInfo.falloffScale 2.0 +boatsearchlight.mainLightInfo.falloffExp 8.0 +boatsearchlight.mainLightInfo.innerAngle 0.0 +boatsearchlight.mainLightInfo.outerAngle 5.0 +boatsearchlight.mainLightInfo.globalIntensity 4.0 +boatsearchlight.mainLightInfo.lightIntensityScale 10.0 +boatsearchlight.mainLightInfo.volumeIntensityScale 0.125 +boatsearchlight.mainLightInfo.volumeSizeScale 0.5 +boatsearchlight.mainLightInfo.outerVolumeColor.color.red 0.0 +boatsearchlight.mainLightInfo.outerVolumeColor.color.green 0.0 +boatsearchlight.mainLightInfo.outerVolumeColor.color.blue 0.0 +boatsearchlight.mainLightInfo.outerVolumeIntensity 0.0 +boatsearchlight.mainLightInfo.outerVolumeFallOffExponent 50.0 +boatsearchlight.mainLightInfo.enable 1.0 +boatsearchlight.mainLightInfo.specular 1.0 +boatsearchlight.mainLightInfo.shadow 1.0 +boatsearchlight.mainLightInfo.volume 1.0 +boatsearchlight.mainLightInfo.coronaIntensity 6.0 +boatsearchlight.mainLightInfo.coronaIntensityFar 12.0 +boatsearchlight.mainLightInfo.coronaSize 1.5 +boatsearchlight.mainLightInfo.coronaSizeFar 20.0 +boatsearchlight.mainLightInfo.coronaZBias 0.3 +boatsearchlight.mainLightInfo.coronaOffset 0.235 +boatsearchlight.mainLightInfo.lightFadeDist 40.0 + +#Config values for traffic lights +# trafficLight.red.color 1.00 0.20 0.05 +trafficLight.red.color.red 1.00 +trafficLight.red.color.green 0.003 +trafficLight.red.color.blue 0.0001 +# trafficLight.amber.color 1.00 0.30 0.05 +trafficLight.amber.color.red 1.00 +trafficLight.amber.color.green 0.30 +trafficLight.amber.color.blue 0.001 +# trafficLight.green.color 0.10 1.00 0.50 +trafficLight.green.color.red 0.01 +trafficLight.green.color.green 1.00 +trafficLight.green.color.blue 0.135 +trafficLight.walk.color.red 1.0 +trafficLight.walk.color.green 1.0 +trafficLight.walk.color.blue 1.0 +trafficLight.dontwalk.color.red 1.00 +trafficLight.dontwalk.color.green 0.003 +trafficLight.dontwalk.color.blue 0.0001 + +trafficLight.near.na.color.red 1.00 +trafficLight.near.na.color.green 1.00 +trafficLight.near.na.color.blue 1.00 +trafficLight.near.intensity 1.75 +trafficLight.near.radius 1.5 +trafficlight.near.falloffExp 4.0 +trafficLight.near.innerConeAngle 0.10 +trafficLight.near.outerConeAngle 10.00 +trafficLight.near.coronaHDR 10.0 +trafficLight.near.coronaSize 1.5 + +trafficLight.farFadeStart 100.0 +trafficLight.farFadeEnd 120.0 +trafficLight.nearFadeStart 30.0 +trafficLight.nearFadeEnd 35.0 + +#Config values for Tree Imposters +imposter.color.blendRange 54.00 +imposter.color.blendBias 128.00 +imposter.color.size1 128.00 +imposter.color.amt1 12.00 +imposter.color.size2 64.00 +imposter.color.amt2 12.00 +# imposter.backgroundColor 0.20 0.20 0.10 +imposter.backgroundColor.red 0.20 +imposter.backgroundColor.green 0.20 +imposter.backgroundColor.blue 0.10 +imposter.shadow.blendRange 12.00 +imposter.shadow.blendBias 128.00 +imposter.shadow.size1 256.00 +imposter.shadow.amt1 12.00 +imposter.shadow.size2 128.00 +imposter.shadow.amt2 64.00 + + +#Config values for peds +ped.ambientvolume.maxstrength 1.000 +ped.ambientvolume.fadestart 16.000 +ped.ambientvolume.fadeend 20.000 +ped.ambientvolume.baseintensity 0.000 +ped.incarAmbientScale 0.4 + +pedLight.color.red 1.000 +pedLight.color.green 1.000 +pedLight.color.blue 1.000 +pedlight.intensity 6.000 +pedlight.radius 6.000 +pedlight.innerConeAngle 30.000 +pedlight.outerConeAngle 45.000 +pedlight.coronaHDR 1.000 +pedlight.coronaSize 2.087 +pedlight.falloffExp 32.000 +pedlight.volumeIntensity 0.300 +pedlight.volumeSize 0.400 +pedlight.volumeExponent 70.000 +pedLight.volumeColor.x 1.000 +pedLight.volumeColor.y 1.000 +pedLight.volumeColor.z 0.500 +pedLight.volumeColor.w 1.000 +pedlight.fade 20.000 +pedlight.shadowFade 15.000 +pedlight.specularFade 10.000 + +pedFpsLight.color.red 1.000 +pedFpsLight.color.green 1.000 +pedFpsLight.color.blue 1.000 +pedFpslight.intensity 6.000 +pedFpslight.radius 16.000 +pedFpslight.innerConeAngle 30.000 +pedFpslight.outerConeAngle 45.000 +pedFpslight.coronaHDR 1.000 +pedFpslight.coronaSize 2.087 +pedFpslight.falloffExp 128.000 +pedFpslight.volumeIntensity 0.0500 +pedFpslight.volumeSize 0.400 +pedFpslight.volumeExponent 70.000 +pedFpsLight.volumeColor.x 1.000 +pedFpsLight.volumeColor.y 1.000 +pedFpsLight.volumeColor.z 0.500 +pedFpsLight.volumeColor.w 1.000 +pedFpslight.fade 20.000 +pedFpslight.shadowFade 15.000 +pedFpslight.specularFade 10.000 + +# Lod distances for peds +ped.lod.distance.high 25.00 +ped.lod.distance.medium 50.00 +ped.lod.distance.low 80.00 +pedincar.lod.distance.high 7.00 +pedincar.lod.distance.high.x64 15.00 + + +#Config Values for Camera Events Val start Val End MB start MB End +# cam.followped.blur.zoom 0 0.10 0.00 0.025 +cam.followped.blur.zoom.x 0 +cam.followped.blur.zoom.y 0.10 +cam.followped.blur.zoom.z 0.00 +cam.followped.blur.zoom.w 0.025 +# cam.followped.blur.damage 0 10.00 0.00 0.025 +cam.followped.blur.damage.x 0 +cam.followped.blur.damage.y 10.00 +cam.followped.blur.damage.z 0.00 +cam.followped.blur.damage.w 0.025 +# cam.followped.blur.falling 3 10.00 0.00 0.1 +cam.followped.blur.falling.x 3 +cam.followped.blur.falling.y 10.00 +cam.followped.blur.falling.z 0.00 +cam.followped.blur.falling.w 0.1 +# cam.followped.blur.beta 0.045 0.05 0.00 0.01 +cam.followped.blur.beta.x 0.045 +cam.followped.blur.beta.y 0.05 +cam.followped.blur.beta.z 0.00 +cam.followped.blur.beta.w 0.01 +cam.followped.blur.damage.time 500 +cam.followped.blur.damage.attacktime 0.1 +cam.followped.blur.damage.decaytime 0.3 +cam.followped.blur.cap 0.3 +# cam.aimweapon.blur.zoom 0 0.10 0.00 0.1 +cam.aimweapon.blur.zoom.x 0 +cam.aimweapon.blur.zoom.y 0.10 +cam.aimweapon.blur.zoom.z 0.00 +cam.aimweapon.blur.zoom.w 0.1 +# cam.aimweapon.blur.damage 0 10.00 0.00 0.1 +cam.aimweapon.blur.damage.x 0 +cam.aimweapon.blur.damage.y 10.00 +cam.aimweapon.blur.damage.z 0.00 +cam.aimweapon.blur.damage.w 0.1 +cam.aimweapon.blur.damage.time 1000 +cam.aimweapon.blur.interp 0.05 +cam.aimweapon.blur.damage.attacktime 0.1 +cam.aimweapon.blur.damage.decaytime 0.3 +cam.aimweapon.blur.cap 1 +# cam.followvehicle.blur.zoom 0 0.10 0.00 0.025 +cam.followvehicle.blur.zoom.x 0 +cam.followvehicle.blur.zoom.y 0.10 +cam.followvehicle.blur.zoom.z 0.00 +cam.followvehicle.blur.zoom.w 0.025 +# cam.followvehicle.blur.speed 25 50.00 0.00 0.2 +cam.followvehicle.blur.speed.x 25 +cam.followvehicle.blur.speed.y 50.00 +cam.followvehicle.blur.speed.z 0.00 +cam.followvehicle.blur.speed.w 0.2 +# cam.followvehicle.blur.damage 50 100.00 0.00 0.03 +cam.followvehicle.blur.damage.x 50 +cam.followvehicle.blur.damage.y 100.00 +cam.followvehicle.blur.damage.z 0.00 +cam.followvehicle.blur.damage.w 0.03 +cam.followvehicle.blur.damage.time 500 +cam.followvehicle.blur.cap 0.3 +cam.game.blur.wasted 0.1 +cam.game.blur.wasted.fadetime 1000 +cam.game.blur.busted 0.1 +cam.game.blur.busted.fadetime 1000 +cam.game.blur.cap 1 +cam.fpsweapon.blur 0.001 +cam.fpsweapon.sniperinitime 300 +cam.fpsweapon.blur.cap 1 +cam.intermezzo.stuntjump.blur 0.02 + +# Containers LOD +lod.container.caploddist 750 + +# distant lights +distantlights.inlandHeight 0.0 +distantlights.size 0.8 +distantlights.sizeReflections 0.8 +distantlights.sizeMin 8.0 +distantlights.sizeUpscale 1.5 +distantlights.sizeUpscaleReflections 1.5 +distantlights.flicker 0.0 +distantlights.twinkleAmount 1.0 +distantlights.twinkleSpeed 0.05 +distantlights.carlightZOffset 2.0 +distantlights.hourStart 20.0 +distantlights.hourEnd 6.0 +distantlights.streetLightHourStart 20.0 +distantlights.streetLighthourEnd 6.0 +distantlights.sizeDistStart 0.0001 +distantlights.sizeDist 0.0001 + +distantlights.speed0 0.2 +distantlights.speed1 0.35 +distantlights.speed2 0.4 +distantlights.speed3 0.6 + +distantlights.density0Spacing 10.0 +distantlights.density15Spacing 1.0 +distantlights.speed0Speed 0.3 +distantlights.speed3Speed 0.1 +distantlights.randomizeSpeed.sp 0.5 +distantlights.randomizeSpacing.sp 0.25 +distantlights.randomizeSpeed.mp 0.5 +distantlights.randomizeSpacing.mp 0.5 +distantlights.carlight.HDRIntensity 2 +distantlights.carlight.nearFade 375.0 +distantlights.carlight.farFade 450.0 + +distantlights.carlight1.spacing.sp 2.0 +distantlights.carlight1.speed.sp 40 +distantlights.carlight1.spacing.mp 3.5 +distantlights.carlight1.speed.mp 35 +distantlights.carlight1.color.red 1.0 +distantlights.carlight1.color.green 0.95 +distantlights.carlight1.color.blue 0.91 + +distantlights.carlight2.spacing.sp 3.0 +distantlights.carlight2.speed.sp 20.0 +distantlights.carlight2.spacing.mp 3.0 +distantlights.carlight2.speed.mp 20.0 +distantlights.carlight2.color.red 1.0 +distantlights.carlight2.color.green 0.01 +distantlights.carlight2.color.blue 0.0 + +distantlights.streetlight.HDRIntensity 2.0 +distantlights.streetlight.ZOffset 12.0 +distantlights.streetlight.Spacing 25.0 +distantlights.streetlight.color.red 1.0 +distantlights.streetlight.color.green 0.47 +distantlights.streetlight.color.blue 0.03 + +# Emissive night values +emissive.night.start.time 20 +emissive.night.end.time 6 + +# Misc Values +misc.DOFBlurMultiplier.HD 1 +misc.DOFBlurMultiplier.SD 0.5 +misc.Multiplier.heightStart 100 +misc.Multiplier.heightEnd 250.00 +misc.Multiplier.farClipMultiplier 1 +misc.Multiplier.nearFogMultiplier 1 +misc.3dMarkers.FrontLightIntensity 10.00 +misc.3dMarkers.frontLightExponent 32 + +# coronas +misc.coronas.sizeScaleGlobal 0.75 +misc.coronas.intensityScaleGlobal 0.5 +misc.coronas.intensityScaleWater 0.5 +misc.coronas.sizeScaleWater 0.5 +misc.coronas.sizeScaleParaboloid 1.0 +misc.coronas.screenspaceExpansion 0.0 +misc.coronas.screenspaceExpansionWater 0.0 +misc.coronas.zBiasMultiplier 30.0 +misc.coronas.zBiasDistanceNear 50.0 +misc.coronas.zBiasDistanceFar 500.0 +misc.coronas.zBias.fromFinalSizeMultiplier 0.1 +misc.coronas.occlusionSizeScale 0.5 +misc.coronas.occlusionSizeMax 32.0 +misc.coronas.flareCoronaSizeRatio 0.17 +misc.coronas.flareMinAngleDegToFadeIn 30.0 +misc.coronas.flareScreenCenterOffsetSizeMult 200.0 +misc.coronas.flareColShiftR 0.005 +misc.coronas.flareColShiftG 0.01 +misc.coronas.flareColShiftB 0.03 +misc.coronas.baseValueR 0.0 +misc.coronas.baseValueG 0.0 +misc.coronas.baseValueB 0.0 +misc.coronas.zBias.min 0.0 +misc.coronas.zBias.max 0.35 +misc.coronas.zBias.additionalBias.WaterReflection 5.0 +misc.coronas.zBias.additionalBias.EnvReflection 0.0 +misc.coronas.zBias.additionalBias.MirrorReflection 2.0 +misc.coronas.dir.mult.fadeoff.start 30.0 +misc.coronas.dir.mult.fadeoff.dist 80.0 +misc.coronas.flareScreenCenterOffsetVerticalSizeMult 120.0 +misc.coronas.underwaterFadeDist 4.0 +misc.coronas.m_doNGCoronas 1.0 +misc.coronas.m_rotationSpeed 0.05 +misc.coronas.m_rotationSpeedRampedUp 0.15 +misc.coronas.m_layer1Muliplier 0.5 +misc.coronas.m_layer2Muliplier 0.5 +misc.coronas.m_scaleRampUp 1.5 +misc.coronas.m_scaleRampUpAngle 20.0 +misc.coronas.flareScreenCenterOffsetVerticalSizeMult 0.95 +misc.coronas.screenEdgeMinDistForFade 0.95 +misc.BloomIntensityClamp.HD 10 +misc.BloomIntensityClamp.SD 10.00 +misc.CrossPMultiplier.RimLight 1.00 +misc.CrossPMultiplier.GlobalEnvironmentReflection 1.00 +misc.CrossPMultiplier.Gamma 1.00 +misc.CrossPMultiplier.MidBlur 1.00 +misc.CrossPMultiplier.Farblur 1.00 +misc.CrossPMultiplier.SkyMultiplier 1.00 +misc.CrossPMultiplier.Desaturation 1.00 +misc.HiDof.nearBlur 1 +misc.HiDof.midBlur 0.20 +misc.HiDof.farBlur 1.00 +misc.cutscene.nearBlurMin 0.2 +misc.HiDof.nearBlur 1.00 +misc.HiDof.midBlur 0.20 +misc.HiDof.farBlur 1 +misc.cutscene.nearBlurMin 0.2 +misc.PedKillOverlay.duration 750.0f + +misc.DamageOverlay.RampUpDuration 75 +misc.DamageOverlay.HoldDuration 400 +misc.DamageOverlay.RampDownDuration 200 +misc.DamageOverlay.ColorBottom.red 0.80 +misc.DamageOverlay.ColorBottom.green 0.15 +misc.DamageOverlay.ColorBottom.blue 0.15 +misc.DamageOverlay.ColorTop.red 0.60 +misc.DamageOverlay.ColorTop.green 0.08 +misc.DamageOverlay.ColorTop.blue 0.08 +misc.DamageOverlay.GlobalAlphaBottom 0.20 +misc.DamageOverlay.GlobalAlphaTop 0.40 +misc.DamageOverlay.SpriteLength 0.30 +misc.DamageOverlay.SpriteBaseWidth 0.20 +misc.DamageOverlay.SpriteTipWidth 0.10 +misc.DamageOverlay.HorizontalFadeSoftness 1.00 +misc.DamageOverlay.VerticalFadeOffset 0.50 +misc.DamageOverlay.AngleScalingMult 0.00 + +misc.DamageOverlay.FP.RampUpDuration 75 +misc.DamageOverlay.FP.HoldDuration 400 +misc.DamageOverlay.FP.RampDownDuration 200 +misc.DamageOverlay.FP.ColorBottom.red 0.80 +misc.DamageOverlay.FP.ColorBottom.green 0.15 +misc.DamageOverlay.FP.ColorBottom.blue 0.15 +misc.DamageOverlay.FP.ColorTop.red 0.60 +misc.DamageOverlay.FP.ColorTop.green 0.08 +misc.DamageOverlay.FP.ColorTop.blue 0.08 +misc.DamageOverlay.FP.GlobalAlphaBottom 0.20 +misc.DamageOverlay.FP.GlobalAlphaTop 0.45 +misc.DamageOverlay.FP.SpriteLength 0.40 +misc.DamageOverlay.FP.SpriteBaseWidth 0.27 +misc.DamageOverlay.FP.SpriteTipWidth 0.10 +misc.DamageOverlay.FP.HorizontalFadeSoftness 1.00 +misc.DamageOverlay.FP.VerticalFadeOffset 0.50 +misc.DamageOverlay.FP.AngleScalingMult 0.00 + +misc.DamageOverlay.ScreenSafeZoneLength 0.45 + +misc.SniperRifleDof.Enabled 0 +misc.SniperRifleDof.NearStart 0.0 +misc.SniperRifleDof.NearEnd 0.0 +misc.SniperRifleDof.FarStart 5000.0 +misc.SniperRifleDof.FarEnd 5000.0 + +misc.MoonDimMult 0.3 + +misc.NextGenModifier 1.0 + +# See Through +seeThrough.PedQuadSize 0.35 +seeThrough.PedQuadStartDistance 0 +seeThrough.PedQuadEndDistance 1500 +seeThrough.PedQuadScale 12 +seeThrough.FadeStartDistance 50 +seeThrough.FadeEndDistance 1100 +seeThrough.MaxThickness 10000 +seeThrough.MinNoiseAmount 0.25 +seeThrough.MaxNoiseAmount 1 +seeThrough.HiLightIntensity 0.5 +seeThrough.HiLightNoise 0.5 +# seeThrough.ColorNear 0.06 0.02 0.14 1 +seeThrough.ColorNear.red 0.06 +seeThrough.ColorNear.green 0.02 +seeThrough.ColorNear.blue 0.14 +# seeThrough.ColorFar 0.03 0.05 0.16 1 +seeThrough.ColorFar.red 0.03 +seeThrough.ColorFar.green 0.05 +seeThrough.ColorFar.blue 0.16 +# seeThrough.ColorVisibleBase 0.78 0 0 1 +seeThrough.ColorVisibleBase.red 0.78 +seeThrough.ColorVisibleBase.green 0 +seeThrough.ColorVisibleBase.blue 0 +# seeThrough.ColorVisibleWarm 1 0 0 1 +seeThrough.ColorVisibleWarm.red 0.85 +seeThrough.ColorVisibleWarm.green 0.65 +seeThrough.ColorVisibleWarm.blue 0 +# seeThrough.ColorVisibleHot 0 1 1 0 +seeThrough.ColorVisibleHot.red 0.95 +seeThrough.ColorVisibleHot.green 0.99 +seeThrough.ColorVisibleHot.blue 1 + +# Tonemapping +Tonemapping.bright.filmic.A 0.22 +Tonemapping.bright.filmic.B 0.3 +Tonemapping.bright.filmic.C 0.10 +Tonemapping.bright.filmic.D 0.2 +Tonemapping.bright.filmic.E 0.01 +Tonemapping.bright.filmic.F 0.3 +Tonemapping.bright.filmic.W 4.0 +Tonemapping.bright.filmic.exposure -0.5 + +Tonemapping.dark.filmic.A 0.22 +Tonemapping.dark.filmic.B 0.3 +Tonemapping.dark.filmic.C 0.10 +Tonemapping.dark.filmic.D 0.2 +Tonemapping.dark.filmic.E 0.0 +Tonemapping.dark.filmic.F 0.3 +Tonemapping.dark.filmic.W 4.0 +Tonemapping.dark.filmic.exposure 3.0 + +# Exposure +Exposure.curve.scale -106.200 +Exposure.curve.power 0.007 +Exposure.curve.offset 104.700 + +# Adaptation +Adaptation.min.step.size 0.15 +Adaptation.max.step.size 3.0 +Adaptation.step.size.mult 1.5 +Adaptation.threshold 0.0 +Adaptation.sun.exposure.tweak -2 + +# Cloud generation +cloudgen.frequency 2.0 +cloudgen.scale 48.0 +cloudgen.edge.detail.scale 16.0 +cloudgen.overlay.detail.scale 8.0 + +# Cloud speeds +cloud.speed.large 5.0 +cloud.speed.small 1.0 +cloud.speed.overall 1.0 +cloud.speed.edge 1.0 +cloud.speed.hats 1.0 + +# lod fade distances +lod.fadedist.orphanhd 20.0 +lod.fadedist.hd 20.0 +lod.fadedist.lod 20.0 +lod.fadedist.slod1 20.0 +lod.fadedist.slod2 25.0 +lod.fadedist.slod3 25.0 +lod.fadedist.slod4 25.0 + +# sky plane +skyplane.offset 512.0 +skyplane.fog.fade.start 64.0 +skyplane.fog.fade.end 128.0 + +// Rim lighting +rim.lighting.width.start 0.3 +rim.lighting.width.end 0.9 +rim.lighting.transition.angle 0.0 +rim.lighting.downmask.angle 0.3 +rim.lighting.main.colour.intensity 1.0 +rim.lighting.offangle.colour.intensity 0.3 + +// Reflection tweaks +reflection.tweaks.interior.artificial.boost 3.0 +reflection.tweaks.exterior.artificial.boost 3.0 +reflection.tweaks.emissive.boost 5.0 + +// Light component cutoff +lights.cutoff.distance 1000.0 +lights.cutoff.shadow.distance 1001.0 +lights.cutoff.specular.distance 1002.0 +lights.cutoff.volumetric.distance 1003.0 +lights.cutoff.nonGbuf.distance 75.0 +lights.cutoff.map.distance 1004.0 + +// Bloom +bloom.threshold.min 0.4 +bloom.threshold.expsoure.diff.min 0.0 +bloom.threshold.expsoure.diff.max 0.0 +bloom.threshold.power 1.0 + +bloom.blurblendmult.large 0.5 +bloom.blurblendmult.med 2.0 +bloom.blurblendmult.small 1 + + +// Dynmaic bake paramaters +dynamic.bake.start.min 0.7 +dynamic.bake.start.max 1.7 + +dynamic.bake.end.min 0.3 +dynamic.bake.end.max 1.3 + +// Minimap alpha +UI.minimap.alpha 0.6 + +// Puddles +puddles.scale 0.015 +puddles.range 0.15 +puddles.depth 0.9 +puddles.depthtest 0.200 +puddles.strength 0.5 +puddles.animspeed 30. +puddles.ripples.minsize 0.012 +puddles.ripples.maxsize 0.02 +puddles.ripples.speed 10 +puddles.ripples.minduration 4.0 +puddles.ripples.maxduration 5.0 +puddles.ripples.dropfactor 0.8 +puddles.ripples.windstrength 0.03 +puddles.ripples.ripplestrength 0.7 +puddles.ripples.winddamping 0.05 +puddles.ripples.playerspeed 10.0 +puddles.ripples.playermapsize 8 + +// LOD lights - do not change these ranges without talking to code because it requires data changes +lodlight.small.range 250.0 +lodlight.medium.range 750.0 +lodlight.large.range 2500.0 + +lodlight.small.fade 50.0 +lodlight.medium.fade 100.0 +lodlight.large.fade 50.0 + +lodlight.small.corona.range 150.0 +lodlight.medium.corona.range 180.0 +lodlight.large.corona.range 1250.0 + +lodlight.corona.size 2.0 + +lodlight.sphere.expand.size.mult 2 +lodlight.sphere.expand.start 50.0 +lodlight.sphere.expand.end 500.0 + +// Bright Lights +misc.brightlight.distculled.FadeStart 60.0 +misc.brightlight.distculled.FadeEnd 80.0 +misc.brightlight.notdistculled.FadeStart 100.0 +misc.brightlight.notdistculled.FadeEnd 110.0 +misc.brightlight.globalIntensity 12.0 +misc.brightlight.railwayItensity 2.5 +misc.brightlight.coronaZBias 1.0 + +// Vehicle Light Night/Day Settings +vehicle.lights.sunrise 6.5 +vehicle.lights.sunset 20.0 + +// Vehicle light fade distances +vehicle.lights.fadeDistance.main 80.0 +vehicle.lights.fadeDistance.secondary 40.0 +vehicle.lights.fadeDistance.sirens 150.0 +vehicle.lights.fadeDistance.AO 150.0 +vehicle.lights.fadeDistance.neon 80.0 +vehicle.lights.fadeLength 10.0 + +//Particle Shadow intensity +particles.shadowintensity 0.5 + +// Dark Light +dark.light.color.red 0.60 +dark.light.color.green 1.00 +dark.light.color.blue 0.60 +dark.light.intensity 0.1 +dark.light.radius 50.0 +dark.light.falloffExp 128.0 +dark.light.innerConeAngle 0.00 +dark.light.outerConeAngle 40.00 +dark.light.coronaHDR 1.00 +dark.light.coronaSize 1.00 +dark.light.offset.x 0.20 +dark.light.offset.y 0.00 +dark.light.offset.z 0.10 +dark.fpv.light.offset.x 0.20 +dark.fpv.light.offset.y 0.00 +dark.fpv.light.offset.z 0.10 +dark.useSpec 1.0 +dark.useShadows 1.0 +dark.useVolumes 0.0 +dark.shadowNearCLip 0.2 +dark.shadowBlur 8.0 +dark.volumeIntensity 0.1 +dark.volumeSize 0.05 +dark.volumeExponent 0.0 +dark.volumeColor.x 0.6 +dark.volumeColor.y 1.0 +dark.volumeColor.z 0.6 +dark.volumeColor.w 1.0 +dark.lightDirBase 0.5 + +// Secondary Dark Light +dark.secLight.enable 1.00 +dark.secLight.color.red 0.60 +dark.secLight.color.green 1.00 +dark.secLight.color.blue 0.60 +dark.secLight.intensity 0.10 +dark.secLight.radius 0.5 +dark.secLight.falloffExp 32.0 +dark.secLight.innerConeAngle 0.00 +dark.secLight.outerConeAngle 90.00 +dark.secLight.coronaHDR 1.00 +dark.secLight.coronaSize 1.00 +dark.secLight.offset.x 0.00 +dark.secLight.offset.y 0.00 +dark.secLight.offset.z 0.00 +dark.secLight.useSpec 1.00 +dark.secLight.lightDirBase 0.5 + +// Ped light +ped.light.direction.x -0.825 +ped.light.direction.y 0.565 +ped.light.direction.z 0.000 + +ped.light.fade.day.start 5.99 +ped.light.fade.day.end 6.0 + +ped.light.fade.night.start 19.99 +ped.light.fade.night.end 20.0 + +//ped phone light properties +ped.phonelight.color.r 1.0 +ped.phonelight.color.g 1.0 +ped.phonelight.color.b 1.0 +ped.phonelight.intensity 4.0 +ped.phonelight.radius 0.9 +ped.phonelight.falloffexp 15.0 +ped.phonelight.cone.inner 0.0 +ped.phonelight.cone.outer 90.0 + +//Adaptive DOF - PC/NG Only +adaptivedof.range.verynear 5 +adaptivedof.range.near 20 +adaptivedof.range.mid 1000 +adaptivedof.range.far 3000 +adaptivedof.range.veryfar 10000 + +adaptivedof.day.verynear.nearout -0.5 +adaptivedof.day.verynear.nearin 1.0 +adaptivedof.day.verynear.farin -10.0 +adaptivedof.day.verynear.farout 300.0 + +adaptivedof.day.near.nearout -1.0 +adaptivedof.day.near.nearin 2.0 +adaptivedof.day.near.farin -800.0 +adaptivedof.day.near.farout 8000.0 + +adaptivedof.day.mid.nearout -2.0 +adaptivedof.day.mid.nearin 2.5 +adaptivedof.day.mid.farin -1000.0 +adaptivedof.day.mid.farout 25000.0 + +adaptivedof.day.far.nearout 0.0 +adaptivedof.day.far.nearin 4.0 +adaptivedof.day.far.farin 5000.0 +adaptivedof.day.far.farout 25000.0 + +adaptivedof.day.veryfar.nearout -6.0 +adaptivedof.day.veryfar.nearin 15.5 +adaptivedof.day.veryfar.farin 13000.0 +adaptivedof.day.veryfar.farout 25000.0 + +adaptivedof.night.verynear.nearout -0.5 +adaptivedof.night.verynear.nearin 1.05 +adaptivedof.night.verynear.farin -25.0 +adaptivedof.night.verynear.farout 300.0 + +adaptivedof.night.near.nearout -1.0 +adaptivedof.night.near.nearin 1.0 +adaptivedof.night.near.farin -200.0 +adaptivedof.night.near.farout 2500.0 + +adaptivedof.night.mid.nearout -0.5 +adaptivedof.night.mid.nearin 2.0 +adaptivedof.night.mid.farin -1000.0 +adaptivedof.night.mid.farout 15000.0 + +adaptivedof.night.far.nearout 0.0 +adaptivedof.night.far.nearin 4.0 +adaptivedof.night.far.farin 5000.0 +adaptivedof.night.far.farout 25000.0 + +adaptivedof.night.veryfar.nearout 0.0 +adaptivedof.night.veryfar.nearin 15.5 +adaptivedof.night.veryfar.farin 10000.0 +adaptivedof.night.veryfar.farout 25000.0 + +adaptivedof.missedrayvalue 10000 +adaptivedof.gridsize 15 +adaptivedof.gridscalex 0.3 +adaptivedof.gridscaley 0.5 +adaptivedof.gridscalexincover 0.1 + +adaptivedof.gridscaleyincover 0.2 +adaptivedof.gridscalexaiming 0.01 +adaptivedof.gridscaleyaiming 0.01 +adaptivedof.gridscalexrungun 0.02 +adaptivedof.gridscaleyrungun 0.03 +adaptivedof.smoothtime 0.75 +adaptivedof.nearplayeradjust 4.5f + +adaptivedof.meleefocal.nearout 1.0 +adaptivedof.meleefocal.nearin 1.0 +adaptivedof.meleefocal.farin 1.0 +adaptivedof.meleefocal.farout 1.0 + +adaptivedof.aimingfocal.nearout 1.0 +adaptivedof.aimingfocal.nearin 1.0 +adaptivedof.aimingfocal.farin 1.0 +adaptivedof.aimingfocal.farout 1.0 + +adaptivedof.rungunfocal.nearout 1.0 +adaptivedof.rungunfocal.nearin 1.0 +adaptivedof.rungunfocal.farin 1.0 +adaptivedof.rungunfocal.farout 1.0 + +adaptivedof.incoverfocal.nearout 1.0 +adaptivedof.incoverfocal.nearin 1.0 +adaptivedof.incoverfocal.farin 1.0 +adaptivedof.incoverfocal.farout 1.0 + +adaptivedof.exposureDay -2.0 +adaptivedof.exposureNight 1.0 + +adaptivedof.exposureMin -2.5 +adaptivedof.exposureMax 2.5 + +bokeh.brightnessThresholdMin 4.0 +bokeh.brightnessThresholdMax 3.0 +bokeh.brightnessExposureMin -3.0 +bokeh.brightnessExposureMax 1.0 +bokeh.cocThreshold 0.1 +bokeh.fadeRangeMin 1.320 +bokeh.fadeRangeMax 0.06 +bokeh.sizeMultiplier 1.3 +bokeh.globalAlpha 1.0 +bokeh.alphaCutoff 0.15 +bokeh.shapeExposureRangeMin -3.0 +bokeh.shapeExposureRangeMax 1.0 + +defaultmotionblur.enabled 1 +defaultmotionblur.strength 0.1 + +procObjects.minRadiusForHeightMap 0.4 + +// Multipiers over final shadow cascade. +fogray.fadestart 0.0 +fogray.fadeend 1.0 + +//character lens flare +lensflare.switch.length 990 +lensflare.hide.length 495 +lensflare.show.length 264 +lensflare.desaturation.boost 1.6 + +// First person motion blur +fpv.motionblur.weight0 1.0 +fpv.motionblur.weight1 0.0 +fpv.motionblur.weight2 0.8 +fpv.motionblur.weight3 1.0 +fpv.motionblur.max.velocity 32.0 diff --git a/files/graphic_on.dat b/files/graphic_on.dat new file mode 100644 index 0000000..8135ce7 --- /dev/null +++ b/files/graphic_on.dat @@ -0,0 +1,1348 @@ +# Visual Configuration Table +# Platform tunnings: +# MyValue.x64 x64Value +# MyValue.xb1 xb1Value +# MyValue.ps4 ps4Value +# +# PC vs consoles setup +# MyValue.x64 BigValue +# MyValue SmallerValue +# +# XB1 vs others +# MyValue.xb1 smallValue +# MyValue goodValue + +# stores intial values for configuration of in game elements +#Name Value +#Values to use with height based reflection map +heightReflect.width 140.00 +heightReflect.height 225.00 +heightReflect.specularoffset 0.15 +heightReflect.waterspeed 1.00 + +#Values to use with rain collision map +raincollision.specularoffset 1.00 +raincollision.waterspeed 1.00 + + +#Values for rain GPU particle effect +rain.NumberParticles 62236 +rain.UseLitShader 1.00 +# rain.gravity 0.00 0.00 -0.98 +rain.gravity.x 0.00 +rain.gravity.y 0.00 +rain.gravity.z -0.98 +rain.fadeInScale 2.00 +rain.diffuse 1.00 +rain.ambient 0.40 +rain.wrapScale 0.60 +rain.wrapBias 0.40 +# rain.defaultlight 1.00 1.00 1.00 +rain.defaultlight.red 1.00 +rain.defaultlight.green 1.00 +rain.defaultlight.blue 1.00 +rain.defaultlight.alpha 16.00 + +#General weather configuration +weather.CycleDuration 165 +weather.ChangeCloudOnSameCloudTypeChance 0.1 +weather.ChangeCloudOnSameWeatherTypeChance 0.1 + +#Config for static values for skyhat +sky.sun.centreStart 0.98 +sky.sun.centreEnd 1.00 +sky.cloudWarp 0.00 +sky.cloudInscatteringRange 1.00 +sky.cloudEdgeSmooth 1.00 +sky.sunAxiasX 1.00 +sky.sunAxiasY 0.00 +sky.GameCloudSpeed 1.00 + +#config values for cloud shadows +shadows.cloudtexture.scale 1.00 +shadows.cloudtexture.rangemin 0.00 +shadows.cloudtexture.rangemax 1.00 + +#config values for vehicle settings + +# car.interiorlight.color 1.00 1.00 0.70 +car.interiorlight.color.red 1.00 +car.interiorlight.color.green 1.00 +car.interiorlight.color.blue 0.70 +car.interiorlight.intensity 1.75 +car.interiorlight.radius 2.10 +car.interiorlight.innerConeAngle 0.00 +car.interiorlight.outerConeAngle 90.00 +car.interiorlight.day.emissive.on 0.00 +car.interiorlight.night.emissive.on 0.00 +car.interiorlight.day.emissive.off 0.00 +car.interiorlight.night.emissive.off 0.00 +car.interiorlight.coronaHDR 1.00 +car.interiorlight.coronaSize 1.00 + +# car.fatinteriorlight.color 1.00 1.00 0.70 +car.fatinteriorlight.color.red 1.00 +car.fatinteriorlight.color.green 1.00 +car.fatinteriorlight.color.blue 0.70 +car.fatinteriorlight.intensity 1.75 +car.fatinteriorlight.radius 3.10 +car.fatinteriorlight.innerConeAngle 0.00 +car.fatinteriorlight.outerConeAngle 90.00 +car.fatinteriorlight.day.emissive.on 0.00 +car.fatinteriorlight.night.emissive.on 0.00 +car.fatinteriorlight.day.emissive.off 0.00 +car.fatinteriorlight.night.emissive.off 0.00 +car.fatinteriorlight.coronaHDR 1.00 +car.fatinteriorlight.coronaSize 1.00 + +car.platelight.color.red 1.00 +car.platelight.color.green 1.00 +car.platelight.color.blue 1.00 +car.platelight.intensity 0.75 +car.platelight.radius 0.90 +car.platelight.innerConeAngle 0.00 +car.platelight.outerConeAngle 90.00 +car.platelight.day.emissive.on 0.00 +car.platelight.night.emissive.on 0.00 +car.platelight.day.emissive.off 0.00 +car.platelight.night.emissive.off 0.00 +car.platelight.coronaHDR 1.00 +car.platelight.coronaSize 1.00 +car.platelight.falloffExp 64 + +car.dashlight.color.red 1.00 +car.dashlight.color.green 0.85 +car.dashlight.color.blue 0.60 +car.dashlight.intensity 0.50 +car.dashlight.radius 1.50 +car.dashlight.innerConeAngle 0.00 +car.dashlight.outerConeAngle 90.00 +car.dashlight.day.emissive.on 0.00 +car.dashlight.night.emissive.on 0.00 +car.dashlight.day.emissive.off 0.00 +car.dashlight.night.emissive.off 0.00 +car.dashlight.coronaHDR 1.00 +car.dashlight.coronaSize 1.00 +car.dashlight.falloffExp 4 + +car.doorlight.color.red 1.00 +car.doorlight.color.green 0.85 +car.doorlight.color.blue 0.95 +car.doorlight.intensity 0.15 +car.doorlight.radius 1.10 +car.doorlight.innerConeAngle 0.00 +car.doorlight.outerConeAngle 90.00 +car.doorlight.day.emissive.on 0.00 +car.doorlight.night.emissive.on 0.00 +car.doorlight.day.emissive.off 0.00 +car.doorlight.night.emissive.off 0.00 +car.doorlight.coronaHDR 1.00 +car.doorlight.coronaSize 1.00 +car.doorlight.falloffExp 4 + +# car.taxi.color 1.00 1.00 0.60 +car.taxi.color.red 1.00 +car.taxi.color.green 1.00 +car.taxi.color.blue 0.60 +car.taxi.intensity 0.20 +car.taxi.radius 0.20 +car.taxi.innerConeAngle 0.50 +car.taxi.outerConeAngle 1.00 +car.taxi.coronaHDR 0.20 +car.taxi.coronaSize 0.00 + +car.neon.defaultcolor.red 1.00 +car.neon.defaultcolor.green 0.00 +car.neon.defaultcolor.blue 1.00 +car.neon.intensity 22.0 +car.neon.radius 1.50 +car.neon.falloffexponent 128.0 +car.neon.capsuleextent.sides 1.2 +car.neon.capsuleextent.frontback 0.6 +car.neon.clipplaneheight -0.014 + +car.headlights.angle -0.5 +car.headlights.split 0.0 +car.headlights.global.HeadlightIntensityMult 2.9 +car.headlights.global.HeadlightDistMult 3.0 +car.headlights.global.ConeInnerAngleMod 1.0 +car.headlights.global.ConeOuterAngleMod 1.0 +car.headlights.global.OnlyOneLightMod 1.0 +car.headlights.global.Fake2LightsAngleMod 1.0 +car.headlights.global.Fake2LightsDisplacementMod 0.20 +car.headlights.submarine.Fake2LightsAngleMod 0.830 +car.headlights.submarine.Fake2LightsDisplacementMod 0.0 +car.headlights.fullbeam.IntensityMult 0.9 +car.headlights.fullbeam.DistMult 3.0 +car.headlights.fullbeam.CoronaIntensityMult 1.5 +car.headlights.fullbeam.CoronaSizeMult 1.8 +car.headlights.aim.fullbeam.mod 0.0 +car.headlights.aim.dippedbeam.mod -0.2 +car.headlights.aim.fullbeam.angle 0.0 +car.headlights.aim.dipeedbeam.angle 0.0 +car.headlights.player.intensitymult 0.8 +car.headlights.player.distmult 0.64 +car.headlights.player.exponentmult 3.0 + +# car headlight volume lights data +car.headlights.volume.intensityscale 0.001 +car.headlights.volume.sizescale 1.0 +car.headlights.volume.outerintensity 0.0 +car.headlights.volume.outerexponent 50.0 +# car.headlights.volume.outerVolumeColor +car.headlights.volume.outerVolumeColor.red 0.00 +car.headlights.volume.outerVolumeColor.green 0.00 +car.headlights.volume.outerVolumeColor.blue 0.00 + +car.coronas.MainFadeRatio 0.25 +car.coronas.BeginStart 50.0 +car.coronas.BeginEnd 300.0 +car.coronas.CutoffStart 280.0 +car.coronas.CutoffEnd 300.0 +car.coronas.underwaterFade 0.4 + + +car.sirens.SpecularFade 5.0 +car.sirens.ShadowFade 5.0 + +# heli poslight +heli.poslight.nearStrength 20.0 +heli.poslight.farStrength 80.0 +heli.poslight.nearSize 0.25 +heli.poslight.farSize 1.00 +heli.poslight.intensity_typeA 12.0 +heli.poslight.intensity_typeB 6.0 +heli.poslight.radius 2.5 +# heli.poslight.rightColor 0.00 1.00 0.00 +heli.poslight.rightColor.red 0.00 +heli.poslight.rightColor.green 1.00 +heli.poslight.rightColor.blue 0.00 +# heli.poslight.leftColor 1.00 0.00 0.00 +heli.poslight.leftColor.red 1.00 +heli.poslight.leftColor.green 0.00 +heli.poslight.leftColor.blue 0.00 + +#heli white head lights +heli.whiteheadlight.nearStrength 15.0 +heli.whiteheadlight.farStrength 60.0 +heli.whiteheadlight.nearSize 0.25 +heli.whiteheadlight.farSize 2.00 +heli.whiteheadlight.intensity 4.0 +heli.whiteheadlight.radius 2.5 +# heli.whiteheadlight.color 1.00 0.00 0.00 +heli.whiteheadlight.color.red 1.00 +heli.whiteheadlight.color.green 1.00 +heli.whiteheadlight.color.blue 0.80 + +#heli white tail lights +heli.whitetaillight.nearStrength 15.0 +heli.whitetaillight.farStrength 60.0 +heli.whitetaillight.nearSize 0.25 +heli.whitetaillight.farSize 2.00 +heli.whitetaillight.intensity 4.0 +heli.whitetaillight.radius 2.5 +# heli.whitetaillight.color 1.00 0.00 0.00 +heli.whitetaillight.color.red 1.00 +heli.whitetaillight.color.green 0.00 +heli.whitetaillight.color.blue 0.00 + +#heli interior light +heli.interiorlight.color.red 1.00 +heli.interiorlight.color.green 0.20 +heli.interiorlight.color.blue 0.05 +heli.interiorlight.intensity 1.50 +heli.interiorlight.radius 2.10 +heli.interiorlight.innerConeAngle 0.00 +heli.interiorlight.outerConeAngle 90.00 +heli.interiorlight.day.emissive.on 0.00 +heli.interiorlight.night.emissive.on 0.00 +heli.interiorlight.day.emissive.off 0.00 +heli.interiorlight.night.emissive.off 0.00 +heli.interiorlight.coronaHDR 1.00 +# the corona size is actually used as the bone offset for this particular light +heli.interiorlight.coronaSize -0.25 + +# plane poslight +plane.poslight.nearStrength 1.0 +plane.poslight.farStrength 10.0 +plane.poslight.nearSize 1.0 +plane.poslight.farSize 15.0 +plane.poslight.intensity_typeA 12.0 +plane.poslight.intensity_typeB 12.0 +plane.poslight.radius 2.0 + +plane.poslight.rightColor.red 0.00 +plane.poslight.rightColor.green 1.00 +plane.poslight.rightColor.blue 0.00 + +plane.poslight.leftColor.red 1.00 +plane.poslight.leftColor.green 0.00 +plane.poslight.leftColor.blue 0.00 + +# plane whiteheadlight +plane.whiteheadlight.nearStrength 1.0 +plane.whiteheadlight.farStrength 10.0 +plane.whiteheadlight.nearSize 1.25 +plane.whiteheadlight.farSize 15 +plane.whiteheadlight.intensity 4.0 +plane.whiteheadlight.radius 1.75 + +# plane.whiteheadlight.color 1.00 0.00 0.00 +plane.whiteheadlight.color.red 1.00 +plane.whiteheadlight.color.green 1.00 +plane.whiteheadlight.color.blue 0.80 + +# plane whitetaillight +plane.whitetaillight.nearStrength 1.0 +plane.whitetaillight.farStrength 10.0 +plane.whitetaillight.nearSize 0.5 +plane.whitetaillight.farSize 15.0 +plane.whitetaillight.intensity 6.0 +plane.whitetaillight.radius 1.75 +# plane.whitetaillight.color 1.00 0.00 0.00 +plane.whitetaillight.color.red 1.00 +plane.whitetaillight.color.green 0.00 +plane.whitetaillight.color.blue 0.00 + +# plane control-panel light +plane.controlpanel.light.color.red 0.00 +plane.controlpanel.light.color.green 0.00 +plane.controlpanel.light.color.blue 1.00 +plane.controlpanel.light.intensity 3.00 +plane.controlpanel.light.falloff 1.00 +plane.controlpanel.light.falloff.exponent 32.00 + +# plane right emergency light +plane.emergency.right.light.color.red 1.00 +plane.emergency.right.light.color.green 0.50 +plane.emergency.right.light.color.blue 0.00 +plane.emergency.right.light.intensity 0.00 +plane.emergency.right.light.falloff 8.00 +plane.emergency.right.light.falloff.exponent 32.00 +plane.emergency.right.light.inner.angle 60.00 +plane.emergency.right.light.outer.angle 65.00 +plane.emergency.right.light.rotation 270.0f + +# plane left emergency light +plane.emergency.left.light.color.red 1.00 +plane.emergency.left.light.color.green 0.50 +plane.emergency.left.light.color.blue 0.00 +plane.emergency.left.light.intensity 32.00 +plane.emergency.left.light.falloff 10.00 +plane.emergency.left.light.falloff.exponent 32.00 +plane.emergency.left.light.inner.angle 60.00 +plane.emergency.left.light.outer.angle 65.00 +plane.emergency.left.light.rotation 270.0f + + +# plane inside hull light +plane.insidehull.light.color.red 1.00 +plane.insidehull.light.color.green 1.00 +plane.insidehull.light.color.blue 1.00 +plane.insidehull.light.intensity 0.00 +plane.insidehull.light.falloff 6.00 +plane.insidehull.light.falloff.exponent 4.00 +plane.insidehull.light.inner.angle 60.00 +plane.insidehull.light.outer.angle 85.00 + +# luxe 2 cabin light +plane.luxe2.cabin.color.red 1.00 +plane.luxe2.cabin.color.green 1.00 +plane.luxe2.cabin.color.blue 1.00 +plane.luxe2.cabin.intensity 5.0 +plane.luxe2.cabin.radius 2.4 +plane.luxe2.cabin.innerConeAngle 20.0 +plane.luxe2.cabin.outerConeAngle 180.00 +plane.luxe2.cabin.falloffExp 8.0 +plane.luxe2.cabin.useDynamicShadows 1.0 + +# luxe 2 cabin strip light +plane.luxe2.cabin.strip.color.red 1.00 +plane.luxe2.cabin.strip.color.green 1.00 +plane.luxe2.cabin.strip.color.blue 1.00 +plane.luxe2.cabin.strip.intensity 3.0 +plane.luxe2.cabin.strip.radius 1.63 +plane.luxe2.cabin.strip.falloffExp 128.0 +plane.luxe2.cabin.strip.capsuleLength 4.7 + +# luxe 2 cabin tv light +plane.luxe2.cabin.tv.color.red 0.07 +plane.luxe2.cabin.tv.color.green 0.22 +plane.luxe2.cabin.tv.color.blue 0.97 +plane.luxe2.cabin.tv.intensity 3.0 +plane.luxe2.cabin.tv.radius 1.5 +plane.luxe2.cabin.tv.innerConeAngle 20.0 +plane.luxe2.cabin.tv.outerConeAngle 180.00 +plane.luxe2.cabin.tv.falloffExp 8.0 + +# luxe 2 cabin lod light +plane.luxe2.cabin.lod.color.red 1.00 +plane.luxe2.cabin.lod.color.green 1.00 +plane.luxe2.cabin.lod.color.blue 1.00 +plane.luxe2.cabin.lod.intensity 1.1 +plane.luxe2.cabin.lod.radius 1.0 +plane.luxe2.cabin.lod.falloffExp 1.0 +plane.luxe2.cabin.lod.capsuleLength 6.5 + +# luxe 2 cabin window lights +plane.luxe2.cabin.window.color.red 1.0 +plane.luxe2.cabin.window.color.green 1.0 +plane.luxe2.cabin.window.color.blue 1.0 +plane.luxe2.cabin.window.intensity 0.5 +plane.luxe2.cabin.window.radius 1.3 +plane.luxe2.cabin.window.innerConeAngle 0.0 +plane.luxe2.cabin.window.outerConeAngle 90.0 +plane.luxe2.cabin.window.falloffExp 32.0 +plane.luxe2.cabin.window.useSun 1.0 + +# swift 2 cabin light +heli.swift2.cabin.color.red 1.00 +heli.swift2.cabin.color.green 1.00 +heli.swift2.cabin.color.blue 1.00 +heli.swift2.cabin.intensity 5.0 +heli.swift2.cabin.radius 1.5 +heli.swift2.cabin.innerConeAngle 20.0 +heli.swift2.cabin.outerConeAngle 180.00 +heli.swift2.cabin.falloffExp 16.0 +heli.swift2.cabin.useDynamicShadows 1.0 + +# boat lights +boat.intensity 10 +boat.radius 0.7 +# boat.color 1.00 1.00 0.70 +boat.color.red 0.40 +boat.color.green 0.40 +boat.color.blue 1.00 + +boat.light.interiorshutdowndistance 100.0 +boat.light.fadelength 10.0 +boat.light.shutdowndistance 60.0 +boat.corona.fadelength 20.0 +boat.corona.size 4.0 +boat.corona.intensity 1.0 +boat.corona.zBias 0.02 + +sub.lightOne.color.red 1.00 +sub.lightOne.color.green 1.00 +sub.lightOne.color.blue 1.00 +sub.lightOne.intensity 0.00 +sub.lightOne.radius 1.00 +sub.lightOne.falloffExp 8.0 +sub.lightOne.innerConeAngle 0.00 +sub.lightOne.outerConeAngle 45.00 +sub.lightOne.coronaHDR 0.00 +sub.lightOne.coronaSize 0.00 + +sub.lightTwo.color.red 1.00 +sub.lightTwo.color.green 1.00 +sub.lightTwo.color.blue 1.00 +sub.lightTwo.intensity 0.50 +sub.lightTwo.radius 1.00 +sub.lightTwo.falloffExp 8.0 +sub.lightTwo.innerConeAngle 0.00 +sub.lightTwo.outerConeAngle 45.00 +sub.lightTwo.coronaHDR 0.00 +sub.lightTwo.coronaSize 0.00 + +# train settings +train.light.r 1.0 +train.light.g 1.0 +train.light.b 0.8 +train.light.intensity 3 +train.light.falloffmax 2.1 +train.light.fadingdistance 100.0 +train.light.fadelength 10.0 +train.ambientvolume.intensityscaler 2.0 + + +# emissive bits +car.headlight.day.emissive.on 0.00 +car.headlight.night.emissive.on 10.00 +car.headlight.day.emissive.off 0.001 +car.headlight.night.emissive.off 0.001 +car.taillight.day.emissive.on 0.0 +car.taillight.night.emissive.on 25.0 +car.taillight.day.emissive.off 0.001 +car.taillight.night.emissive.off 0.001 +car.indicator.day.emissive.on 10.00 +car.indicator.night.emissive.on 10.00 +car.indicator.day.emissive.off 0.001 +car.indicator.night.emissive.off 0.001 +car.reversinglight.day.emissive.on 20.00 +car.reversinglight.night.emissive.on 3.00 +car.reversinglight.day.emissive.off 0.001 +car.reversinglight.night.emissive.off 0.001 +car.defaultlight.day.emissive.on 500.0 +car.defaultlight.night.emissive.on 500.0 +car.defaultlight.day.emissive.off 0.001 +car.defaultlight.night.emissive.off 0.001 +car.brakelight.day.emissive.on 30.00 +car.brakelight.night.emissive.on 30.00 +car.brakelight.day.emissive.off 0.001 +car.brakelight.night.emissive.off 0.001 +car.middlebrakelight.day.emissive.on 30.00 +car.middlebrakelight.night.emissive.on 30.00 +car.middlebrakelight.day.emissive.off 0.001 +car.middlebrakelight.night.emissive.off 0.001 +car.extralight.day.emissive.on 9.00 +car.extralight.night.emissive.on 9.00 +car.extralight.day.emissive.off 0.001 +car.extralight.night.emissive.off 0.001 +car.emissiveMultiplier 2.00 + +# Lod distances for vehicles +car.lod.distance.high 40.00 +car.lod.distance.low 40.00 + +# search lights... +defaultsearchlight.length 100.0 +defaultsearchlight.offset -0.13 +defaultsearchlight.color.red 0.030 +defaultsearchlight.color.green 0.030 +defaultsearchlight.color.blue 0.030 +defaultsearchlight.mainLightInfo.falloffScale 2.0 +defaultsearchlight.mainLightInfo.falloffExp 8.0 +defaultsearchlight.mainLightInfo.innerAngle 0.0 +defaultsearchlight.mainLightInfo.outerAngle 5.0 +defaultsearchlight.mainLightInfo.globalIntensity 4.0 +defaultsearchlight.mainLightInfo.lightIntensityScale 20.0 +defaultsearchlight.mainLightInfo.volumeIntensityScale 0.125 +defaultsearchlight.mainLightInfo.volumeSizeScale 0.5 +defaultsearchlight.mainLightInfo.outerVolumeColor.color.red 0.0 +defaultsearchlight.mainLightInfo.outerVolumeColor.color.green 0.0 +defaultsearchlight.mainLightInfo.outerVolumeColor.color.blue 0.0 +defaultsearchlight.mainLightInfo.outerVolumeIntensity 0.0 +defaultsearchlight.mainLightInfo.outerVolumeFallOffExponent 00.0 +defaultsearchlight.mainLightInfo.enable 1.0 +defaultsearchlight.mainLightInfo.specular 1.0 +defaultsearchlight.mainLightInfo.shadow 1.0 +defaultsearchlight.mainLightInfo.volume 1.0 +defaultsearchlight.mainLightInfo.coronaIntensity 8.0 +defaultsearchlight.mainLightInfo.coronaIntensityFar 12.0 +defaultsearchlight.mainLightInfo.coronaSize 5.5 +defaultsearchlight.mainLightInfo.coronaSizeFar 35.0 +defaultsearchlight.mainLightInfo.coronaZBias 0.3 +defaultsearchlight.mainLightInfo.coronaOffset 0.4 +defaultsearchlight.mainLightInfo.lightFadeDist 40.0 + +helisearchlight.length 130.0 +helisearchlight.offset -0.13 +helisearchlight.color.red 0.030 +helisearchlight.color.green 0.030 +helisearchlight.color.blue 0.040 +helisearchlight.mainLightInfo.falloffScale 2.0 +helisearchlight.mainLightInfo.falloffExp 8.0 +helisearchlight.mainLightInfo.innerAngle 0.0 +helisearchlight.mainLightInfo.outerAngle 8.0 +helisearchlight.mainLightInfo.globalIntensity 6.0 +helisearchlight.mainLightInfo.lightIntensityScale 30.0 +helisearchlight.mainLightInfo.volumeIntensityScale 0.125 +helisearchlight.mainLightInfo.volumeSizeScale 0.5 +helisearchlight.mainLightInfo.outerVolumeColor.color.red 0.10 +helisearchlight.mainLightInfo.outerVolumeColor.color.green 0.10 +helisearchlight.mainLightInfo.outerVolumeColor.color.blue 0.50 +helisearchlight.mainLightInfo.outerVolumeIntensity 0.0 +helisearchlight.mainLightInfo.outerVolumeFallOffExponent 50.0 +helisearchlight.mainLightInfo.enable 1.0 +helisearchlight.mainLightInfo.specular 1.0 +helisearchlight.mainLightInfo.shadow 1.0 +helisearchlight.mainLightInfo.volume 1.0 +helisearchlight.mainLightInfo.coronaIntensity 100.0 +helisearchlight.mainLightInfo.coronaIntensityFar 50.0 +helisearchlight.mainLightInfo.coronaSize 5.5 +helisearchlight.mainLightInfo.coronaSizeFar 50.0 +helisearchlight.mainLightInfo.coronaZBias 0.3 +helisearchlight.mainLightInfo.coronaOffset 0.4 +helisearchlight.mainLightInfo.lightFadeDist 80.0 + +boatsearchlight.length 100.0 +boatsearchlight.offset -0.110 +boatsearchlight.color.red 0.030 +boatsearchlight.color.green 0.030 +boatsearchlight.color.blue 0.030 +boatsearchlight.mainLightInfo.falloffScale 2.0 +boatsearchlight.mainLightInfo.falloffExp 8.0 +boatsearchlight.mainLightInfo.innerAngle 0.0 +boatsearchlight.mainLightInfo.outerAngle 5.0 +boatsearchlight.mainLightInfo.globalIntensity 4.0 +boatsearchlight.mainLightInfo.lightIntensityScale 10.0 +boatsearchlight.mainLightInfo.volumeIntensityScale 0.125 +boatsearchlight.mainLightInfo.volumeSizeScale 0.5 +boatsearchlight.mainLightInfo.outerVolumeColor.color.red 0.0 +boatsearchlight.mainLightInfo.outerVolumeColor.color.green 0.0 +boatsearchlight.mainLightInfo.outerVolumeColor.color.blue 0.0 +boatsearchlight.mainLightInfo.outerVolumeIntensity 0.0 +boatsearchlight.mainLightInfo.outerVolumeFallOffExponent 50.0 +boatsearchlight.mainLightInfo.enable 1.0 +boatsearchlight.mainLightInfo.specular 1.0 +boatsearchlight.mainLightInfo.shadow 1.0 +boatsearchlight.mainLightInfo.volume 1.0 +boatsearchlight.mainLightInfo.coronaIntensity 6.0 +boatsearchlight.mainLightInfo.coronaIntensityFar 12.0 +boatsearchlight.mainLightInfo.coronaSize 1.5 +boatsearchlight.mainLightInfo.coronaSizeFar 20.0 +boatsearchlight.mainLightInfo.coronaZBias 0.3 +boatsearchlight.mainLightInfo.coronaOffset 0.235 +boatsearchlight.mainLightInfo.lightFadeDist 40.0 + +#Config values for traffic lights +# trafficLight.red.color 1.00 0.20 0.05 +trafficLight.red.color.red 1.00 +trafficLight.red.color.green 0.003 +trafficLight.red.color.blue 0.0001 +# trafficLight.amber.color 1.00 0.30 0.05 +trafficLight.amber.color.red 1.00 +trafficLight.amber.color.green 0.30 +trafficLight.amber.color.blue 0.001 +# trafficLight.green.color 0.10 1.00 0.50 +trafficLight.green.color.red 0.01 +trafficLight.green.color.green 1.00 +trafficLight.green.color.blue 0.135 +trafficLight.walk.color.red 1.0 +trafficLight.walk.color.green 1.0 +trafficLight.walk.color.blue 1.0 +trafficLight.dontwalk.color.red 1.00 +trafficLight.dontwalk.color.green 0.003 +trafficLight.dontwalk.color.blue 0.0001 + +trafficLight.near.na.color.red 1.00 +trafficLight.near.na.color.green 1.00 +trafficLight.near.na.color.blue 1.00 +trafficLight.near.intensity 1.75 +trafficLight.near.radius 1.5 +trafficlight.near.falloffExp 4.0 +trafficLight.near.innerConeAngle 0.10 +trafficLight.near.outerConeAngle 10.00 +trafficLight.near.coronaHDR 10.0 +trafficLight.near.coronaSize 1.5 + +trafficLight.farFadeStart 200.0 +trafficLight.farFadeEnd 250.0 +trafficLight.nearFadeStart 100.0 +trafficLight.nearFadeEnd 130.0 + +#Config values for Tree Imposters +imposter.color.blendRange 54.00 +imposter.color.blendBias 128.00 +imposter.color.size1 128.00 +imposter.color.amt1 12.00 +imposter.color.size2 64.00 +imposter.color.amt2 12.00 +# imposter.backgroundColor 0.20 0.20 0.10 +imposter.backgroundColor.red 0.20 +imposter.backgroundColor.green 0.20 +imposter.backgroundColor.blue 0.10 +imposter.shadow.blendRange 12.00 +imposter.shadow.blendBias 128.00 +imposter.shadow.size1 256.00 +imposter.shadow.amt1 12.00 +imposter.shadow.size2 128.00 +imposter.shadow.amt2 64.00 + + +#Config values for peds +ped.ambientvolume.maxstrength 1.000 +ped.ambientvolume.fadestart 16.000 +ped.ambientvolume.fadeend 20.000 +ped.ambientvolume.baseintensity 0.000 +ped.incarAmbientScale 0.4 + +pedLight.color.red 1.000 +pedLight.color.green 1.000 +pedLight.color.blue 1.000 +pedlight.intensity 6.000 +pedlight.radius 6.000 +pedlight.innerConeAngle 30.000 +pedlight.outerConeAngle 45.000 +pedlight.coronaHDR 1.000 +pedlight.coronaSize 2.087 +pedlight.falloffExp 32.000 +pedlight.volumeIntensity 0.300 +pedlight.volumeSize 0.400 +pedlight.volumeExponent 70.000 +pedLight.volumeColor.x 1.000 +pedLight.volumeColor.y 1.000 +pedLight.volumeColor.z 0.500 +pedLight.volumeColor.w 1.000 +pedlight.fade 20.000 +pedlight.shadowFade 15.000 +pedlight.specularFade 10.000 + +pedFpsLight.color.red 1.000 +pedFpsLight.color.green 1.000 +pedFpsLight.color.blue 1.000 +pedFpslight.intensity 6.000 +pedFpslight.radius 16.000 +pedFpslight.innerConeAngle 30.000 +pedFpslight.outerConeAngle 45.000 +pedFpslight.coronaHDR 1.000 +pedFpslight.coronaSize 2.087 +pedFpslight.falloffExp 128.000 +pedFpslight.volumeIntensity 0.0500 +pedFpslight.volumeSize 0.400 +pedFpslight.volumeExponent 70.000 +pedFpsLight.volumeColor.x 1.000 +pedFpsLight.volumeColor.y 1.000 +pedFpsLight.volumeColor.z 0.500 +pedFpsLight.volumeColor.w 1.000 +pedFpslight.fade 20.000 +pedFpslight.shadowFade 15.000 +pedFpslight.specularFade 10.000 + +# Lod distances for peds +ped.lod.distance.high 25.00 +ped.lod.distance.medium 50.00 +ped.lod.distance.low 80.00 +pedincar.lod.distance.high 7.00 +pedincar.lod.distance.high.x64 15.00 + + +#Config Values for Camera Events Val start Val End MB start MB End +# cam.followped.blur.zoom 0 0.10 0.00 0.025 +cam.followped.blur.zoom.x 0 +cam.followped.blur.zoom.y 0.10 +cam.followped.blur.zoom.z 0.00 +cam.followped.blur.zoom.w 0.025 +# cam.followped.blur.damage 0 10.00 0.00 0.025 +cam.followped.blur.damage.x 0 +cam.followped.blur.damage.y 10.00 +cam.followped.blur.damage.z 0.00 +cam.followped.blur.damage.w 0.025 +# cam.followped.blur.falling 3 10.00 0.00 0.1 +cam.followped.blur.falling.x 3 +cam.followped.blur.falling.y 10.00 +cam.followped.blur.falling.z 0.00 +cam.followped.blur.falling.w 0.1 +# cam.followped.blur.beta 0.045 0.05 0.00 0.01 +cam.followped.blur.beta.x 0.045 +cam.followped.blur.beta.y 0.05 +cam.followped.blur.beta.z 0.00 +cam.followped.blur.beta.w 0.01 +cam.followped.blur.damage.time 500 +cam.followped.blur.damage.attacktime 0.1 +cam.followped.blur.damage.decaytime 0.3 +cam.followped.blur.cap 0.3 +# cam.aimweapon.blur.zoom 0 0.10 0.00 0.1 +cam.aimweapon.blur.zoom.x 0 +cam.aimweapon.blur.zoom.y 0.10 +cam.aimweapon.blur.zoom.z 0.00 +cam.aimweapon.blur.zoom.w 0.1 +# cam.aimweapon.blur.damage 0 10.00 0.00 0.1 +cam.aimweapon.blur.damage.x 0 +cam.aimweapon.blur.damage.y 10.00 +cam.aimweapon.blur.damage.z 0.00 +cam.aimweapon.blur.damage.w 0.1 +cam.aimweapon.blur.damage.time 1000 +cam.aimweapon.blur.interp 0.05 +cam.aimweapon.blur.damage.attacktime 0.1 +cam.aimweapon.blur.damage.decaytime 0.3 +cam.aimweapon.blur.cap 1 +# cam.followvehicle.blur.zoom 0 0.10 0.00 0.025 +cam.followvehicle.blur.zoom.x 0 +cam.followvehicle.blur.zoom.y 0.10 +cam.followvehicle.blur.zoom.z 0.00 +cam.followvehicle.blur.zoom.w 0.025 +# cam.followvehicle.blur.speed 25 50.00 0.00 0.2 +cam.followvehicle.blur.speed.x 25 +cam.followvehicle.blur.speed.y 50.00 +cam.followvehicle.blur.speed.z 0.00 +cam.followvehicle.blur.speed.w 0.2 +# cam.followvehicle.blur.damage 50 100.00 0.00 0.03 +cam.followvehicle.blur.damage.x 50 +cam.followvehicle.blur.damage.y 100.00 +cam.followvehicle.blur.damage.z 0.00 +cam.followvehicle.blur.damage.w 0.03 +cam.followvehicle.blur.damage.time 500 +cam.followvehicle.blur.cap 0.3 +cam.game.blur.wasted 0.1 +cam.game.blur.wasted.fadetime 1000 +cam.game.blur.busted 0.1 +cam.game.blur.busted.fadetime 1000 +cam.game.blur.cap 1 +cam.fpsweapon.blur 0.001 +cam.fpsweapon.sniperinitime 300 +cam.fpsweapon.blur.cap 1 +cam.intermezzo.stuntjump.blur 0.02 + +# Containers LOD +lod.container.caploddist 750 + + +# distant lights +distantlights.inlandHeight 0.0 +distantlights.size 1.1 +distantlights.sizeReflections 0.8 +distantlights.sizeMin 8.0 +distantlights.sizeUpscale 1.5 +distantlights.sizeUpscaleReflections 1.5 +distantlights.flicker 0.0 +distantlights.twinkleAmount 1.0 +distantlights.twinkleSpeed 0.05 +distantlights.carlightZOffset 2.0 +distantlights.hourStart 20.0 +distantlights.hourEnd 6.0 +distantlights.streetLightHourStart 20.0 +distantlights.streetLighthourEnd 6.0 +distantlights.sizeDistStart 0.0001 +distantlights.sizeDist 0.0001 + +distantlights.speed0 0.2 +distantlights.speed1 0.35 +distantlights.speed2 0.4 +distantlights.speed3 0.6 + +distantlights.density0Spacing 15.0 +distantlights.density15Spacing 1.0 +distantlights.speed0Speed 0.3 +distantlights.speed3Speed 0.1 +distantlights.randomizeSpeed.sp 0.5 +distantlights.randomizeSpacing.sp 0.25 +distantlights.randomizeSpeed.mp 0.5 +distantlights.randomizeSpacing.mp 0.5 +distantlights.carlight.HDRIntensity 7.0 +distantlights.carlight.nearFade 375.0 +distantlights.carlight.farFade 450.0 + +distantlights.carlight1.spacing.sp 2.0 +distantlights.carlight1.speed.sp 40 +distantlights.carlight1.spacing.mp 3.5 +distantlights.carlight1.speed.mp 35 +distantlights.carlight1.color.red 1.0 +distantlights.carlight1.color.green 0.95 +distantlights.carlight1.color.blue 0.91 + +distantlights.carlight2.spacing.sp 3.0 +distantlights.carlight2.speed.sp 20.0 +distantlights.carlight2.spacing.mp 3.0 +distantlights.carlight2.speed.mp 20.0 +distantlights.carlight2.color.red 1.0 +distantlights.carlight2.color.green 0.01 +distantlights.carlight2.color.blue 0.0 + +distantlights.streetlight.HDRIntensity 19.0 +distantlights.streetlight.ZOffset 12.0 +distantlights.streetlight.Spacing 25.0 +distantlights.streetlight.color.red 1.0 +distantlights.streetlight.color.green 0.43 +distantlights.streetlight.color.blue 0.03 + +# Emissive night values +emissive.night.start.time 20 +emissive.night.end.time 6 + +# Misc Values +misc.DOFBlurMultiplier.HD 1 +misc.DOFBlurMultiplier.SD 0.5 +misc.Multiplier.heightStart 100 +misc.Multiplier.heightEnd 250.00 +misc.Multiplier.farClipMultiplier 1 +misc.Multiplier.nearFogMultiplier 1 +misc.3dMarkers.FrontLightIntensity 10.00 +misc.3dMarkers.frontLightExponent 32 + +# coronas +misc.coronas.sizeScaleGlobal 0.45 +misc.coronas.intensityScaleGlobal 0.3 +misc.coronas.intensityScaleWater 0.5 +misc.coronas.sizeScaleWater 0.5 +misc.coronas.sizeScaleParaboloid 0.9 +misc.coronas.screenspaceExpansion 0.0 +misc.coronas.screenspaceExpansionWater 0.0 +misc.coronas.zBiasMultiplier 30.0 +misc.coronas.zBiasDistanceNear 50.0 +misc.coronas.zBiasDistanceFar 1500.0 +misc.coronas.zBias.fromFinalSizeMultiplier 0.1 +misc.coronas.occlusionSizeScale 0.5 +misc.coronas.occlusionSizeMax 32.0 +misc.coronas.flareCoronaSizeRatio 0.17 +misc.coronas.flareMinAngleDegToFadeIn 30.0 +misc.coronas.flareScreenCenterOffsetSizeMult 200.0 +misc.coronas.flareColShiftR 0.005 +misc.coronas.flareColShiftG 0.01 +misc.coronas.flareColShiftB 0.03 +misc.coronas.baseValueR 0.0 +misc.coronas.baseValueG 0.0 +misc.coronas.baseValueB 0.0 +misc.coronas.zBias.min 0.0 +misc.coronas.zBias.max 0.35 +misc.coronas.zBias.additionalBias.WaterReflection 5.0 +misc.coronas.zBias.additionalBias.EnvReflection 1.0 +misc.coronas.zBias.additionalBias.MirrorReflection 2.0 +misc.coronas.dir.mult.fadeoff.start 30.0 +misc.coronas.dir.mult.fadeoff.dist 80.0 +misc.coronas.flareScreenCenterOffsetVerticalSizeMult 120.0 +misc.coronas.underwaterFadeDist 4.0 +misc.coronas.m_doNGCoronas 1.0 +misc.coronas.m_rotationSpeed 0.05 +misc.coronas.m_rotationSpeedRampedUp 0.15 +misc.coronas.m_layer1Muliplier 0.5 +misc.coronas.m_layer2Muliplier 0.5 +misc.coronas.m_scaleRampUp 1.5 +misc.coronas.m_scaleRampUpAngle 20.0 +misc.coronas.flareScreenCenterOffsetVerticalSizeMult 0.95 +misc.coronas.screenEdgeMinDistForFade 0.95 +misc.BloomIntensityClamp.HD 12 +misc.BloomIntensityClamp.SD 12.00 +misc.CrossPMultiplier.RimLight 1.00 +misc.CrossPMultiplier.GlobalEnvironmentReflection 6.00 +misc.CrossPMultiplier.Gamma 1.10 +misc.CrossPMultiplier.MidBlur 1.00 +misc.CrossPMultiplier.Farblur 1.00 +misc.CrossPMultiplier.SkyMultiplier 1.20 +misc.CrossPMultiplier.Desaturation 1.00 +misc.HiDof.nearBlur 2 +misc.HiDof.midBlur 0.82 +misc.HiDof.farBlur 2.10 +misc.cutscene.nearBlurMin 0.2 +misc.HiDof.nearBlur 2.00 +misc.HiDof.midBlur 0.80 +misc.HiDof.farBlur 2 +misc.cutscene.nearBlurMin 0.2 +misc.PedKillOverlay.duration 250.0f + +misc.DamageOverlay.RampUpDuration 75 +misc.DamageOverlay.HoldDuration 600 +misc.DamageOverlay.RampDownDuration 100 +misc.DamageOverlay.ColorBottom.red 0.90 +misc.DamageOverlay.ColorBottom.green 0.90 +misc.DamageOverlay.ColorBottom.blue 0.90 +misc.DamageOverlay.ColorTop.red 0.90 +misc.DamageOverlay.ColorTop.green 0.90 +misc.DamageOverlay.ColorTop.blue 0.90 +misc.DamageOverlay.GlobalAlphaBottom 0.25 +misc.DamageOverlay.GlobalAlphaTop 0.25 +misc.DamageOverlay.SpriteLength 0.70 +misc.DamageOverlay.SpriteBaseWidth 0.40 +misc.DamageOverlay.SpriteTipWidth 0.20 +misc.DamageOverlay.HorizontalFadeSoftness 1.00 +misc.DamageOverlay.VerticalFadeOffset 0.50 +misc.DamageOverlay.AngleScalingMult 0.00 + +misc.DamageOverlay.FP.RampUpDuration 75 +misc.DamageOverlay.FP.HoldDuration 600 +misc.DamageOverlay.FP.RampDownDuration 100 +misc.DamageOverlay.FP.ColorBottom.red 0.90 +misc.DamageOverlay.FP.ColorBottom.green 0.90 +misc.DamageOverlay.FP.ColorBottom.blue 0.90 +misc.DamageOverlay.FP.ColorTop.red 0.90 +misc.DamageOverlay.FP.ColorTop.green 0.90 +misc.DamageOverlay.FP.ColorTop.blue 0.90 +misc.DamageOverlay.FP.GlobalAlphaBottom 0.25 +misc.DamageOverlay.FP.GlobalAlphaTop 0.25 +misc.DamageOverlay.FP.SpriteLength 0.15 +misc.DamageOverlay.FP.SpriteBaseWidth 0.27 +misc.DamageOverlay.FP.SpriteTipWidth 0.10 +misc.DamageOverlay.FP.HorizontalFadeSoftness 1.00 +misc.DamageOverlay.FP.VerticalFadeOffset 0.50 +misc.DamageOverlay.FP.AngleScalingMult 0.00 + +misc.DamageOverlay.ScreenSafeZoneLength 0.45 + +misc.SniperRifleDof.Enabled 0 +misc.SniperRifleDof.NearStart 0.0 +misc.SniperRifleDof.NearEnd 0.0 +misc.SniperRifleDof.FarStart 5000.0 +misc.SniperRifleDof.FarEnd 5000.0 + +misc.MoonDimMult 0.4 + +misc.NextGenModifier 1.0 + +# See Through +seeThrough.PedQuadSize 0.35 +seeThrough.PedQuadStartDistance 0 +seeThrough.PedQuadEndDistance 1500 +seeThrough.PedQuadScale 12 +seeThrough.FadeStartDistance 50 +seeThrough.FadeEndDistance 1100 +seeThrough.MaxThickness 10000 +seeThrough.MinNoiseAmount 0.25 +seeThrough.MaxNoiseAmount 1 +seeThrough.HiLightIntensity 0.5 +seeThrough.HiLightNoise 0.5 +# seeThrough.ColorNear 0.06 0.02 0.14 1 +seeThrough.ColorNear.red 0.06 +seeThrough.ColorNear.green 0.02 +seeThrough.ColorNear.blue 0.14 +# seeThrough.ColorFar 0.03 0.05 0.16 1 +seeThrough.ColorFar.red 0.03 +seeThrough.ColorFar.green 0.05 +seeThrough.ColorFar.blue 0.16 +# seeThrough.ColorVisibleBase 0.78 0 0 1 +seeThrough.ColorVisibleBase.red 0.78 +seeThrough.ColorVisibleBase.green 0 +seeThrough.ColorVisibleBase.blue 0 +# seeThrough.ColorVisibleWarm 1 0 0 1 +seeThrough.ColorVisibleWarm.red 0.85 +seeThrough.ColorVisibleWarm.green 0.65 +seeThrough.ColorVisibleWarm.blue 0 +# seeThrough.ColorVisibleHot 0 1 1 0 +seeThrough.ColorVisibleHot.red 0.95 +seeThrough.ColorVisibleHot.green 0.99 +seeThrough.ColorVisibleHot.blue 1 + +# Tonemapping +Tonemapping.bright.filmic.A 0.72 +Tonemapping.bright.filmic.B 0.49 +Tonemapping.bright.filmic.C 0.10 +Tonemapping.bright.filmic.D 0.4 +Tonemapping.bright.filmic.E 0.01 +Tonemapping.bright.filmic.F 0.3 +Tonemapping.bright.filmic.W 4.9 +Tonemapping.bright.filmic.exposure -0.5 + +Tonemapping.dark.filmic.A 0.82 +Tonemapping.dark.filmic.B 0.4 +Tonemapping.dark.filmic.C 0.10 +Tonemapping.dark.filmic.D 0.5 +Tonemapping.dark.filmic.E 0.01 +Tonemapping.dark.filmic.F 0.3 +Tonemapping.dark.filmic.W 4.3 +Tonemapping.dark.filmic.exposure 3.0 + +# Exposure +Exposure.curve.scale -106.200 +Exposure.curve.power 0.007 +Exposure.curve.offset 103.900 + +# Adaptation +Adaptation.min.step.size 0.0 +Adaptation.max.step.size 0.9 +Adaptation.step.size.mult 0.0 +Adaptation.threshold 0.0 +Adaptation.sun.exposure.tweak -3 + + +# Cloud generation +cloudgen.frequency 10.0 +cloudgen.scale 48.0 +cloudgen.edge.detail.scale 16.0 +cloudgen.overlay.detail.scale 8.0 + +# Cloud speeds +cloud.speed.large 5.0 +cloud.speed.small 1.0 +cloud.speed.overall 1.0 +cloud.speed.edge 1.0 +cloud.speed.hats 1.0 + +# lod fade distances +lod.fadedist.orphanhd 20.0 +lod.fadedist.hd 20.0 +lod.fadedist.lod 20.0 +lod.fadedist.slod1 20.0 +lod.fadedist.slod2 25.0 +lod.fadedist.slod3 25.0 +lod.fadedist.slod4 25.0 + +# sky plane +skyplane.offset 512.0 +skyplane.fog.fade.start 64.0 +skyplane.fog.fade.end 128.0 + +// Rim lighting +rim.lighting.width.start 0.0 +rim.lighting.width.end 0.0 +rim.lighting.transition.angle 0.0 +rim.lighting.downmask.angle 0.3 +rim.lighting.main.colour.intensity 1.0 +rim.lighting.offangle.colour.intensity 0.3 + +// Reflection tweaks +reflection.tweaks.interior.artificial.boost 3.0 +reflection.tweaks.exterior.artificial.boost 9.0 +reflection.tweaks.emissive.boost 5.0 + +// Light component cutoff +lights.cutoff.distance 1000.0 +lights.cutoff.shadow.distance 1001.0 +lights.cutoff.specular.distance 1002.0 +lights.cutoff.volumetric.distance 1003.0 +lights.cutoff.nonGbuf.distance 75.0 +lights.cutoff.map.distance 1004.0 + +// Bloom +bloom.threshold.min 0.4 +bloom.threshold.expsoure.diff.min 0.0 +bloom.threshold.expsoure.diff.max 0.0 +bloom.threshold.power 1.0 + +bloom.blurblendmult.large 0.5 +bloom.blurblendmult.med 2.0 +bloom.blurblendmult.small 1 + + +// Dynamic bake paramaters +dynamic.bake.start.min 0.7 +dynamic.bake.start.max 1.9 + +dynamic.bake.end.min 0.3 +dynamic.bake.end.max 1.3 + +// Minimap alpha +UI.minimap.alpha 0.6 + +// Puddles +puddles.scale 0.018 +puddles.range 0.15 +puddles.depth 1.6 +puddles.depthtest 0.200 +puddles.strength 0.5 +puddles.animspeed 30.0 +puddles.ripples.minsize 0.01 +puddles.ripples.maxsize 0.02 +puddles.ripples.speed 10 +puddles.ripples.minduration 4.0 +puddles.ripples.maxduration 5.0 +puddles.ripples.dropfactor 0.8 +puddles.ripples.windstrength 0.01 +puddles.ripples.ripplestrength 0.5 +puddles.ripples.winddamping 0.01 +puddles.ripples.playerspeed 12.0 +puddles.ripples.playermapsize 8 + +// LOD lights - do not change these ranges without talking to code because it requires data changes +lodlight.small.range 250.0 +lodlight.medium.range 750.0 +lodlight.large.range 2500.0 + +lodlight.small.fade 50.0 +lodlight.medium.fade 100.0 +lodlight.large.fade 50.0 + +lodlight.small.corona.range 150.0 +lodlight.medium.corona.range 180.0 +lodlight.large.corona.range 1250.0 + +lodlight.corona.size 2.0 + +lodlight.sphere.expand.size.mult 2 +lodlight.sphere.expand.start 50.0 +lodlight.sphere.expand.end 500.0 + +// Bright Lights +misc.brightlight.distculled.FadeStart 250.0 +misc.brightlight.distculled.FadeEnd 270.0 +misc.brightlight.notdistculled.FadeStart 200.0 +misc.brightlight.notdistculled.FadeEnd 270.0 +misc.brightlight.globalIntensity 12.0 +misc.brightlight.railwayItensity 2.5 +misc.brightlight.coronaZBias 1.0 + +// Vehicle Light Night/Day Settings +vehicle.lights.sunrise 6.5 +vehicle.lights.sunset 19.0 + +// Vehicle light fade distances +vehicle.lights.fadeDistance.main 250.0 +vehicle.lights.fadeDistance.secondary 250.0 +vehicle.lights.fadeDistance.sirens 950.0 +vehicle.lights.fadeDistance.AO 250.0 +vehicle.lights.fadeDistance.neon 250.0 +vehicle.lights.fadeLength 20.0 + +//Particle Shadow intensity +particles.shadowintensity 5 + +// Dark Light +dark.light.color.red 1.00 +dark.light.color.green 1.00 +dark.light.color.blue 1.00 +dark.light.intensity 10.5 +dark.light.radius 50.0 +dark.light.falloffExp 128.0 +dark.light.innerConeAngle 0.00 +dark.light.outerConeAngle 40.00 +dark.light.coronaHDR 1.00 +dark.light.coronaSize 1.00 +dark.light.offset.x 0.00 +dark.light.offset.y 0.00 +dark.light.offset.z 0.00 +dark.fpv.light.offset.x 0.00 +dark.fpv.light.offset.y 0.00 +dark.fpv.light.offset.z 0.00 +dark.useSpec 1.0 +dark.useNormal 1.0 +dark.useShadows 1.0 +dark.useVolumes 1.0 +dark.shadowNearCLip 0.2 +dark.shadowBlur 8.0 +dark.volumeIntensity 0.1 +dark.volumeSize 0.05 +dark.volumeExponent 0.0 +dark.volumeColor.x 0.6 +dark.volumeColor.y 1.0 +dark.volumeColor.z 0.6 +dark.volumeColor.w 1.0 +dark.lightDirBase 0.5 + +// Secondary Dark Light +dark.secLight.enable 1.00 +dark.secLight.color.red 1.00 +dark.secLight.color.green 1.00 +dark.secLight.color.blue 1.00 +dark.secLight.intensity 1.00 +dark.secLight.radius 0.5 +dark.secLight.falloffExp 32.0 +dark.secLight.innerConeAngle 0.00 +dark.secLight.outerConeAngle 90.00 +dark.secLight.coronaHDR 1.00 +dark.secLight.coronaSize 1.00 +dark.secLight.offset.x 0.00 +dark.secLight.offset.y 0.00 +dark.secLight.offset.z 0.00 +dark.secLight.useSpec 1.00 +dark.secLight.lightDirBase 0.5 + +// Ped light +ped.light.direction.x 0.000 +ped.light.direction.y 0.000 +ped.light.direction.z 0.000 + +ped.light.fade.day.start 0.0 +ped.light.fade.day.end 0.0 + +ped.light.fade.night.start 19.99 +ped.light.fade.night.end 20.0 + +//ped phone light properties +ped.phonelight.color.r 1.0 +ped.phonelight.color.g 1.0 +ped.phonelight.color.b 1.0 +ped.phonelight.intensity 4.0 +ped.phonelight.radius 0.9 +ped.phonelight.falloffexp 15.0 +ped.phonelight.cone.inner 0.0 +ped.phonelight.cone.outer 90.0 + +//Adaptive DOF - PC/NG Only +adaptivedof.range.verynear 10 +adaptivedof.range.near 40 +adaptivedof.range.mid 2000 +adaptivedof.range.far 6000 +adaptivedof.range.veryfar 20000 + +adaptivedof.day.verynear.nearout -0.5 +adaptivedof.day.verynear.nearin 1.0 +adaptivedof.day.verynear.farin -10.0 +adaptivedof.day.verynear.farout 300.0 + +adaptivedof.day.near.nearout -1.0 +adaptivedof.day.near.nearin 2.0 +adaptivedof.day.near.farin -800.0 +adaptivedof.day.near.farout 8000.0 + +adaptivedof.day.mid.nearout -2.0 +adaptivedof.day.mid.nearin 2.5 +adaptivedof.day.mid.farin -1000.0 +adaptivedof.day.mid.farout 25000.0 + +adaptivedof.day.far.nearout 0.0 +adaptivedof.day.far.nearin 4.0 +adaptivedof.day.far.farin 5000.0 +adaptivedof.day.far.farout 25000.0 + +adaptivedof.day.veryfar.nearout -6.0 +adaptivedof.day.veryfar.nearin 15.5 +adaptivedof.day.veryfar.farin 13000.0 +adaptivedof.day.veryfar.farout 25000.0 + +adaptivedof.night.verynear.nearout -0.5 +adaptivedof.night.verynear.nearin 1.05 +adaptivedof.night.verynear.farin -25.0 +adaptivedof.night.verynear.farout 300.0 + +adaptivedof.night.near.nearout -1.0 +adaptivedof.night.near.nearin 1.0 +adaptivedof.night.near.farin -200.0 +adaptivedof.night.near.farout 2500.0 + +adaptivedof.night.mid.nearout -0.5 +adaptivedof.night.mid.nearin 2.0 +adaptivedof.night.mid.farin -1000.0 +adaptivedof.night.mid.farout 15000.0 + +adaptivedof.night.far.nearout 0.0 +adaptivedof.night.far.nearin 4.0 +adaptivedof.night.far.farin 5000.0 +adaptivedof.night.far.farout 25000.0 + +adaptivedof.night.veryfar.nearout 0.0 +adaptivedof.night.veryfar.nearin 15.5 +adaptivedof.night.veryfar.farin 10000.0 +adaptivedof.night.veryfar.farout 25000.0 + +adaptivedof.missedrayvalue 10000 +adaptivedof.gridsize 15 +adaptivedof.gridscalex 0.3 +adaptivedof.gridscaley 0.5 +adaptivedof.gridscalexincover 0.1 + +adaptivedof.gridscaleyincover 0.2 +adaptivedof.gridscalexaiming 0.01 +adaptivedof.gridscaleyaiming 0.01 +adaptivedof.gridscalexrungun 0.02 +adaptivedof.gridscaleyrungun 0.03 +adaptivedof.smoothtime 0.85 +adaptivedof.nearplayeradjust 5.5f + +adaptivedof.meleefocal.nearout 1.0 +adaptivedof.meleefocal.nearin 1.0 +adaptivedof.meleefocal.farin 1.0 +adaptivedof.meleefocal.farout 1.0 + +adaptivedof.aimingfocal.nearout 1.0 +adaptivedof.aimingfocal.nearin 1.0 +adaptivedof.aimingfocal.farin 1.0 +adaptivedof.aimingfocal.farout 1.0 + +adaptivedof.rungunfocal.nearout 1.0 +adaptivedof.rungunfocal.nearin 1.0 +adaptivedof.rungunfocal.farin 1.0 +adaptivedof.rungunfocal.farout 1.0 + +adaptivedof.incoverfocal.nearout 1.0 +adaptivedof.incoverfocal.nearin 1.0 +adaptivedof.incoverfocal.farin 1.0 +adaptivedof.incoverfocal.farout 1.0 + +adaptivedof.exposureDay -2.0 +adaptivedof.exposureNight 1.0 + +adaptivedof.exposureMin -2.5 +adaptivedof.exposureMax 2.5 + +bokeh.brightnessThresholdMin 4.0 +bokeh.brightnessThresholdMax 3.0 +bokeh.brightnessExposureMin -3.0 +bokeh.brightnessExposureMax 1.0 +bokeh.cocThreshold 0.1 +bokeh.fadeRangeMin 1.320 +bokeh.fadeRangeMax 0.05 +bokeh.sizeMultiplier 2.3 +bokeh.globalAlpha 1.0 +bokeh.alphaCutoff 0.15 +bokeh.shapeExposureRangeMin -3.0 +bokeh.shapeExposureRangeMax 2.0 + +defaultmotionblur.enabled 1 +defaultmotionblur.strength 0.1 + +procObjects.minRadiusForHeightMap 0.4 + +// Multipiers over final shadow cascade. +fogray.fadestart 0.0 +fogray.fadeend 1.0 + +//character lens flare +lensflare.switch.length 990 +lensflare.hide.length 495 +lensflare.show.length 264 +lensflare.desaturation.boost 1.6 + +// First person motion blur +fpv.motionblur.weight0 1.0 +fpv.motionblur.weight1 0.0 +fpv.motionblur.weight2 0.8 +fpv.motionblur.weight3 1.0 +fpv.motionblur.max.velocity 32.0 \ No newline at end of file diff --git a/fxmanifest.lua b/fxmanifest.lua new file mode 100644 index 0000000..fb1d6ef --- /dev/null +++ b/fxmanifest.lua @@ -0,0 +1,32 @@ +fx_version 'cerulean' +game 'gta5' +lua54 'yes' +use_experimental_fxv2_oal 'yes' + +author 'zRxnx' +description 'Advanced personal menu system' +version '1.0.0' + +shared_scripts { + '@ox_lib/init.lua', + 'configuration/*.lua', + 'shared/*.lua' +} + +client_scripts { + 'client/*.lua' +} + +server_scripts { + '@oxmysql/lib/MySQL.lua', + 'server/*.lua' +} + +files { + 'files/**' +} + +dependencies { + 'es_extended', + 'ox_lib' +} \ No newline at end of file diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..01d0369 --- /dev/null +++ b/readme.md @@ -0,0 +1,31 @@ +# zRxnx's Advanced Personal Menu System + +This is an advanced personal menu system for fivem + +Features: +- Informations (RP Infos, Licenses, ...) +- Settings (FPS Booster, Graphicmod) +- Vehicles (Engine, Extra, Livery, Lights, Windows, Doors) +- Bills (View, Pay) +- Company (Society Infos, Hire, Fire, Promote, Derank) +- Navigator (with Blips, multiple destination support) +- Server Information (Links, ...) +- Detailed config +- Fancy discord log +- Update checker +- 0.0 ms on idle +- 0.0 ms while in use + +## Requirements +- es_extended +- ox_lib +- esx_addonaccount (optional; for company) + +## Preview +- Discord log: https://prnt.sc/fTfRhk3RmK80 +- Main menu: https://prnt.sc/KaZtNKv9D8-G + +## Installation +- Download script +- Put script in your `resources` directory +- Add `ensure zrx_repairkit` in your `server.cfg` \ No newline at end of file diff --git a/server/functions.lua b/server/functions.lua new file mode 100644 index 0000000..0250b0b --- /dev/null +++ b/server/functions.lua @@ -0,0 +1,155 @@ +Player = { + hire = function(xPlayer, yTarget) + local xJob = xPlayer.getJob() + local yJob = yTarget.getJob() + + if xJob.grade_name ~= 'boss' then + return + elseif xJob.name == yJob.name then + Config.Notification(xPlayer.source, (Strings.company_hire_already):format(yTarget.getName())) + return + else + yTarget.setJob(xJob.name, 0) + + Config.Notification(xPlayer.source, (Strings.company_you_hired):format(yTarget.getName())) + Config.Notification(yTarget.source, (Strings.company_by_hired):format(xPlayer.getName())) + DiscordLog(xPlayer.source, 'HIRE', ('Player %s (%s) hired %s (%s) for (%s)'):format(GetPlayerName(xPlayer.source), xPlayer.source, GetPlayerName(yTarget.source), yTarget.source, xJob.name:upper())) + end + end, + + fire = function(xPlayer, yTarget) + local xJob = xPlayer.getJob() + local yJob = yTarget.getJob() + + if xJob.grade_name ~= 'boss' then + return + elseif xJob.name == yJob.name then + yTarget.setJob(Config.Company.job, 0) + + Config.Notification(xPlayer.source, (Strings.company_you_fired):format(yTarget.getName())) + Config.Notification(yTarget.source, (Strings.company_by_fired):format(xPlayer.getName())) + DiscordLog(xPlayer.source, 'FIRE', ('Player %s (%s) fired %s (%s) from (%s)'):format(GetPlayerName(xPlayer.source), xPlayer.source, GetPlayerName(yTarget.source), yTarget.source, xJob.name:upper())) + end + end, + + promote = function(xPlayer, yTarget) + local xJob = xPlayer.getJob() + local yJob = yTarget.getJob() + + if xJob.grade_name ~= 'boss' then + return + elseif xJob.name == yJob.name then + local grade = yJob.grade + 1 + + if ESX.DoesJobExist(xJob.name, grade) then + yTarget.setJob(xJob.name, grade) + + Config.Notification(xPlayer.source, (Strings.company_you_promote):format(yTarget.getName(), yJob.grade_label, grade)) + Config.Notification(yTarget.source, (Strings.company_by_promote):format(xPlayer.getName(), yJob.grade_label, grade)) + DiscordLog(xPlayer.source, 'PROMOTE', ('Player %s (%s) promoted %s (%s) to (%s - %s)'):format(GetPlayerName(xPlayer.source), xPlayer.source, GetPlayerName(yTarget.source), yTarget.source, xJob.name:upper(), grade)) + else + Config.Notification(xPlayer.source, Strings.company_higher) + end + end + end, + + derank = function(xPlayer, yTarget) + local xJob = xPlayer.getJob() + local yJob = yTarget.getJob() + + if xJob.grade_name ~= 'boss' then + return + elseif xJob.name == yJob.name then + local grade = yJob.grade - 1 + + if ESX.DoesJobExist(xJob.name, grade) then + yTarget.setJob(xJob.name, grade) + + Config.Notification(xPlayer.source, (Strings.company_you_derank):format(yTarget.getName(), yJob.grade_label, grade)) + Config.Notification(yTarget.source, (Strings.company_by_derank):format(xPlayer.getName(), yJob.grade_label, grade)) + DiscordLog(xPlayer.source, 'DERANK', ('Player %s (%s) deranked %s (%s) to (%s - %s)'):format(GetPlayerName(xPlayer.source), xPlayer.source, GetPlayerName(yTarget.source), yTarget.source, xJob.name:upper(), grade)) + else + Config.Notification(xPlayer.source, Strings.company_lower) + end + end + end +} + +GetPlayerData = function(player) + local name = GetPlayerName(player) or 'NOT FOUND' + local hwid = GetPlayerToken(player, 0) or 'NOT FOUND' + local ping = GetPlayerPing(player) or 'NOT FOUND' + local guid = GetPlayerGuid(player) or 'NOT FOUND' + local steam = 'NOT FOUND' + local license = 'NOT FOUND' + local discord = 'NOT FOUND' + local xbl = 'NOT FOUND' + local liveid = 'NOT FOUND' + local ip = 'NOT FOUND' + + for _, identifier in pairs(GetPlayerIdentifiers(player)) do + if string.sub(identifier, 1, string.len('steam:')) == 'steam:' then + steam = identifier:gsub('steam:', '') + elseif string.sub(identifier, 1, string.len('license:')) == 'license:' then + license = identifier:gsub('license:', '') + elseif string.sub(identifier, 1, string.len('xbl:')) == 'xbl:' then + xbl = identifier:gsub('xbl:', '') + elseif string.sub(identifier, 1, string.len('ip:')) == 'ip:' then + ip = identifier:gsub('ip:', '') + elseif string.sub(identifier, 1, string.len('discord:')) == 'discord:' then + discord = identifier:gsub('discord:', '') + elseif string.sub(identifier, 1, string.len('live:')) == 'live:' then + liveid = identifier:gsub('live:', '') + end + end + + return { name = name, ping = ping, guid = guid, hwid = hwid, steam = steam, license = license, xbl = xbl, ip = ip, discord = discord, liveid = liveid } +end + +DiscordLog = function(player, title, message) + if WEBHOOK == '' then return end + local plyData = GetPlayerData(player) + + local embed = { + { + ['color'] = 255, + ['title'] = title, + ['description'] = string.format( + '%s\n\n' .. + '`👤` **Player**: %s\n' .. + '`#ī¸âƒŖ` **Server ID**: `%s`\n' .. + '`đŸ“ļ` **Player Ping**: `%s`\n' .. + '`📌` **Discord ID**: `%s` <@%s>\n' .. + '`👾` **Steam ID**: `%s`\n' .. + '`📀` **License ID**: `%s`\n' .. + '`đŸ’ģ` **Hardware ID**: `%s`\n' .. + '`⚙ī¸` **GUID ID**: `%s`\n' .. + '`🕹ī¸` **XBOX Live ID**: `%s`\n' .. + '`🌐` **IP**: ||%s||' + , message, plyData.name, player, plyData.ping, plyData.discord, plyData.discord, plyData.steam, plyData.license, plyData.hwid, plyData.guid, plyData.xbl, plyData.ip + ), + ['footer'] = { + ['text'] = ('Made by %s | %s'):format(GetResourceMetadata(GetCurrentResourceName(), 'author'), os.date()), + ['icon_url'] = 'https://i.imgur.com/QOjklyr.png' + }, + + ['author'] = { + ['name'] = 'zrx_personalmenu', + ['icon_url'] = 'https://i.imgur.com/QOjklyr.png' + } + } + } + + PerformHttpRequest(WEBHOOK, function(err, text, headers) end, 'POST', json.encode({ + username = 'ZRX LOGS', + embeds = embed, + avatar_url = 'https://i.imgur.com/QOjklyr.png' + }), { + ['Content-Type'] = 'application/json' + }) +end + +PunishPlayer = function(player, reason) + DiscordLog(player, 'PUNISH', reason) + DropPlayer(player, reason) +end \ No newline at end of file diff --git a/server/server.lua b/server/server.lua new file mode 100644 index 0000000..a784385 --- /dev/null +++ b/server/server.lua @@ -0,0 +1,75 @@ +ESX = Config.esxImport() +WEBHOOK = '' +WEBHOOK = Protect(WEBHOOK) + +lib.callback.register('zrx_personalmenu:server:getPlayerData', function(source) + local xPlayer = ESX.GetPlayerFromId(source) + DiscordLog(xPlayer.source, 'PLAYERDATA', ('Player %s (%s) requested their data'):format(GetPlayerName(xPlayer.source), xPlayer.source)) + + return { job = xPlayer.getJob(), name = xPlayer.getName(), bank = xPlayer.getAccount('bank').money, money = xPlayer.getAccount('money').money, black_money = xPlayer.getAccount('black_money').money, ping = GetPlayerPing(xPlayer.source) } +end) + +lib.callback.register('zrx_personalmenu:server:getPlayerBills', function(source) + local xPlayer = ESX.GetPlayerFromId(source) + local BILLS = {} + local results = MySQL.Sync.fetchAll('SELECT * FROM billing WHERE identifier = @identifier', { + ['@identifier'] = xPlayer.identifier + }) + + for k, data in pairs(results) do + BILLS[#BILLS + 1] = { + id = data.id, + label = data.label, + amount = data.amount + } + end + DiscordLog(xPlayer.source, 'PLAYERBILLS', ('Player %s (%s) requested their bills'):format(GetPlayerName(xPlayer.source), xPlayer.source)) + + return BILLS +end) + +lib.callback.register('zrx_personalmenu:server:getPlayerLicenses', function(source) + local xPlayer = ESX.GetPlayerFromId(source) + local results = MySQL.Sync.fetchAll('SELECT * FROM user_licenses WHERE owner = @owner', { + ['@owner'] = xPlayer.identifier + }) + DiscordLog(xPlayer.source, 'LICENSES', ('Player %s (%s) requested their licenses'):format(GetPlayerName(xPlayer.source), xPlayer.source)) + + return results +end) + +lib.callback.register('zrx_personalmenu:server:getSocietyMoney', function(source, job) + local money + TriggerEvent('esx_addonaccount:getSharedAccount', ('society_%s'):format(job), function(account) + money = account.money + end) + + return money or 0 +end) + +RegisterNetEvent('zrx_personalmenu:server:managePlayer', function(target, action) + action = action:lower() + if action ~= 'hire' and action ~= 'fire' and action ~= 'promote' and action ~= 'derank' then + PunishPlayer(source, 'Tried to trigger "zrx_personalmenu:server:managePlayer"') + return + elseif type(target) ~= 'number' then + PunishPlayer(source, 'Tried to trigger "zrx_personalmenu:server:managePlayer"') + return + elseif source == target then + DiscordLog(source, 'MANAGEPLAYER', ('Player %s (%s) tried to manage themself'):format(GetPlayerName(xPlayer.source), xPlayer.source)) + return + end + + local xPlayer = ESX.GetPlayerFromId(source) + local yTarget = ESX.GetPlayerFromId(target) + + if action == 'hire' then + Player.hire(xPlayer, yTarget) + elseif action == 'fire' then + Player.fire(xPlayer, yTarget) + elseif action == 'promote' then + Player.promote(xPlayer, yTarget) + elseif action == 'derank' then + Player.derank(xPlayer, yTarget) + end +end) \ No newline at end of file diff --git a/server/utility.lua b/server/utility.lua new file mode 100644 index 0000000..3f047da --- /dev/null +++ b/server/utility.lua @@ -0,0 +1,55 @@ +local curResName = GetCurrentResourceName() +local curVersion = GetResourceMetadata(curResName, 'version') +local resourceName = 'zrx_personalmenu' +local continueCheck = true + +CreateThread(function() + if curResName ~= 'zrx_personalmenu' then + resourceName = ('zrx_personalmenu (%s)'):format(curResName) + end +end) + +AddEventHandler('onResourceStart', function(res) + if res ~= curResName then return end + + while continueCheck do + PerformHttpRequest('https://github.com/zRxnx/zrx_personalmenu/releases/latest', CheckVersion, 'GET') + Wait(3600000) + end +end) + +CheckVersion = function(err, responseText, headers) + local repoVersion, repoURL = GetRepoInformations() + + if curVersion ~= repoVersion then + print(('^0[^3WARNING^0] %s is ^1NOT ^0up to date!'):format(resourceName)) + print(('^0[^3WARNING^0] Your Version: ^2%s^0'):format(curVersion)) + print(('^0[^3WARNING^0] Latest Version: ^2%s^0'):format(repoVersion)) + print(('^0[^3WARNING^0] Get the latest Version from: ^2%s^0'):format(repoURL)) + else + print(('^0[^2INFO^0] %s is up to date! (^2%s^0)'):format(resourceName, curVersion)) + continueCheck = false + end +end + +GetRepoInformations = function() + local repoVersion, repoURL + + PerformHttpRequest('https://api.github.com/repos/zRxnx/zrx_personalmenu/releases/latest', function(err, response, headers) + if err == 200 then + local data = json.decode(response) + + repoVersion = data.tag_name + repoURL = data.html_url + else + repoVersion = curVersion + repoURL = 'https://github.com/zRxnx/zrx_personalmenu' + end + end, 'GET') + + repeat + Wait(500) + until (repoVersion and repoURL) + + return repoVersion, repoURL +end \ No newline at end of file diff --git a/shared.lua/functions.lua b/shared.lua/functions.lua new file mode 100644 index 0000000..35dbcbd --- /dev/null +++ b/shared.lua/functions.lua @@ -0,0 +1,28 @@ +Protect = function(tbl) + return setmetatable({}, { + __index = tbl, + __newindex = function(t, key, value) + error("attempting to change constant " .. + tostring(key) .. " to " .. tostring(value), 2) + end + }) +end + +StringSplit = function(str, sep) + if not sep then + sep = '%s' + end + + local t, i = {}, 1 + + for str in string.gmatch(str, '([^'..sep..']+)') do + t[i] = str + i += 1 + end + + return t +end + +StartsWith = function(str, find) + return str:sub(1, #find) == find +end \ No newline at end of file