[DIF-34083]CHARACTER::DropGold fonksiyonunun kapatılması (Yere yang atmayı engelleme)

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Merhaba arkadaşlar yine ben yine ben sistem 40k source'de yapılabiliyor ama 34k için DIF görmedim ve onun için yapıyorum yere yang atmayı engeller ve bu fonksiyonu kapatır.

C++ Sourcede yapılışı;

Kod:
[COLOR=#000088]bool[/COLOR] CHARACTER[COLOR=#666600]::[/COLOR][COLOR=#660066]DropGold[/COLOR][COLOR=#666600]([/COLOR][COLOR=#000088]int[/COLOR] gold[COLOR=#666600]) [/COLOR]

Kod bloğunu değiştirin ;

Kod:
[COLOR=#000088]bool[/COLOR] CHARACTER[COLOR=#666600]::[/COLOR][COLOR=#660066]DropGold[/COLOR][COLOR=#666600]([/COLOR][COLOR=#000088]int[/COLOR] gold[COLOR=#666600])[/COLOR] [COLOR=#666600]{[/COLOR] [COLOR=#000088]return[/COLOR] [COLOR=#000088]false[/COLOR][COLOR=#666600];[/COLOR] [COLOR=#666600]}[/COLOR]

34K DIF;

Kod:
[/B]This difference file has been created by IDA game34083 0004FE40: 55 C3 [B]

Metin2 Özel Sunucularda Yere Yang Atmayı Engelleme: [DIF-34083]CHARACTER::DropGold Fonksiyonunun Kapatılması

Metin2 özel sunucu geliştirme süreçlerinde güvenlik ve deneyim optimizasyonu oldukça önemli konulardandır. Bu doğrultuda, oyuncuların istenmeyen davranışlarını sınırlamak amacıyla alınan önlemlerden birisi de yere yang atma mekanizmasının kapatılmasıdır. Bu işlem, hem ekonomik dengenin korunması hem de hile kullanımı riskinin azaltılması açısından büyük önem taşımaktadır. Bu yazıda, [DIF-34083]CHARACTER::DropGold fonksiyonunun devre dışı bırakılması yoluyla bu amacın nasıl sağlanacağına değineceğiz.

Fonksiyon Nedir ve Ne İşe Yarar?

CHARACTER::DropGold, Metin2 oyununda bir karakterin sahip olduğu yang miktarını düşürme işleminden sorumlu olan bir fonksiyondur. Varsayılan yapıda, oyuncular bu fonksiyon sayesinde belirli bir yang miktarını harcamadan yere bırakabilir. Ancak bazı özel sunucularda bu özellik, exploit olarak kullanılabilmektedir. Örneğin, iki farklı karakter arasında yang aktarımı yapmak veya yere bırakılan yangları hızlıca toplayarak hileli yöntemlerle servetteki yang dengesini bozmak mümkün olabilmektedir.

Neden Devre Dışı Bırakılmalı?

Oyuncuların yere yang bırakabilmesi, özellikle PvP sunucularında ciddi problemlere yol açabilir. Ekonomik dengenin bozulması, servetlerin istenmeyen şekilde artması gibi durumlarla karşılaşılabilir. Ayrıca, bot kullanıcılar bu özelliği kötüye kullanarak sunucudaki diğer oyuncuların deneyimini olumsuz yönde etkileyebilir. Bu nedenle, CHARACTER::DropGold fonksiyonunun devre dışı bırakılması, sunucu güvenliği açısından önemli bir adımdır.

Uygulama Yöntemi

Fonksiyonun kapatılması için game server source code üzerinde değişiklik yapılması gerekir. Özellikle C++ tabanlı server src dosyalarında, char.cpp veya benzeri bir dosya içerisinde bulunan DropGold fonksiyonuna erişilir. Burada, fonksiyonun çalışmasını engelleyecek şekilde bir if koşulu eklenir veya doğrudan fonksiyonun içeriği boşaltılarak devre dışı bırakılır. Bu işlem sırasında dikkat edilmesi gereken en önemli konu, compile hatası almamak için doğru kodlama kurallarına sadık kalınmasıdır.

Alternatif Çözümler

Fonksiyonu tamamen devre dışı bırakmanın yanı sıra, bazı sunucular belirli seviye veya item eşiklerine göre sınırlama getirebilir. Örneğin, sadece belirli seviyenin üzerindeki karakterlerin yang bırakabilmesi gibi. Bu tür kontroller Python tabanlı system dosyalarında da yapılabilmektedir. Ancak, daha sade ve etkili bir çözüm için doğrudan fonksiyonun kapatılması tercih edilmektedir.

Sonuç

Metin2 özel sunucu geliştirme sürecinde, küçük ama etkili değişikliklerle büyük kazanımlar elde edilebilir. [DIF-34083]CHARACTER::DropGold fonksiyonunun kapatılması da buna güzel bir örnektir. Sunucu güvenliğini artırarak, hile ve exploit kullanımını azaltmak, hem admin hem de oyuncu tarafı için daha keyifli bir oyun ortamı sağlar. Bu tarz değişiklikler, source edit sürecinin temel parçalarından birisidir ve Metin2 Lobby olarak bu konularda bilgi paylaşımlarına devam edeceğiz.


Preventing Gold Dropping on Ground in Metin2 Private Servers: Disabling the [DIF-34083]CHARACTER::DropGold Function

Within the scope of Metin2 private server development, security and experience optimization are critical aspects. In this context, one of the measures taken to limit unwanted player behaviors is disabling the ability to drop gold on the ground. This action is vital both for maintaining economic balance and reducing the risk of cheating. In this article, we will discuss how this goal can be achieved by disabling the [DIF-34083]CHARACTER::DropGold function.

What Is the Function and What Does It Do?

CHARACTER::DropGold is responsible for allowing a character to drop a specific amount of gold in the original Metin2 game. By default, players can place gold on the ground without spending it directly. However, on some private servers, this feature can be exploited. For instance, gold transfers between two different characters or exploiting dropped gold rapidly may disrupt the server economy.

Why Should It Be Disabled?

Allowing players to drop gold on the ground can lead to serious issues, especially on PvP servers. Economic imbalances and unintended wealth accumulation can occur. Additionally, bot users might exploit this feature to negatively affect the gaming experience of other players. Therefore, disabling the CHARACTER::DropGold function is an important step toward server security.

Implementation Method

To disable the function, modifications must be made to the game server source code. Particularly in C++-based server src files, the DropGold function located in files like char.cpp is accessed. Here, an if condition can be added to prevent the function from running, or the function's content can be entirely emptied. The most important aspect during this process is adhering to proper coding standards to avoid compile errors.

Alternative Solutions

Besides fully disabling the function, some servers implement restrictions based on level or item thresholds. For example, only characters above a certain level may be allowed to drop gold. Such controls can also be implemented within Python-based system files. However, directly disabling the function is preferred for simpler and more effective results.

Conclusion

In Metin2 private server development, small but impactful changes can yield significant benefits. Disabling the [DIF-34083]CHARACTER::DropGold function is a prime example of such changes. Enhancing server security and reducing cheating and exploits creates a more enjoyable gaming environment for both admins and players. Such modifications are part of the fundamental components of the source edit process, and Metin2 Lobby will continue sharing knowledge on these topics.
 

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

Geri
Üst Alt