FiveM'de NPC'leri Canlandırmak: Task Yönetimi Nedir?
FiveM sunucularında 'Task' yönetimi, NPC'lerin (Non-Player Characters) sadece rastgele yürümesini değil, belirli bir senaryoya göre davranmasını sağlayan temel mekanizmadır. 2026 yılı itibarıyla, oyuncu deneyimini artırmak için statik NPC'ler yerine, çevresel faktörlere tepki veren 'akıllı' varlıklar kullanmak bir zorunluluk haline geldi.
Adım 1: Temel Task Başlatma (Client-Side)
NPC'nin bir noktaya gitmesini veya belirli bir animasyonu yapmasını sağlamak için TaskGoToEntity veya TaskStartScenarioInPlace fonksiyonlarını kullanırız. İşte temel bir örnek:
-- NPC'yi belirli bir koordinata yürütme
local ped = PlayerPedId() -- Örnek ped
local coords = vector3(123.0, -456.0, 30.0)
Citizen.CreateThread(function()
TaskGoToCoordAnyMeans(ped, coords.x, coords.y, coords.z, 1.0, 0, 0, 786603, 0xbf800000)
end)Adım 2: Çevresel Etkileşimler ve Senaryo Yönetimi
NPC'lerin sadece yürümeleri yetmez. Bir kafede oturup kahve içmeleri veya bir duvara yaslanıp sigara içmeleri, sunucunuzun 'yaşayan bir şehir' hissini pekiştirir.
SetEntityAsMissionEntity kullanarak sunucu tarafından silinmelerini engelleyin, ancak rol bittiğinde SetEntityAsNoLongerNeeded ile bellekten temizlemeyi unutmayın.Adım 3: Karmaşık Senaryolar ve Senkronizasyon
Eğer çok oyunculu bir ortamda NPC'lerin herkes için aynı anda aynı şeyi yapmasını istiyorsanız, State Bag kullanarak veriyi sunucuya taşımalısınız. Kendi başınıza bu karmaşık senaryolarla uğraşmak yerine, DxAV1 - Roleplay Paketi içerisindeki hazır NPC senaryolarını inceleyerek profesyonel bir yapının nasıl kurulduğunu görebilirsiniz.
Örnek Server.cfg Yapılandırması
NPC yoğunluğunu ve davranışlarını etkileyen temel ayarlarınızı server.cfg dosyanızda şu şekilde optimize edin:
# NPC davranış optimizasyonu
setr population_density 0.5
setr population_ped_density 0.5Citizen.Wait() kullanarak döngüleri optimize edin.Sıkça Sorulan Sorular
S: NPC'lerim neden sürekli kayboluyor?
C: SetEntityAsMissionEntity fonksiyonunu kullanmadığınızda, oyun motoru 'gereksiz' gördüğü NPC'leri otomatik olarak siler. Bunu kontrol altına almalısınız.
S: NPC'lere kendi özel animasyonlarımı nasıl eklerim?
C: TaskPlayAnim fonksiyonu ile animasyon kütüphanesini yükleyerek özel hareketler tanımlayabilirsiniz. Eğer bu süreçte zorlanıyorsanız, Developerlik Hizmeti ile profesyonel destek alabilirsiniz.
