farkmt2official 1
farkmt2official
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
BlackFullMoon 1
BlackFullMoon
Hikaye Ekle

Cevaplandı Pvm efsun nesnesi

  • Konuyu başlatan Konuyu başlatan ozanelif3112
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 15
  • Görüntüleme Görüntüleme 7K

Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!

Merhabalar arkadaşlar pvm efsun nesnesi c++ kodları elinde olan varmıdır acaba ?

Files düzenlemesi yapıyorum filese yeni sistemler ekliyorum eğer elinde varsa cok memnun olurum konulara baktım fakat bulamadım
 

En Çok Reaksiyon Alan Mesajlar

char_battle.cpp Arat:

Kod:
    switch (type)
    {
        case EDamageType::DAMAGE_TYPE_NORMAL:
        case EDamageType::DAMAGE_TYPE_NORMAL_RANGE:
            if (pAttacker)
            {
                if (pAttacker->GetPoint(POINT_NORMAL_HIT_DAMAGE_BONUS))
                    dam = dam * (100 + pAttacker->GetPoint(POINT_NORMAL_HIT_DAMAGE_BONUS)) / 100;
            }

Değiştir:

Kod:
    switch (type)
    {
        case EDamageType::DAMAGE_TYPE_NORMAL:
        case EDamageType::DAMAGE_TYPE_NORMAL_RANGE:
            if (pAttacker)
            {
                if (pAttacker->GetPoint(POINT_NORMAL_HIT_DAMAGE_BONUS))
                    dam = dam * (100 + pAttacker->GetPoint(POINT_NORMAL_HIT_DAMAGE_BONUS)) / 100;

                if (pAttacker->GetPoint(POINT_PVM_ORTALAMA_ZARAR))
                {
                    if (IsPC())
                        return false;

                    dam = dam * (100 + pAttacker->GetPoint(POINT_PVM_ORTALAMA_ZARAR)) / 100;
                }
            }

POINT_PVM_ORTALAMA_ZARAR bunu istediğin gibi değiştirebilirsin.
APPLY_PVM_ORTALAMA_ZARAR bunu istediğin gibi değiştirebilirsin.

char.cpp, char.h, constants.cpp bu pointi ekle. (POINT_PVM_ORTALAMA_ZARAR )
char.cpp, constants.cpp, common/length.h, db/protoReader.cpp bu apply'yi ekle (APPLY_PVM_ORTALAMA_ZARAR )

ClientSource/GameLib/ItemData.h ekle APPLY_PVM_ORTALAMA_ZARAR
ClientSource/UserInterFace/PhytonItemModule.cpp ekle APPLY_PVM_ORTALAMA_ZARAR
ClientSource/UserInterFace/Packet.h ekle POINT_PVM_ORTALAMA_ZARAR
ClientSource/UserInterFace/PyhtonPlayerModule.cpp ekle POINT_PVM_ORTALAMA_ZARAR (pack tarafında kullanmayacaksan ekleme)
Tool/DumpProto/ItemCsvReader.cpp ekle APPLY_PVM_ORTALAMA_ZARAR

item_attr.sql ekle APPLY_PVM_ORTALAMA_ZARAR
uiTooltip.py ekle APPLY_PVM_ORTALAMA_ZARAR

bu bonusun farklı renkte ve bonusların en altında olmasını istiyorsan uiTooltipten eklenti yapmanız lazım.

AddItemData en altlara vs. AppendAttributeInformation benzerini argüman olarak attrSlot alacak şekilde fonksyion yazarsın. AppendAttributeInformation'ların altında olacak şekilde. sonra bunu AppendAttributeInformation kodlarını alırsın içine kopyalarsın kendine göre düzenlersin Aklıma gelenler bu kadar

Normal efsun nesneleri ile de bu şekilde gelir. Fakat siz kendiniz buna özel item yapmak istiyorsanız

item_attribute.cpp içinde PutAttribute ChangeAttribute gibi fonksiyonların argümanın sonuna mesela BYTE pvm_bonus
yaparsın yeni bir attribute set yaparsın db sourceden ve item_attr.sql dan sonra item_attribute.cpp'den dersin ki

if (pvm_bonus == 1)
bu attribute set çalışsın.

sonra char_item.cpp de

Kod:
                if (item->GetVnum() == ITEM_KODU)
                {
                    static const int tmpChangeProb[ITEM_ATTRIBUTE_MAX_LEVEL] =
                    {
                        0, 5, 10, 15, 20,
                    };
                    item2->ChangeAttribute(tmpChangeProb, 1);
                }
                else {
                    item2->ChangeAttribute();
                }

bu şekilde kullan. yukardaki bonusu değiştirmek için eklemesinide sen yap :)
Çözüm
char_battle.cpp Arat:

Kod:
    switch (type)
    {
        case EDamageType::DAMAGE_TYPE_NORMAL:
        case EDamageType::DAMAGE_TYPE_NORMAL_RANGE:
            if (pAttacker)
            {
                if (pAttacker->GetPoint(POINT_NORMAL_HIT_DAMAGE_BONUS))
                    dam = dam * (100 + pAttacker->GetPoint(POINT_NORMAL_HIT_DAMAGE_BONUS)) / 100;
            }

Değiştir:

Kod:
    switch (type)
    {
        case EDamageType::DAMAGE_TYPE_NORMAL:
        case EDamageType::DAMAGE_TYPE_NORMAL_RANGE:
            if (pAttacker)
            {
                if (pAttacker->GetPoint(POINT_NORMAL_HIT_DAMAGE_BONUS))
                    dam = dam * (100 + pAttacker->GetPoint(POINT_NORMAL_HIT_DAMAGE_BONUS)) / 100;

                if...

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

Geri
Üst