forked from Simnation/Main
85 lines
3.3 KiB
Lua
85 lines
3.3 KiB
Lua
CreateThread(function()
|
|
-- Dispatch vollständig deaktivieren (Cops, Medic, Fire etc.)
|
|
for i = 1, 15 do
|
|
EnableDispatchService(i, false)
|
|
end
|
|
end)
|
|
|
|
CreateThread(function()
|
|
while true do
|
|
-- Stark reduzierte Fahrzeug- und Fußgängerdichte
|
|
SetPedDensityMultiplierThisFrame(0.5) -- Von 0.7 auf 0.5 reduziert
|
|
SetScenarioPedDensityMultiplierThisFrame(0.5, 0.5) -- Von 0.7 auf 0.5 reduziert
|
|
|
|
-- Verkehrsdichte auf Minimum setzen
|
|
SetVehicleDensityMultiplierThisFrame(0.01) -- Von 0.1 auf 0.01 reduziert
|
|
SetRandomVehicleDensityMultiplierThisFrame(0.01) -- Von 0.1 auf 0.01 reduziert
|
|
SetParkedVehicleDensityMultiplierThisFrame(0.0) -- Bleibt bei 0.0
|
|
|
|
-- Zusätzliche Verkehrskontrollen
|
|
SetSomeCarDensityMultiplierThisFrame(0.01) -- Neu hinzugefügt
|
|
SetParkedCarDensityPercentage(0.0) -- Neu hinzugefügt
|
|
|
|
-- Kein Wanted-Level / Polizei-Eingriffe
|
|
SetPlayerWantedLevel(PlayerId(), 0, false)
|
|
ClearPlayerWantedLevel(PlayerId())
|
|
SetDispatchCopsForPlayer(PlayerId(), false)
|
|
DisablePlayerVehicleRewards(PlayerId())
|
|
|
|
-- Kein Spawn von aggressiven Gangs & Sonderfahrzeugen
|
|
local playerPed = PlayerPedId()
|
|
local coords = GetEntityCoords(playerPed)
|
|
|
|
ClearAreaOfCops(coords.x, coords.y, coords.z, 1000.0)
|
|
|
|
-- Periodisch Fahrzeuge in der Umgebung entfernen (alle ~10 Sekunden)
|
|
if math.random(1, 100) <= 10 then
|
|
ClearAreaOfVehicles(coords.x, coords.y, coords.z, 200.0, false, false, false, false, false)
|
|
end
|
|
|
|
local peds = GetGamePool("CPed")
|
|
for _, ped in ipairs(peds) do
|
|
if DoesEntityExist(ped) and not IsPedAPlayer(ped) then
|
|
local model = GetEntityModel(ped)
|
|
if IsPedInAnyVehicle(ped, false) then
|
|
local veh = GetVehiclePedIsIn(ped, false)
|
|
local vehModel = GetEntityModel(veh)
|
|
|
|
for k, v in pairs(Config.vehModels) do
|
|
if vehModel == GetHashKey(v) then
|
|
DeleteEntity(veh)
|
|
DeleteEntity(ped)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
Wait(100) -- Von 500ms auf 100ms reduziert für häufigere Updates
|
|
end
|
|
end)
|
|
|
|
-- Neuer Thread speziell für Verkehrsmanagement
|
|
CreateThread(function()
|
|
while true do
|
|
-- Zusätzliche Verkehrsbereinigung in größeren Intervallen
|
|
local playerPed = PlayerPedId()
|
|
local coords = GetEntityCoords(playerPed)
|
|
|
|
-- Entferne Fahrzeuge, die zu weit entfernt sind
|
|
local vehicles = GetGamePool("CVehicle")
|
|
for _, vehicle in ipairs(vehicles) do
|
|
if DoesEntityExist(vehicle) and not IsPedAPlayer(GetPedInVehicleSeat(vehicle, -1)) then
|
|
local vehCoords = GetEntityCoords(vehicle)
|
|
local distance = #(coords - vehCoords)
|
|
|
|
-- Fahrzeuge löschen, die weiter als 150 Einheiten entfernt sind
|
|
if distance > 150.0 then
|
|
DeleteEntity(vehicle)
|
|
end
|
|
end
|
|
end
|
|
|
|
Wait(5000) -- Alle 5 Sekunden prüfen
|
|
end
|
|
end)
|