Yardım olta ve kazmaya efektleri ekleyemiyorum

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

mehmet07

Üye
Üye
Mesaj
283
Çözümler
7
Beğeni
50
Puan
454
Ticaret Puanı
0
" Olta & Kazma'için parlama efekti eklemeye çalışıyorum " ilk etapta shiningtable.txt den denediğimde olmadı çünki olta ve kazma için uyarlı değildi
Sonrasında shiningtable sistemini olta ve kazmaya uyalayacak seviyedede olmadığım için bu efektleri client src den instancebase.cpp dosyasına ekleme yaparak denedim bu kezde derleme hatası yaşadım artık elimden gelen bişey olmadığını düşündüğüm için sizin yardımınıza ihtiyacım var.
client src den eklettiren anlatımı ve aldığım hatanın ss'ini paylaşıyorum.

Olta & Kazma 'için efekt ekleme anlatım:
Genişlet Daralt Kopyala
instancebase.cpp açılır

arat : __ClearWeaponRefineEffect(); altına ekle
 
 
    case CItemData::ITEM_TYPE_ROD:            //A99 FİSHH
        __ClearWeaponRefineEffect();

        if (27430 == vnum || 27440 == vnum || 27450 == vnum){
            m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SPECIAL_FISHING_ROD_1;
        }

        if (27460 == vnum){
            m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SPECIAL_FISHING_ROD_2;
        }

        if (27470 == vnum){
            m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SPECIAL_FISHING_ROD_3;
        }

        if (27480 == vnum){
            m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SPECIAL_FISHING_ROD_4;
        }

        if (27490 == vnum){
            m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SPECIAL_FISHING_ROD_4;
        }

        if (27500 == vnum){
            m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SPECIAL_FISHING_ROD_4;
        }

        if (27510 == vnum){
            m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SPECIAL_FISHING_ROD_4;
        }

        if (27520 == vnum){
            m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SPECIAL_FISHING_ROD_4;
        }

        if (27530 == vnum){
            m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SPECIAL_FISHING_ROD_4;
        }

        if (27540 == vnum){
            m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SPECIAL_FISHING_ROD_4;
        }

        if (27550 == vnum){
            m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SPECIAL_FISHING_ROD_4;
        }

        if (27560 == vnum){
            m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SPECIAL_FISHING_ROD_4;
        }

        if (27570 == vnum){
            m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SPECIAL_FISHING_ROD_4;
        }

        if (27580 == vnum){
            m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SPECIAL_FISHING_ROD_4;
        }

        if (27590 == vnum){
            m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SPECIAL_FISHING_ROD_4;
        }

        if (m_swordRefineEffectRight)
            m_swordRefineEffectRight = __AttachEffect(m_swordRefineEffectRight);
        break;

    case CItemData::ITEM_TYPE_PICK:
        __ClearWeaponRefineEffect();

        if (29105 == vnum || 29106 == vnum || 29107 == vnum){
            m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SPECIAL_MINING_PICK_1;
        }

        if (29108 == vnum){
            m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SPECIAL_MINING_PICK_2;
        }

        if (29109 == vnum){
            m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SPECIAL_MINING_PICK_3;
        }

        if (29110 == vnum){
            m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SPECIAL_MINING_PICK_4;
        }

        if (m_swordRefineEffectRight)
            m_swordRefineEffectRight = __AttachEffect(m_swordRefineEffectRight);
        break;
    }
    return 0;

instancebase.h açılır

arat :  altına ekle bunları :)

            EFFECT_SPECIAL_FISHING_ROD_1,    // 45
            EFFECT_SPECIAL_FISHING_ROD_2,    // 46
            EFFECT_SPECIAL_FISHING_ROD_3,    // 47
            EFFECT_SPECIAL_FISHING_ROD_4,    // 48
            EFFECT_SPECIAL_MINING_PICK_1,    // 49
            EFFECT_SPECIAL_MINING_PICK_2,    // 50
            EFFECT_SPECIAL_MINING_PICK_3,    // 51
            EFFECT_SPECIAL_MINING_PICK_4,    // 52

player setting module açılır


arat : chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+32, "Bip01 Head", "d:/ymir work/pc/sura/effect/pabeop_loop.mse") altına ekle
    ## Olta Efekt    ##
    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+45, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/wedka_4.mse")
    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+46, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/wedka_7.mse")
    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+47, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/wedka_8.mse")
    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+48, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/wedka_9.mse")

    ## Kazma Efekt    ##
    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+49, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/kilof_4.mse")
    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+50, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/kilof_7.mse")
    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+51, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/kilof_8.mse")
    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+52, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/kilof_9.mse")

    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+53, 'PART_WEAPON', 'D:/ymir work/effect/costumefire/kilicred.mse')
    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+54, 'PART_WEAPON_LEFT', 'D:/ymir work/effect/costumefire/yayred.mse')
    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+55, 'PART_WEAPON', 'D:/ymir work/effect/costumefire/yelpaze.mse')
    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+56, 'PART_WEAPON', 'D:/ymir work/effect/costumefire/bicakred.mse')
    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+57, 'PART_WEAPON_LEFT', 'D:/ymir work/effect/costumefire/bicakred.mse')[/CENTER]
 

Dosya Eklentileri

  • error.webp
    error.webp
    151 KB · Gösterim: 10
Eklediğin fonksiyonun içine-en üste ekle;

C++:
Genişlet Daralt Kopyala
DWORD vnum = pItem->GetIndex();
 
Eklediğin fonksiyonun içine-en üste ekle;

C++:
Genişlet Daralt Kopyala
DWORD vnum = pItem->GetIndex();
Bu şekilde mi böyle yapınca vnum için olan errorlar gitti ama
<span>case</span> CItemData<span>::</span>ITEM_TYPE_ROD<span>:</span>
ve <span>case</span> CItemData<span>::</span>ITEM_TYPE_PICK<span>:</span>

İçin gçersiz durum diyor
 

Dosya Eklentileri

  • Ekran görüntüsü 2025-12-13 122614.webp
    Ekran görüntüsü 2025-12-13 122614.webp
    70,2 KB · Gösterim: 11
Eğer bu fonksiyon ise;
C++:
Genişlet Daralt Kopyala
UINT CInstanceBase::__GetRefinedEffect(CItemData* pItem)
{
    DWORD refine = max(pItem->GetRefine() + pItem->GetSocketCount(),CItemData::ITEM_SOCKET_MAX_NUM) - CItemData::ITEM_SOCKET_MAX_NUM;
    DWORD vnum = pItem->GetIndex(); // <<<----
    switch (pItem->GetType())
    {
    case CItemData::ITEM_TYPE_WEAPON:
        __ClearWeaponRefineEffect();
        [...]
        [...]
        [...]
    }
}
 
sizin verdiğiniz yere 1.numaralı ss de eklediğimi attım
2.numaralı ss oltanın efektlerini eklediğim yer bu arada belkide buraya eklemem gerekiyordu onuda bilmiyorum yani doğru yeremi ekedim ondanda emin değilim.
3.numaralı ss eroru belirtiyor
 

Dosya Eklentileri

  • 1.webp
    1.webp
    86,6 KB · Gösterim: 7
  • 2.webp
    2.webp
    74,3 KB · Gösterim: 7
  • 3.webp
    3.webp
    117,5 KB · Gösterim: 7
sizin verdiğiniz yere 1.numaralı ss de eklediğimi attım
2.numaralı ss oltanın efektlerini eklediğim yer bu arada belkide buraya eklemem gerekiyordu onuda bilmiyorum yani doğru yeremi ekedim ondanda emin değilim.
3.numaralı ss eroru belirtiyor
Eklediğin kodları yanlış yere eklemişsin.

}
return 0;


Buradaki süslü parantezi bir üst satırına ekle.
 
player setting module py içerisinede gerekli eklemeleri yaptım fakat ne olta ne kazmada efekt gelmedi syser yok pack tarafına efekt dosyalarını ve roota yapılan eklemelr sonrası packı paketleyip attım ama efektler yok
 
Instancebase.cpp:
Genişlet Daralt Kopyala
// Arat:
            if (pItem->GetSubType() == CItemData::ARMOR_BODY)
            {
                m_armorRefineEffect = EFFECT_REFINED + EFFECT_BODYARMOR_REFINED7 + refine - 7;
                __AttachEffect (m_armorRefineEffect);
            }
            break;

// Altına Ekle:
            case CItemData::ITEM_TYPE_ROD:
            {
                __ClearWeaponRefineEffect();
                DWORD vnum = pItem->GetIndex();

                if (vnum == 27430 || vnum == 27440 || vnum == 27450)
                {
                    m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SPECIAL_FISHING_ROD_1;
                }
                else if (vnum == 27460)
                {
                    m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SPECIAL_FISHING_ROD_2;
                }
                else if (vnum == 27470)
                {
                    m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SPECIAL_FISHING_ROD_3;
                }
                else if (vnum >= 27480 && vnum <= 27590)
                {
                    m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SPECIAL_FISHING_ROD_4;
                }

                if (m_swordRefineEffectRight)
                    m_swordRefineEffectRight = __AttachEffect(m_swordRefineEffectRight);
                break;
            }

            case CItemData::ITEM_TYPE_PICK:
            {
                __ClearWeaponRefineEffect();
                DWORD vnum = pItem->GetIndex();

                if (29105 == vnum || 29106 == vnum || 29107 == vnum){
                    m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SPECIAL_MINING_PICK_1;
                }

                if (29108 == vnum){
                    m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SPECIAL_MINING_PICK_2;
                }

                if (29109 == vnum){
                    m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SPECIAL_MINING_PICK_3;
                }

                if (29110 == vnum){
                    m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SPECIAL_MINING_PICK_4;
                }
                if (m_swordRefineEffectRight)
                    m_swordRefineEffectRight = __AttachEffect(m_swordRefineEffectRight);
                break;
            }

InstanceBase.h:
Genişlet Daralt Kopyala
// Arat:
            EFFECT_REFINED_NUM,

// Üstüne Ekle:
            EFFECT_SPECIAL_FISHING_ROD_1,
            EFFECT_SPECIAL_FISHING_ROD_2,
            EFFECT_SPECIAL_FISHING_ROD_3,
            EFFECT_SPECIAL_FISHING_ROD_4,
            EFFECT_SPECIAL_MINING_PICK_1,
            EFFECT_SPECIAL_MINING_PICK_2,
            EFFECT_SPECIAL_MINING_PICK_3,
            EFFECT_SPECIAL_MINING_PICK_4,

// EFFECT_REFINED_NUM, hemen üstündeki satırın efekt sırasının kaç olduğuna bak

playersettingmodule.py:
Genişlet Daralt Kopyala
# Arat:
    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+20, "Bip01", "D:/ymir work/pc/common/effect/armor/armor-4-2-2.mse")

# Altına Ekle: (Dikkat et altında bir efekt varsa onun da altına ekle ve sayılarını sıraya uyarla)
    ## Olta Efekt ##
    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+21, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/wedka_4.mse")
    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+22, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/wedka_7.mse")
    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+23, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/wedka_8.mse")
    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+24, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/wedka_9.mse")
    ## Kazma Efekt ##
    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+25, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/kilof_4.mse")
    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+26, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/kilof_7.mse")
    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+27, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/kilof_8.mse")
    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+28, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/kilof_9.mse")

Efekti de doğru koordinata attıktan sonra görünür.

1765625555640.webp
1765625576173.webp
 

Dosya Eklentileri

Geri
Üst