Para reducir los aviones ambientales seleccionados en FiveM, crea un recurso de cliente que llame a SetVehicleModelIsSuppressed para una lista explícita de hashes de modelos. Esto se dirige a la aparición natural de esos modelos; no es un sistema de permisos y no garantiza que otro recurso no pueda crear el mismo avión.
Prueba cada modelo en el cliente FiveM y la versión del juego actuales. El comportamiento nativo y la población ambiental pueden diferir según la ubicación y la versión. Mantén la lista de modelos pequeña y conserva una reversión.
Crea el recurso
Crear resources/[local]/ambient_aircraft_control con estos dos archivos.
fxmanifest.lua:
fx_version 'cerulean'
game 'gta5'
author 'Your name'
description 'Suppress selected ambient aircraft models'
version '1.0.0'
client_script 'client.lua'
client.lua:
local suppressedModels = {
`luxor`,
`shamal`,
`maverick`,
`frogger`,
}
CreateThread(function()
for i = 1, #suppressedModels do
SetVehicleModelIsSuppressed(suppressedModels[i], true)
end
end)
AddEventHandler('onResourceStop', function(resourceName)
if resourceName ~= GetCurrentResourceName() then
return
end
for i = 1, #suppressedModels do
SetVehicleModelIsSuppressed(suppressedModels[i], false)
end
end)
Los valores entre comillas invertidas son hashes de tiempo de compilación de CfxLua. Las formas actuales de tiempo de ejecución y manifiesto están documentadas por Cfx.re en la CfxLua y referencia del manifiesto de recursos.
Elige el alcance deliberadamente
Incluye solo los modelos que hayas observado aparecer de forma ambiental y que realmente quieras suprimir. Los nombres de ejemplo son modelos ilustrativos de aeronaves de GTA V, no una lista universal recomendada. Una misión con script, un comando de administrador o una tienda de vehículos aún pueden crear un modelo suprimido. Si el objetivo es controlar el acceso del jugador, aplícalo en el recurso autoritativo del lado del servidor que otorga o genera vehículos.
No ejecutes la función nativa en cada fotograma
El estado de supresión no requiere un bucle de retardo cero en este recurso. Aplícalo cuando el recurso se inicie y reviértelo cuando el recurso se detenga. Un bucle permanente Wait(0) añade trabajo sin demostrar un mejor comportamiento.
Prueba antes de la producción
- Haz una copia de seguridad del recurso de tráfico o población existente.
- Añadir
ensure ambient_aircraft_controlen un servidor de desarrollo. - Ejecutar
refreshyensure ambient_aircraft_control. - Observa las ubicaciones conocidas de aeronaves ambientales el tiempo suficiente para comparar las mismas condiciones antes y después.
- Genera una aeronave a través de cualquier flujo de trabajo con script aprobado para confirmar si ese uso separado debe seguir estando disponible.
- Detén el recurso y verifica que su estado de supresión se haya revertido.
Cuando la supresión no es suficiente
Si otro recurso crea aeronaves repetidamente, cambia la configuración de ese recurso o la ruta de generación autorizada por el servidor. Si necesitas cambios de densidad más amplios, trátalos como una tarea separada de gestión de población y mide los efectos secundarios en el tráfico, las misiones y otros recursos. No combines nativos de densidad no relacionados en esta pequeña corrección sin una prueba específica.