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]