Karakter kurarken random isim seçme

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Merhabalar bir forumda gördüğüm konuyu paylaşmak istedim.
Gerçek konusunda eksikti mantığı hoşuma gittiği için eksiksiz yaptım.
İyi kullanmalar.



paste2.org Türkiye girişleri kapatılmış vpn ile girebilirsiniz. Eğer giremezseniz buraya yapıştırıyorum anlatımı. Eklerken Tab ayarlarına dikkat edin.
Kod:
/BURHANBEY - DRACARYS\ introcreate.py aç importlara ekle import os arat     self.btnCancel.SetEvent(ui.__mem_func__(self.CancelCreate)) altına ekle     self.btnrandom.SetEvent(ui.__mem_func__(self.RandomName)) ------------------------------------------------------------- arat     self.btnCreate = getChild("create_button") altına ekle     self.btnrandom = getChild("random_button") ------------------------------------------------------------- bu fonksiyonu arat     def CreateCharacter(self): bitiminde bu fonksiyonu at     def RandomName(self):         global editCharacterName         dir = os.path.dirname(os.path.abspath("introCreate.py"))         list = open("%s\\isim_list.dracarys" % dir, "r").read().split("\n")         rng = app.GetRandom(0, len(list)-1)         randomName = list[rng]         self.editCharacterName.SetText("%s" % randomName) ---------------------------------------------------------------------- locale/tr/ui/createcharacterwindow.py aç ve arat         {             "name" : "create_button",             "type" : "button",             "x" : SCREEN_WIDTH/2 - 107,             "y" : SCREEN_HEIGHT - SCREEN_HEIGHT*(70)/600.0,             "default_image" : ROOT_PATH + "public_intro_btn/addcharacter_btn_01.sub",             "over_image" : ROOT_PATH + "public_intro_btn/addcharacter_btn_02.sub",             "down_image" : ROOT_PATH + "public_intro_btn/addcharacter_btn_03.sub",         }, altına ekle         {             "name" : "random_button",             "type" : "button",             "x" : SCREEN_WIDTH/2 - 107,             "y" : SCREEN_HEIGHT - SCREEN_HEIGHT*(70)/350.0,             "default_image" : ROOT_PATH + "public_intro_btn/addcharacter_btn_01.sub",             "over_image" : ROOT_PATH + "public_intro_btn/addcharacter_btn_02.sub",             "down_image" : ROOT_PATH + "public_intro_btn/addcharacter_btn_03.sub",         }, --------------------------------------------------------------------- Konuda vericeğim dosyayı client dosyanıza atın. Ben örnek olarak bu resimlerle yaptım icon değiştirin. /BURHANBEY - DRACARYS\

Not: İsim List dosyasını client.exe'nizin olduğu dizine atın.






KANIT


21158bdffc.gif



[/quote]
Metin2 Karakter Kurarken Random Isim Seçme Sistemi Oluşturma

Metin2 özel sunucularında kullanıcı deneyimini artırmak ve daha dinamik bir atmosfer yaratmak için bazı geliştiriciler karakter kurarken rastgele isim önerileri sunan sistemler geliştirmektedir. Bu tarz bir sistem, oyuncuların karakterlerine yaratıcı ve benzersiz isimler vermesine yardımcı olabilir. Bu yazıda, Metin2 özel sunucularında karakter kurarken rastgele isim seçme özelliğini nasıl entegre edebileceğinizi detaylı olarak ele alacağız.

Random Isim Sisteminin Amacı Nedir?
Karakter ismi belirleme işlemi, oyuncular için oldukça önemli bir adımdır. Ancak bazen oyuncular kararsız kalabilir ya da mevcut isimlerin hepsi alınmış olabilir. Bu durumda rastgele isim seçme sistemi, hem kullanıcıya kolaylık sağlar hem de oyun içinde daha farklı ve dikkat çekici isimlerin oluşmasına imkan tanır.

Python GUI ile Random Isim Sistemi Entegrasyonu
Metin2 client tarafında UIScript kullanarak veya Py ROOT klasörüne özel Python dosyaları ekleyerek bu sistemi entegre edebilirsiniz. Öncelikle bir Python GUI arayüzü tasarlamalısınız. Bu arayüzde bir 'random isim' butonu yer almalı. Butona basıldığında, önceden tanımlanmış isim listelerinden rastgele bir isim kullanıcıya gösterilmelidir.

Isim Listesi Nasıl Hazırlanır?
Rastgele isim sistemi için Python tarafında bir liste oluşturmanız gerekir. Bu liste, erkek isimleri, kadın isimleri veya mitolojik temalı isimler içerebilir. Örneğin:

isim_listesi = ['Arslan', 'Tarkan', 'Yigit', 'Melike', 'Asli', 'Zeynep']

Bu listeden rastgele seçim yapmak için Python’da random.choice() fonksiyonu kullanılabilir. Bu fonksiyon, listenizden rastgele bir eleman döndürür. Böylece karakter kurulum ekranında bir butonla bu isimleri kullanıcıya sunabilirsiniz.

C++ Game Sunucusuyla Entegrasyon
Oyuncu bir ismi onayladığında, bu ismin Metin2 AUTH server üzerinden kontrol edilip alınmış olup olmadığına bakılır. Eğer isim uygunsa, karakter yaratılır. Bu süreçte, C++ kaynak kodlarda değişiklik yaparak isim doğrulama işlemlerini özelleştirebilirsiniz. Bu sayede rastgele verilen isimlerin sistemde daha önce kullanılmamış olması sağlanabilir.

Potansiyel Sorunlar ve Çözümleri
Rastgele isim sisteminde dikkat edilmesi gereken bazı konular vardır. Örneğin, önerilen isimlerin küfür içerip içermediği kontrol edilmelidir. Ayrıca isim uzunluğu da Metin2 karakter isim sınırlarına uygun olmalıdır. Bu kontrolleri yapmak için Python tarafında filtreleme fonksiyonları yazabilirsiniz.

Metin2 Development Araçları ile Uyum
Martysama gibi Metin2 geliştirme araçları ile uyumlu çalışacak şekilde rastgele isim sistemi oluşturmak da mümkündür. Özellikle UIScript dosyaları üzerinden butonlar ve metin kutuları tanımlanarak, kullanıcı dostu bir arayüz sağlanabilir. Bu sistem, hem yeni başlayan geliştiriciler hem de deneyimli olanlar için uygulanabilir bir yöntemdir.

Sonuç
Karakter kurarken rastgele isim seçme sistemi, Metin2 özel sunucularında kullanıcı memnuniyetini artırabilecek küçük ama etkili bir özelliktir. Python GUI, Py ROOT ve C++ sistemlerini birleştirerek güçlü bir yapı oluşturabilir, oyuncular için keyifli bir deneyim sunabilirsiniz.


Creating a Random Name Selection System When Creating Characters in Metin2

To enhance user experience and create a more dynamic atmosphere in Metin2 private servers, some developers implement systems that offer random name suggestions during character creation. Such a system can help players assign creative and unique names to their characters. In this article, we will detail how to integrate a random name selection feature into Metin2 private servers.

What is the Purpose of a Random Name System?
Naming a character is a very important step for players. However, sometimes players may hesitate or find that all available names are already taken. In such cases, a random name selection system offers convenience to the user and allows for more diverse and eye-catching names within the game.

Integrating Random Name System with Python GUI
You can integrate this system by using UI Script on the Metin2 client side or by adding custom Python files to your Py ROOT folder. First, you need to design a Python GUI interface. This interface should include a 'random name' button. When pressed, a randomly selected name from pre-defined lists should be displayed to the user.

How to Prepare the Name List?
For a random name system, you need to create a list in Python. This list can include male names, female names, or mythological-themed names. For example:

name_list = ['Arslan', 'Tarkan', 'Yigit', 'Melike', 'Asli', 'Zeynep']

To randomly select from this list, you can use the random.choice() function in Python. This function returns a random element from your list. Thus, you can present these names to the user via a button on the character creation screen.

Integration with C++ Game Server
When a player confirms a name, it is checked against the Metin2 AUTH server to see if it is already taken. If the name is available, the character is created. During this process, you can customize name validation processes by making changes in the C++ source code. This ensures that randomly suggested names have not been previously used in the system.

Potential Issues and Solutions
There are certain considerations when implementing a random name system. For instance, the suggested names must be checked to ensure they do not contain offensive language. Additionally, the length of the name must comply with Metin2's character name limits. You can write filtering functions in Python to handle these checks.

Compatibility with Metin2 Development Tools
It is possible to build a random name system compatible with tools like Martysama. By defining buttons and text boxes through UIScript files, a user-friendly interface can be provided. This system is applicable for both new and experienced developers alike.

Conclusion
A random name selection system during character creation is a small yet impactful feature that can increase user satisfaction in Metin2 private servers. By combining Python GUI, Py ROOT, and C++ systems, you can build a robust structure and provide an enjoyable experience for players.​
 

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

Geri
Üst Alt