mirror of
				https://github.com/chev2/gmod-addons.git
				synced 2025-10-30 06:31:35 +00:00 
			
		
		
		
	Auto-Flashlight: Add ability to customize checking frequency
This commit is contained in:
		
							parent
							
								
									6a6db8fa01
								
							
						
					
					
						commit
						8642bfcef4
					
				
					 1 changed files with 33 additions and 4 deletions
				
			
		|  | @ -15,12 +15,18 @@ language.Add( | |||
|     "The threshold for the automatic flashlight to trigger. Higher values mean the flashlight will activate in brighter areas. Default: 0.0055" | ||||
| ) | ||||
| 
 | ||||
| language.Add("spawnmenu.options.autoflashlight.cvar.frequency", "Checking Frequency") | ||||
| language.Add( | ||||
|     "spawnmenu.options.autoflashlight.cvartooltip.frequency", | ||||
|     "How often Auto-Flashlight should check to see if the player is in darkness. Default: 0.4" | ||||
| ) | ||||
| 
 | ||||
| -- | ||||
| -- ConVars, variables & functions | ||||
| -- | ||||
| local CVAR_AUTO_FLASHLIGHT_ENABLED = CreateClientConVar( | ||||
|     "cl_flashlight_auto", | ||||
|     "1", | ||||
|     1, | ||||
|     true, | ||||
|     false, | ||||
|     language.GetPhrase("#spawnmenu.options.autoflashlight.cvartooltip.enabled") | ||||
|  | @ -28,7 +34,7 @@ local CVAR_AUTO_FLASHLIGHT_ENABLED = CreateClientConVar( | |||
| 
 | ||||
| local CVAR_AUTO_FLASHLIGHT_THRESHOLD = CreateClientConVar( | ||||
|     "cl_flashlight_auto_threshold", | ||||
|     "0.0055", | ||||
|     0.0055, | ||||
|     true, | ||||
|     false, | ||||
|     language.GetPhrase("#spawnmenu.options.autoflashlight.cvartooltip.threshold"), | ||||
|  | @ -36,6 +42,16 @@ local CVAR_AUTO_FLASHLIGHT_THRESHOLD = CreateClientConVar( | |||
|     0.5 | ||||
| ) | ||||
| 
 | ||||
| local CVAR_AUTO_FLASHLIGHT_FREQUENCY = CreateClientConVar( | ||||
|     "cl_flashlight_auto_frequency", | ||||
|     0.4, | ||||
|     true, | ||||
|     false, | ||||
|     language.GetPhrase("#spawnmenu.options.autoflashlight.cvartooltip.frequency"), | ||||
|     0.05, | ||||
|     2 | ||||
| ) | ||||
| 
 | ||||
| local wasInDarkness = false | ||||
| 
 | ||||
| autoflashlight = autoflashlight or {} | ||||
|  | @ -75,7 +91,7 @@ end | |||
| -- | ||||
| -- Main calculation/execution script | ||||
| -- | ||||
| timer.Create("AutoFlashlight.DoToggle", 0.2, 0, function() | ||||
| local function AutoFlashlightDoToggle() | ||||
|     if not CVAR_AUTO_FLASHLIGHT_ENABLED:GetBool() then return end | ||||
| 
 | ||||
|     local ply = LocalPlayer() | ||||
|  | @ -119,7 +135,17 @@ timer.Create("AutoFlashlight.DoToggle", 0.2, 0, function() | |||
|     end | ||||
| 
 | ||||
|     wasInDarkness = isInDarkness | ||||
| end) | ||||
| end | ||||
| 
 | ||||
| timer.Create("AutoFlashlight.DoToggle", CVAR_AUTO_FLASHLIGHT_FREQUENCY:GetFloat(), 0, AutoFlashlightDoToggle) | ||||
| 
 | ||||
| -- Recreate timer whenever flashlight frequency setting is adjusted | ||||
| cvars.AddChangeCallback("cl_flashlight_auto_frequency", function(convar, oldVal, newVal) | ||||
|     if not tonumber(newVal) then return end | ||||
| 
 | ||||
|     timer.Create("AutoFlashlight.DoToggle", tonumber(newVal), 0, AutoFlashlightDoToggle) | ||||
|     AutoFlashlightDoToggle() | ||||
| end, "AutoFlashlight.RefreshFrequencyCVar") | ||||
| 
 | ||||
| -- | ||||
| -- Add Sandbox options menu | ||||
|  | @ -136,5 +162,8 @@ hook.Add("PopulateToolMenu", "AutoFlashlight.PopulateSpawnmenuCategory", functio | |||
| 
 | ||||
|         pnl:NumSlider("#spawnmenu.options.autoflashlight.cvar.threshold", "cl_flashlight_auto_threshold", 0, 0.5, 4) | ||||
|         pnl:ControlHelp("#spawnmenu.options.autoflashlight.cvartooltip.threshold") | ||||
| 
 | ||||
|         pnl:NumSlider("#spawnmenu.options.autoflashlight.cvar.frequency", "cl_flashlight_auto_frequency", 0.05, 2, 2) | ||||
|         pnl:ControlHelp("#spawnmenu.options.autoflashlight.cvartooltip.frequency") | ||||
|     end) | ||||
| end) | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue