sunucu türk sunucusu değilde ondan bilmiyorsundur. ben uzun yıllar osi de ve yabancı projelerde çalıştım. onlardan biriydi o sebeple duymamış olma ihtimalin çoook yüksek. zaten yıl 2003 milletin nebula ilah dediği yıllarda biz cüce çizip ekliyorduk.
konuya gelirsek. şimdi hali hazırda bulduğun dosyalar bizim yaptığımız animasyonlar ozamanlar anim2-3-4-5 olmadığı için anim.mul içerisinde ve verdataya gömmüştük şimdi işler çok farklı.
öncelikle mantığı ben sana anlatayım madem bu kadar yapabiliyorsun bir şekilde demek istediğimi anlarsın.
temel mekaniği anlatmam lazım ki nerede kopma yaşıyorsun bil.
olay şöyle çalışıyor
1_ bir obje ekliyoruz bu obje kullanılacak materyal ve bunun hangi kulvarda kullanılacağına karar vererek ayarlara başlıyoruz.
2_ bu objenin bir tipi olması gerekiyor kılıç vs buna göre tiledata ayarlarını yapıyoruz tipi yada layer'ı neyse ona göre layer sabitliyoruz.
3_ bu objenin hangi karakter animasyonunda tetiklenmesi gerektiğini belirlememiz gerekiyor olay burada kopuyor. sebebine gelirsek
client bir objenin erkek yada kadın animasyonu üzerine oturmasıyla ilgili hesaplamaları gumpart içerisinde bulunan obje tipi giyilebilir klasmanına göre ayırt ediyor ve diyorki eğer bu alet bir erkek tarafından giyilecekse. 50000+ obje numarası şeklinde tanıtman lazım bana. mesela resimde örneği görünen katana düz bir katana ancak ilk ve okla gösterdiğim ikinci kutu içerisinde bu katanaya ait birer animasyon ve gump bilgisi var dikkatini çektiyse.
HEX olarak C5C3 decimal değerde 50627 ye tekabul ediyor yani erkek tarafından giyilebilir bir obje olarak client'e override ettirilmiş. 627 ise onun bulunduğu obje dinamiği olarak geçiyor
tiledata animdata'da. hoş 6x clientler artık animdata kullanmıyor ama yinede olsun yazayım. normalde animdata.mul hareketli objeler için kullanılır gate ateş vs.
burada önemli olan ve anlaman gereken nokta animasyonla gump nasıl birbirlerine bağlanır. öncelikle 50627 ne demek ve nereden geliyor bu sayıyı açıklayayım.
(50000=man slots) (60000=woman slots) sayısı geriye kalan 627 ise anim.mul içerisinde bulunan slot sayısı olarak hesaplanıyor ve
627dec=273hex yapıyor ondalıktan çevirince.
bu noktadan itibaren başlıyor sende ki problemler. bizim cüce için giydirme yaptığımı numaralandırma farklı bu sebeple senin ekleyeceğin tüm eşyalardaki animasyon id ve gump numalarını test etmen gerekiyor. aşağıda bulunan örnek gibi.
şayet sen deseydin ki.. ben oturdum arkadaş tüm obje animasyonlarını ve karakter çizimlerini gittim anim2.mul içerisinde tuttum ve buna bağlı olarak bir skala çıkartmak istiyorum ozaman işler daha kolay olabilirdi. çünkü ozaman bodyconv body equipconv dosyalarını düzenleyerek direk animasyoları bindirebilirdik. onunda nasıl çalıştığını anlatayım ki aklında soru işareti kalmasın.
BODY.DEF
bu dosya ile herhangi bir animasyonu çekerek clientin açılışı esnasında bindirme yapmak kaydıyla yeniden okutabilir ve gelecek görüntüyü yeni dosyadaki yada dosyadan geleni anim.mul içerisinde hangi animasyonla çekeceğini belirleyebilirsin. eğer bir animasyon gözükmüyor ve clientler arası sürüm farkı problemi yaşıyorsan bu dosya ile herkeste farklı görünen bir atı yada karakteri herkeste ortak gözükecek bir animasyonla değiştirebilirsin.
EQUIPCONV.DEF
resmi sonra ekleyeceğim yazarken yanlış şeyi anlattığımı farkettim.
içerikte yazdığı gibi bu dosya sayesinde 4x clientler dahil olacak şekilde ileriki sürümlerde herhangi bir ekipman yada eşya animasyonunu yine boş/dolu olan bir slotu kullanarak göstertebilirsin. mesela çizimini eklediğin ancak animasyonu olmayan bir silahın var. çizimin katana gibi görünmesini istiyorsan şunu yapmalısın. o eşya hangi animasyon dosyası içerisindeyse elde gözükeceği halinin orjinalini yani katanayı en başa yazıp hangi animasyon üzerinden bindirilme yapacaksan onunda dosya numarasına denk gelen yerine koyduğun id numarasını eklemelisin. mesela;
anim3.mul içerisinde bulunan 543 id li animasyonun gump'ı var ancak animasyonu yok. gumpart içerisinde çizimi var fakat ele alınca görünmüyor. sen bunu katana olarak göstermek istiyorsan anim.mul içerisinde bulunan 273 ile başlayıp şu şekilde devam etmelisin.
237 -1 543 -1 -1 bu durumda client 543'ü kullanınca 237'yi çağırması gerektiğini bilecek.
bodyconv.def'i devamında anlatırım. şimdilik bunlar işini görecektir.
yazıyorum biryandan o yüzden sürekli güncelleyeceğim tutoyu