96 lines
		
	
	
		
			No EOL
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			No EOL
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
local function FindInterior(location)
 | 
						|
    local interior = GetInteriorAtCoords(location.x, location.y, location.z)
 | 
						|
    if interior == 0 then
 | 
						|
        return nil
 | 
						|
    end
 | 
						|
    return interior
 | 
						|
end
 | 
						|
 | 
						|
local function HandleEntitySet(entitySetName, config)
 | 
						|
    local interior = FindInterior(config.location)
 | 
						|
    
 | 
						|
    if not interior then
 | 
						|
        print("^3[EntitySet] Warning: Could not find interior for entity set '" .. entitySetName .. "' at location " .. tostring(config.location))
 | 
						|
        return
 | 
						|
    end
 | 
						|
    
 | 
						|
    -- Store interior reference in config
 | 
						|
    config.interior = interior
 | 
						|
    
 | 
						|
    -- Apply the entity set visibility based on config
 | 
						|
    if config.enabled then
 | 
						|
        ActivateInteriorEntitySet(interior, entitySetName)
 | 
						|
        print("^2[EntitySet] Enabled entity set: " .. entitySetName)
 | 
						|
    else
 | 
						|
        DeactivateInteriorEntitySet(interior, entitySetName)
 | 
						|
        print("^3[EntitySet] Disabled entity set: " .. entitySetName)
 | 
						|
    end
 | 
						|
end
 | 
						|
 | 
						|
local function InitializeEntitySets()
 | 
						|
    -- Wait a bit to ensure all interiors are loaded
 | 
						|
    Citizen.Wait(2000)
 | 
						|
    
 | 
						|
    -- Process all entity sets from config
 | 
						|
    for entitySetName, config in pairs(Config.EntitySets) do
 | 
						|
        HandleEntitySet(entitySetName, config)
 | 
						|
    end
 | 
						|
end
 | 
						|
 | 
						|
-- Initialize when resource starts
 | 
						|
Citizen.CreateThread(function()
 | 
						|
    InitializeEntitySets()
 | 
						|
end)
 | 
						|
 | 
						|
-- Export function to toggle entity set at runtime (optional)
 | 
						|
exports('ToggleEntitySet', function(entitySetName)
 | 
						|
    if not Config.EntitySets[entitySetName] then
 | 
						|
        print("^1[EntitySet] Error: Entity set '" .. entitySetName .. "' not found in config")
 | 
						|
        return false
 | 
						|
    end
 | 
						|
    
 | 
						|
    local config = Config.EntitySets[entitySetName]
 | 
						|
    config.enabled = not config.enabled
 | 
						|
    
 | 
						|
    HandleEntitySet(entitySetName, config)
 | 
						|
    
 | 
						|
    return config.enabled
 | 
						|
end)
 | 
						|
 | 
						|
-- Export function to set entity set state at runtime (optional)
 | 
						|
exports('SetEntitySetState', function(entitySetName, enabled)
 | 
						|
    if not Config.EntitySets[entitySetName] then
 | 
						|
        print("^1[EntitySet] Error: Entity set '" .. entitySetName .. "' not found in config")
 | 
						|
        return false
 | 
						|
    end
 | 
						|
    
 | 
						|
    local config = Config.EntitySets[entitySetName]
 | 
						|
    config.enabled = enabled
 | 
						|
    
 | 
						|
    HandleEntitySet(entitySetName, config)
 | 
						|
    
 | 
						|
    return config.enabled
 | 
						|
end)
 | 
						|
 | 
						|
-- Command to toggle poker entity set
 | 
						|
RegisterCommand('poker', function(source, args, rawCommand)
 | 
						|
    local config = Config.EntitySets['poker']
 | 
						|
    
 | 
						|
    if not config then
 | 
						|
        print("^1[EntitySet] Error: Poker entity set not found in config")
 | 
						|
        return
 | 
						|
    end
 | 
						|
    
 | 
						|
    -- Toggle the state
 | 
						|
    config.enabled = not config.enabled
 | 
						|
    
 | 
						|
    -- Apply the changes
 | 
						|
    HandleEntitySet('poker', config)
 | 
						|
    
 | 
						|
    -- Provide feedback
 | 
						|
    if config.enabled then
 | 
						|
        print("^2[EntitySet] Poker entity set has been ^2ENABLED^7")
 | 
						|
    else
 | 
						|
        print("^3[EntitySet] Poker entity set has been ^3DISABLED^7")
 | 
						|
    end
 | 
						|
end, false)  |