- Katılım
- 25 Ocak 2019
- Konular
- 134
- Mesajlar
- 2,442
- Çözüm
- 42
- Online süresi
- 3mo 17h
- Reaksiyon Skoru
- 1,572
- Altın Konu
- 6
- TM Yaşı
- 7 Yıl 4 Ay 16 Gün
- Başarım Puanı
- 249
- MmoLira
- 6,732
- DevLira
- -6
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
Selam arkadaşlar yakın zamanda benim çok işime yarayan sizlerinde işinize yarayacağını düşündüğüm bir eklentiyi sizinle paylaşmak istiyorum.
Bu eklenti ile kolayca python üzerinden efektlerinizi kontrol ettirip koşul sunabilirsiniz.
Kodlar bana ait değildir. Sorunsuzca kullanıyorum.
Yapılabilecek şeylerin sınırı yok x efekt üstünde yoksa y itemini kullanamazsın yada bu yolla premium market arama vb itemler yapabilirsiniz
Bu eklenti ile kolayca python üzerinden efektlerinizi kontrol ettirip koşul sunabilirsiniz.
Kodlar bana ait değildir. Sorunsuzca kullanıyorum.
Yapılabilecek şeylerin sınırı yok x efekt üstünde yoksa y itemini kullanamazsın yada bu yolla premium market arama vb itemler yapabilirsiniz
C++:
Locale_inc.h -> ekle
#define ENABLE_AFFECT_CHECK
--------------------------------------------------------
PythonApplicationModule.cpp -> Arat
PyModule_AddIntConstant(poModule, "CAMERA_STOP", CPythonApplication::CAMERA_STOP);
--> Altına ekle
#ifdef ENABLE_AFFECT_CHECK
PyModule_AddIntConstant(poModule, "ENABLE_AFFECT_CHECK", 1);
#else
PyModule_AddIntConstant(poModule, "ENABLE_AFFECT_CHECK", 0);
#endif
--------------------------------------------------------
PythonNetworkStreamPhaseGame.cpp -> Arat
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "BINARY_NEW_AddAffect"
ÜSTÜNE ekle ->
#ifdef ENABLE_AFFECT_CHECK
CPythonPlayer::instance().AddAffect(rkElement.dwType, kAffectAdd.elem);
#endif
--> tekrar arat
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "BINARY_NEW_RemoveAffect"
--> Üstüne Ekle
#ifdef ENABLE_AFFECT_CHECK
CPythonPlayer::instance().RemoveAffect(kAffectRemove.dwType, kAffectRemove.bApplyOn);
#endif
--------------------------------------------------------
PythonPlayer.cpp --> arat
void CPythonPlayer::ClearSkillDict()
--> ÜSTÜNE EKLE
#ifdef ENABLE_AFFECT_CHECK
void CPythonPlayer::AddAffect(DWORD dwType, TPacketAffectElement kElem)
{
int iAffIndex = GetAffectDataIndex(dwType, kElem.bPointIdxApplyOn);
if (iAffIndex != -1)
{
m_mapAffectData.at(iAffIndex) = kElem;
}
else
{
m_mapAffectData.push_back(kElem);
}
}
void CPythonPlayer::RemoveAffect(DWORD dwType, BYTE bApplyOn)
{
for (TAffectDataVector::iterator it = m_mapAffectData.begin(); it != m_mapAffectData.end(); ++it)
{
TPacketAffectElement elem = *it;
if (elem.dwType == dwType && (bApplyOn == 0 || bApplyOn == elem.bPointIdxApplyOn))
{
m_mapAffectData.erase(it);
break;
}
}
}
int CPythonPlayer::GetAffectDataIndex(DWORD dwType, BYTE bApplyOn)
{
int ret = -1, i = 0;
for (TAffectDataVector::iterator it = m_mapAffectData.begin(); it != m_mapAffectData.end(); ++it, ++i)
{
TPacketAffectElement elem = *it;
if (elem.dwType == dwType && (bApplyOn == 0 || bApplyOn == elem.bPointIdxApplyOn))
{
ret = i;
break;
}
}
return ret;
}
TPacketAffectElement CPythonPlayer::GetAffectData(DWORD dwType, BYTE bApplyOn)
{
TPacketAffectElement ret;
memset(&ret, 0, sizeof(TPacketAffectElement));
for (TAffectDataVector::iterator it = m_mapAffectData.begin(); it != m_mapAffectData.end(); ++it)
{
TPacketAffectElement elem = *it;
if (elem.dwType == dwType && (bApplyOn == 0 || bApplyOn == elem.bPointIdxApplyOn))
{
ret = elem;
break;
}
}
return ret;
}
#endif
--> Tekrar Arat
void CPythonPlayer::ClearSkillDict()
--> Altında Bul
__ClearAutoAttackTargetActorID();
--> Üstüne Ekle
#ifdef ENABLE_AFFECT_CHECK
m_mapAffectData.clear();
#endif
--------------------------------------------------------
PythonPlayer.h --> Arat
DWORD GetTargetVID();
--> Altına Ekle
#ifdef ENABLE_AFFECT_CHECK
protected:
typedef std::vector<TPacketAffectElement> TAffectDataVector;
TAffectDataVector m_mapAffectData;
public:
void AddAffect(DWORD dwType, TPacketAffectElement kElem);
void RemoveAffect(DWORD dwType, BYTE bApplyOn);
int GetAffectDataIndex(DWORD dwType, BYTE bApplyOn);
TPacketAffectElement GetAffectData(DWORD dwType, BYTE bApplyOn);
#endif
--------------------------------------------------------
PythonPlayerModule --> Arat
void initPlayer()
--> Üstüne ekle
#ifdef ENABLE_AFFECT_CHECK
PyObject * playerCheckAffect(PyObject* poSelf, PyObject* poArgs)
{
DWORD dwType;
if (!PyTuple_GetUnsignedLong(poArgs, 0, &dwType))
return Py_BadArgument();
BYTE bApplyOn;
if (!PyTuple_GetByte(poArgs, 1, &bApplyOn))
return Py_BadArgument();
int iAffIndex = CPythonPlayer::Instance().GetAffectDataIndex(dwType, bApplyOn);
return Py_BuildValue("b", iAffIndex != -1);
}
#endif
--> Arat
{ "GetPKMode", playerGetPKMode, METH_VARARGS },
--> Altına Ekle
#ifdef ENABLE_AFFECT_CHECK
{ "CheckAffect", playerCheckAffect, METH_VARARGS },
#endif
self.PopupMessage(localeInfo.SAVAS_ITEM_NULL) ## Siz buraya chat de koyabilirsiniz. Bu efekt üzerinde yoksa demektir bu kod.
return[/CODE]
Son düzenleme:
En Çok Reaksiyon Alan Mesajlar
Paylaşım için teşekkürler
Paylaşım için teşekkürler.
- Katılım
- 28 Ağu 2015
- Konular
- 93
- Mesajlar
- 515
- Çözüm
- 19
- Online süresi
- 16d 19h
- Reaksiyon Skoru
- 71
- Altın Konu
- 0
- TM Yaşı
- 10 Yıl 9 Ay 17 Gün
- Başarım Puanı
- 126
- MmoLira
- 2,144
- DevLira
- 0
Yararlı, teşekkürler.
- Katılım
- 5 Eyl 2010
- Konular
- 197
- Mesajlar
- 1,854
- Çözüm
- 26
- Online süresi
- 3mo 15d
- Reaksiyon Skoru
- 1,006
- Altın Konu
- 1
- TM Yaşı
- 15 Yıl 9 Ay 10 Gün
- Başarım Puanı
- 266
- MmoLira
- 11,439
- DevLira
- 39
Paylaşım için teşekkürler
- Katılım
- 18 Tem 2022
- Konular
- 597
- Mesajlar
- 11,192
- Çözüm
- 5
- Online süresi
- 2mo 19d
- Reaksiyon Skoru
- 4,323
- Altın Konu
- 76
- Başarım Puanı
- 297
- MmoLira
- 5,024
- DevLira
- 756
Paylaşım için teşekkürler.
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 14
- Görüntüleme
- 1K




