quickxd 1
quickxd
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Scarlet 1
Scarlet
Bvural41 1
Bvural41
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

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. 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