Selamün Aleyküm Arkadaslar.
Bir çok arkadasımızın aradiği Taşin iteme eklenme oranını nasıl ayarlicaz sizlere
Göstereceğim oldukça basittir.
NOT:Arkadaslar lütfen source kısımlarinda bir cok kişi bazı sistemleri ekliyor
Lakin Build ederken JOB Sorunlari ve hatalari + error hatalari aliyor
Bunu sebebi Kodlama Dilidir.
Notepad++ Kulananlar Lütfen
Kodlama =>Karakter Takımı => Türkçe ISO-8859-9 Yapsınlar bu sayede python veya lua
+ Baska kodlama dillerinde sorun yaşamazlar mesela 40k İTEM_PROTOLARİ
Herkez Not Defteri veya WordPad İle açıyor fakat dediğim sekilde yaparsanız itemprotodaki bütün
kodlar hepsi türkçe olucaktır. Hiç bir sorunda yasamazsiniz.
Nyse şu ; 3 satirlik kod yiğinina geçelim
char_item.cpp Açılır
Arat:
Hemen Üstünde
30 Yazan kısım sizin taş geçme oranınızdır.
Sizinki 70 olabilir 80 olabilir veya farklı olabilir.
Önemli Bilgilendirme
Bir çok arkadasımızın aradiği Taşin iteme eklenme oranını nasıl ayarlicaz sizlere
Göstereceğim oldukça basittir.
NOT:Arkadaslar lütfen source kısımlarinda bir cok kişi bazı sistemleri ekliyor
Lakin Build ederken JOB Sorunlari ve hatalari + error hatalari aliyor
Bunu sebebi Kodlama Dilidir.
Notepad++ Kulananlar Lütfen
Kodlama =>Karakter Takımı => Türkçe ISO-8859-9 Yapsınlar bu sayede python veya lua
+ Baska kodlama dillerinde sorun yaşamazlar mesela 40k İTEM_PROTOLARİ
Herkez Not Defteri veya WordPad İle açıyor fakat dediğim sekilde yaparsanız itemprotodaki bütün
kodlar hepsi türkçe olucaktır. Hiç bir sorunda yasamazsiniz.
Nyse şu ; 3 satirlik kod yiğinina geçelim
char_item.cpp Açılır
Arat:
Kod:
item2->SetAccessorySocketMaxGrade(item2->GetAccessorySocketMaxGrade() + 1);
Hemen Üstünde
Kod:
[COLOR=#777777][FONT=Monaco]if (number(1, 100) <= 30)[/FONT][/COLOR]
30 Yazan kısım sizin taş geçme oranınızdır.
Sizinki 70 olabilir 80 olabilir veya farklı olabilir.
Önemli Bilgilendirme
Kod:
item2->SetAccessorySocketMaxGrade(item2->GetAccessorySocketMaxGrade() + 1); [B]Bu kod yığını bende alt kısımda yani 1 2 satir altkısımda resimde üst kısımda sizdede farklılık gösterebilir [/B]
Metin2 Özel Sunucularında C++ ile Taşın İteme Eklenme Oranını Ayarlama
Giriş
Metin2 özel sunucu geliştirme sürecinde, oyuncuların deneyimini artırmak için birçok sistem üzerinde çalışılır. Bunlardan birisi de taşın itemlere eklenme oranıdır. Bu sistem sayesinde oyuncular, taşları kullanarak elde ettikleri silah, zırh ya da diğer ekipmanlara güç kazandırabilirler. Ancak bu sistem doğru ayarlanmadığında hem oyun içi ekonomi dengesi bozulabilir hem de oyunun zorluğu düşebilir. Bu nedenle, taşların itemlere eklenme oranını C++ seviyesinde kontrol etmek büyük önem taşır.
Taş Sistemi Nedir?
Metin2 oyununda taş sistemi, karakterlerin sahip oldukları ekipmanlara belirli bir başarı oranı ile yükseltme işlemi yapmalarını sağlar. Örneğin, +0 olan bir kılıca +1, +2, +3 şeklinde yükseltilebilir. Bu işlem sırasında taş adı verilen özel itemlar kullanılır. Bu taşlar genellikle drop yoluyla veya satın alım ile elde edilir. Oyuncu taş kullanarak ekipmanını geliştirirken, başarısız olursa item hasar görebilir veya yıkılabilir. Bu risk, sistemde heyecan ve strateji katmanı oluşturur.
C++ Kaynak Kodlarında Taş Oranlarını Ayarlamak
Metin2 özel sunucularında taş sistemini özelleştirmek için genellikle game sunucusunun C++ kaynak kodlarına müdahale edilir. Bu sistem genellikle char_item.cpp, item_addon.cpp, veya constantsmanager.cpp gibi dosyalarda tanımlanır. Burada taşların başarı oranları sabit değerlerle belirlenir. Bu değerleri değiştirmek, geliştirme sürecinde büyük avantaj sağlar.
Örnek olarak, bir geliştirici upgrade_success_rate_table adlı bir diziye ulaşarak, +0'dan +15'e kadar olan her bir yükseltme seviyesi için ayrı ayrı başarı oranları tanımlayabilir. Bu oranlar genellikle yüzde cinsindendir ve float tipinde olabilir. Örneğin:
+0 -> +1: %80
+7 -> +8: %25
+14 -> +15: %5
Python GUI Kullanarak Oranları Yönetme
Bazı geliştiriciler, taş oranlarını daha kolay yönetebilmek adına Python GUI arayüzleri kullanabilirler. Bu tür arayüzler, uiscript dosyaları yardımıyla oluşturulabilir. Böylece sunucu yöneticileri, taş oranlarını doğrudan C++ koduna dokunmadan değiştirebilirler. Bu yöntem hem zaman tasarrufu sağlar hem de kodlama bilgisi olmayan kişiler için daha erişilebilir hale getirir.
Hata Ayıklama ve Test[/BR][/BR]Yeni oranlar tanımlandıktan sonra mutlaka test aşaması uygulanmalıdır. Hatalı oranlar sunucuda anomali yaratabilir. Bu nedenle, test sunucularında bu işlemleri yapmak önemlidir. Ayrıca loglama sistemleri yardımıyla her taş kullanımının kayıt altına alınması önerilir.
Sonuç[/BR][/BR]Metin2 özel sunucularında taş sistemi, oyuncuların ilgisini çekecek ve oyun içi dengeleri etkileyebilecek güçlü bir özelliktir. Bu sistemin C++ seviyesinde doğru ayarlanması, sunucunun uzun vadeli başarısı için kritik öneme sahiptir. Geliştiriciler, oranları dikkatli şekilde ayarlayarak hem eğlenceyi hem de dengeyi koruyabilirler.
Adjusting Stone-to-Item Success Rate in Metin2 Private Servers with C++
Introduction
In the process of developing Metin2 private servers, many systems are worked on to enhance player experience. One of these is the success rate of stones applied to items. This system allows players to strengthen their weapons, armor, or other equipment by using stones. However, if this system isn't properly configured, both in-game economy balance can be disrupted and the game's difficulty may decrease. Therefore, controlling the success rate of stones being added to items at the C++ level is very important.
What Is the Stone System?
In the Metin2 game, the stone system allows characters to upgrade their equipment with a certain success rate. For example, a +0 sword can be upgraded to +1, +2, +3 and so on. During this process, special items called stones are used. These stones are generally obtained through drops or purchases. When players use stones to upgrade their equipment, if they fail, the item might get damaged or destroyed. This risk creates excitement and strategic depth within the game.
Adjusting Stone Rates in C++ Source Code
To customize the stone system in Metin2 private servers, developers typically modify the game server's C++ source code. This system is usually defined in files such as char_item.cpp, item_addon.cpp, or constantsmanager.cpp. In these files, success rates for stones are set as fixed values. Modifying these values can provide significant advantages during development.
As an example, a developer could access an array named upgrade_success_rate_table and define separate success rates for each upgrade level from +0 to +15. These rates are generally given as percentages and can be of float type. For instance:
+0 to +1: 80%
+7 to +8: 25%
+14 to +15: 5%
Managing Rates with Python GUI
Some developers use Python GUI interfaces to manage stone rates more easily. Such interfaces can be created using uiscript files. This way, server administrators can adjust stone rates without directly modifying the C++ code. This approach saves time and makes the process more accessible to those without coding knowledge.
Debugging and Testing[/BR][/BR]After new rates are defined, a testing phase must be applied. Incorrect rates can cause anomalies on the server. Therefore, performing these operations on test servers is essential. Additionally, logging systems should be used to record every stone usage.
Conclusion[/BR][/BR]The stone system in Metin2 private servers is a powerful feature that can attract players and affect in-game balances. Properly configuring this system at the C++ level is critical for the long-term success of the server. By carefully adjusting the rates, developers can maintain both fun and balance.
