• Serverınızın epinlerini tamamen Turkmmo güvencesiyle satın. Kredi kartı, mobil ödeme, havale/eft ve uygun komisyon oranıyla. Hemen mağaza başvurunuzu yapın. Oyunalisveris.com





Sitemize reklam vermek için [email protected] adresine mail atabilirsiniz
For Advertising Contact [email protected]


[C ++] Başlangıçta Aura Etkilerini Yükleme

5.00 yıldız(lar) 1 Oy

Mehmetcan Y.k

Mehmetcan Yalçınkaya
Telefon Numarası Onaylanmış Üye
TM Üye
Üye
Katılım
4 May 2018
Konular
51
Mesajlar
854
Reaksiyon Skoru
209
Online Süresi
60d 9m
Başarım Puanı
117
Yaş
19
MmoLira
62
DevLira
0
En İyi Cevap Puanı
0

M2Allstar | 1-105 Orta Emek | 8000 TL Ödüllü Turnuvalar ! BUGÜN SAAT 20.00`DA AÇILIYOR ! KAYITLAR VE OYUN İNDİRME AKTİF DETAYLI TANITIMA GİTMEK İÇİN TIKLAYIN

Bu küçük rehberde size yeni Aura efektlerinin item_list.txt dosyasından otomatik olarak nasıl yükleneceğini göstereceğim.

Pengerin Yapmış Oldugu Bir Eklentidir.
1.0.) Open GameLib/ItemData.h
1.1.) Add this anywhere into the class CItemData as public (recommended below of the enums there)


#ifdef ENABLE_AURA_SYSTEM
enum EAuraMisc
{
AURA_GRADE_MAX_NUM = 6,
};
#endif

1.2.) Add the followings at the bottom of the class CItemData:


#ifdef ENABLE_AURA_SYSTEM
protected:
DWORD m_dwAuraEffectID;
public:
void SetAuraEffectID(const char* szAuraEffectPath);
DWORD GetAuraEffectID() const { return m_dwAuraEffectID; }
#endif

2.0.) Open GameLib/ItemData.cpp
2.1.) Add the following code at the top of the file where the includes are:


#ifdef ENABLE_AURA_SYSTEM
#include "../EffectLib/EffectManager.h"
#endif

2.2.) Paste this new function anywhere you want:


#ifdef ENABLE_AURA_SYSTEM
void CItemData::SetAuraEffectID(const char* szAuraEffectPath)
{
if (szAuraEffectPath)
CEffectManager::Instance().RegisterEffect2(szAuraEffectPath, &m_dwAuraEffectID);
}
#endif

2.2.) Last put this code into the CItemData::Clear function:


#ifdef ENABLE_AURA_SYSTEM
m_dwAuraEffectID = 0;
#endif

3.0.) Open GameLib/ItemManager.cpp

3.1.) Edit your LoadItemScale function like this way: (I do not know how your look like so you must change a bit probably depends how your code looks like)


#ifdef ENABLE_AURA_SYSTEM
CItemData* pItemData = MakeItemData(dwItemVNum);
BYTE bGradeMax = CItemData::SASH_GRADE_MAX_NUM;
if (pItemData->GetType() == CItemData::ITEM_TYPE_COSTUME && pItemData->GetSubType() == CItemData::COSTUME_AURA)
bGradeMax = CItemData::AURA_GRADE_MAX_NUM;

for (int i = 0; i < bGradeMax; ++i)
#else
for (int i = 0; i < CItemData::SASH_GRADE_MAX_NUM; ++i)
#endif
{
pItemData = MakeItemData(dwItemVNum + i);
if (pItemData)
pItemData->SetItemTableScaleData(byJob, bySex, xScale, yScale, zScale, xPosScale, yPosScale, zPosScale);
}

3.2.) In the LoadItemList function find this:


if (4 == TokenVector.size())
{
const std::string& c_rstrModelFileName = TokenVector[3];
pItemData->SetDefaultItemData(c_rstrIcon.c_str(), c_rstrModelFileName.c_str());
}

3.3.) And replace it with this one:


if (4 == TokenVector.size())
{
#ifdef ENABLE_AURA_SYSTEM
if (!strcmp(c_rstrType.c_str(), "AURA"))
{
const std::string& c_rstrAuraEffectFileName = TokenVector[3];
pItemData->SetAuraEffectID(c_rstrAuraEffectFileName.c_str());
pItemData->SetDefaultItemData(c_rstrIcon.c_str());
}
else
{
const std::string& c_rstrModelFileName = TokenVector[3];
pItemData->SetDefaultItemData(c_rstrIcon.c_str(), c_rstrModelFileName.c_str());
}
#else
const std::string& c_rstrModelFileName = TokenVector[3];
pItemData->SetDefaultItemData(c_rstrIcon.c_str(), c_rstrModelFileName.c_str());
#endif
}
 

(Mavi Ruh)

Sorsan ikimiz de maviydik. Sen deniz ben gökyüzü
Site Yetkilisi
Yönetici
VIP Üye
Katılım
20 Eki 2017
Konular
199
Mesajlar
3,997
Reaksiyon Skoru
2,738
Online Süresi
183d 11h 1m
Başarım Puanı
247
MmoLira
2,256
DevLira
29
En İyi Cevap Puanı
36

emirqnq

Level 4
TM Üye
Üye
Developer
Paylaşımcı
Katılım
13 Haz 2013
Konular
62
Mesajlar
382
Reaksiyon Skoru
86
Online Süresi
12d 9h 25m
Başarım Puanı
117
Yaş
21
MmoLira
196
DevLira
-21
En İyi Cevap Puanı
2

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

Üst