[C++] Moblarda Level Gösterimi Kapatmak

  • 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
Forumda bi arkadaş istemişti ulaşamadım adını da hatırlamıyorum umarım görür...

../Clien/UserInterface/InstanceBaseEffect.cpp

Arat;
Kod:
void CInstanceBase::UpdateTextTailLevel(DWORD level)

Kod bloğunu değiştir;

Kod:
void CInstanceBase::UpdateTextTailLevel(DWORD level) {     if (IsPC())     {         static D3DXCOLOR s_kLevelColor = D3DXCOLOR(152.0f/255.0f, 255.0f/255.0f, 51.0f/255.0f, 1.0f);         char szText[256];         if (level >= 1 && level < 255)         {             sprintf(szText, "Lv %d", level);             CPythonTextTail::Instance().AttachLevel(GetVirtualID(), szText, s_kLevelColor);         }     } }

32499_bd036cb0728e3bbba34bbb752d193ed5.png

Metin2 Oyunlarında C++ ile Mobil Cihazlarda Level Gösterimini Kapatmak

Metin2 özel sunucularında geliştirme yaparken, özellikle mobil cihazlarda kullanıcı deneyimi üzerinde hassas çalışmak gerekebilir. Bu bağlamda, oyuncuların karakter seviyesinin (level) mobil arayüzde görünmesini engellemek isteyebilirsiniz. Bu işlem genellikle C++ tabanlı oyun motoru düzenlemeleriyle yapılır. Bu yazıda, C++ dilinde geliştirilmiş bir Metin2 özel sunucu yapısında, mobil cihazlarda level gösterimini nasıl kapatabileceğinizi detaylı olarak anlatacağız.

Level Gösterimi Nedir?

Metin2 oyununda, oyuncu karakterlerinin sahip olduğu seviye bilgisi genellikle arayüzde belirgin bir şekilde yer alır. Özellikle PVP sistemlerde bu bilgi, rakip karakterin güç durumunu tahmin etmede kritik rol oynayabilir. Ancak bazı sunucularda, bu bilgiyi gizlemek stratejik avantaj sağlayabilir veya daha dengeli bir oyun ortamı yaratabilir.

C++ Kaynak Kodlarında Değişiklik Yapmak

Metin2 özel sunucu kaynak kodları genellikle C++ dilinde yazılmıştır. Client tarafında level gösterimini kapatmak için UI script dosyalarında veya C++ kodlarında değişiklik yapılması gerekir. Özellikle mobil cihazlar için özel ayarlar, uiscript veya py root dosyalarında tanımlanabilir. Bu dosyalarda, level bilgisinin ekranda nasıl gösterildiği tanımlanmıştır.

Nasıl Kapatılır?

Öncelikle, game client tarafında level bilgisinin bulunduğu alanı tespit edin. Genellikle bu alan CharacterWindow veya benzeri bir UI sınıfı üzerinden yönetilir. Bu sınıf içinde level değerini gösteren text control bulunur. Bu kontrolün mobil cihazlarda görünmemesi için koşullu bir yapı oluşturulmalıdır. Örneğin:

Kod:
[B]if (IsMobileMode()) {[/B][BR][/BR][B]    levelText.Hide();[/B][BR][/BR][B]}[/B]


Sunucu Tarafında Kontrol

Eğer bu işlem sadece istemci tarafında değil, sunucu tarafında da kontrol edilmek istenirse, paket yapıları üzerinden bu bilginin gönderilip gönderilmemesi sağlanabilir. Bu işlem için game server src üzerinde değişiklik yapılmalıdır. Oyuncu bilgisi istendiğinde level değeri paket içinde gönderilmezse, mobil cihazda bu bilgi görüntülenemez.

Python GUI ve Py Root Kullanımı

Bazı özel sunucularda, UI arayüzü tamamen Python tabanlıdır. Bu durumda, py gui dosyalarında level gösterimi için tanımlanmış olan nesne, mobil modda gizlenebilir. Örnek bir yapı şu şekilde olabilir:

Kod:
[B]if app.IsMobileMode():[/B][BR][/BR][B]    self.levelText.Hide()[/B][BR][/BR][B]else:[/B][BR][/BR][B]    self.levelText.Show()[/B]


Mobil ve Masaüstü İçin Farklı Davranışlar

Metin2 özel sunucularında, masaüstü ve mobil kullanıcılar arasında farklı davranışlar tanımlamak mümkündür. Bu sayede, mobil oyuncular için level gizlenebilirken masaüstü oyuncular için aynı bilgi açık bırakılabilir. Bu tip ayarlamalar, hem oyun dengesini korur hem de kullanıcı deneyimini artırır.

Sonuç

Metin2 özel sunucularında C++ veya Python tabanlı geliştirmelerle mobil cihazlarda level gösterimini kapatmak mümkündür. Bu işlem için hem istemci hem de sunucu tarafında değişiklikler gerekebilir. Geliştiriciler, martysama, metin2dev gibi topluluklardan destek alarak bu işlemleri daha kolay gerçekleştirebilir. Amacınız, kullanıcı deneyimini artırmak ve oyun dengesini korumaksa, bu tip küçük ama etkili ayarlamalar büyük fark yaratabilir.


Disabling Level Display on Mobile Devices in Metin2 with C++

When developing custom Metin2 servers, you might need to carefully adjust user experience, especially on mobile devices. In this context, you may want to hide the player character's level from appearing on the mobile interface. This process is usually achieved through modifications in C++ based game engine structures. In this article, we will explain in detail how to disable level display on mobile devices in a Metin2 custom server structure written in C++.

What Is Level Display?

In Metin2, the level information of player characters typically appears prominently on the interface. Especially in PVP systems, this information can be critical for estimating the strength of an opponent. However, hiding this information on some servers may provide strategic advantages or create a more balanced gameplay environment.

Modifying C++ Source Code

Metin2 custom server source codes are generally written in C++. To disable level display on the client side, changes must be made either in UI script files or directly in C++ code. Special settings for mobile devices can be defined in uiscript or py root files where the way level information is displayed on screen is determined.

How to Disable It?

Firstly, locate the area in the game client where the level information is displayed. Usually, this area is managed through UI classes like CharacterWindow. Inside this class, find the text control that shows the level value. A conditional structure should be created so that this control does not appear on mobile devices. For example:

Kod:
[B]if (IsMobileMode()) {[/B][BR][/BR][B]    levelText.Hide();[/B][BR][/BR][B]}[/B]


Server-Side Control

If this action needs to be controlled not only on the client side but also on the server side, it can be ensured that the level information is not sent in packets. For this, modifications must be done on game server src. If the level value is not included in the packet when the player information is requested, it cannot be displayed on mobile devices.

Using Python GUI and Py Root

In some custom servers, the UI interface is entirely based on Python. In such cases, the object defined in py gui files for displaying level information can be hidden in mobile mode. An example structure could be as follows:

Kod:
[B]if app.IsMobileMode():[/B][BR][/BR][B]    self.levelText.Hide()[/B][BR][/BR][B]else:[/B][BR][/BR][B]    self.levelText.Show()[/B]


Different Behaviors for Mobile and Desktop

In Metin2 custom servers, it is possible to define different behaviors between desktop and mobile users. This way, the level can be hidden for mobile players while remaining visible for desktop users. Such adjustments help maintain game balance and improve user experience.

Conclusion

It is possible to disable level display on mobile devices in Metin2 custom servers using C++ or Python-based developments. These actions may require modifications both on the client and server sides. Developers can make these processes easier by seeking support from communities like martysama and metin2dev. If your goal is to enhance user experience and maintain game balance, such small but effective adjustments can make a big difference.
 

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

Benzer konular

Geri
Üst Alt