navmesh
Navigasyon ağı (navigation mesh) kütüphanesi. CNavArea ile birlikte kullanılır.
Navigasyon ağı, NextBot tarafından hedefine giden yolu hesaplamak için kullanılır.
Metotlar
Bu konumu ve normali, navmesh.BeginGeneration ile harita oluşturulmadan önce kullanılan yürünebilir konumlar listesine ekler.
navmesh.BeginGeneration()
Yeni bir navmesh oluşturma işlemini başlatır.
Bu işlem oldukça kaynak yoğundur ve normal oyun sırasında kullanılması akıllıca değildir.
navmesh.ClearWalkableSeeds()
navmesh.BeginGeneration çağrılmadan önce kullanılan tüm yürünebilir konumları temizler.
Yeni bir CNavArea oluşturur.
CNavLadder navmesh.CreateNavLadder( Vector top, Vector bottom, number width, Vector dir, number maxHeightAboveTopArea = 0 )
Yeni bir CNavLadder oluşturur.
Mesafe içindeki alanların bir listesini döndürür, örneğin NextBot'lar tarafından saklanma noktaları bulmak için kullanılır.
Verilen küp sınırlarıyla çakışan CNavArea'ların bir listesini döndürür.
table navmesh.GetAllNavAreas()
Mevcut haritadaki tüm CNavArea'ların tam sayı indeksli bir tablosunu döndürür. Eğer haritanın oluşturulmuş bir navmesh'i yoksa, bu boş bir tablo döndürecektir.
table navmesh.GetBlockedAreas()
Mevcut haritadaki tüm engellenmiş CNavArea'ların bir tablosunu döndürür. Bkz. CNavArea:MarkAsBlocked.
Vector navmesh.GetEditCursorPosition()
nav_edit 1 olarak ayarlandığında düzenleme imlecinin konumunu döndürür.
Sağlanan konumda, üzerinde veya altında durulabilecek en yakın zemini bulur.
Bu fonksiyon tarafından dikkate alınması için zeminin üzerinde en az 32 birim boş alan olmalıdır, meğerki geçerli bir zemin bulunamadan 16 katman test edilmiş olsun.
CNavArea navmesh.GetMarkedArea()
Düzenleme konsol komutlarıyla kullanılmak üzere o anda işaretlenmiş olan CNavArea'yı döndürür.
CNavLadder navmesh.GetMarkedLadder()
Düzenleme konsol komutlarıyla kullanılmak üzere o anda işaretlenmiş olan CNavLadder'ı döndürür.
Bu konumda bulunan ve aynı zamanda yükseklik sınırını karşılayan Navigasyon Alanını (Nav Area) döndürür.
Bu fonksiyon, engellenmiş CNavArea'ları düzgün bir şekilde görecektir. Bkz. navmesh.GetNearestNavArea.
Verilen ID'ye göre bir CNavArea döndürür.
Bu fonksiyonu her karede çağırmaktan kaçının, çünkü dahili olarak tüm CNavArea'lar arasında bir arama yapar; bu fonksiyonu bir kez çağırın ve sonucu saklayın.
number navmesh.GetNavAreaCount()
Haritadaki toplam navigasyon alanı sayısını döndürür. Tüm navigasyon alanlarını almak istiyorsanız, bunun yerine navmesh.GetAllNavAreas kullanın çünkü navigasyon alanı ID'leri her zaman sıralı değildir.
Verilen ID'ye göre bir CNavLadder döndürür.
CNavArea navmesh.GetNearestNavArea( Vector pos, boolean anyZ = false, number maxDist = 10000, boolean checkLOS = false, boolean checkGround = true, number team = TEAM_ANY=-2 )
Verilen konuma aynı yükseklikte veya altında bulunan en yakın CNavArea'yı döndürür.
Bu fonksiyon, engellenmiş CNavArea'ları görmezden gelecektir. Engellenmiş alanları gören bir fonksiyon için navmesh.GetNavArea'ya bakın.
string navmesh.GetPlayerSpawnName()
Oyuncu doğma varlığının sınıf adını (classname) döndürür.
boolean navmesh.IsGenerating()
O anda navmesh.BeginGeneration ile yeni bir navmesh oluşturulup oluşturulmadığını belirtir.
Harita yüklenirken bir navmesh'in yüklenip yüklenmediğini belirtir, eğer yüklendiyse `true` döndürür.
navmesh.Load()
Mevcut harita için .nav dosyasından yeni bir navmesh yükler ve daha önce navmesh'te yapılan tüm değişiklikleri atar.
Bu fonksiyonu çok erken çağırmak Sunucunun çökmesine neden olur!
navmesh.Reset()
Değişiklikleri kaydetmeden haritadaki her CNavArea ve CNavLadder'ı siler.
navmesh.Save()
Navmesh'te yapılan tüm değişiklikleri .nav dosyasına kaydeder.
navmesh.SetMarkedArea( CNavArea area )
CNavArea'yı işaretli olarak ayarlar, böylece düzenleme konsol komutlarıyla kullanılabilir.
navmesh.SetMarkedLadder( CNavLadder area )
CNavLadder'ı işaretli olarak ayarlar, böylece düzenleme konsol komutlarıyla kullanılabilir.
navmesh.SetPlayerSpawnName( string spawnPointClass )
navmesh.BeginGeneration ile yeni bir navmesh oluşturmadan önce kullanılan varsayılan doğma noktası varlığının sınıf adını (classname) ayarlar.
Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord