Max Ortalama Zarar Beceri Hasarı Oran Değiştirme.. - Max average loss skill damage...!

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 63

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Merhaba Arkadaşlar.
konuyu son defa düzenliyorum.
baya uğraştim.
hangi dosyaları tam olarak düzenlediğim aklımda değildi.
bu kadar düzenleme ondandır.

anlatıma geçelim.
/usr/src/gamesrc/server/game/src > dizinine gelim item_addon.cpp açalım.
max 75>100 ortalama ve 30>50 beceri hasarı ayarlamak isteyenler direk kopyala yapıştır yapsın :)
farklı yapmak isteyenler 25-26-27-28-30. satırları düzenlesin.

int iNormalHitBonus = 20;
if (abs(iSkillBonus) <= 20)

20 yazan yerler gelme şansı
int iSkillBonus = MINMAX(-30, (int) (gauss_random(0, 10) + 0.5f), 30);
-30 ve sondaki 30 beceri hasarı için. max gelecek seçenek. üstüde geliyor.
iNormalHitBonus = -2 * iSkillBonus + abs(number(-20, 20) + number(-20, 20)) + number(1, 4);
-20 20 yazan yerler ortalama zarar gelme şansı bunu 4 ile çarpıyor.
örnek ben 20 yaptım 20X4=80
80 ort ve üzeri gelebilir yani.
max olarak 100 ortalama gelir benim ayarladığımda siz onu yükselttikçe üstü gelir.

iNormalHitBonus = -2 * iSkillBonus + number(1, 10);
burası ortalama zarara ek gelir. :)
bunu dahada fazla gelmesi için 10 yazan yeri yükseltin - seviyesini yani -50 ortalama zararı arttırmak için -2'i yükseltin.


Kod:
#include "stdafx.h" #include "constants.h" #include "utils.h" #include "item.h" #include "item_addon.h" CItemAddonManager::CItemAddonManager() { } CItemAddonManager::~CItemAddonManager() { } void CItemAddonManager::ApplyAddonTo(int iAddonType, LPITEM pItem) {     if (!pItem)     {         sys_err("ITEM pointer null");         return;     }     // TODO 일단 하드코딩으로 평타 스킬 수치 변경만 경우만 적용받게한다.     int iSkillBonus = MINMAX(-30, (int) (gauss_random(0, 10) + 0.5f), 30);     int iNormalHitBonus = 20;     if (abs(iSkillBonus) <= 20)         iNormalHitBonus = -2 * iSkillBonus + abs(number(-20, 20) + number(-20, 20)) + number(1, 4);     else         iNormalHitBonus = -2 * iSkillBonus + number(1, 10);     pItem->RemoveAttributeType(APPLY_SKILL_DAMAGE_BONUS);     pItem->RemoveAttributeType(APPLY_NORMAL_HIT_DAMAGE_BONUS);     pItem->AddAttribute(APPLY_NORMAL_HIT_DAMAGE_BONUS, iNormalHitBonus);     pItem->AddAttribute(APPLY_SKILL_DAMAGE_BONUS, iSkillBonus); }

arkadaşlar yapımı aşırı kolay.
burdaki anlatımdan birşey anlamadıysanız.

iSkillBonus yazanlar beceri hasarı
iNormalHitBonus yazanlar ortalama zarar.

karşılarındaki rakamları düzenlemeniz lazım.
kendi srcnizdeki item_addon.cpp ile karşılaştırıp nereleri düzenleyeceğinizi daha kolayca bulabilirsiniz.

yeni başlayan arkadaşlar var bu işlerde yeni olanlar.
yapamazsaniz mesaj gönderin yardımcı olurum elimden geldiği kadar.


KANIT.
Screenshot_46f9b982486b10f7f.png






Screenshot_530e6b41a2685186c.png







Screenshot_64909a35afcaf8cc8.png

Max Ortalama Zarar Beceri Hasarı Oran Değiştirme
Metin2 özel sunucularında oyun deneyimini optimize etmek isteyen geliştiriciler için önemli konulardan birisi, becerilerin hasar oranlarını ayarlamaktır. Özellikle PvP sistemlerinde becerilerin zarar miktarları, oyuncuların stratejik tercihlerini doğrudan etkiler. Bu nedenle, max ortalama zarar ve beceri hasarı oranlarını değiştirmek, sunucu dengesini sağlama açısından kritik öneme sahiptir.

Ortalama Zarar Hesaplaması Nedir?
Metin2 oyun motorunda, her beceri belirli bir aralıkta rastgele bir zarar üretir. Bu hesaplama genellikle minimum ve maksimum değerler arasında değişir. Ancak geliştiriciler, bu aralığı daraltarak daha öngörülebilir veya genişleterek daha riskli beceriler yaratabilirler. Ortalama zarar, minimum ve maksimum zararın ortalamasıdır ve bu değer, becerinin ne kadar etkili olacağını tahmin etmemizi sağlar.

Beceri Hasarı Oranlarını Değiştirmek
Metin2 özel sunucularında beceri hasar oranlarını değiştirmek için genellikle C++ kaynak kod üzerinde değişiklik yapmak gerekir. Bu işlem sırasında, beceri sınıflarının tanımlandığı yerlerdeki matematiksel formüller değiştirilir. Örneğin, bir savaşçının keskin darbe becerisinin hasarı, game/src/char_skill.cpp gibi dosyalarda tanımlıdır. Burada, damage * skill_level * multiplier gibi bir formül üzerinde çalışarak beceri hasarını artırabilir ya da azaltabilirsiniz.

PvP Sistemlerinde Etkisi
Metin2 PvP sistemlerinde, beceri hasar oranlarının doğru ayarlanması, dengeli bir oyun deneyimi sunmak için kritiktir. Yüksek hasar oranları, bazı sınıfları baskın hale getirebilir ve bu da oyuncu kitlesinin dağılmasına sebep olabilir. Bu nedenle, hasar oranlarını test ederek ve oyuncu geri bildirimlerini göz önünde bulundurarak ayarlamak önemlidir.

Python GUI Kullanarak Ayar Yapmak
Geliştiriciler, beceri hasar oranlarını değiştirmek için Python GUI tabanlı sistemler de kullanabilirler. Bu tür araçlar, uiscript dosyaları ile entegre çalışarak, geliştiricinin görsel bir arayüz üzerinden değerleri kolayca düzenlemesine olanak tanır. Bu sayede, script hatalarını azaltmak ve hızlıca test etmek mümkün olur.

Kaynak Kod ve Derleme Süreci
Metin2 özel sunucularında beceri hasar oranlarını değiştirmek için, server src dosyaları üzerinde çalışmak gerekir. Bu süreçte, auth server ve game server yapılandırmalarının senkronize olması gerekir. Ayrıca, yapılan değişikliklerin derlenmesi için Metin2 compile işlemleri doğru yapılmalıdır. Bu işlemler sırasında derleme hatalarına dikkat etmek ve log dosyalarını kontrol etmek önemlidir.

Veritabanı ve Beceri Tanımları
Metin2 beceri sistemleri, genellikle DB core üzerinde tanımlanır. Bu veritabanı yapıları sayesinde, geliştiriciler becerilerin hasar oranlarını, beceri seviyesine göre dinamik olarak değiştirebilirler. Örneğin, bir beceri level 10'da %100 hasar üretirken, level 20'de %150 hasar üretebilir. Bu tanımlar, skill_proto tablosunda bulunur ve py root ile yönetilebilir.

Sonuç
Metin2 özel sunucularında max ortalama zarar ve beceri hasarı oranlarını değiştirmek, oyun deneyimini büyük ölçüde etkileyen önemli bir özelliktir. Bu işlem, hem C++ sistem bilgisi gerektirir hem de veritabanı ve sunucu yapılandırması ile ilgilenmenizi sağlar. Doğru ayarlarla, kullanıcı dostu ve dengeli bir PvP sistemi kurabilirsiniz.


Max Average Loss Skill Damage Ratio Adjustment
For developers aiming to optimize the gameplay experience on Metin2 private servers, one of the important topics is adjusting skill damage ratios. Especially in PvP systems, the damage amounts of skills directly affect players' strategic choices. Therefore, changing max average damage and skill damage ratios is critical for maintaining server balance.

What Is Average Damage Calculation?
In the Metin2 game engine, each skill generates random damage within a specific range. This calculation typically varies between minimum and maximum values. However, developers can create more predictable or riskier skills by narrowing or expanding this range. Average damage is the mean of minimum and maximum damage and allows us to estimate how effective a skill will be.

Changing Skill Damage Ratios
To change skill damage ratios on Metin2 private servers, it is usually necessary to modify the C++ source code. During this process, mathematical formulas defined where skill classes are located are altered. For instance, the damage of a warrior's critical hit skill is defined in files like game/src/char_skill.cpp. By working on a formula such as damage * skill_level * multiplier, you can increase or decrease the skill's damage output.

Impact on PvP Systems
In Metin2 PvP systems, correctly setting skill damage ratios is crucial for providing balanced gameplay. High damage ratios may make certain classes dominant, causing player base fragmentation. Therefore, it is important to adjust damage ratios through testing and by considering player feedback.

Adjusting Settings with Python GUI
Developers can also use Python GUI-based tools to change skill damage ratios. Such tools integrate with uiscript files, allowing developers to easily adjust values via a visual interface. This way, minimizing script errors and testing quickly becomes possible.

Source Code and Compilation Process
To change skill damage ratios on Metin2 private servers, work must be done on server src files. In this process, configurations of auth server and game server must be synchronized. Additionally, Metin2 compilation processes must be performed correctly for the applied changes. During these operations, attention should be paid to compilation errors and log files must be checked.

Database and Skill Definitions
Metin2 skill systems are generally defined over the DB core. These database structures allow developers to dynamically adjust skill damage ratios based on skill levels. For example, a skill may generate %100 damage at level 10 but %150 at level 20. These definitions are found in the skill_proto table and can be managed via py root.

Conclusion
Changing max average damage and skill damage ratios on Metin2 private servers is an important feature that significantly affects the gameplay experience. This process requires both C++ system knowledge and involves database and server configuration. With correct settings, you can establish a user-friendly and balanced PvP system.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Geri
Üst Alt