Fethi Polat 1
Fethi Polat
xranzei 1
xranzei
Bvural41 1
Bvural41
kralhakan2009 1
kralhakan2009
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Vahsi Uzman 1
Vahsi Uzman
Cannn6161 1
Cannn6161
B 1
berione65
sen272 1
sen272
Mt2Hizmet 1
Mt2Hizmet
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com
Kaynak ikonu

[C++ - Python] Yeşil ve Mor Pot Rubinum Tarzı 2023-03-07

indirmek için izniniz yok
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
detayli analtırmısın acep cozumu
Sorunu farklı bi yol ile çözdüm
constinfo.py kısmındaki
def IS_AUTO_POTION(itemVnum):
return IS_AUTO_POTION_HP(itemVnum) or IS_AUTO_POTION_SP(itemVnum)
kısmına perma item kodlarını ekledim sorunu hallettim. Tooltip kısmında pottaki gibi kalan%100 kısmı içinde
uitooltip.py kısmında
Kod:
elif constInfo.IS_AUTO_POTION(itemVnum):
                if 0 != metinSlot:
                    ## 0: 활성화, 1: 사용량, 2: 총량
                    isActivated = int(metinSlot[0])
                    usedAmount = float(metinSlot[1])
                    totalAmount = float(metinSlot[2])
                   
                    if 0 == totalAmount:
                        totalAmount = 1
                   
                    self.AppendSpace(5)

                    if 0 != isActivated:
                    ############        Kendi perma item kısmımı ekledim sıkıntısız çalışıyor
                        if not constInfo.PERMA_ITEMS(itemVnum):
                            self.AppendTextLine("(%s)" % (localeInfo.TOOLTIP_AUTO_POTION_USING), self.SPECIAL_POSITIVE_COLOR)
                            self.AppendSpace(5)
                           
                            self.AppendTextLine(localeInfo.TOOLTIP_AUTO_POTION_REST % (100.0 - ((usedAmount / totalAmount) * 100.0)), self.POSITIVE_COLOR)
 
Şuanki kod ile aynı type sahip itemler birbirini blokluyor. Örneğin kritik ve delici isabetleri ve ejderha tanrıları type = AFFECT_MALL oyun içinde kritiğe bastığın zaman açılıyor deliciyi açmak istersen kritiği kapatıyor.
Ejderha tanrıları içinde aynısı geçerli. Kritik açıkken ejderha tanrısına basarsan kritiği kapatıyor
Bunun çözümü şu;

CAffect * pAffect = FindAffect(type);
if(NULL == pAffect)

kısmını bonusların üstüne değilde altına ekleyip affect'i bonus ile birlikte bulmak

CAffect * pAffect = FindAffect(type,bonus);

Kod :
Kod:
case PERMA_KRITIK:
case PERMA_DELICI:
case PERMA_TANRI_YASAM:
case PERMA_TANRI_SALDIRI:
case PERMA_TANRI_ZEKA:
case PERMA_TANRI_SAVUNMA:
{
    EAffectTypes type = AFFECT_NONE;

    if (item->GetVnum() == PERMA_KRITIK)
        type = AFFECT_MALL;

    if (item->GetVnum() == PERMA_DELICI)
        type = AFFECT_MALL;

    if (item->GetVnum() == PERMA_TANRI_YASAM)
        type = AFFECT_MALL;

    if (item->GetVnum() == PERMA_TANRI_SALDIRI)
        type = AFFECT_MALL;

    if (item->GetVnum() == PERMA_TANRI_ZEKA)
        type = AFFECT_MALL;

    if (item->GetVnum() == PERMA_TANRI_SAVUNMA)
        type = AFFECT_MALL;

    if (AFFECT_NONE == type)
        break;


    EPointTypes bonus = POINT_NONE;
    EAffectBits flag = AFF_NONE;

    if (item->GetVnum() == PERMA_KRITIK)
    {
        bonus = POINT_CRITICAL_PCT;
        // flag = 0;
    }

    if (item->GetVnum() == PERMA_DELICI)
    {
        bonus = POINT_PENETRATE_PCT;
        // flag = 0;
    }

    if (item->GetVnum() == PERMA_TANRI_YASAM)
    {
        bonus = POINT_MAX_HP_PCT;
        // flag = 0;
    }

    if (item->GetVnum() == PERMA_TANRI_SALDIRI)
    {
        bonus = POINT_ATT_BONUS;
        // flag = 0;
    }

    if (item->GetVnum() == PERMA_TANRI_ZEKA)
    {
        bonus = POINT_MAX_SP_PCT;
        // flag = 0;
    }

    if (item->GetVnum() == PERMA_TANRI_SAVUNMA)
    {
        bonus = POINT_MALL_DEFBONUS;
        // flag = 0;
    }


    CAffect * pAffect = FindAffect(type,bonus);
    if(NULL == pAffect)
    {
        AddAffect(type, bonus, item->GetValue(2), flag, INFINITE_AFFECT_DURATION, 0, true,true);

        item->Lock(true);
        item->SetSocket(0, true);
    }
    else
    {
        RemoveAffect(pAffect);
        item->Lock(false);
        item->SetSocket(0, false);
    }
}
break;
Merhaba dediğiniz gibi yaptım fakat çalışmadı itemlere tıklayınca herhangibibir değişiklik olmuyor çözümünü biliyormusunuz ?
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst