[PY] Mesajları Göster/Gizle

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Konu benim değil.

Açılır: game.py
Aratılır:
Kod:
onPressKeyDict[app.DIK_Q]= self.__PressQKey

Altına Eklenir:
Kod:
onPressKeyDict[app.DIK_P] = self.__PressPKey

Aratılır:
Kod:
app.RotateCamera(app.CAMERA_TO_NEGATIVE)

Altına Eklenir:
Kod:
def __PressPKey(self): if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL): if 0==interfaceModule.IsWisperHide: interfaceModule.IsWisperHide = 1 self.interface.HideAllWhisperButton() else: interfaceModule.IsWisperHide= 0 self.interface.ShowAllWhisperButton()

Açılır: interfacemodule.py
Aratılır:
Kod:
IsQBHide = 0

Altına Eklenir:
Kod:
IsWisperHide = 0

d144890b61f814d67aba310071dfcf8c.gif

Metin2 Özel Sunucularda [PY] Mesajları Göster/Gizle Sistemi

Metin2 özel sunucularında kullanıcı deneyimini artırmak ve sunucu yöneticilerinin oyun içi etkileşimleri daha iyi kontrol etmesini sağlamak adına bazı sistemsel geliştirmeler yapmak oldukça faydalıdır. Bu yazıda, [PY] mesajlarını oyun içinde göster/gizle özelliğini aktif ederek oyuncuların istedikleri zaman bu mesajları görüntülemesini veya gizlemesini sağlayacak bir yapı kuracağız.

Neden [PY] Mesajları Göster/Gizle Sistemi?

Metin2 oyununda birçok sistemsel mesaj, özellikle [PY] dosyaları aracılığıyla üretilir. Bu mesajlar; sistem uyarıları, olay bildirimleri, özel eylemler veya sunucuya özel ekstra fonksiyonlarla ilgili bilgilendirmeler olabilir. Ancak bu mesajlar bazen oyuncular için fazla veya dikkat dağıtabilir hale gelebilir. Bu nedenle, bu mesajların kullanıcı tarafından kontrol edilebilir olması, hem kullanıcı dostu bir sistem hem de profesyonel bir oyun ortamı sağlar.

Python GUI ile Kullanıcı Ayarları Paneli

Bu sistemi entegre etmek için öncelikle bir ayar paneli oluşturmamız gerekir. Bu panel genellikle Python GUI (uiscript) kullanılarak yapılır. Oyuncu, oyun içi menüden bu ayarlara ulaşarak [PY] mesajlarının gösterilip gösterilmeyeceğini seçebilir. Bu işlem genellikle py root dosyalarında yapılandırılır ve oyuncunun tercihi bir değişken üzerinden saklanır.

PY Dosyası ve Mesaj Gönderimi

Sistemsel mesajların gönderildiği [PY] dosyalarında, bir kontrol mekanizması yerleştirilir. Örneğin, chat.AppendChat(3, 'Sistem: Sunucuda özel olay başladı!') gibi bir satır yerine, önce kullanıcı ayarları kontrol edilir. Eğer kullanıcı [PY] mesajlarını kapatmışsa, bu satır çalıştırılmaz. Bu sayede mesajlar görünmez kalır.

C++ ve Client Src ile Entegrasyon

Oyun içi ayarlar genellikle C++ tabanlı client src kısmında tanımlanır. Burada bir boolean değişkeni tutularak Python tarafında bu değere göre işlem yapılır. Örneğin, IsPyMessageEnabled() adlı bir fonksiyon, game core kısmında tanımlanarak, Python tarafında kontrol edilebilir. Bu sayede sistem daha stabil ve hızlı çalışır.

Sunucu Tarafında Ayarların Saklanması

Bu ayarların kalıcı olması için db core tarafında oyuncu bazlı bir tablo oluşturulabilir. Böylece oyuncu tekrar giriş yaptığında, daha önce seçtiği tercihler korunur. Bu işlem için auth ve game server arasında bir senkronizasyon yapılmalıdır.

Özet

Metin2 özel sunucularında [PY] mesajlarını göster/gizle sistemi, kullanıcı deneyimini artırmanın yanı sıra sunucu yönetimini de kolaylaştırır. Bu sistemi doğru şekilde entegre etmek için uiscript, py root, client src, C++ system, game core, db core gibi bileşenler uyumlu şekilde kullanılmalıdır. Bu sayede profesyonel düzeyde bir geliştirme ortamı oluşturulur.


[PY] Messages Show/Hide System on Metin2 Private Servers

To enhance user experience on Metin2 private servers and allow server administrators to better control in-game interactions, implementing certain systematic improvements can be highly beneficial. In this article, we will set up a feature that allows players to show or hide [PY] messages at will, providing them with more control over their gameplay environment.

Why a [PY] Messages Show/Hide System?

Many system messages in Metin2 are generated through [PY] files. These messages may include system warnings, event notifications, special actions, or information related to extra features unique to your server. However, these messages can sometimes become excessive or distracting for players. Therefore, allowing users to toggle these messages ensures both a user-friendly system and a professional gaming environment.

User Settings Panel via Python GUI

To integrate this system, we first need to create a settings panel, typically built using Python GUI (uiscript). Players access this panel from within the game menu to choose whether [PY] messages should be displayed. This setting is usually configured within py root files and stored as a variable reflecting the player's preference.

PY File and Message Display

In the [PY] files where system messages are sent—such as chat.AppendChat(3, 'System: Special event started on the server!')—a control mechanism is added. Before displaying the message, the user's settings are checked. If the user has disabled [PY] messages, the line is not executed, thus hiding the message.

Integration with C++ and Client Src

The in-game settings are generally defined in the C++ based client src. A Boolean variable, such as IsPyMessageEnabled(), can be defined within the game core section and accessed by the Python side. This ensures a more stable and faster operation.

Saving Settings Server-Side

To ensure these settings persist across logins, a database table can be created in the db core to store preferences per player. This requires synchronization between auth and game server components.

Summary

The [PY] messages show/hide system on Metin2 private servers enhances user experience while also simplifying server management. Proper integration requires compatible use of components like uiscript, py root, client src, C++ system, game core, db core. This approach enables the creation of a professional-level development environment.
 

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

Benzer konular

Geri
Üst Alt