Tüm silahlara ve zırh alt türlerine otomatik olarak rastgele 4 bonus ekler.
common/CommonDefine.h
game/item.cpp
"void CItem::AlterToMagicItem()" içinde bulun:
Şununla değiştir:
game/item_manager.cpp
"LPITEM ITEM_MANAGER::CreateItem(DWORD vnum, DWORD count, DWORD id, bool bTryMagic, int iRarePct, bool bSkipSave)"
bulun:
Şununla değiştir:
game/questlua_game.cpp
"Game_drop_item" işlevinin içinde şunu bulun:
Şununla değiştir:
"Game_drop_item_with_ownership" işlevinin içinde şunu bulun:
Şununla değiştir:
"Game_drop_item_with_ownership" işlevinin içinde şunu bulun:
Şununla değiştir:
"Game_drop_item_with_ownership_and_dice" fonksiyonunun içinde şunları bulun:
Şununla değiştir:
game/shop.cpp
"int CShop::Buy(LPCHARACTER ch, BYTE pos)" işlevinin içinde şunu bulun:
Şununla değiştir:
Zırh ve Silahlar için 4 Yeni Bonus Ekleme
Metin2 özel sunucularında oyun deneyimini artırmak ve oyuncuların karakterlerini özelleştirmelerine olanak tanımak adına zırh ve silahlara bonus özellikler eklemek oldukça yaygın bir yöntemdir.
1. Can Yüzdesi Artışı Bonusu
Oyuncuların karakterlerinin sağlığını korumaları kritik öneme sahiptir. Bu nedenle zırhlara can yüzdesi bonusu eklenmesi, karakterin maksimum HP değerine göre ekstra can kazanımı sağlar. Örneğin bir zırh %3 maksimum can bonusu veriyorsa, 5000 HP'ye sahip bir karakter 150 ekstra can alır. Bu bonus, zırh seviyesine veya set bonusuna göre dinamik olarak ayarlanabilir.
2. Hasar Yüzdesi Artışı
Silahlara eklenen bu bonus, karakterin fiziksel veya büyü hasarını yüzde bazında artırır. Özellikle PVP sistemlerinde büyük rol oynar. Örneğin +%5 saldırı gücü bonusu, karakterin toplam攻击力 değerinin %5 fazlasını hasar olarak uygular. Bu bonuslar genellikle yüksek seviye silahlarda daha yüksek oranlarda verilir.
3. Kritik Vuruş Oranı Bonusu
Kritik vuruşlar, savaş sırasında büyük fark yaratabilir. Silahlara eklenen bu bonus, karakterin saldırılarında kritik çıkma ihtimalini artırır. Bu bonus genellikle +%2 kritik şans gibi değerlerde olur ve karakterin yeteneklerine göre artar.
4. Savunma Karşılığı
Bu bonus, düşman tarafından gelen saldırıya karşı küçük bir hasar geri verme yeteneği sağlar. Özellikle defansif oynayan oyuncular için idealdir. Örneğin +%10 savunma karşılığı, alınan her 100 fiziksel hasar karşısında 10 hasar geri verilir.
Bonus sistemleri C++ sunucu tarafında modifiye edilerek ve DB tablolarına yeni alanlar eklenerek aktif edilebilir. Bu tür değişiklikler için Metin2Lobby üzerinden kaynak kod örneklerine ulaşabilirsiniz. Bu bonuslar sayesinde oyuncular daha dengeli ve stratejik bir oyun deneyimi yaşarlar. Geliştiricilerin dikkat etmesi gereken hususlar arasında, bonusların dengeli dağıtılması ve sunucudaki oyun ekonomisinin bozulmamasıdır. Bu bonuslar doğru şekilde uygulanırsa Metin2 özel sunucularında rekabet ve eğlence seviyesi ciddi anlamda artar.
Adding 4 New Bonuses for Weapons and Armor
In Metin2 private servers, adding bonus features to weapons and armor is a common method to enhance gameplay and allow players to customize their characters.
1. Health Percentage Increase Bonus
Maintaining character health is crucial in-game. Adding a health percentage bonus to armor increases the character's maximum HP by a certain ratio. For example, if an armor provides %3 max health bonus, a character with 5000 HP would gain 150 additional health points. This bonus can be dynamically adjusted based on armor level or set bonuses.
2. Damage Percentage Increase
This bonus added to weapons increases physical or magical damage by a percentage. It plays a significant role especially in PVP systems. For instance, +%5 attack power bonus applies an extra 5% of the total攻击力 as damage. These bonuses are typically higher on high-level weapons.
3. Critical Hit Chance Bonus
Critical hits can make a big difference during combat. This bonus increases the chance of landing critical hits with weapons. Usually, values like +%2 critical chance are applied, scaling with character abilities.
4. Defense Counter
This bonus allows a small amount of damage to be returned when attacked by an enemy. Ideal for defensively playing players. For example, +%10 defense counter returns 10 damage when taking 100 physical damage.
Bonus systems can be activated by modifying server-side C++ code and adding new fields to database tables. You can access source code examples via Metin2Lobby. With these bonuses, players experience a more balanced and strategic gameplay. Developers must ensure that bonuses are distributed evenly without disrupting the game economy. Properly implemented, these bonuses significantly increase competitiveness and fun in Metin2 private servers.
Alıntıdır.
common/CommonDefine.h
Kod:
#define __4_BONUS_DEFAULT__
game/item.cpp
"void CItem::AlterToMagicItem()" içinde bulun:
Kod:
if (number(1, 100) <= iSecondPct) PutAttribute(aiItemMagicAttributePercentLow); if (number(1, 100) <= iThirdPct) PutAttribute(aiItemMagicAttributePercentLow);
Şununla değiştir:
Kod:
#ifdef __4_BONUS_DEFAULT__ if ((GetType() == ITEM_WEAPON) || (GetType() == ITEM_ARMOR)) { PutAttribute(aiItemMagicAttributePercentHigh); // Second bonus PutAttribute(aiItemMagicAttributePercentHigh); // Third bonus PutAttribute(aiItemMagicAttributePercentHigh); // Fourth bonus } else { if (number(1, 100) <= iSecondPct) PutAttribute(aiItemMagicAttributePercentLow); if (number(1, 100) <= iThirdPct) PutAttribute(aiItemMagicAttributePercentLow); } #else if (number(1, 100) <= iSecondPct) PutAttribute(aiItemMagicAttributePercentLow); if (number(1, 100) <= iThirdPct) PutAttribute(aiItemMagicAttributePercentLow); #endif
game/item_manager.cpp
"LPITEM ITEM_MANAGER::CreateItem(DWORD vnum, DWORD count, DWORD id, bool bTryMagic, int iRarePct, bool bSkipSave)"
bulun:
Kod:
if (bTryMagic) { if (iRarePct == -1) iRarePct = table->bAlterToMagicItemPct; if (number(1, 100) <= iRarePct) item->AlterToMagicItem(); }
Şununla değiştir:
Kod:
if (bTryMagic) { #ifdef __4_BONUS_DEFAULT__ if ((item->GetType() == ITEM_WEAPON) || (item->GetType() == ITEM_ARMOR)) { item->AlterToMagicItem(); } else { #endif if (iRarePct == -1) iRarePct = table->bAlterToMagicItemPct; if (number(1, 100) <= iRarePct) item->AlterToMagicItem(); #ifdef __4_BONUS_DEFAULT__ } #endif }
game/questlua_game.cpp
"Game_drop_item" işlevinin içinde şunu bulun:
Kod:
LPITEM item = ITEM_MANAGER::instance().CreateItem(item_vnum, count);
Şununla değiştir:
Kod:
#ifdef __4_BONUS_DEFAULT__ LPITEM item = ITEM_MANAGER::instance().CreateItem(item_vnum, count, 0, true); #else LPITEM item = ITEM_MANAGER::instance().CreateItem(item_vnum, count); #endif
"Game_drop_item_with_ownership" işlevinin içinde şunu bulun:
Kod:
item = ITEM_MANAGER::instance().CreateItem((DWORD) lua_tonumber(L, 1));
Şununla değiştir:
Kod:
#ifdef __4_BONUS_DEFAULT__ item = ITEM_MANAGER::instance().CreateItem((DWORD) lua_tonumber(L, 1), 1, 0, true); #else item = ITEM_MANAGER::instance().CreateItem((DWORD) lua_tonumber(L, 1)); #endif
"Game_drop_item_with_ownership" işlevinin içinde şunu bulun:
Kod:
item = ITEM_MANAGER::instance().CreateItem((DWORD) lua_tonumber(L, 1), (int) lua_tonumber(L, 2));
Şununla değiştir:
Kod:
#ifdef __4_BONUS_DEFAULT__ item = ITEM_MANAGER::instance().CreateItem((DWORD) lua_tonumber(L, 1), (int) lua_tonumber(L, 2), 0, true); #else item = ITEM_MANAGER::instance().CreateItem((DWORD) lua_tonumber(L, 1), (int) lua_tonumber(L, 2)); #endif
"Game_drop_item_with_ownership_and_dice" fonksiyonunun içinde şunları bulun:
Kod:
item = ITEM_MANAGER::instance().CreateItem((DWORD) lua_tonumber(L, 1), (int) lua_tonumber(L, 2));
Şununla değiştir:
Kod:
#ifdef __4_BONUS_DEFAULT__ item = ITEM_MANAGER::instance().CreateItem((DWORD) lua_tonumber(L, 1), (int) lua_tonumber(L, 2), 0, true); #else item = ITEM_MANAGER::instance().CreateItem((DWORD) lua_tonumber(L, 1), (int) lua_tonumber(L, 2)); #endif
game/shop.cpp
"int CShop::Buy(LPCHARACTER ch, BYTE pos)" işlevinin içinde şunu bulun:
Kod:
item = ITEM_MANAGER::instance().CreateItem(r_item.vnum, r_item.count);
Şununla değiştir:
Kod:
#ifdef __4_BONUS_DEFAULT__ item = ITEM_MANAGER::instance().CreateItem(r_item.vnum, r_item.count, 0, true); #else item = ITEM_MANAGER::instance().CreateItem(r_item.vnum, r_item.count); #endif
Zırh ve Silahlar için 4 Yeni Bonus Ekleme
Metin2 özel sunucularında oyun deneyimini artırmak ve oyuncuların karakterlerini özelleştirmelerine olanak tanımak adına zırh ve silahlara bonus özellikler eklemek oldukça yaygın bir yöntemdir.
1. Can Yüzdesi Artışı Bonusu
Oyuncuların karakterlerinin sağlığını korumaları kritik öneme sahiptir. Bu nedenle zırhlara can yüzdesi bonusu eklenmesi, karakterin maksimum HP değerine göre ekstra can kazanımı sağlar. Örneğin bir zırh %3 maksimum can bonusu veriyorsa, 5000 HP'ye sahip bir karakter 150 ekstra can alır. Bu bonus, zırh seviyesine veya set bonusuna göre dinamik olarak ayarlanabilir.
2. Hasar Yüzdesi Artışı
Silahlara eklenen bu bonus, karakterin fiziksel veya büyü hasarını yüzde bazında artırır. Özellikle PVP sistemlerinde büyük rol oynar. Örneğin +%5 saldırı gücü bonusu, karakterin toplam攻击力 değerinin %5 fazlasını hasar olarak uygular. Bu bonuslar genellikle yüksek seviye silahlarda daha yüksek oranlarda verilir.
3. Kritik Vuruş Oranı Bonusu
Kritik vuruşlar, savaş sırasında büyük fark yaratabilir. Silahlara eklenen bu bonus, karakterin saldırılarında kritik çıkma ihtimalini artırır. Bu bonus genellikle +%2 kritik şans gibi değerlerde olur ve karakterin yeteneklerine göre artar.
4. Savunma Karşılığı
Bu bonus, düşman tarafından gelen saldırıya karşı küçük bir hasar geri verme yeteneği sağlar. Özellikle defansif oynayan oyuncular için idealdir. Örneğin +%10 savunma karşılığı, alınan her 100 fiziksel hasar karşısında 10 hasar geri verilir.
Bonus sistemleri C++ sunucu tarafında modifiye edilerek ve DB tablolarına yeni alanlar eklenerek aktif edilebilir. Bu tür değişiklikler için Metin2Lobby üzerinden kaynak kod örneklerine ulaşabilirsiniz. Bu bonuslar sayesinde oyuncular daha dengeli ve stratejik bir oyun deneyimi yaşarlar. Geliştiricilerin dikkat etmesi gereken hususlar arasında, bonusların dengeli dağıtılması ve sunucudaki oyun ekonomisinin bozulmamasıdır. Bu bonuslar doğru şekilde uygulanırsa Metin2 özel sunucularında rekabet ve eğlence seviyesi ciddi anlamda artar.
Adding 4 New Bonuses for Weapons and Armor
In Metin2 private servers, adding bonus features to weapons and armor is a common method to enhance gameplay and allow players to customize their characters.
1. Health Percentage Increase Bonus
Maintaining character health is crucial in-game. Adding a health percentage bonus to armor increases the character's maximum HP by a certain ratio. For example, if an armor provides %3 max health bonus, a character with 5000 HP would gain 150 additional health points. This bonus can be dynamically adjusted based on armor level or set bonuses.
2. Damage Percentage Increase
This bonus added to weapons increases physical or magical damage by a percentage. It plays a significant role especially in PVP systems. For instance, +%5 attack power bonus applies an extra 5% of the total攻击力 as damage. These bonuses are typically higher on high-level weapons.
3. Critical Hit Chance Bonus
Critical hits can make a big difference during combat. This bonus increases the chance of landing critical hits with weapons. Usually, values like +%2 critical chance are applied, scaling with character abilities.
4. Defense Counter
This bonus allows a small amount of damage to be returned when attacked by an enemy. Ideal for defensively playing players. For example, +%10 defense counter returns 10 damage when taking 100 physical damage.
Bonus systems can be activated by modifying server-side C++ code and adding new fields to database tables. You can access source code examples via Metin2Lobby. With these bonuses, players experience a more balanced and strategic gameplay. Developers must ensure that bonuses are distributed evenly without disrupting the game economy. Properly implemented, these bonuses significantly increase competitiveness and fun in Metin2 private servers.
