Yardım pet hakkında

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

TheAdmin33

Ah, bu şarkıların gözü kör olsun
Geliştirici
Yardımsever Üye
Usta Üye
Editör
Mesaj
1.180
Çözümler
62
Beğeni
3.857
Puan
1.859
Ticaret Puanı
0
Bakındım bakındım ama bir türlü bulamadım,

levelli pet sisteminde petin vermiş olduğu özellikler var bunlar genelde hp,savunma,saldırı oluyor ve bunların oranı oluyor 1.6 gibi 3.8 gibi vs.

Bu oranlar tam olarak nerede karakterin özelliklerine dahil ediliyor?

örnekle sormak gerekirse diyelimki bu petin 3.5 str si var karakterin ise 100 hasarı var diyelim bu petle birlikte 103.5 vuracak ya işte bu tam olarak nerede hasara dahil ediliyor? Bunun kodu nerde?
 
Sistemi ekleyebilirsen, incelerim
Sorduğum soru elimde olan bir sistemle alakalı değil. Genel olarak ondalıklı değişkenlerle hasar arttırımını merak ettiğim için sordum.
 
Genel olarak ya affect olarak verir ya da battle.cpp / char_battle.cpp'da etkilere müdahale eder. Bilmediğim başka bir yolu varsa ben de bilgilenmiş olurum :)
 
Çözüm
biraz daha bakındım anladığım şunlar;
1) Efsunları effectle ekliyorlar

new_pet_system.cpp:
Genişlet Daralt Kopyala
    int cbonus[3] = {
        m_pkOwner->GetMaxHP(),
        m_pkOwner->GetPoint(POINT_DEF_GRADE),
        m_pkOwner->GetPoint(POINT_ATT_GRADE)
    };

    for (int i = 0; i < 3; ++i)
    {
        m_pkOwner->AddAffect(AFFECT_NEW_PET, aApplyInfo[m_dwbonuspet[i][0]].bPointType, (int)(cbonus[i] * m_dwbonuspet[i][1] / 1000), 0,  60 * 60 * 24 * 365, 0, false);
    }

2) şunu fark ettim nasıl itemlerin socket leri değişken veri tutmak için kullanılıyorsa attrvalue lerde bu amaçla kullanılabiliyormuş( ama attrtype belirlenmemesi gerekiyor) .

3) attrvalue lerde tutulan bu değişkenlerde aşağıdaki kod kullanılarak yazdırılıyor.

uitooltip.py:
Genişlet Daralt Kopyala
                self.AppendTextLine("Can: +"+pointop(str(attrSlot[0][1]))+"%", self.SPECIAL_POSITIVE_COLOR)
                self.AppendTextLine("Savunma: +"+pointop(str(attrSlot[1][1]))+"%", self.SPECIAL_POSITIVE_COLOR)
                self.AppendTextLine("Hasar: +"+pointop(str(attrSlot[2][1]))+"%", self.SPECIAL_POSITIVE_COLOR)
 
biraz daha bakındım anladığım şunlar;
1) Efsunları effectle ekliyorlar

new_pet_system.cpp:
Genişlet Daralt Kopyala
    int cbonus[3] = {
        m_pkOwner->GetMaxHP(),
        m_pkOwner->GetPoint(POINT_DEF_GRADE),
        m_pkOwner->GetPoint(POINT_ATT_GRADE)
    };

    for (int i = 0; i < 3; ++i)
    {
        m_pkOwner->AddAffect(AFFECT_NEW_PET, aApplyInfo[m_dwbonuspet[i][0]].bPointType, (int)(cbonus[i] * m_dwbonuspet[i][1] / 1000), 0,  60 * 60 * 24 * 365, 0, false);
    }

2) şunu fark ettim nasıl itemlerin socket leri değişken veri tutmak için kullanılıyorsa attrvalue lerde bu amaçla kullanılabiliyormuş( ama attrtype belirlenmemesi gerekiyor) .

3) attrvalue lerde tutulan bu değişkenlerde aşağıdaki kod kullanılarak yazdırılıyor.

uitooltip.py:
Genişlet Daralt Kopyala
                self.AppendTextLine("Can: +"+pointop(str(attrSlot[0][1]))+"%", self.SPECIAL_POSITIVE_COLOR)
                self.AppendTextLine("Savunma: +"+pointop(str(attrSlot[1][1]))+"%", self.SPECIAL_POSITIVE_COLOR)
                self.AppendTextLine("Hasar: +"+pointop(str(attrSlot[2][1]))+"%", self.SPECIAL_POSITIVE_COLOR)
Güzel okumuşsun. attrtype mutlaka belirlenmek zorundadır, yoksa hangi bonusu artırmak istediğimizi nerden bilsin. cbonus array'inde belirlenmiş görünüyor.
 
Güzel okumuşsun. attrtype mutlaka belirlenmek zorundadır, yoksa hangi bonusu artırmak istediğimizi nerden bilsin. cbonus array'inde belirlenmiş görünüyor.
ben attrtype belirlenmemesi gerekiyor derken efsunlardan bahsetmedimki yanlış anlamışsın. Efsunlardan bağımsız bir değişken veri saklamak için attrvalue kullanılabiliyor ve bunun için attrtype belirlenmemesi gerekiyor. Kısaca 2. madde de yazdığım şey pet sisteminden bağımsız bir bilgiydi.
 
Geri
Üst