Bağırmadan konuşmaya CH ekleme

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
kIRe0zD.png


Root uichat.py aratılır;
Kod:
def __SendShoutChatPacket(self, text):[/FONT]
Kod bloğu full değiştirilir ( - );
Kod:
def __SendShoutChatPacket(self, text):              if 1 == len(text):             self.RunCloseEvent()             return                      if app.GetTime() < self.lastShoutTime + 15:             chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.CHAT_SHOUT_LIMIT)             self.__ResetChat()             return                      a = net.GetServerInfo()         Vectors = a[-3:]         if not self.Vectors_Map():             self.__SendChatPacket("[" + Vectors + "]: " + text[1:], chat.CHAT_TYPE_SHOUT)         else:             self.__SendChatPacket(text[1:], chat.CHAT_TYPE_SHOUT)                      self.__ResetChat()         self.lastShoutTime = app.GetTime()              def Vectors_Map(self):         import background         Engellenen_Mapler = [             "season1/metin2_map_oxevent",             "season2/metin2_map_guild_inside01",             "season2/metin2_map_empirewar01",             "season2/metin2_map_empirewar02",             "season2/metin2_map_empirewar03",             "metin2_map_dragon_timeattack_01",             "metin2_map_dragon_timeattack_02",             "metin2_map_dragon_timeattack_03",             "metin2_map_skipia_dungeon_boss",             "metin2_map_skipia_dungeon_boss2",             "metin2_map_devilsCatacomb",             "metin2_map_deviltower1",             "metin2_map_t1",             "metin2_map_t2",             "metin2_map_t3",             "metin2_map_t4",             "metin2_map_t5",             "metin2_map_wedding_01",             "gm_guild_build",             "metin2_map_duel"             "metin2_map_gemi",             "map_ismi1",             "map_ismi2",             "map_ismi3",             "map_ismi4",             "map_ismi5",         ]         if str(background.GetCurrentMapName()) in Engellenen_Mapler:             return TRUE         return FALSE

Engellenen_Mapler kısmında olan maplerde hangi chde olduğunuz görülmez.(Paylaştığım gemi map ekli.) Son 5 tane fazladan yazdım mapiniz varsa değiştirebilirsiniz.


Size uygun olanını verdiğim sitelerden alt kısımdan kopyalayın yada down edin.



Saygılarımla Vectors..
Bağırmadan Konuşmaya CH Ekleme Rehberi

Metin2 özel sunucularında oyun deneyimini zenginleştirmek, oyuncuların daha fazla etkileşim kurmasını sağlamak açısından kritik öneme sahiptir. Bu bağlamda, bağırmadan konuşmaya CH (Channel) ekleme işlemi, hem geliştirici hem de oyuncu tarafı için oldukça faydalı bir özelliktir. Bu yazıda, Metin2 özel sunucularında nasıl bağırmadan konuşmaya CH ekleneceğini, bu işlemin C++ sistem tarafında nasıl yapıldığını ve bu değişikliğin sunucu performansı üzerindeki etkilerinden bahsedeceğiz.

CH Nedir ve Neden Kullanılır?

CH, yani Channel, oyuncuların belirli bir kanal üzerinden haberleşmesini sağlayan bir özelliktir. Oyuncular genellikle bağırmak suretiyle genel sohbete mesaj gönderirler. Ancak bazı sunucularda bu yöntem istenmeyen durumlara yol açabilir. Örneğin spam, flood gibi. Bu sebeple bazı geliştiriciler, bağırmayı kanallara yönlendirerek daha organize bir sohbet yapısı kurmayı tercih ederler.

CH Ekleme Süreci

1. Sunucu Kaynak Kodlarını Hazırlama: İlk adım olarak Metin2 server src dosyalarınızı elinizin altına almanız gerekir. Özellikle game core ve db core dosyalarında değişiklik yapmanız gerekebilir. Bu süreçte Martysama[/ADDR] gibi bilinen kaynaklardan destek alabilirsiniz.

2. ChatHandler Fonksiyonunu Değiştirme: Bağırmayı yakalayan fonksiyon genellikle ChatHandler adlı sınıftadır. Bu sınıf üzerinden bağırmayı yakalayıp, mesajı belirli bir kanala yönlendirecek kodları yazmalısınız. Bu işlem genellikle C++ kaynak kod seviyesinde yapılır.

3. Client Tarafında Değişiklik: Eğer kullanıcıya özel bir kanal seçimi sunmak isterseniz, client src kısmında da değişiklik yapmanız gerekir. Burada uiscript[/ADDR] veya py gui[/ADDR] gibi Python tabanlı arayüz sistemlerini kullanabilirsiniz. Python system ve py root dosyaları üzerinden kullanıcı arayüzüne kanal seçim butonu ekleyebilirsiniz.

4. DB Entegrasyonu: Kanal bilgilerinin kalıcı olması için DB (Database) tarafında gerekli değişiklikleri yapmanız önemlidir. Oyuncunun hangi kanalda olduğunu tutan bir sütun eklemeniz gerekebilir. Bu veri auth ve game server arasında senkronize çalışmalıdır.

Güvenlik ve Performans Notları

Yaptığınız değişikliklerin güvenliği sağlamak adına, source edit sırasında tüm verileri kontrol etmelisiniz. Yanlış bir kodlama, compile hatasına neden olabilir. Ayrıca, her değişiklikten sonra test sunucusunda testler yapmanız önerilir.

Sonuç

Metin2 özel sunucularında bağırmadan konuşmaya CH ekleme işlemi, hem oyun içi deneyimi geliştiren hem de sunucu yönetimini kolaylaştıran bir özelliktir. C++ sistem ve Python GUI tabanlı değişikliklerle bu yapıyı başarıyla uygulayabilirsiniz. Metin2 development sürecinde bu gibi küçük ama etkili değişiklikler, sunucunuzun rekabet avantajını artırabilir.


Adding CH to Talk Without Shouting Guide

Enhancing the gameplay experience on Metin2 private servers is critical for increasing player engagement. In this context, adding CH (Channel) to talk without shouting is a highly beneficial feature for both developers and players. In this article, we will explain how to add CH to non-shout chat on Metin2 private servers, how this process is implemented on the C++ system side, and its impact on server performance.

What is CH and Why is it Used?

CH, short for Channel, allows players to communicate through specific channels. Players typically send messages to the general chat by shouting. However, this method may cause unwanted situations on some servers, such as spam or flooding. Therefore, some developers prefer to direct shouts into channels to create a more organized chat environment.

The Process of Adding CH

1. Preparing Server Source Code: First, you need to access your Metin2 server src files. You may need to make changes especially in game core and db core files. During this process, you can seek support from known sources like Martysama.

2. Modifying the ChatHandler Function: The function that captures shouts is usually located within the ChatHandler class. You must capture the shout here and redirect the message to a specific channel. This process is generally done at the C++ source code level.

3. Client-Side Changes: If you want to offer players a custom channel selection, you'll need to make modifications in the client src. Here, you can use Python-based UI systems like uiscript or py gui. Through Python system and py root files, you can add a channel selection button to the user interface.

4. DB Integration: To ensure channel information remains persistent, you need to make necessary changes in the DB (Database). You might need to add a column to store which channel each player is in. This data must be synchronized between auth and game server.

Security and Performance Notes

To ensure security during your modifications, verify all data carefully during source edit. Incorrect coding may lead to compile errors. Additionally, it is recommended to run tests on a test server after every change.

Conclusion

Adding CH to talk without shouting on Metin2 private servers is a feature that enhances in-game experience and simplifies server management. With C++ system and Python GUI-based modifications, you can successfully implement this structure. Such small but impactful changes during Metin2 development can increase your server's competitive advantage.
 

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

Benzer konular

Geri
Üst Alt