Pet isim değiştirme

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
<blockquote data-attributes="member: 315517" data-quote="Tungа" data-source="post: 20878295" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch">
Kod:
ACMD(do_PetChangeName) {     char arg1[256], arg2[256];     two_arguments(argument, arg1, sizeof(arg1), arg2, sizeof(arg2));          if (!*arg1 || !*arg2)         return;          int bCell = 0;     str_to_number(bCell, arg1);     LPITEM item = ch-&gt;GetInventoryItem(bCell);     if (!item)         return;     if (ch-&gt;CountSpecifyItem(55030) &lt; 1)         return;     if (ch-&gt;GetNewPetSystem()-&gt;IsActivePet())     {         ch-&gt;ChatPacket(CHAT_TYPE_INFO, "[Pet-Kulucka] Petini göndermeden işleme devam edemezsin. ");         return ;     }          if (!check_name(arg2))     {         ch-&gt;ChatPacket(CHAT_TYPE_INFO, "[Pet-Kulucka] Hatalı isim girdiniz, lütfen tekrar deneyiniz ve türkçe karakter kullanınız.");         return;     }          char szEscapedName[CHARACTER_NAME_MAX_LEN + 1];     DBManager::instance().EscapeString(szEscapedName, sizeof(szEscapedName), arg2, strlen(arg2));      //    DBManager::instance().DirectQuery("UPDATE new_petsystem SET name = '%s' WHERE id = '%d'", szEscapedName, item-&gt;GetID());     std::unique_ptr&lt;SQLMsg&gt; pMsg(DBManager::instance().DirectQuery("UPDATE new_petsystem SET name = '%s' WHERE id = '%d'", szEscapedName, item-&gt;GetID()));     ch-&gt;ChatPacket(CHAT_TYPE_INFO, "[Pet-Kulucka] Pet ismi basarılı bir şekilde değiştirildi!");     ch-&gt;RemoveSpecifyItem(55030, 1);     ch-&gt;UpdatePacket(); }

Pet Isim Değiştirme Sistemi Nedir?
Metin2 özel sunucularında sunucu sahipleri oyuncuların deneyimini zenginleştirmek için birçok farklı sistemi aktif ederler. Bu sistemlerden biri de pet isim değiştirme özelliğidir. Bu sistem sayesinde oyuncular, sahip oldukları pet karakterlerine diledikleri isimleri verebilirler. Bu işlem genellikle oyun içi itemler veya belirli coinler karşılığı gerçekleştirilir. Pet isim değiştirme sistemi, hem estetik hem de kişiselleştirme açısından oyuncular için oldukça değerlidir.

Pet Isim Değiştirme Nasıl Çalışır?
Bu sistem genellikle Python GUI üzerinden bir arayüzle başlatılır. Oyuncu petini seçtikten sonra, isim değiştirme penceresini açar. Burada genellikle bir metin kutusu ve onay butonu bulunur. Oyuncu, yeni ismini girdikten sonra belirli bir maliyetle işlemi tamamlar. Sunucu tarafında bu işlem, veritabanında pet tablosundaki isim alanını güncellemek suretiyle yapılır. Bu işlem sırasında güvenlik kontrolleri de yapılmalıdır. Örneğin, aynı ismin başka bir pette olup olmadığı kontrol edilmelidir.

Pet Isim Değiştirme İçin Gerekli Kaynaklar
Sistem çalışması için öncelikle Py Root kısmında GUI dosyasının hazırlanması gerekir. Bu dosya, genellikle XML benzeri yapıda olan UI script dosyasıyla entegre çalışır. Aynı zamanda, Auth ve Game sunucuları arasında veri senkronizasyonu da sağlanmalıdır. Bu sistem genellikle C++ ile yazılmış bir kaynak koddan beslenir. Sunucu tarafında özel event handler’lar ve komut sistemleri kullanılır. Bu sistemlerle birlikte, pet isim değiştirme işlemi güvenli ve sorunsuz bir şekilde yapılabilir.

Oyun İçinde Pet Isim Değiştirme Deneyimi
Oyuncular pet isim değiştirme işlemi için genellikle NPC’leri ziyaret eder. Bu NPC’ler genellikle 'Pet Yönetimi' ya da 'Kişiselleştirme' gibi isimlerle tanımlanır. Oyuncu işlemi başlatır, ödeme yapar ve yeni ismi girer. İşlem başarılı olursa, petin ismi anında değişir. Bu süreç sırasında kullanıcı dostu bir arayüz sağlanması önemlidir. Bu yüzden Py GUI ve UIScript dosyaları titizlikle hazırlanmalıdır.

Pet Isim Değiştirme Sisteminde Dikkat Edilmesi Gerekenler
Sistem geliştirilirken bazı güvenlik önlemleri alınmalıdır. Örneğin, kullanıcıların kötü niyetli karakterlerle isim değiştirmesi engellenmelidir. Ayrıca isim uzunluğu sınırlanmalı ve özel karakterler filtrelenmelidir. Veritabanı seviyesinde de SQL injection gibi saldırılar karşı korumalar yapılmalıdır. Sunucu tarafında C++ ile yazılmış olan sistemde bu kontroller doğru şekilde entegre edilmelidir.


What is Pet Name Change System?
In Metin2 private servers, server owners activate many different systems to enrich player experience. One of these systems is the pet name change feature. With this system, players can assign their desired names to their pet characters. This process is usually performed in exchange for in-game items or specific coins. The pet name change system is very valuable for players both aesthetically and for personalization purposes.

How Does Pet Name Change Work?
This system is generally initiated through a user interface prepared with Python GUI. After selecting their pet, the player opens the name change window. Usually there is a textbox and an accept button here. After entering the new name, the player completes the transaction with a certain cost. On the server side, this operation is carried out by updating the name field in the pet table within the database. Security checks must also be performed during this process. For example, whether the same name exists on another pet should be checked.

Required Resources for Pet Name Change
Firstly, a GUI file must be prepared in the Py Root section for the system to work. This file works integrated with UI script files that are usually in XML-like structure. Additionally, data synchronization between Auth and Game servers must be provided. This system is typically fed from a source code written in C++. Special event handlers and command systems are used on the server side. Together with these systems, the pet name change process can be performed safely and smoothly.

In-Game Pet Name Change Experience
Players usually visit NPCs to perform the pet name change action. These NPCs are often labeled as 'Pet Management' or 'Personalization'. The player starts the process, makes the payment, and enters the new name. If the operation is successful, the pet's name changes instantly. During this process, providing a user-friendly interface is important. Therefore, Py GUI and UIScript files must be prepared carefully.

Considerations for Pet Name Change System
Certain security measures must be taken while developing the system. For example, players' attempts to rename pets with malicious characters must be prevented. Also, name length should be limited and special characters filtered. Protections against attacks like SQL injection must be implemented at the database level. In the C++ based system on the server side, these checks must be properly integrated.
 

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

Benzer konular

Geri
Üst Alt