Forumda bulunan şu konuda ki sistemi ekledim
PvM Efsun Sistemi her şey doğru olmasına rağmen Unkown_Type[99] Hatası alıyorum ve efsun moblara ve metinlere işlemiyor ve ismi gözükmüyor, enum sıralamarı tamamen doğru client ve game kısmında hiç bir uyuşmazlık yok defalarca kontrol etmeme rağmen sistemi çalıştıramadım
Ekli dosyayı görüntüle 158392
locale/locale.game.txt içerisine doğru ekleme yapınız. Örnek;
TOOLTIP_APPLY_PVM_NORM_HIT_BONUS PvM Ortalama Hasar +%d%% SA
[CODE title="root/uitooltip.py"]ARAT;
AFFECT_DICT = {
içerisinde bonuslar olacak. içerisine-arasına ekle;
item.APPLY_PVM_NORM_HIT_BONUS : localeInfo.TOOLTIP_APPLY_PVM_NORM_HIT_BONUS,
[/CODE]
[CODE title="ClientSRC/ItemData.h"]ARAT;
enum EApplyTypes
en sona ekleyin. En sona eklediğiniz bonusun apply numarasını diğerlerini sayarak bilin.
bendeki örnek;
APPLY_PVM_NORM_HIT_BONUS, // 114
APPLY_CRITICAL_DAMAGE_BONUS, // 115
MAX_APPLY_NUM, //
};[/CODE]
[CODE title="ClientSRC/Packet.h"]ARAT;
enum EPointTypes
bonusu en sona ekle; point numarası apply numarasına göre farklı olur. Numara GAMESRC/char.h ile aynı olacak.
bendeki örnek;
POINT_PVM_NORM_HIT_BONUS = 171,
POINT_CRITICAL_DAMAGE_BONUS = 172,
POINT_MAX_NUM = 255,
};[/CODE]
[CODE title="ClientSRC/PythonApplicationModule.cpp"]Bonus PyModule_AddIntConstant yerinde ekli mi?
Örnek;
PyModule_AddIntConstant(poModule, "NEW_PVM_ATTRIBUTE", 1);[/CODE]
[CODE title="ClientSRC/PythonItemModule.cpp"]Bonus PyModule_AddIntConstant yerinde ekli mi?
Örnek;
PyModule_AddIntConstant(poModule, "APPLY_PVM_NORM_HIT_BONUS", CItemData::APPLY_PVM_NORM_HIT_BONUS);
[/CODE]
/// BONUSUN GÖRÜNÜRLÜK TAMAM.
/// ŞİMDİ BONUSUN İŞLEMESİ İÇİN GAMESRC DÖNÜYORUZ.
[CODE title="dbsrc/ProtoReader.cpp"]ARAT;
int get_Item_ApplyType_Value(string inputString)
içerisinde bonus var mı? örnek
"APPLY_ATTBONUS_BOSS", "APPLY_ATTBONUS_ELEMENTS", "APPLY_PVM_NORM_HIT_BONUS",
"APPLY_CRITICAL_DAMAGE_BONUS"};[/CODE]
[CODE title="gameSRC/length.h"]ARAT;
enum EApplyTypes
EN SONA EKLE; bendeki örnek;
APPLY_ATTBONUS_ELEMENTS, // 113
APPLY_PVM_NORM_HIT_BONUS, // 114
APPLY_CRITICAL_DAMAGE_BONUS, //115
MAX_APPLY_NUM, //
};
[/CODE]
[CODE title="gamesrc/constants.cpp"]ARAT;
const TApplyInfo aApplyInfo[MAX_APPLY_NUM] =
En sonda bonus ekli mi? Örnek;
{ POINT_ATTBONUS_ELEMENTS,}, // 113
{ POINT_PVM_NORM_HIT_BONUS,}, // 114
{ POINT_CRITICAL_DAMAGE_BONUS,}, // 115
};
///////
ARAT;
TValueName c_aApplyTypeNames[] =
En sonda bonus ekli mi? Örnek;
{ "ATTBONUS_ELEMENT", APPLY_ATTBONUS_ELEMENT,},
{"PVM_NORM_HIT_BONUS", APPLY_PVM_NORM_HIT_BONUS},
{"CRITICAL_DAMAGE_BONUS", APPLY_CRITICAL_DAMAGE_BONUS},
{ NULL, 0 }
};
[/CODE]
[CODE title="gamesrc/char.h"]ARAT;
enum EPointTypes
En sonda bonus ekli mi? Numara CLIENTSRC/Packet.h ile aynı olacak. Örnek;
POINT_ATTBONUS_BOSS=169,
POINT_ATTBONUS_ELEMENTS=170,
POINT_PVM_NORM_HIT_BONUS = 171,
POINT_CRITICAL_DAMAGE_BONUS = 172,
POINT_MAX_NUM = 255
};[/CODE]
[CODE title="gamesrc/char.cpp"]ARAT;
case POINT_ATTBONUS_MONSTER:
case POINT'ler arasında ekli mi?
Örnek;
case POINT_ATTBONUS_ELEMENTS:
case POINT_PVM_NORM_HIT_BONUS:
case POINT_CRITICAL_DAMAGE_BONUS:
ARAT;
case APPLY_STEAL_HP:
case APPLY'ler arasında ekli mi?
Örnek;
case APPLY_ATTBONUS_ELEMENTS:
case APPLY_PVM_NORM_HIT_BONUS:
case APPLY_CRITICAL_DAMAGE_BONUS:
[/CODE]
[CODE title="gameSRC/char_battle.cpp"]ARAT;
switch (type)
{
case DAMAGE_TYPE_NORMAL:
case DAMAGE_TYPE_NORMAL_RANGE:
if (pAttacker)
{
if (pAttacker->GetPoint(POINT_NORMAL_HIT_DAMAGE_BONUS))
dam = dam * (100 + pAttacker->GetPoint(POINT_NORMAL_HIT_DAMAGE_BONUS)) / 100;
Bonus hasar vermiyorsa sorun buradadır. Değer tanımlanmamış olabilir.
Burada alakalı bir değer var mı POINT olarak çekiyor mu bakar mısın.
Bendeki Örnek;
switch (type)
{
case DAMAGE_TYPE_NORMAL:
case DAMAGE_TYPE_NORMAL_RANGE:
if (pAttacker)
{
if (pAttacker->GetPoint(POINT_NORMAL_HIT_DAMAGE_BONUS))
dam = dam * (100 + pAttacker->GetPoint(POINT_NORMAL_HIT_DAMAGE_BONUS)) / 100;
if (pAttacker->GetPoint(POINT_PVM_NORM_HIT_BONUS) && !IsPC())
dam = dam * (100 + pAttacker->GetPoint(POINT_PVM_NORM_HIT_BONUS)) / 100;
}[/CODE]