Files
wnsrc/lua/tfa/modules/cl_tfa_vgui.lua
lifestorm 94063e4369 Upload
2024-08-04 22:55:00 +03:00

897 lines
34 KiB
Lua

--[[
| This file was obtained through the combined efforts
| of Madbluntz & Plymouth Antiquarian Society.
|
| Credits: lifestorm, Gregory Wayne Rossel JR.,
| Maloy, DrPepper10 @ RIP, Atle!
|
| Visit for more: https://plymouth.thetwilightzone.ru/
--]]
-- Copyright (c) 2018-2020 TFA Base Devs
-- Permission is hereby granted, free of charge, to any person obtaining a copy
-- of this software and associated documentation files (the "Software"), to deal
-- in the Software without restriction, including without limitation the rights
-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-- copies of the Software, and to permit persons to whom the Software is
-- furnished to do so, subject to the following conditions:
-- The above copyright notice and this permission notice shall be included in all
-- copies or substantial portions of the Software.
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-- SOFTWARE.
--Config GUI
local function tfaOptionServer(panel)
--Here are whatever default categories you want.
local tfaOptionSV = {
Options = {},
CVars = {},
MenuButton = "1",
Folder = "tfa_base_server"
}
tfaOptionSV.Options["#preset.default"] = {
sv_tfa_ironsights_enabled = "1",
sv_tfa_sprint_enabled = "1",
sv_tfa_weapon_strip = "0",
sv_tfa_allow_dryfire = "1",
sv_tfa_damage_multiplier = "1",
sv_tfa_damage_multiplier_npc = "1",
sv_tfa_default_clip = "-1",
sv_tfa_arrow_lifetime = "30",
sv_tfa_force_multiplier = "1",
sv_tfa_bullet_penetration_power_mul = "1",
sv_tfa_dynamicaccuracy = "1",
sv_tfa_range_modifier = "0.5",
sv_tfa_spread_multiplier = "1",
sv_tfa_bullet_penetration = "1",
sv_tfa_bullet_ricochet = "0",
sv_tfa_bullet_doordestruction = "1",
sv_tfa_melee_doordestruction = "1",
sv_tfa_bullet_randomseed = "0",
sv_tfa_reloads_legacy = "0",
sv_tfa_fixed_crosshair = "0",
sv_tfa_cmenu = "1",
sv_tfa_penetration_hardlimit = "100",
sv_tfa_jamming = "1",
sv_tfa_jamming_mult = "1",
sv_tfa_jamming_factor = "1",
sv_tfa_jamming_factor_inc = "1",
sv_tfa_door_respawn = "-1"
}
tfaOptionSV.CVars = table.GetKeys(tfaOptionSV.Options["#preset.default"])
panel:AddControl("ComboBox", tfaOptionSV)
--These are the panel controls. Adding these means that you don't have to go into the console.
TFA.CheckBoxNet(panel, "#tfa.svsettings.dryfire", "sv_tfa_allow_dryfire")
TFA.CheckBoxNet(panel, "#tfa.svsettings.dynaccuracy", "sv_tfa_dynamicaccuracy")
TFA.CheckBoxNet(panel, "#tfa.svsettings.stripempty", "sv_tfa_weapon_strip")
TFA.CheckBoxNet(panel, "#tfa.svsettings.ironsight", "sv_tfa_ironsights_enabled")
TFA.CheckBoxNet(panel, "#tfa.svsettings.sprint", "sv_tfa_sprint_enabled")
TFA.CheckBoxNet(panel, "#tfa.svsettings.cmenu", "sv_tfa_cmenu")
TFA.CheckBoxNet(panel, "#tfa.svsettings.penetration", "sv_tfa_bullet_penetration")
TFA.CheckBoxNet(panel, "#tfa.svsettings.ricochet", "sv_tfa_bullet_ricochet")
TFA.CheckBoxNet(panel, "#tfa.svsettings.doorbust", "sv_tfa_bullet_doordestruction")
TFA.CheckBoxNet(panel, "#tfa.svsettings.doorbash", "sv_tfa_melee_doordestruction")
TFA.CheckBoxNet(panel, "#tfa.svsettings.jamming", "sv_tfa_jamming")
TFA.CheckBoxNet(panel, "#tfa.svsettings.nearlyempty", "sv_tfa_nearlyempty")
TFA.CheckBoxNet(panel, "#tfa.svsettings.legacyreloads", "sv_tfa_reloads_legacy")
TFA.CheckBoxNet(panel, "#tfa.svsettings.fixedcrosshair", "sv_tfa_fixed_crosshair")
TFA.CheckBoxNet(panel, "#tfa.svsettings.randomseed", "sv_tfa_bullet_randomseed")
panel:Help("#tfa.svsettings.randomseed_tip")
TFA.NumSliderNet(panel, "#tfa.svsettings.damagemult", "sv_tfa_damage_multiplier", 0, 10, 2)
TFA.NumSliderNet(panel, "#tfa.svsettings.damagemultnpc", "sv_tfa_damage_multiplier_npc", 0, 10, 2)
TFA.NumSliderNet(panel, "#tfa.svsettings.doorrespawntime", "sv_tfa_door_respawn", -1, 120, 0)
TFA.NumSliderNet(panel, "#tfa.svsettings.jamchance", "sv_tfa_jamming_mult", 0.01, 10, 2)
TFA.NumSliderNet(panel, "#tfa.svsettings.jamfactormult", "sv_tfa_jamming_factor", 0.01, 10, 2)
TFA.NumSliderNet(panel, "#tfa.svsettings.jamfactorinc", "sv_tfa_jamming_factor_inc", 0.01, 10, 2)
TFA.NumSliderNet(panel, "#tfa.svsettings.forcemult", "sv_tfa_force_multiplier", 0, 10, 2)
TFA.NumSliderNet(panel, "#tfa.svsettings.penpowermul", "sv_tfa_bullet_penetration_power_mul", 0, 40, 2)
TFA.NumSliderNet(panel, "#tfa.svsettings.spreadmult", "sv_tfa_spread_multiplier", 0, 10, 2)
TFA.NumSliderNet(panel, "#tfa.svsettings.penetrationlimit", "sv_tfa_penetration_hardlimit", 0, 200)
TFA.NumSliderNet(panel, "#tfa.svsettings.defaultclip", "sv_tfa_default_clip", -1, 10, 0)
TFA.NumSliderNet(panel, "#tfa.svsettings.rangemod", "sv_tfa_range_modifier", 0, 1, 3)
end
local function tfaOptionSights(panel)
--Here are whatever default categories you want.
local tfaOptionCL = {
Options = {},
CVars = {},
MenuButton = "1",
Folder = "tfa_base_sights"
}
tfaOptionCL.Options["#preset.default"] = {
cl_tfa_3dscope = "1",
cl_tfa_3dscope_overlay = "1",
cl_tfa_3dscope_quality = "0",
cl_tfa_fx_rtscopeblur_passes = "3",
cl_tfa_fx_rtscopeblur_intensity = "4",
cl_tfa_fx_rtscopeblur_mode = "1",
cl_tfa_scope_sensitivity_3d = "2",
cl_tfa_scope_sensitivity_autoscale = "1",
cl_tfa_scope_sensitivity = "100",
cl_tfa_ironsights_toggle = "0",
cl_tfa_ironsights_resight = "1",
cl_tfa_ironsights_responsive = "0",
cl_tfa_ironsights_responsive_timer = "0.175",
}
tfaOptionCL.CVars = table.GetKeys(tfaOptionCL.Options["#preset.default"])
panel:AddControl("ComboBox", tfaOptionCL)
panel:CheckBox("#tfa.sightsettings.3dscopes", "cl_tfa_3dscope")
panel:CheckBox("#tfa.sightsettings.3dscopeshadows", "cl_tfa_3dscope_overlay")
local tfaOption3DSM = {
Options = {},
CVars = {},
Label = "#tfa.sightsettings.3dsm",
MenuButton = "0",
Folder = "TFA 3D Scope Sens."
}
tfaOption3DSM.Options["#tfa.sightsettings.3dsm.nc"] = {
cl_tfa_scope_sensitivity_3d = "0"
}
tfaOption3DSM.Options["#tfa.sightsettings.3dsm.nc"] = {
cl_tfa_scope_sensitivity_3d = "0"
}
tfaOption3DSM.Options["#tfa.sightsettings.3dsm.sc"] = {
cl_tfa_scope_sensitivity_3d = "1"
}
tfaOption3DSM.Options["#tfa.sightsettings.3dsm.3d"] = {
cl_tfa_scope_sensitivity_3d = "2"
}
tfaOption3DSM.Options["#tfa.sightsettings.3dsm.rt"] = {
cl_tfa_scope_sensitivity_3d = "3"
}
tfaOption3DSM.CVars = table.GetKeys(tfaOption3DSM.Options["#tfa.sightsettings.3dsm.3d"])
panel:AddControl("ComboBox", tfaOption3DSM)
local tfaOption3DSQ = {
Options = {},
CVars = {},
Label = "#tfa.sightsettings.3dsq",
MenuButton = "0",
Folder = "TFA 3D Scope Sens."
}
tfaOption3DSQ.Options["#tfa.sightsettings.3dsq.ul"] = {
cl_tfa_3dscope_quality = "0"
}
tfaOption3DSQ.Options["#tfa.sightsettings.3dsq.hq"] = {
cl_tfa_3dscope_quality = "1"
}
tfaOption3DSQ.Options["#tfa.sightsettings.3dsq.mq"] = {
cl_tfa_3dscope_quality = "2"
}
tfaOption3DSQ.Options["#tfa.sightsettings.3dsq.lq"] = {
cl_tfa_3dscope_quality = "3"
}
tfaOption3DSQ.CVars = table.GetKeys(tfaOption3DSQ.Options["#tfa.sightsettings.3dsq.ul"])
panel:AddControl("ComboBox", tfaOption3DSQ)
local tfaOption3DSB = {
Options = {},
CVars = {},
Label = "#tfa.sightsettings.3dsb",
MenuButton = "0",
Folder = "TFA 3D Scope Blur."
}
tfaOption3DSB.Options["#tfa.sightsettings.3dsb.nb"] = {
cl_tfa_fx_rtscopeblur_mode = "0"
}
tfaOption3DSB.Options["#tfa.sightsettings.3dsb.sb"] = {
cl_tfa_fx_rtscopeblur_mode = "1"
}
tfaOption3DSB.Options["#tfa.sightsettings.3dsb.bb"] = {
cl_tfa_fx_rtscopeblur_mode = "2"
}
tfaOption3DSB.CVars = table.GetKeys(tfaOption3DSB.Options["#tfa.sightsettings.3dsb.bb"])
panel:AddControl("ComboBox", tfaOption3DSB)
panel:NumSlider("#tfa.sightsettings.rtbgblurpasses", "cl_tfa_fx_rtscopeblur_passes", 1, 5, 0)
panel:NumSlider("#tfa.sightsettings.rtbgblurintensity", "cl_tfa_fx_rtscopeblur_intensity", 0.01, 10, 2)
panel:CheckBox("#tfa.sightsettings.adstoggle", "cl_tfa_ironsights_toggle")
panel:CheckBox("#tfa.sightsettings.adsresight", "cl_tfa_ironsights_resight")
panel:CheckBox("#tfa.sightsettings.responsive", "cl_tfa_ironsights_responsive")
panel:NumSlider("#tfa.sightsettings.responsive_timer", "cl_tfa_ironsights_responsive_timer", 0.01, 2, 4)
panel:CheckBox("#tfa.sightsettings.scopesensscale", "cl_tfa_scope_sensitivity_autoscale")
panel:NumSlider("#tfa.sightsettings.scopesenspct", "cl_tfa_scope_sensitivity", 0.01, 100, 2)
end
local function tfaOptionVM(panel)
--Here are whatever default categories you want.
local tfaOptionCL = {
Options = {},
CVars = {},
MenuButton = "1",
Folder = "tfa_base_viewmodel"
}
tfaOptionCL.Options["#preset.default"] = {
cl_tfa_viewbob_animated = "0",
cl_tfa_viewbob_intensity = "1",
cl_tfa_gunbob_intensity = "1",
cl_tfa_gunbob_custom = "1",
cl_tfa_viewmodel_offset_x = "0",
cl_tfa_viewmodel_offset_y = "0",
cl_tfa_viewmodel_offset_z = "0",
cl_tfa_viewmodel_offset_fov = "0",
cl_tfa_viewmodel_flip = "0",
cl_tfa_viewmodel_centered = "0",
cl_tfa_viewmodel_nearwall = "1",
cl_tfa_laser_trails = "1"
}
tfaOptionCL.CVars = table.GetKeys(tfaOptionCL.Options["#preset.default"])
panel:AddControl("ComboBox", tfaOptionCL)
panel:CheckBox("#tfa.vmsettings.viewbobanim", "cl_tfa_viewbob_animated")
panel:NumSlider("#tfa.vmsettings.viewbobmult", "cl_tfa_viewbob_intensity", 0, 2, 2)
panel:CheckBox("#tfa.vmsettings.gunbobcustom", "cl_tfa_gunbob_custom")
panel:NumSlider("#tfa.vmsettings.gunbobmult", "cl_tfa_gunbob_intensity", 0, 2, 2)
panel:NumSlider("#tfa.vmsettings.offset.x", "cl_tfa_viewmodel_offset_x", -2, 2, 2)
panel:NumSlider("#tfa.vmsettings.offset.y", "cl_tfa_viewmodel_offset_y", -2, 2, 2)
panel:NumSlider("#tfa.vmsettings.offset.z", "cl_tfa_viewmodel_offset_z", -2, 2, 2)
panel:NumSlider("#tfa.vmsettings.offset.fov", "cl_tfa_viewmodel_offset_fov", -5, 5, 2)
panel:CheckBox("#tfa.vmsettings.centered", "cl_tfa_viewmodel_centered")
panel:CheckBox("#tfa.vmsettings.flip", "cl_tfa_viewmodel_flip")
panel:CheckBox("#tfa.vmsettings.laserdottrail", "cl_tfa_laser_trails")
panel:CheckBox("#tfa.vmsettings.nearwall", "cl_tfa_viewmodel_nearwall")
end
local function tfaOptionPerformance(panel)
--Here are whatever default categories you want.
local tfaOptionPerf = {
Options = {},
CVars = {},
MenuButton = "1",
Folder = "tfa_base_performance"
}
tfaOptionPerf.Options["#preset.default"] = {
sv_tfa_fx_penetration_decal = "1",
cl_tfa_fx_impact_enabled = "1",
cl_tfa_fx_impact_ricochet_enabled = "1",
cl_tfa_fx_impact_ricochet_sparks = "20",
cl_tfa_fx_impact_ricochet_sparklife = "2",
cl_tfa_fx_gasblur = "1",
cl_tfa_fx_muzzlesmoke = "1",
cl_tfa_fx_muzzlesmoke_limited = "1",
cl_tfa_fx_muzzleflashsmoke = "1",
cl_tfa_fx_ejectionlife = "15",
cl_tfa_legacy_shells = "0",
cl_tfa_fx_ads_dof = "0",
cl_tfa_fx_ads_dof_hd = "0"
}
tfaOptionPerf.CVars = table.GetKeys(tfaOptionPerf.Options["#preset.default"])
panel:AddControl("ComboBox", tfaOptionPerf)
panel:Help("#tfa.settings.client")
panel:CheckBox("#tfa.perfsettings.gasblur", "cl_tfa_fx_gasblur")
panel:CheckBox("#tfa.perfsettings.mzsmoke", "cl_tfa_fx_muzzleflashsmoke")
panel:CheckBox("#tfa.perfsettings.mztrail", "cl_tfa_fx_muzzlesmoke")
panel:CheckBox("#tfa.perfsettings.mztrail.limit", "cl_tfa_fx_muzzlesmoke_limited")
panel:CheckBox("#tfa.perfsettings.ejsmoke", "cl_tfa_fx_ejectionsmoke")
panel:CheckBox("#tfa.perfsettings.impactfx", "cl_tfa_fx_impact_enabled")
panel:CheckBox("#tfa.perfsettings.ricochetfx", "cl_tfa_fx_impact_ricochet_enabled")
panel:CheckBox("#tfa.perfsettings.oldshells", "cl_tfa_legacy_shells")
panel:CheckBox("#tfa.perfsettings.adsdof", "cl_tfa_fx_ads_dof")
panel:CheckBox("#tfa.perfsettings.adsdof.hd", "cl_tfa_fx_ads_dof_hd")
panel:NumSlider("#tfa.perfsettings.ejlife", "cl_tfa_fx_ejectionlife", 0, 60, 0)
panel:NumSlider("#tfa.perfsettings.ricochetspark.amount", "cl_tfa_fx_impact_ricochet_sparks", 0, 50, 0)
panel:AddControl("Slider", {
Label = "Ricochet Spark Amount",
Command = "cl_tfa_fx_impact_ricochet_sparks",
Type = "Integer",
Min = "0",
Max = "50"
})
panel:NumSlider("#tfa.perfsettings.ricochetspark.life", "cl_tfa_fx_impact_ricochet_sparklife", 0, 5, 2)
panel:Help("#tfa.settings.server")
TFA.CheckBoxNet(panel, "#tfa.perfsettings.penetrationdecal", "sv_tfa_fx_penetration_decal")
end
local function tfaOptionHUD(panel)
--Here are whatever default categories you want.
local tfaTBLOptionHUD = {
Options = {},
CVars = {},
MenuButton = "1",
Folder = "tfa_base_hud"
}
tfaTBLOptionHUD.Options["#preset.default"] = {
cl_tfa_hud_crosshair_enable_custom = "1",
cl_tfa_hud_crosshair_color_r = "225",
cl_tfa_hud_crosshair_color_g = "225",
cl_tfa_hud_crosshair_color_b = "225",
cl_tfa_hud_crosshair_color_a = "225",
cl_tfa_hud_crosshair_color_team = "1",
cl_tfa_hud_crosshair_outline_color_r = "5",
cl_tfa_hud_crosshair_outline_color_g = "5",
cl_tfa_hud_crosshair_outline_color_b = "5",
cl_tfa_hud_crosshair_outline_color_a = "225",
cl_tfa_hud_enabled = "1",
cl_tfa_hud_ammodata_fadein = "0.2",
cl_tfa_hud_hangtime = "1",
cl_tfa_hud_crosshair_length_use_pixels = "0",
cl_tfa_hud_crosshair_length = "1",
cl_tfa_hud_crosshair_width = "1",
cl_tfa_hud_crosshair_gap_scale = "1",
cl_tfa_hud_crosshair_outline_enabled = "1",
cl_tfa_hud_crosshair_outline_width = "1",
cl_tfa_hud_crosshair_dot = "0",
cl_tfa_hud_crosshair_triangular = "0",
cl_tfa_hud_crosshair_pump = "0",
cl_tfa_hud_hitmarker_enabled = "1",
cl_tfa_hud_hitmarker_3d_all = "0",
cl_tfa_hud_hitmarker_3d_shotguns = "1",
cl_tfa_hud_hitmarker_solidtime = "0.1",
cl_tfa_hud_hitmarker_fadetime = "0.3",
cl_tfa_hud_hitmarker_scale = "1",
cl_tfa_hud_hitmarker_color_r = "225",
cl_tfa_hud_hitmarker_color_g = "225",
cl_tfa_hud_hitmarker_color_b = "225",
cl_tfa_hud_hitmarker_color_a = "225",
cl_tfa_hud_scale = "1"
}
tfaTBLOptionHUD.Options["#tfa.hudpreset.cross"] = {
cl_tfa_hud_crosshair_enable_custom = "1",
cl_tfa_hud_crosshair_color_r = "255",
cl_tfa_hud_crosshair_color_g = "255",
cl_tfa_hud_crosshair_color_b = "255",
cl_tfa_hud_crosshair_color_a = "200",
cl_tfa_hud_crosshair_color_team = "1",
cl_tfa_hud_crosshair_outline_color_r = "154",
cl_tfa_hud_crosshair_outline_color_g = "152",
cl_tfa_hud_crosshair_outline_color_b = "175",
cl_tfa_hud_crosshair_outline_color_a = "255",
cl_tfa_hud_enabled = "1",
cl_tfa_hud_ammodata_fadein = "0.2",
cl_tfa_hud_hangtime = "1",
cl_tfa_hud_crosshair_length_use_pixels = "0",
cl_tfa_hud_crosshair_length = "0.75",
cl_tfa_hud_crosshair_width = "1",
cl_tfa_hud_crosshair_gap_scale = "0",
cl_tfa_hud_crosshair_outline_enabled = "1",
cl_tfa_hud_crosshair_outline_width = "1",
cl_tfa_hud_crosshair_dot = "0",
cl_tfa_hud_crosshair_triangular = "0",
cl_tfa_hud_crosshair_pump = "0",
cl_tfa_hud_hitmarker_enabled = "1",
cl_tfa_hud_hitmarker_3d_all = "0",
cl_tfa_hud_hitmarker_3d_shotguns = "1",
cl_tfa_hud_hitmarker_solidtime = "0.1",
cl_tfa_hud_hitmarker_fadetime = "0.3",
cl_tfa_hud_hitmarker_scale = "1",
cl_tfa_hud_hitmarker_color_r = "225",
cl_tfa_hud_hitmarker_color_g = "225",
cl_tfa_hud_hitmarker_color_b = "225",
cl_tfa_hud_hitmarker_color_a = "225",
cl_tfa_hud_scale = "1"
}
tfaTBLOptionHUD.Options["#tfa.hudpreset.dot"] = {
cl_tfa_hud_crosshair_enable_custom = "1",
cl_tfa_hud_crosshair_color_r = "72",
cl_tfa_hud_crosshair_color_g = "72",
cl_tfa_hud_crosshair_color_b = "72",
cl_tfa_hud_crosshair_color_a = "85",
cl_tfa_hud_crosshair_color_team = "1",
cl_tfa_hud_crosshair_outline_color_r = "225",
cl_tfa_hud_crosshair_outline_color_g = "225",
cl_tfa_hud_crosshair_outline_color_b = "225",
cl_tfa_hud_crosshair_outline_color_a = "85",
cl_tfa_hud_enabled = "1",
cl_tfa_hud_ammodata_fadein = "0.1",
cl_tfa_hud_hangtime = "0.5",
cl_tfa_hud_crosshair_length_use_pixels = "0",
cl_tfa_hud_crosshair_length = "0",
cl_tfa_hud_crosshair_width = "1",
cl_tfa_hud_crosshair_gap_scale = "0",
cl_tfa_hud_crosshair_outline_enabled = "1",
cl_tfa_hud_crosshair_outline_width = "1",
cl_tfa_hud_crosshair_dot = "0",
cl_tfa_hud_crosshair_triangular = "0",
cl_tfa_hud_crosshair_pump = "0",
cl_tfa_hud_hitmarker_enabled = "0",
cl_tfa_hud_hitmarker_3d_all = "0",
cl_tfa_hud_hitmarker_3d_shotguns = "0",
cl_tfa_hud_hitmarker_solidtime = "0.1",
cl_tfa_hud_hitmarker_fadetime = "0.3",
cl_tfa_hud_hitmarker_scale = "1",
cl_tfa_hud_hitmarker_color_r = "225",
cl_tfa_hud_hitmarker_color_g = "225",
cl_tfa_hud_hitmarker_color_b = "225",
cl_tfa_hud_hitmarker_color_a = "225",
cl_tfa_hud_scale = "1"
}
tfaTBLOptionHUD.Options["#tfa.hudpreset.rockstar"] = {
cl_tfa_hud_crosshair_enable_custom = "1",
cl_tfa_hud_crosshair_color_r = "225",
cl_tfa_hud_crosshair_color_g = "225",
cl_tfa_hud_crosshair_color_b = "225",
cl_tfa_hud_crosshair_color_a = "85",
cl_tfa_hud_crosshair_color_team = "1",
cl_tfa_hud_crosshair_outline_color_r = "30",
cl_tfa_hud_crosshair_outline_color_g = "30",
cl_tfa_hud_crosshair_outline_color_b = "30",
cl_tfa_hud_crosshair_outline_color_a = "85",
cl_tfa_hud_enabled = "1",
cl_tfa_hud_ammodata_fadein = "0.1",
cl_tfa_hud_hangtime = "0.5",
cl_tfa_hud_crosshair_length_use_pixels = "0",
cl_tfa_hud_crosshair_length = "0",
cl_tfa_hud_crosshair_width = "2",
cl_tfa_hud_crosshair_gap_scale = "0",
cl_tfa_hud_crosshair_outline_enabled = "1",
cl_tfa_hud_crosshair_outline_width = "1",
cl_tfa_hud_crosshair_dot = "0",
cl_tfa_hud_crosshair_triangular = "0",
cl_tfa_hud_crosshair_pump = "0",
cl_tfa_hud_hitmarker_enabled = "1",
cl_tfa_hud_hitmarker_3d_all = "0",
cl_tfa_hud_hitmarker_3d_shotguns = "0",
cl_tfa_hud_hitmarker_solidtime = "0.1",
cl_tfa_hud_hitmarker_fadetime = "0.3",
cl_tfa_hud_hitmarker_scale = "1",
cl_tfa_hud_hitmarker_color_r = "225",
cl_tfa_hud_hitmarker_color_g = "225",
cl_tfa_hud_hitmarker_color_b = "225",
cl_tfa_hud_hitmarker_color_a = "8",
cl_tfa_hud_scale = "1"
}
tfaTBLOptionHUD.Options["#tfa.hudpreset.hl2"] = {
cl_tfa_hud_crosshair_enable_custom = "0",
cl_tfa_hud_crosshair_color_r = "255",
cl_tfa_hud_crosshair_color_g = "255",
cl_tfa_hud_crosshair_color_b = "255",
cl_tfa_hud_crosshair_color_a = "225",
cl_tfa_hud_crosshair_color_team = "1",
cl_tfa_hud_crosshair_outline_color_r = "5",
cl_tfa_hud_crosshair_outline_color_g = "5",
cl_tfa_hud_crosshair_outline_color_b = "5",
cl_tfa_hud_crosshair_outline_color_a = "0",
cl_tfa_hud_enabled = "1",
cl_tfa_hud_ammodata_fadein = "0.01",
cl_tfa_hud_hangtime = "0",
cl_tfa_hud_crosshair_length_use_pixels = "1",
cl_tfa_hud_crosshair_length = "0.5",
cl_tfa_hud_crosshair_width = "1",
cl_tfa_hud_crosshair_gap_scale = "1",
cl_tfa_hud_crosshair_outline_enabled = "0",
cl_tfa_hud_crosshair_outline_width = "0",
cl_tfa_hud_crosshair_dot = "1",
cl_tfa_hud_crosshair_triangular = "0",
cl_tfa_hud_crosshair_pump = "0",
cl_tfa_hud_hitmarker_enabled = "0",
cl_tfa_hud_hitmarker_3d_all = "0",
cl_tfa_hud_hitmarker_3d_shotguns = "0",
cl_tfa_hud_hitmarker_solidtime = "0.1",
cl_tfa_hud_hitmarker_fadetime = "0.3",
cl_tfa_hud_hitmarker_scale = "1",
cl_tfa_hud_hitmarker_color_r = "225",
cl_tfa_hud_hitmarker_color_g = "225",
cl_tfa_hud_hitmarker_color_b = "225",
cl_tfa_hud_hitmarker_color_a = "225",
cl_tfa_hud_scale = "1"
}
tfaTBLOptionHUD.Options["#tfa.hudpreset.hl2plus"] = {
cl_tfa_hud_crosshair_enable_custom = "1",
cl_tfa_hud_crosshair_color_r = "255",
cl_tfa_hud_crosshair_color_g = "255",
cl_tfa_hud_crosshair_color_b = "255",
cl_tfa_hud_crosshair_color_a = "225",
cl_tfa_hud_crosshair_color_team = "1",
cl_tfa_hud_crosshair_outline_color_r = "5",
cl_tfa_hud_crosshair_outline_color_g = "5",
cl_tfa_hud_crosshair_outline_color_b = "5",
cl_tfa_hud_crosshair_outline_color_a = "0",
cl_tfa_hud_enabled = "1",
cl_tfa_hud_ammodata_fadein = "0.2",
cl_tfa_hud_hangtime = "1",
cl_tfa_hud_crosshair_length_use_pixels = "1",
cl_tfa_hud_crosshair_length = "0.5",
cl_tfa_hud_crosshair_width = "1",
cl_tfa_hud_crosshair_gap_scale = "1",
cl_tfa_hud_crosshair_outline_enabled = "0",
cl_tfa_hud_crosshair_outline_width = "0",
cl_tfa_hud_crosshair_dot = "1",
cl_tfa_hud_crosshair_triangular = "0",
cl_tfa_hud_crosshair_pump = "0",
cl_tfa_hud_hitmarker_enabled = "1",
cl_tfa_hud_hitmarker_3d_all = "0",
cl_tfa_hud_hitmarker_3d_shotguns = "1",
cl_tfa_hud_hitmarker_solidtime = "0.1",
cl_tfa_hud_hitmarker_fadetime = "0.3",
cl_tfa_hud_hitmarker_scale = "1",
cl_tfa_hud_hitmarker_color_r = "225",
cl_tfa_hud_hitmarker_color_g = "225",
cl_tfa_hud_hitmarker_color_b = "225",
cl_tfa_hud_hitmarker_color_a = "225",
cl_tfa_hud_scale = "1"
}
tfaTBLOptionHUD.Options["#tfa.hudpreset.crysis2"] = {
cl_tfa_hud_crosshair_enable_custom = "1",
cl_tfa_hud_crosshair_color_r = "231",
cl_tfa_hud_crosshair_color_g = "255",
cl_tfa_hud_crosshair_color_b = "255",
cl_tfa_hud_crosshair_color_a = "255",
cl_tfa_hud_crosshair_color_team = "0",
cl_tfa_hud_crosshair_outline_color_r = "0",
cl_tfa_hud_crosshair_outline_color_g = "0",
cl_tfa_hud_crosshair_outline_color_b = "0",
cl_tfa_hud_crosshair_outline_color_a = "0",
cl_tfa_hud_enabled = "1",
cl_tfa_hud_ammodata_fadein = "0.2",
cl_tfa_hud_hangtime = "1",
cl_tfa_hud_crosshair_length_use_pixels = "0",
cl_tfa_hud_crosshair_length = "1",
cl_tfa_hud_crosshair_width = "2",
cl_tfa_hud_crosshair_gap_scale = "1",
cl_tfa_hud_crosshair_outline_enabled = "0",
cl_tfa_hud_crosshair_outline_width = "0",
cl_tfa_hud_crosshair_dot = "0",
cl_tfa_hud_crosshair_triangular = "1",
cl_tfa_hud_crosshair_pump = "1",
cl_tfa_hud_hitmarker_enabled = "1",
cl_tfa_hud_hitmarker_3d_all = "0",
cl_tfa_hud_hitmarker_3d_shotguns = "1",
cl_tfa_hud_hitmarker_solidtime = "0.1",
cl_tfa_hud_hitmarker_fadetime = "0.3",
cl_tfa_hud_hitmarker_scale = "1.5",
cl_tfa_hud_hitmarker_color_r = "231",
cl_tfa_hud_hitmarker_color_g = "255",
cl_tfa_hud_hitmarker_color_b = "255",
cl_tfa_hud_hitmarker_color_a = "255",
cl_tfa_hud_scale = "1"
}
tfaTBLOptionHUD.CVars = table.GetKeys(tfaTBLOptionHUD.Options["#preset.default"])
panel:AddControl("ComboBox", tfaTBLOptionHUD)
panel:CheckBox("#tfa.hudsettings.enabled", "cl_tfa_hud_enabled")
panel:NumSlider("#tfa.hudsettings.fadein", "cl_tfa_hud_ammodata_fadein", 0.01, 1, 2)
panel:NumSlider("#tfa.hudsettings.hangtime", "cl_tfa_hud_hangtime", 0, 5, 2)
panel:NumSlider("#tfa.hudsettings.scalemul", "cl_tfa_hud_scale", 0.25, 4, 3)
panel:CheckBox("#tfa.hudsettings.crosshair.enabled", "cl_tfa_hud_crosshair_enable_custom")
panel:CheckBox("#tfa.hudsettings.crosshair.dot", "cl_tfa_hud_crosshair_dot")
panel:CheckBox("#tfa.hudsettings.crosshair.triangular", "cl_tfa_hud_crosshair_triangular")
panel:CheckBox("#tfa.hudsettings.crosshair.pump", "cl_tfa_hud_crosshair_pump")
panel:NumSlider("#tfa.hudsettings.crosshair.length", "cl_tfa_hud_crosshair_length", 0, 10, 2)
panel:CheckBox("#tfa.hudsettings.crosshair.length.usepixels", "cl_tfa_hud_crosshair_length_use_pixels")
panel:NumSlider("#tfa.hudsettings.crosshair.gapscale", "cl_tfa_hud_crosshair_gap_scale", 0, 2, 2)
panel:NumSlider("#tfa.hudsettings.crosshair.width", "cl_tfa_hud_crosshair_width", 0, 3, 0)
panel:CheckBox("#tfa.hudsettings.crosshair.teamcolor", "cl_tfa_hud_crosshair_color_team")
panel:AddControl("Color", {
Label = "#tfa.hudsettings.crosshair.color",
Red = "cl_tfa_hud_crosshair_color_r",
Green = "cl_tfa_hud_crosshair_color_g",
Blue = "cl_tfa_hud_crosshair_color_b",
Alpha = "cl_tfa_hud_crosshair_color_a",
ShowHSV = 1,
ShowRGB = 1,
Multiplier = 255
})
panel:CheckBox("#tfa.hudsettings.crosshair.outline.enabled", "cl_tfa_hud_crosshair_outline_enabled")
panel:NumSlider("#tfa.hudsettings.crosshair.outline.width", "cl_tfa_hud_crosshair_outline_width", 0, 3, 0)
panel:AddControl("Color", {
Label = "#tfa.hudsettings.crosshair.outline.color",
Red = "cl_tfa_hud_crosshair_outline_color_r",
Green = "cl_tfa_hud_crosshair_outline_color_g",
Blue = "cl_tfa_hud_crosshair_outline_color_b",
Alpha = "cl_tfa_hud_crosshair_outline_color_a",
ShowHSV = 1,
ShowRGB = 1,
Multiplier = 255
})
panel:CheckBox("#tfa.hudsettings.hitmarker.enabled", "cl_tfa_hud_hitmarker_enabled")
panel:CheckBox("#tfa.hudsettings.hitmarker.3d.shotguns", "cl_tfa_hud_hitmarker_3d_shotguns")
panel:CheckBox("#tfa.hudsettings.hitmarker.3d.all", "cl_tfa_hud_hitmarker_3d_all")
panel:NumSlider("#tfa.hudsettings.hitmarker.solidtime", "cl_tfa_hud_hitmarker_solidtime", 0, 1, 2)
panel:NumSlider("#tfa.hudsettings.hitmarker.fadetime", "cl_tfa_hud_hitmarker_fadetime", 0, 1, 2)
panel:NumSlider("#tfa.hudsettings.hitmarker.scale", "cl_tfa_hud_hitmarker_scale", 0, 5, 2)
panel:AddControl("Color", {
Label = "#tfa.hudsettings.hitmarker.color",
Red = "cl_tfa_hud_hitmarker_color_r",
Green = "cl_tfa_hud_hitmarker_color_g",
Blue = "cl_tfa_hud_hitmarker_color_b",
Alpha = "cl_tfa_hud_hitmarker_color_a",
ShowHSV = 1,
ShowRGB = 1,
Multiplier = 255
})
end
local function tfaOptionDeveloper(panel)
--Here are whatever default categories you want.
local tfaOptionPerf = {
Options = {},
CVars = {},
MenuButton = "1",
Folder = "tfa_base_debug"
}
tfaOptionPerf.Options["#preset.default"] = {
["cl_tfa_debug_crosshair"] = 0,
["cl_tfa_debug_animations"] = 0,
["cl_tfa_debug_rt"] = 0,
["cl_tfa_debug_cache"] = 0
}
tfaOptionPerf.CVars = table.GetKeys(tfaOptionPerf.Options["#preset.default"])
panel:AddControl("ComboBox", tfaOptionPerf)
panel:Help("#tfa.devsettings.adminonly")
panel:CheckBox("#tfa.devsettings.debug.crosshair", "cl_tfa_debug_crosshair")
panel:CheckBox("#tfa.devsettings.debug.animations", "cl_tfa_debug_animations")
panel:CheckBox("#tfa.devsettings.debug.rtshadow", "cl_tfa_debug_rt")
panel:CheckBox("#tfa.devsettings.debug.cache", "cl_tfa_debug_cache")
end
local function tfaOptionColors(panel)
local tfaOptionCO = {
Options = {},
CVars = {},
MenuButton = "1",
Folder = "tfa_base_colors"
}
tfaOptionCO.Options["#preset.default"] = {
cl_tfa_laser_color_r = "255",
cl_tfa_laser_color_g = "0",
cl_tfa_laser_color_b = "0",
cl_tfa_reticule_color_r = "255",
cl_tfa_reticule_color_g = "100",
cl_tfa_reticule_color_b = "0"
}
tfaOptionCO.CVars = table.GetKeys(tfaOptionCO.Options["#preset.default"])
panel:AddControl("ComboBox", tfaOptionCO)
panel:AddControl("Color", {
Label = "#tfa.colorsettings.laser",
Red = "cl_tfa_laser_color_r",
Green = "cl_tfa_laser_color_g",
Blue = "cl_tfa_laser_color_b",
ShowHSV = 1,
ShowRGB = 1,
Multiplier = 255
})
panel:AddControl("Color", {
Label = "#tfa.colorsettings.reticule",
Red = "cl_tfa_reticule_color_r",
Green = "cl_tfa_reticule_color_g",
Blue = "cl_tfa_reticule_color_b",
ShowHSV = 1,
ShowRGB = 1,
Multiplier = 255
})
end
local function tfaOptionBallistics(panel)
--Here are whatever default categories you want.
local tfaOptionPerf = {
Options = {},
CVars = {},
MenuButton = "1",
Folder = "tfa_base_ballistics"
}
tfaOptionPerf.Options["#preset.default"] = {
["sv_tfa_ballistics_enabled"] = nil,
["sv_tfa_ballistics_mindist"] = -1,
["sv_tfa_ballistics_bullet_life"] = 10,
["sv_tfa_ballistics_bullet_damping_air"] = 1,
["sv_tfa_ballistics_bullet_damping_water"] = 3,
["sv_tfa_ballistics_bullet_velocity"] = 1,
["sv_tfa_ballistics_bullet_substeps"] = 3,
["sv_tfa_ballistics_custom_gravity"] = 0,
["sv_tfa_ballistics_custom_gravity_value"] = 0,
["cl_tfa_ballistics_mp"] = 1,
["cl_tfa_ballistics_fx_bullet"] = 1,
["cl_tfa_ballistics_fx_tracers_style"] = 1,
["cl_tfa_ballistics_fx_tracers_mp"] = 1,
["cl_tfa_ballistics_fx_tracers_adv"] = 1
}
tfaOptionPerf.CVars = table.GetKeys(tfaOptionPerf.Options["#preset.default"])
panel:AddControl("ComboBox", tfaOptionPerf)
panel:Help("#tfa.settings.server")
TFA.CheckBoxNet(panel, "#tfa.ballisticsettings.enabled", "sv_tfa_ballistics_enabled")
TFA.NumSliderNet(panel, "#tfa.ballisticsettings.mindist", "sv_tfa_ballistics_mindist", -1, 100, 0)
TFA.NumSliderNet(panel, "#tfa.ballisticsettings.bullet.life", "sv_tfa_ballistics_bullet_life", 0, 20, 2)
TFA.NumSliderNet(panel, "#tfa.ballisticsettings.bullet.damping.air", "sv_tfa_ballistics_bullet_damping_air", 0, 10, 2)
TFA.NumSliderNet(panel, "#tfa.ballisticsettings.bullet.damping.water", "sv_tfa_ballistics_bullet_damping_water", 0, 10, 2)
TFA.NumSliderNet(panel, "#tfa.ballisticsettings.bullet.velocity", "sv_tfa_ballistics_bullet_velocity", 0, 2, 3)
TFA.NumSliderNet(panel, "#tfa.ballisticsettings.substeps", "sv_tfa_ballistics_substeps", 1, 5, 0)
TFA.CheckBoxNet(panel, "#tfa.ballisticsettings.customgravity", "sv_tfa_ballistics_custom_gravity")
TFA.CheckBoxNet(panel, "#tfa.ballisticsettings.customgravityvalue", "sv_tfa_ballistics_custom_gravity_value")
panel:Help("#tfa.settings.client")
panel:CheckBox("#tfa.ballisticsettings.fx.bullet", "cl_tfa_ballistics_fx_bullet")
panel:CheckBox("#tfa.ballisticsettings.fx.hq", "cl_tfa_ballistics_fx_tracers_adv")
panel:CheckBox("#tfa.ballisticsettings.fx.mp", "cl_tfa_ballistics_mp")
panel:CheckBox("#tfa.ballisticsettings.fx.mptracer", "cl_tfa_ballistics_fx_tracers_mp")
local tfaOptionTracerStyle = {
Options = {},
CVars = {"cl_tfa_ballistics_fx_tracers_style"},
Label = "#tfa.ballisticsettings.tracer",
MenuButton = "1",
Folder = "TFASSBallTracerStyle"
}
tfaOptionTracerStyle.Options["#tfa.ballisticsettings.tracer.di"] = {
["cl_tfa_ballistics_fx_tracers_style"] = 0
}
tfaOptionTracerStyle.Options["#tfa.ballisticsettings.tracer.sm"] = {
["cl_tfa_ballistics_fx_tracers_style"] = 1
}
tfaOptionTracerStyle.Options["#tfa.ballisticsettings.tracer.re"] = {
["cl_tfa_ballistics_fx_tracers_style"] = 2
}
panel:AddControl("ComboBox", tfaOptionTracerStyle)
end
local function tfaOptionAbout(panel)
panel:Help("TFA Base [Reduxed]")
panel:Help(language.GetPhrase("tfa.about.version"):format(TFA_BASE_VERSION))
panel:Help(language.GetPhrase("tfa.about.author"):format("TheForgottenArchitect"))
panel:Help(language.GetPhrase("tfa.about.maintain"):format("YuRaNnNzZZ", "DBotThePony"))
panel:Help("")
panel:Help("#tfa.about.changelog.label")
local btnGitLabChangelog = panel:Button("#tfa.about.changelog.btn.gitlab")
btnGitLabChangelog.DoClick = function()
gui.OpenURL("https://gitlab.com/tfa-devs/tfa-base/-/blob/master/CHANGELOG.md")
end
local btnSteamChangeNotes = panel:Button("#tfa.about.changelog.btn.steam")
btnSteamChangeNotes.DoClick = function()
gui.OpenURL("https://steamcommunity.com/sharedfiles/filedetails/changelog/415143062")
end
panel:Help("")
panel:Help("#tfa.about.help.label")
local btnGitLabIssues = panel:Button("#tfa.about.help.btn.gitlab")
btnGitLabIssues.DoClick = function()
gui.OpenURL("https://gitlab.com/tfa-devs/tfa-base/-/issues")
end
local btnDiscordHelp = panel:Button("#tfa.about.help.btn.discord")
btnDiscordHelp.DoClick = function()
gui.OpenURL("https://discord.gg/U38pBcP")
end
local btnSteamGroupBugReport = panel:Button("#tfa.about.help.btn.steam")
btnSteamGroupBugReport.DoClick = function()
gui.OpenURL("https://steamcommunity.com/groups/tfa-mods/discussions/2/")
end
panel:Help("")
panel:Help("#tfa.about.chat.label")
local btnChatSteam = panel:Button("#tfa.about.chat.btn.steam")
btnChatSteam.DoClick = function()
gui.OpenURL("https://steamcommunity.com/groups/tfa-mods")
end
local btnChatDiscord = panel:Button("#tfa.about.chat.btn.discord")
btnChatDiscord.DoClick = function()
gui.OpenURL("https://discord.gg/Gxqx67n")
end
panel:Help("")
panel:Help("#tfa.about.contrib.label")
local btnGitLab = panel:Button("#tfa.about.contrib.btn.gitlab")
btnGitLab.DoClick = function()
gui.OpenURL("https://gitlab.com/tfa-devs/tfa-base")
end
end
local function tfaOptionInspect(panel)
local presetTable = {
Options = {},
CVars = {},
MenuButton = "1",
Folder = "tfa_base_inspect"
}
presetTable.Options["#preset.default"] = {
cl_tfa_inspection_bokeh = "0",
cl_tfa_inspection_bokeh_radius = "0.1",
cl_tfa_inspect_hide = "0",
cl_tfa_inspect_hide_hud = "0",
cl_tfa_inspect_hide_in_screenshots = "0",
cl_tfa_inspect_newbars = "0",
cl_tfa_inspect_spreadinmoa = "0"
}
presetTable.CVars = table.GetKeys(presetTable.Options["#preset.default"])
panel:AddControl("ComboBox", presetTable)
panel:CheckBox("#tfa.inspectsettings.inspectdof.enabled", "cl_tfa_inspection_bokeh")
panel:NumSlider("#tfa.inspectsettings.inspectdof.radius", "cl_tfa_inspection_bokeh_radius", 0.01, 1, 3)
panel:CheckBox("#tfa.inspectsettings.hide", "cl_tfa_inspect_hide")
if DLib then
panel:CheckBox("#tfa.inspectsettings.hidehud", "cl_tfa_inspect_hide_hud")
end
panel:CheckBox("#tfa.inspectsettings.hideinscreenshots", "cl_tfa_inspect_hide_in_screenshots")
panel:CheckBox("#tfa.inspectsettings.newbars", "cl_tfa_inspect_newbars")
panel:CheckBox("#tfa.inspectsettings.spreadinmoa", "cl_tfa_inspect_spreadinmoa")
end
local function tfaAddOption()
spawnmenu.AddToolMenuOption("Utilities", "TFA SWEP Base Settings", "tfaOptionVM", "#tfa.smsettings.viewmodel", "", "", tfaOptionVM)
spawnmenu.AddToolMenuOption("Utilities", "TFA SWEP Base Settings", "tfaOptionSights", "#tfa.smsettings.sights", "", "", tfaOptionSights)
spawnmenu.AddToolMenuOption("Utilities", "TFA SWEP Base Settings", "tfaOptionPerformance", "#tfa.smsettings.perf", "", "", tfaOptionPerformance)
spawnmenu.AddToolMenuOption("Utilities", "TFA SWEP Base Settings", "TFASwepBaseCrosshair", "#tfa.smsettings.hud", "", "", tfaOptionHUD)
spawnmenu.AddToolMenuOption("Utilities", "TFA SWEP Base Settings", "TFASwepBaseDeveloper", "#tfa.smsettings.dev", "", "", tfaOptionDeveloper)
spawnmenu.AddToolMenuOption("Utilities", "TFA SWEP Base Settings", "TFASwepBaseColor", "#tfa.smsettings.color", "", "", tfaOptionColors)
spawnmenu.AddToolMenuOption("Utilities", "TFA SWEP Base Settings", "TFASwepBaseBallistics", "#tfa.smsettings.ballistics", "", "", tfaOptionBallistics)
spawnmenu.AddToolMenuOption("Utilities", "TFA SWEP Base Settings", "TFASwepBaseServer", "#tfa.smsettings.server", "", "", tfaOptionServer)
spawnmenu.AddToolMenuOption("Utilities", "TFA SWEP Base Settings", "TFASwepBaseAbout", "#tfa.smsettings.about", "", "", tfaOptionAbout)
spawnmenu.AddToolMenuOption("Utilities", "TFA SWEP Base Settings", "TFASwepBaseInspect", "#tfa.smsettings.inspect", "", "", tfaOptionInspect)
end
hook.Add("PopulateToolMenu", "tfaAddOption", tfaAddOption)