- Katılım
- 13 Haz 2013
- Konular
- 181
- Mesajlar
- 2,492
- Online süresi
- 3ay 19g
- Reaksiyon Skoru
- 1,647
- Altın Konu
- 2
- Başarım Puanı
- 284
- Yaş
- 28
- TM Yaşı
- 12 Yıl 10 Ay 13 Gün
- MmoLira
- 8,240
- DevLira
- 81
Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!
Offical oyunun protolarında bulunan reflect aiflag'ı sayesinde mobun %x canı altında vurulan hasarın %y'sini yansıtmasını sağlar.
char_state.cpp
C++:
// Arat
bool CHARACTER::IsStoneSkinner() const
// Üstüne ekle
bool CHARACTER::IsReflector() const
{
return IS_SET(m_pointsInstant.dwAIFlag, AIFLAG_REFLECT);
}
// CHARACTER::__StateIdle_Monster() fonksiyonunun içinde arat
if (IsGodSpeeder())
if (IsGodSpeed())
SetGodSpeed(false);
// Altına ekle
if (IsReflector())
if (IsReflect())
SetReflect(false);
// CHARACTER::StateBattle() fonksiyonunun içinde arat
if (IsGodSpeeder() == true)
if (GetHPPct() < m_pkMobData->m_table.bGodSpeedPoint)
if (IsGodSpeed() != true)
SetGodSpeed(true);
// Üstüne ekle
if (IsReflector() == true)
if (GetHPPct() < 25)
if (IsReflect() != true)
SetReflect(true);
char_battle.cpp
C++:
// ::Damage fonksiyonu içinde arat
SendDamagePacket(pAttacker, dam, damageFlag);
// Üstüne ekle
if (pAttacker && pAttacker->IsPC() && IsNPC() && IsReflect())
pAttacker->SendDamagePacket(this, dam/100*5, damageFlag);
char.h
C++:
//arat
bool IsBerserker() const;
bool IsBerserk() const;
void SetBerserk(bool mode);
//altına ekle
bool IsReflector() const;
bool IsReflect() const;
void SetReflect(bool mode);
char.cpp
C++:
//arat
bool CHARACTER::IsGodSpeed() const
//üstüne ekle
bool CHARACTER::IsReflect() const
{
if (m_pkMobInst != nullptr)
return m_pkMobInst->m_IsReflect;
else
return false;
}
void CHARACTER::SetReflect(bool mode)
{
if (m_pkMobInst != nullptr)
m_pkMobInst->m_IsReflect = mode;
}
mob_manager.cpp
C++:
//arat
CMobInstance::CMobInstance()
: m_IsBerserk(false), m_IsGodSpeed(false), m_IsRevive(false),
//ekle
, m_IsReflect(false)
mob_manager.h
C++:
//arat
bool m_IsRevive;
//Altına ekle
bool m_IsReflect;
+ olarak buraya dahil etmedim fakat
length.h'da
C++:
enum EAIFlags
ve protoreader dosyanıza
get_Mob_AIFlag_Value
fonksiyonunda bulunan array'in içerisine "REFLECT" olarak dahil ettikten sonra mob_proto'da aiflag olarak REFLECT verdiğiniz mobların %25'den az canı olduğunda vurduğunuz hasarın %5'ini size geri yansıtır. Bu kısımları sabit yapmayı tercih ettim, dilerseniz mob proto'ya berserk, stoneskin gibi column açıp dinamik bir şekilde % kaç canda reflect'e gireceğini ve % kaç hasarı geri yansıtacağını ayarlayabilirsiniz.
- Katılım
- 31 Mar 2020
- Konular
- 70
- Mesajlar
- 1,267
- Online süresi
- 4ay 13g
- Reaksiyon Skoru
- 709
- Altın Konu
- 7
- Başarım Puanı
- 201
- TM Yaşı
- 6 Yıl 20 Gün
- MmoLira
- 12,418
- DevLira
- 9
Teşekkür ederim gayet güzel bir konu olmuş elinize sağlık hocam.
- Katılım
- 3 Eki 2017
- Konular
- 1,676
- Mesajlar
- 18,445
- Online süresi
- 9ay 24g
- Reaksiyon Skoru
- 8,719
- Altın Konu
- 297
- Başarım Puanı
- 374
- TM Yaşı
- 8 Yıl 6 Ay 20 Gün
- MmoLira
- 41,544
- DevLira
- 753
Paylaşım için teşekkürler.
- Katılım
- 13 Ocak 2020
- Konular
- 1,399
- Mesajlar
- 9,721
- Online süresi
- 1y 29g
- Reaksiyon Skoru
- 7,089
- Altın Konu
- 306
- Başarım Puanı
- 393
- TM Yaşı
- 6 Yıl 3 Ay 9 Gün
- MmoLira
- 3,946
- DevLira
- 15
Teşekkürler eline sağlık 
Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)
Benzer konular
- Cevaplar
- 7
- Görüntüleme
- 343
- Cevaplar
- 6
- Görüntüleme
- 322
- Cevaplar
- 18
- Görüntüleme
- 2K
- Cevaplar
- 35
- Görüntüleme
- 4K
- Cevaplar
- 5
- Görüntüleme
- 647











