kaptanmikro1 1
kaptanmikro1
emirhanHCL 1
emirhanHCL
farkmt2official 1
farkmt2official
Hikaye Ekle

Buff Information Show System

  • Konuyu başlatan Konuyu başlatan Bvural41
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 6
  • Görüntüleme Görüntüleme 1K

Türkiye'de ilk Mobil & PC Aynı Anda Metin2 Oyna. Triarchonline kalıcı ve uzun ömürlü yapısı ile 24 Temmuz'da açılıyor. | 1-99 Mobil Metin2 Triarch HEMEN TIKLA!

Buff Info Show System

Kod:
service.h add

#define ENABLE_BUFF_INFO_SHOW_SYSTEM

char_affect.cpp

>search

void SendAffectRemovePacket(LPDESC d, DWORD pid, DWORD type, BYTE point)

>add above

#ifdef ENABLE_BUFF_INFO_SHOW_SYSTEM
static DWORD s_BuffSkillList[] =
{
    SKILL_HOSIN,
    SKILL_GICHEON,
    SKILL_REFLECT,
};

const char* GetBuffSkillName(DWORD dwType, BYTE locale = LOCALE_DEFAULT)
{
    for (auto buffVnum : s_BuffSkillList)
    {
        if (buffVnum == dwType)
        {
            auto it = localeSkill[locale].find(dwType);
            if (it != localeSkill[locale].end())
                return it->second.c_str();

            return "";
        }
    }
    return nullptr;
}
#endif

>search

bool CHARACTER::AddAffect(DWORD dwType, BYTE bApplyOn, long lApplyValue, DWORD dwFlag, long lDuration, long lSPCost, bool bOverride, bool IsCube )

>add

#ifdef ENABLE_BUFF_INFO_SHOW_SYSTEM
        const char* szBuffName = GetBuffSkillName(dwType);
   
        if (szBuffName && *szBuffName)
        {
            ChatPacket(CHAT_TYPE_INFO,
                LC_TEXT("[Buff] %s You received the: +%ld%%"),
                szBuffName, lApplyValue);
        }
#endif


locale_service.h

>search

const std::string& LocaleService_GetQuestPath();

>add under

#ifdef ENABLE_BUFF_INFO_SHOW_SYSTEM
extern std::map<DWORD, std::string> localeSkill[LOCALE_MAX_NUM];
#endif

Proof;

0830_022139.jpg
 
Son düzenleme:

En Çok Reaksiyon Alan Mesajlar

Paylaşım için teşekkürler ancak şöyle hata aldım eksik kod var sanırım

Öğeyi görmek için üye olmalısınız.
Hata alman normal kendi filesimde çoklu dil olduğu için ona göre yapmıştım. Sende olmadığı için sabit değer ile sorun çözülür bu alttaki kodu değiştirip deneyebilirsin.

[CODE title="char_affect.cpp"]#ifdef ENABLE_BUFF_INFO_SHOW_SYSTEM
static DWORD s_BuffSkillList[] =
{
SKILL_HOSIN,
SKILL_GICHEON,
SKILL_REFLECT,
};

const char* GetBuffSkillName(DWORD dwType)
{
for (auto buffVnum : s_BuffSkillList)
{
if (buffVnum == dwType)
{
auto it = localeSkill[0].find(dwType);
if (it != localeSkill[0].end())
return it->second.c_str();

return "";
}
}
return nullptr;
}
#endif[/CODE]#endif

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

Geri
Üst