Çalışıyosa elleme...Bir yazılımcı atasözü ;

Çalışıyosa elleme...
Merhaba, karekterin görüş açısı değilmiydi o değer yaw. Ne yapcan ki artırıp. 5000 güzel değer.
10 k yaparsan eğer görüş açısı çoğalacağı için, Server aynı anda daha fazla entity bilgisini göndereceği için CPU yükü artar, packet trafiği artar, kalabalık alanlarda lag oluşabilir. İlla da artırcam diyosan 6000 yap, fazla değer yaparsan kamera açısına giren obje sayısı artar. Buda sorun yaratır. Ama src ve pack taraflı düzenlemelerle bunuda çözebilirsin. Ama en baştaki notda da dediğim gibi, çalışıyosa elleme.
Bineklerin msm isimleri protolarında olsun ve accumulation değerleri uyumlu olsun, forumlarda konular var bunla ilgiliBinekle giderken arada moblar geç yükleniyor. Bu sorunu çözmek için sordum aslında
Protoda msm isimleri mevcut. accumulation değerleri hem client hemde server tarafında mı olması gerekir ?Bineklerin msm isimleri protolarında olsun ve accumulation değerleri uyumlu olsun, forumlarda konular var bunla ilgili
Run.gr2den bakıp run.msa da düzenleme yapıp packleri kapayıp server tarafına da atarsınızProtoda msm isimleri mevcut. accumulation değerleri hem client hemde server tarafında mı olması gerekir ?
Bunun nedenini diğer arkadaşlarda söylemiş ancak kısaca açıkliyim, sunucu tarafında bulunan binek/model verilerinin istemci ile uyuşmaması durumunda konum tahmini hataları söz konusu olur ve karakterin geri teleport olması ile canavarların geç yüklenmesi hatası söz konusu olur. daha önce bu sorunu yaşayan arkadaşın konusuna bakabilirsin. Orada çözümüde mevcut. Eğer konudakileri anlamadıysan.Binekle giderken arada moblar geç yükleniyor. Bu sorunu çözmek için sordum aslında
Bu konulardaki çözümlere baktım. Birebir aynı olmasına rağmen sorun hala devam ediyor. Karakterin at üstündeki hareket hızı max 250. VİEW Range değeride 5000. Bu değerlerden kaynaklı oluyor olabilir mi ? Yada elinizde sağlam bir files varsa binek modellerini benimle paylaşabilirseniz değiştireyimBunun nedenini diğer arkadaşlarda söylemiş ancak kısaca açıkliyim, sunucu tarafında bulunan binek/model verilerinin istemci ile uyuşmaması durumunda konum tahmini hataları söz konusu olur ve karakterin geri teleport olması ile canavarların geç yüklenmesi hatası söz konusu olur. daha önce bu sorunu yaşayan arkadaşın konusuna bakabilirsin. Orada çözümüde mevcut. Eğer konudakileri anlamadıysan.
Selamlar,
Martysama v5.8 files kullanıyorum.
Aslan, savaş yaban domuzu vb. bineklerde sorun yok. Her şey olması gerektiği gibi hızlı yükleniyor.
Ancak, manni, cerberus, sülüs gibi bineklerde npc ve moblar geç yükleniyor. Bir türlü şu soruna çözüm üretemedim.
Client ve server msm dosyalarını aynı yaptım ama yine çözüm olmadı. Bu sorunu çözen varsa çözüm yolunu paylaşırsa sevinirim.
Olması gereken:
Linkleri görebilmek için giriş yap veya kayıt ol.
Geç yüklenme:
Linkleri görebilmek için giriş yap veya kayıt ol.
- Ehveniser
- Yanıt: 7
- Forum: Soru, Cevap ve Yardım
MotionDuration
Accumulation
MotionDuration 0.666666
Accumulation 0.00 -300.00 0.00
if (!ent->IsType(ENTITY_OBJECT))
{
if (DISTANCE_APPROX(ent->GetX() - m_me->GetX(), ent->GetY() - m_me->GetY()) > dwViewRange)
return;
}
Geç yüklenme problemini değil aslında, server bineğin hızıyla animasyonunun kat edeceği mesafeyi hesaplayamadığından kaynaklanıyor bu sorun. Çok basit bir çözümü var, bineğin folder column'una data'daki mobun klasör ismini yazmanız gerekmekte, lakin sadece bu da yeterli değil. Bineğin server'daki data dosyasının içerisinde run.msa dosyasının verileri doğru olmak zorunda.
Güncelleyeceğimiz değerler;
Kod:MotionDuration Accumulation
Nerden bulabilirsiniz?
GrannyViewer ile modeli yükledikten sonra run.gr2 dosyasını granny viewer içine sürükleyin. Ardından
30962 eklentisini görüntüle
Animation List sekmesine gelip buradaki animasyonun olduğu küçük resme sağ tıklıyorsunuz ve ardından "View in Detail" butonuna basıyorsunuz.
Açılan ekranda göreceğiniz değerler
granny_real32 Duration -> MotionDuration
granny_real32 LoopTranslation -> Accumulation
30963 eklentisini görüntüle
30965 eklentisini görüntüle
Bu değerler ile
Olarak güncelleyip mob_proto'daki folder kısmına doğru mobun doğru klasörünü girdiğinizde sorununuz ortadan kalkacaktır.Bash:MotionDuration 0.666666 Accumulation 0.00 -300.00 0.00
Ekstra: Konunuzda sorduğunuz soruya nazaran VIEW_RANGE değeri oyunda objeler, metin taşları, karakterler oluşurken entity'de create edildiğinde bu oluşan aktör'ün veya her neyse oyuncunun client'ine de eğer tanımlanan alan içerisindeyse oluşturma paketi yollar.
Örneğin 256, 512'de bir mob spawnlandı, siz 306, 512'deyken bu spawnlanan mobu görmeniz, mobun sizin view_range'iniz içinde olmasından kaynaklanır.
Buradaki dwViewRange değeri;C++:if (!ent->IsType(ENTITY_OBJECT)) { if (DISTANCE_APPROX(ent->GetX() - m_me->GetX(), ent->GetY() - m_me->GetY()) > dwViewRange) return; }
VIEW_RANGE + VIEW_BONUS_RANGE
olarak tanımlanır.
Bu değeri arttırmanız düşündüğünüzün aksine sunucuya bir yük bindirmekten ziyade, oyuncunun client'inde daha fazla Create çağırıp oyuncunun daha geniş bir çapta actor görmesini sağlar. Tabi bunla beraber Client'te eğer bir optimizasyonunuz yoksa Client'inizi biraz yorabilir.
