Yardım Yang düşme şansı?

  • Konuyu açan Konuyu açan SinopLu57
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 6
  • Gösterim Gösterim 88
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

SinopLu57

Üye
Üye
Mesaj
76
Çözümler
2
Beğeni
64
Puan
699
Ticaret Puanı
0
Selam arkadaşlar, başlıktada belirttiğim gibi moblardan yang düşme şansının ayarlamaları nereden yapılıyor bilen arkadaşlar yardımcı olabilir mi?
Sorumun daha açık olması adına bir örneklendirme yapayım;
mob_drop_item.txt dosyasından, moblardan düşen itemleri nasıl düzenliyorsak aynı şekilde moblardan yangların düşme şansınıda ayarlamak istiyorum.
 
Son düzenleme:
Mobların yangı mob_proto.txt den ayarlanır gold_min gold_max stunlarından ayarlayabilirsiniz.
Cevapladığınız için teşekkürler, öncelikle belirttiğiniz ayarlamayı biliyorum fakat öğrenmek istediğim şey yangların mob lardan verdiği değer değil.
Şöyle anlatayım tekrar örnek verecek olursam bir azraili göz önünde bulunduralım, azrail ketiğimizde yere düşen yang sayısı bakınız burayı tekrar belirtmek istiyorum yang oranından değil yere düşen yang sayısından bahsediyorum bunu nereden ayarlayacağımızı merak ediyorum.

Kısa bir örnek daha verecek olursak, mob protodan bir ayar çektik diyelim azraili kestiğimizde toplamda 5k yang atacak fakat bu 5k yangı 5 parça halinde 1k 1k 1k 1k 1k atacak. İşte ben bu yere düşen 1k 1k 1k 1k 1k ayarını nereden yapabilirim diye merak ediyorum.

Son olarak yere düşen yang adetlerini nereden ayarlayabilirim. ( Lütfen bana src üzerinden demeyiniz :) )
 
Bunun için sabit veya statik bir ayar yok. Düzenlemen gereken kısım burası:

char_battle.cpp:
C++:
Genişlet Daralt Kopyala
    else if (1 == number(1, iGold10DropPct))
    {
        for (int i = 0; i < 10; ++i)
        {
            int iGold = number(GetMobTable().dwGoldMin, GetMobTable().dwGoldMax);
            iGold = iGold * CHARACTER_MANAGER::instance().GetMobGoldAmountRate(pkAttacker) / 100;
            iGold *= iGoldMultipler;

            if (iGold == 0)
            {
                continue;
            }

            if ((item = ITEM_MANAGER::instance().CreateItem(1, iGold)))
            {
                pos.x = GetX() + (number(-7, 7) * 20);
                pos.y = GetY() + (number(-7, 7) * 20);

                item->AddToGround(GetMapIndex(), pos);
                item->StartDestroyEvent();

                iTotalGold += iGold; 
            }
        }
    }
 
Bunun için sabit veya statik bir ayar yok. Düzenlemen gereken kısım burası:

char_battle.cpp:
C++:
Genişlet Daralt Kopyala
    else if (1 == number(1, iGold10DropPct))
    {
        for (int i = 0; i < 10; ++i)
        {
            int iGold = number(GetMobTable().dwGoldMin, GetMobTable().dwGoldMax);
            iGold = iGold * CHARACTER_MANAGER::instance().GetMobGoldAmountRate(pkAttacker) / 100;
            iGold *= iGoldMultipler;

            if (iGold == 0)
            {
                continue;
            }

            if ((item = ITEM_MANAGER::instance().CreateItem(1, iGold)))
            {
                pos.x = GetX() + (number(-7, 7) * 20);
                pos.y = GetY() + (number(-7, 7) * 20);

                item->AddToGround(GetMapIndex(), pos);
                item->StartDestroyEvent();

                iTotalGold += iGold;
            }
        }
    }
Cevap için teşekkür ederim, cevaba hitaben birşey daha sorayım.
Buradaki fonksiyonu iptal edersek mobdrop txt dosyasına eklediğim yang ve mob proto düzenlemesiyle istediğim düşürme potansiyeline erişebilirmiyim?
 
yang patlamasını şurdaki değerleri 0 yaparak kapatabiliyoruz ;
constants.cpp:
Genişlet Daralt Kopyala
const TMobRankStat MobRankStats[MOB_RANK_MAX_NUM] =
/* { int         iGoldPercent; } */
{
    {  20,  }, // MOB_RANK_PAWN,
    {  20,  }, // MOB_RANK_S_PAWN,
    {  25,  }, // MOB_RANK_KNIGHT,
    {  30,  }, // MOB_RANK_S_KNIGHT,
    {  50,  }, // MOB_RANK_BOSS,
    { 100,  }  // MOB_RANK_KING,
};

burdaki değerleri arttırıp bir dene. (Bende tam bilmiyorum sadece tahmin yürüttüm)
 
Üst