Yardım Yeni Eklenen Binekte Hata

Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

DizzyTR

Üye
Üye
Mesaj
10
Çözümler
1
Beğeni
3
Puan
408
Ticaret Puanı
0
Merhaba mmo altyapi filesi kullanıyorum. Sunucuya binek eklemeyi deniyorum ama hata aldım. Yardımcı olabilirseniz sevinirim.
*Oyunda mobun adı görünüyor ama kendisi yok, içinden yürüyüp geçiliyor.

Yaptıklarım :
- npc_list 'e girdi ekledim
- mob_proto 'da Kurt ( 20111 ) satırını kopyalayıp, yeni vNum ile değiştirdim + derledim
- navicata ekledim + filezilla ' da txt güncelledim
- locale_tr içine proto dosyasını koydum
- binek dosyasını ve locali pack yapıp attım + index 'e ekledim

Bu zamana kadar yaptıklarımın mobu oyunda göstermesi gerek diye biliyorum. Sorunun motlist veya msm dosyasından kaynaklandığını düşünüyorum ama ne yapacağım bilmiyorum.

(Dosyalar ekte)
 

Dosya Eklentileri

  • debug.webp
    debug.webp
    64,2 KB · Gösterim: 27
  • oyun içi görünüşü.webp
    oyun içi görünüşü.webp
    239 KB · Gösterim: 24
  • motlist.txt
    motlist.txt
    54 byte · Gösterim: 2
  • bunny_mount.msm.txt
    bunny_mount.msm.txt
    245 byte · Gösterim: 1
  • binek dosyası içeriği.webp
    binek dosyası içeriği.webp
    17,4 KB · Gösterim: 24
  • bunny_mount.rar
    bunny_mount.rar
    1,1 MB · Gösterim: 0
  • Bineği inceledim ve ymir work/npc konumunda olması gerektiğini görüyorum. O konumdaysa bir sonraki maddeye geçelim.
  • Bineğin kodu 65535'ten fazla olduğu için görünmüyor olabilir. Eski clientlerde bu şekilde ve kullanılan fileste fixlenmediyse görünmemesinin sebebi ondandır. Bu da değilse bir sonraki maddeye geçelim.
  • npc_list.txt dosyasına msm dosyasının ismi girilmemiş olabilir.
  • npc_list.txt dosyasındaki satır en alta eklendiyse ve altında bir boşluk satırı olması gerekiyor. Eğer boşluk satırı yoksa görünmeyebiliyor. Bu da değilse bir sonraki maddeye geçelim.
  • Oyun açıkken packlar kapatılmış olabilir ve bu sebepten dolayı packlar güncellenmemiş olabilir.
  • Oyunun pack isminde Türkçe harfler bulunuyor olabilir. Örneğin: "ö,ğ,ç,ü,İ,ı vb."
 
  • Bineği inceledim ve ymir work/npc konumunda olması gerektiğini görüyorum. O konumdaysa bir sonraki maddeye geçelim.
  • Bineğin kodu 65535'ten fazla olduğu için görünmüyor olabilir. Eski clientlerde bu şekilde ve kullanılan fileste fixlenmediyse görünmemesinin sebebi ondandır. Bu da değilse bir sonraki maddeye geçelim.
  • npc_list.txt dosyasına msm dosyasının ismi girilmemiş olabilir.
  • npc_list.txt dosyasındaki satır en alta eklendiyse ve altında bir boşluk satırı olması gerekiyor. Eğer boşluk satırı yoksa görünmeyebiliyor. Bu da değilse bir sonraki maddeye geçelim.
  • Oyun açıkken packlar kapatılmış olabilir ve bu sebepten dolayı packlar güncellenmemiş olabilir.
  • Oyunun pack isminde Türkçe harfler bulunuyor olabilir. Örneğin: "ö,ğ,ç,ü,İ,ı vb."

vNum 'ı 50030 seçtim ,
npc_list ve dosya yoluna dikkat ettim ,
packleri atarken client her zaman kapalı ,

Sizin videolarınızı da iyice inceledim, adım adım yaptım
 

Dosya Eklentileri

  • npclist.webp
    npclist.webp
    46,9 KB · Gösterim: 6
  • dosya yolu.webp
    dosya yolu.webp
    34,7 KB · Gösterim: 6
Debug o kadar hızlı doluyor ki en üste çıktığımı sanmıştım benim hatam

Dosya yolunu nedense npc2 olarak seçmiş , bende granny path+texture changer ile dosya yolunu buna göre ayarladım ( Ekteki dosyalar ) .
Sonuç sadece ilk hatayı giderdi ( ses hatalarını saymıyorum )

Acaba granny changerlardan kaynaklı bir versiyon sorunu mu veya direkt dosyanın kendisi 2.9.12.0 sürümde olduğu için mi dosyayı okuyamıyor ?
 

Dosya Eklentileri

  • hata1.webp
    hata1.webp
    81,5 KB · Gösterim: 4
  • hata2.webp
    hata2.webp
    52,8 KB · Gösterim: 5
Debug o kadar hızlı doluyor ki en üste çıktığımı sanmıştım benim hatam

Dosya yolunu nedense npc2 olarak seçmiş , bende granny path+texture changer ile dosya yolunu buna göre ayarladım ( Ekteki dosyalar ) .
Sonuç sadece ilk hatayı giderdi ( ses hatalarını saymıyorum )

Acaba granny changerlardan kaynaklı bir versiyon sorunu mu veya direkt dosyanın kendisi 2.9.12.0 sürümde olduğu için mi dosyayı okuyamıyor ?
Filesin granny sürümü kaç?
 
Debug o kadar hızlı doluyor ki en üste çıktığımı sanmıştım benim hatam

Dosya yolunu nedense npc2 olarak seçmiş , bende granny path+texture changer ile dosya yolunu buna göre ayarladım ( Ekteki dosyalar ) .
Sonuç sadece ilk hatayı giderdi ( ses hatalarını saymıyorum )

Acaba granny changerlardan kaynaklı bir versiyon sorunu mu veya direkt dosyanın kendisi 2.9.12.0 sürümde olduğu için mi dosyayı okuyamıyor ?
Ek olarak belirtmek istedim;

C++:
Genişlet Daralt Kopyala
void __GetRaceResourcePathes (unsigned race, std::vector <std::string>& vec_stPathes)
{
    if (__IsGuildRace (race))
    {
        vec_stPathes.push_back ("d:/ymir work/guild/");
        vec_stPathes.push_back ("d:/ymir work/npc/");
        vec_stPathes.push_back ("d:/ymir work/npc2/");
        vec_stPathes.push_back ("d:/ymir work/monster/");
        vec_stPathes.push_back ("d:/ymir work/monster2/");
    }
    else if (__IsNPCRace (race))
    {
        if (race >= 30000)
        {
            vec_stPathes.push_back ("d:/ymir work/npc2/");
            vec_stPathes.push_back ("d:/ymir work/npc/");
            vec_stPathes.push_back ("d:/ymir work/monster/");
            vec_stPathes.push_back ("d:/ymir work/monster2/");
            vec_stPathes.push_back ("d:/ymir work/guild/");
        }
        else
        {
            vec_stPathes.push_back ("d:/ymir work/npc/");
            vec_stPathes.push_back ("d:/ymir work/npc2/");
            vec_stPathes.push_back ("d:/ymir work/monster/");
            vec_stPathes.push_back ("d:/ymir work/monster2/");
            vec_stPathes.push_back ("d:/ymir work/guild/");
        }
    }
    else if (8507 == race || 8510 == race)
    {
        vec_stPathes.push_back ("d:/ymir work/monster2/");
        vec_stPathes.push_back ("d:/ymir work/monster/");
        vec_stPathes.push_back ("d:/ymir work/npc/");
        vec_stPathes.push_back ("d:/ymir work/npc2/");
        vec_stPathes.push_back ("d:/ymir work/guild/");
    }
    else if (race > 8000)
    {
        vec_stPathes.push_back ("d:/ymir work/monster/");
        vec_stPathes.push_back ("d:/ymir work/monster2/");
        vec_stPathes.push_back ("d:/ymir work/npc/");
        vec_stPathes.push_back ("d:/ymir work/npc2/");
        vec_stPathes.push_back ("d:/ymir work/guild/");
    }
    else if (race > 2000)
    {
        vec_stPathes.push_back ("d:/ymir work/monster2/");
        vec_stPathes.push_back ("d:/ymir work/monster/");
        vec_stPathes.push_back ("d:/ymir work/npc/");
        vec_stPathes.push_back ("d:/ymir work/npc2/");
        vec_stPathes.push_back ("d:/ymir work/guild/");
    }
    else if (race>=1400 && race<=1700)
    {
        vec_stPathes.push_back ("d:/ymir work/monster2/");
        vec_stPathes.push_back ("d:/ymir work/monster/");
        vec_stPathes.push_back ("d:/ymir work/npc/");
        vec_stPathes.push_back ("d:/ymir work/npc2/");
        vec_stPathes.push_back ("d:/ymir work/guild/");
    }
    else
    {
        vec_stPathes.push_back ("d:/ymir work/monster/");
        vec_stPathes.push_back ("d:/ymir work/monster2/");
        vec_stPathes.push_back ("d:/ymir work/npc/");
        vec_stPathes.push_back ("d:/ymir work/npc2/");
        vec_stPathes.push_back ("d:/ymir work/guild/");
    }
    return;
}
Moblara vnum verirken bu kod bloğuna dikkat etmek gerekebilir. Dosya yolunun npc2 olarak belirlenmesi verdiğin vnum değerinin 50030 olmasıdır.

Bu yüzden şu kısım devreye girer:
C++:
Genişlet Daralt Kopyala
else if (__IsNPCRace (race)) // vnum'u 9000 üzeri olan her mob bir nevi NPC'dir. (50030) ✔
{
    if (race >= 30000) // 50030 >= 30000 ✔
    {
    vec_stPathes.push_back ("d:/ymir work/npc2/"); // o zaman ilk olarak npc2 içinde ara, yoksa diğer yollarda ara >
 
Ek olarak belirtmek istedim;

C++:
Genişlet Daralt Kopyala
void __GetRaceResourcePathes (unsigned race, std::vector <std::string>& vec_stPathes)
{
    if (__IsGuildRace (race))
    {
        vec_stPathes.push_back ("d:/ymir work/guild/");
        vec_stPathes.push_back ("d:/ymir work/npc/");
        vec_stPathes.push_back ("d:/ymir work/npc2/");
        vec_stPathes.push_back ("d:/ymir work/monster/");
        vec_stPathes.push_back ("d:/ymir work/monster2/");
    }
    else if (__IsNPCRace (race))
    {
        if (race >= 30000)
        {
            vec_stPathes.push_back ("d:/ymir work/npc2/");
            vec_stPathes.push_back ("d:/ymir work/npc/");
            vec_stPathes.push_back ("d:/ymir work/monster/");
            vec_stPathes.push_back ("d:/ymir work/monster2/");
            vec_stPathes.push_back ("d:/ymir work/guild/");
        }
        else
        {
            vec_stPathes.push_back ("d:/ymir work/npc/");
            vec_stPathes.push_back ("d:/ymir work/npc2/");
            vec_stPathes.push_back ("d:/ymir work/monster/");
            vec_stPathes.push_back ("d:/ymir work/monster2/");
            vec_stPathes.push_back ("d:/ymir work/guild/");
        }
    }
    else if (8507 == race || 8510 == race)
    {
        vec_stPathes.push_back ("d:/ymir work/monster2/");
        vec_stPathes.push_back ("d:/ymir work/monster/");
        vec_stPathes.push_back ("d:/ymir work/npc/");
        vec_stPathes.push_back ("d:/ymir work/npc2/");
        vec_stPathes.push_back ("d:/ymir work/guild/");
    }
    else if (race > 8000)
    {
        vec_stPathes.push_back ("d:/ymir work/monster/");
        vec_stPathes.push_back ("d:/ymir work/monster2/");
        vec_stPathes.push_back ("d:/ymir work/npc/");
        vec_stPathes.push_back ("d:/ymir work/npc2/");
        vec_stPathes.push_back ("d:/ymir work/guild/");
    }
    else if (race > 2000)
    {
        vec_stPathes.push_back ("d:/ymir work/monster2/");
        vec_stPathes.push_back ("d:/ymir work/monster/");
        vec_stPathes.push_back ("d:/ymir work/npc/");
        vec_stPathes.push_back ("d:/ymir work/npc2/");
        vec_stPathes.push_back ("d:/ymir work/guild/");
    }
    else if (race>=1400 && race<=1700)
    {
        vec_stPathes.push_back ("d:/ymir work/monster2/");
        vec_stPathes.push_back ("d:/ymir work/monster/");
        vec_stPathes.push_back ("d:/ymir work/npc/");
        vec_stPathes.push_back ("d:/ymir work/npc2/");
        vec_stPathes.push_back ("d:/ymir work/guild/");
    }
    else
    {
        vec_stPathes.push_back ("d:/ymir work/monster/");
        vec_stPathes.push_back ("d:/ymir work/monster2/");
        vec_stPathes.push_back ("d:/ymir work/npc/");
        vec_stPathes.push_back ("d:/ymir work/npc2/");
        vec_stPathes.push_back ("d:/ymir work/guild/");
    }
    return;
}
Moblara vnum verirken bu kod bloğuna dikkat etmek gerekebilir. Dosya yolunun npc2 olarak belirlenmesi verdiğin vnum değerinin 50030 olmasıdır.

Bu yüzden şu kısım devreye girer:
C++:
Genişlet Daralt Kopyala
else if (__IsNPCRace (race)) // vnum'u 9000 üzeri olan her mob bir nevi NPC'dir. (50030) ✔
{
    if (race >= 30000) // 50030 >= 30000 ✔
    {
    vec_stPathes.push_back ("d:/ymir work/npc2/"); // o zaman ilk olarak npc2 içinde ara, yoksa diğer yollarda ara >
Yeni bir bilgi öğrendim. Teşekkürler hocam.
 
Geri
Üst