FiveM'de NPC Optimizasyonu ve Akıllı AI Yönetimi
2026 standartlarında bir FiveM sunucusu, sadece yüksek FPS değil, aynı zamanda yaşayan bir dünya sunmalıdır. Ancak yanlış yapılandırılmış NPC (Non-Player Character) sistemleri, sunucu tarafında ciddi bir resmon yüküne ve oyuncular arasında senkronizasyon sorunlarına yol açar. Bu rehberde, NPC'lerinizi nasıl daha verimli yöneteceğinizi öğreneceksiniz.
1. NPC Spawn Mantığını Anlamak
Varsayılan GTA V NPC spawn sistemi, sunucu genelinde gereksiz veri trafiği yaratır. Modern bir sunucuda, NPC'lerin sadece oyuncuların yakınında spawn olmasını sağlamak performans için kritiktir.
server.cfg dosyanızda şu ayarları kontrol ederek başlayın:
# NPC yoğunluğunu optimize edin
setr rs_max_npcs 10
setr rs_min_npcs 22. NPC Davranışlarını Lua ile Kontrol Etme
NPC'lerin anlamsızca sağa sola koşmasını engellemek için Task fonksiyonlarını kontrollü kullanmalısınız. Citizen.CreateThread yerine SetInterval veya modern ox_lib timer'larını tercih edin.
-- Örnek: NPC'nin sadece oyuncu yaklaştığında aktifleşmesi
CreateThread(function()
while true do
local playerPed = PlayerPedId()
local coords = GetEntityCoords(playerPed)
local handle, ped = FindFirstPed()
repeat
if IsPedAPlayer(ped) == false and #(coords - GetEntityCoords(ped)) < 20.0 then
-- NPC'yi dondur veya davranışını değiştir
TaskWanderStandard(ped, 10.0, 10)
end
until not FindNextPed(handle)
EndFindPed(handle)
Wait(5000) -- Performans için 5 saniyelik döngü
end
end)3. Neden Hazır Paket Tercih Etmelisiniz?
NPC optimizasyonu, tek başına yeterli değildir. Şehirdeki ticaret, polis sistemi ve sivil etkileşimlerin birbiriyle uyumlu olması gerekir. Eğer bu teknik detaylarla saatlerce uğraşmak yerine, her şeyi optimize edilmiş bir altyapı ile başlamak isterseniz, DxAV1 - Roleplay Paketi tam size göre. Bu paket, NPC yoğunluğundan ekonomi döngüsüne kadar her şeyi profesyonel seviyede optimize eder.
SetDriverAbility ve SetDriverAggressiveness değerlerini 0.1 ile 0.3 arasında tutmanızı öneririz.DeleteEntity kullanırken mutlaka DoesEntityExist kontrolü yapın, aksi takdirde sunucuda "ghost" entity'ler birikerek bellek sızıntılarına neden olur.Sıkça Sorulan Sorular (SSS)
- S: NPC yoğunluğunu artırmak sunucumu yavaşlatır mı?
C: Evet, kontrolsüz NPC spawn'ı hem istemci (client) hem de sunucu (server) tarafında senkronizasyon yükü oluşturur. Optimize edilmiş scriptler kullanmak şarttır.
- S: NPC'lerin birbirine çarpmasını nasıl engellerim?
C: SetPedCanRagdoll(ped, false) fonksiyonunu kullanarak NPC'lerin fiziksel çarpışma tepkilerini sınırlayabilirsiniz.
