1
0
Fork 0
forked from Simnation/Main
Main/resources/[defaultmaps]/prompt_sandy_motel/client_entitysets.lua
2025-08-05 16:33:46 +02:00

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)