80 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| -- Define IPLs for each setup
 | |
| local setups = {
 | |
|     default = {
 | |
|         'tstudio_legionsquare_ext_amphi_default', 
 | |
|         -- add more IPLs for the default setup
 | |
|     },
 | |
|     band = {
 | |
|         'tstudio_legionsquare_ext_amphi_band', 
 | |
|         -- add more IPLs for the band setup
 | |
|     },
 | |
|     dj = {
 | |
|         'tstudio_legionsquare_ext_amphi_dj', 
 | |
|         -- add more IPLs for the dj setup
 | |
|     },
 | |
|     speaker = {
 | |
|         'tstudio_legionsquare_ext_amphi_speaker', 
 | |
|         -- add more IPLs for the speaker setup
 | |
|     },
 | |
|     cinema = {
 | |
|         'tstudio_legionsquare_ext_amphi_default', 
 | |
|         'tstudio_legionsquare_ext_amphi_band', 
 | |
|         'tstudio_legionsquare_ext_amphi_dj', 
 | |
|         'tstudio_legionsquare_ext_amphi_speaker', 
 | |
|     } -- Cinema will remove all IPLs
 | |
| }
 | |
| 
 | |
| -- Function to remove IPLs from all setups
 | |
| local function removeAllIpls()
 | |
|     for _, setupIpls in pairs(setups) do
 | |
|         for _, ipl in pairs(setupIpls) do
 | |
|             RemoveIpl(ipl)
 | |
|         end
 | |
|     end
 | |
| end
 | |
| 
 | |
| -- Function to load IPLs for the selected setup
 | |
| local function loadSetupIpl(setup)
 | |
|     -- If the chosen setup is "cinema", remove all IPLs
 | |
|     if setup == "cinema" then
 | |
|         removeAllIpls()
 | |
|         print("Cinema setup chosen, all IPLs removed.")
 | |
|     else
 | |
|         -- Load IPLs for other setups
 | |
|         for _, ipl in pairs(setups[setup]) do
 | |
|             RequestIpl(ipl)
 | |
|         end
 | |
|     end
 | |
| end
 | |
| 
 | |
| -- Setup switching logic
 | |
| local currentSetup = "default" -- You can change this to "band", "dj", "speaker", or "cinema" to switch between setups.
 | |
| 
 | |
| -- Function to switch setup dynamically
 | |
| local function switchSetup(newSetup)
 | |
|     if setups[newSetup] then
 | |
|         removeAllIpls() -- Always remove all IPLs before switching
 | |
|         currentSetup = newSetup
 | |
|         loadSetupIpl(currentSetup)
 | |
|         print("Switched to setup: " .. currentSetup)
 | |
|     else
 | |
|         print("Invalid setup selected! Valid setups: default, band, dj, speaker, cinema.")
 | |
|     end
 | |
| end
 | |
| 
 | |
| -- Initialize with default setup
 | |
| Citizen.CreateThread(function()
 | |
|     -- Remove any previously loaded IPLs and load the default setup
 | |
|     removeAllIpls()
 | |
|     loadSetupIpl(currentSetup)
 | |
| end)
 | |
| 
 | |
| -- Register a command to change the setup
 | |
| RegisterCommand("changesetup", function(source, args, rawCommand)
 | |
|     local newSetup = args[1]
 | |
|     if newSetup then
 | |
|         switchSetup(newSetup)
 | |
|     else
 | |
|         print("Please specify a valid setup. Usage: /changesetup [default|band|dj|speaker|cinema]")
 | |
|     end
 | |
| end, false)
 | 
