1
0
Fork 0
forked from Simnation/Main
Main/resources/[standalone]/controlled_npcs/client.lua
2025-08-12 13:16:48 +02:00

78 lines
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 moderaten Wert setzen
SetVehicleDensityMultiplierThisFrame(0.3) -- Von 0.01 auf 0.3 erhöht
SetRandomVehicleDensityMultiplierThisFrame(0.3) -- Von 0.01 auf 0.3 erhöht
SetParkedVehicleDensityMultiplierThisFrame(0.2) -- Von 0.0 auf 0.2 erhöht
-- 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)
-- Nur spezifische Fahrzeuge entfernen (Notfallfahrzeuge)
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)
-- Thread für Verkehrsmanagement
CreateThread(function()
while true do
-- Zusätzliche Verkehrsbereinigung in größeren Intervallen
local playerPed = PlayerPedId()
local coords = GetEntityCoords(playerPed)
-- Entferne nur Fahrzeuge, die sehr 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 erst bei größerer Entfernung löschen
if distance > 300.0 then
DeleteEntity(vehicle)
end
end
end
Wait(10000) -- Von 5000 auf 10000 erhöht (alle 10 Sekunden prüfen)
end
end)