C++ [Gm]Karakter Transfer (ch1 ch99 transfer)

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Kod:
// cmd_gm.cpp Açıp aratıyorsunuz: ACMD(do_transfer) //Daha sonra içerisinden bunu bulun:             if (pkCCI->bChannel != g_bChannel)             {                 ch->ChatPacket(CHAT_TYPE_INFO, "Target is in %d channel (my channel %d)", pkCCI->bChannel, g_bChannel);                 return;             } //Bulduktan sonra bu şekilde değiştirin:             // if (pkCCI->bChannel != g_bChannel)             // {                 // ch->ChatPacket(CHAT_TYPE_INFO, "Target is in %d channel (my channel %d)", pkCCI->bChannel, g_bChannel);                 // return;             // }

Artık Ch1'de bulunduğunuzda Ch99'daki oyuncuyu yanınıza çekebiliceksiniz. /transfer xxx
Metin2 Lobby'da C++ ile Karakter Transfer Sistemi (ch1-ch99 Arası Transfer)

Metin2 özel sunucularında oyuncuların karakterlerini farklı slotlara taşıyabilmesi, hem kullanıcı deneyimini artırır hem de sunucu yönetimini kolaylaştırır. Bu yazıda, C++ tabanlı bir Karakter Transfer sistemini ele alacağız. Bu sistem sayesinde oyuncular, 1. slotundaki karakterini 99. slota kadar taşıyabilir. Bu işlem genellikle C++ kodları, game server üzerinde yapılan değişikliklerle sağlanır. Bu yazıda, Martysama veya diğer gelişmiş kaynaklardan yola çıkarak bu sistemin nasıl kurulacağını adım adım inceleyeceğiz.

C++ Kaynak Kodlarında Karakter Transfer İşlemi

Metin2 özel sunucularında karakter transferi işlemi, genellikle auth_server ve game_server arasında gerçekleşir. Karakterlerin slotları veritabanında tutulduğu için, bu işlem sırasında dikkat edilmesi gereken önemli detaylar vardır. Oyuncunun sahip olduğu karakterlerin slot numaraları DB üzerinde tanımlıdır. Bu nedenle, karakter transferi sırasında bu slot numarasının değiştirilmesi gerekir. Bu işlem için C++ üzerinde özel fonksiyonlar yazılır.

Önemli Not: Bu işlem sırasında veri kaybı yaşamamak için mutlaka yedek alınmalıdır. Özellikle DB üzerinde doğrudan işlem yapılacaksa, bu işlem manuel olarak yapılmamalıdır. Bunun için GUI tabanlı Python scriptleri de kullanılabilir.

Python GUI ile DB Entegrasyonu

C++ ile yazılmış karakter transfer sistemi, DB tarafında doğrudan müdahale gerektirebilir. Ancak bu işlemler için Python GUI kullanarak daha güvenli ve kolay bir yol izlenebilir. PyRoot ve UIScript kullanarak, karakter transferi için arayüz oluşturulabilir. Böylece DB üzerinde manuel müdahaleye gerek kalmadan, otomatik sistemlerle karakter taşıma işlemleri yapılabilir.

Metin2 Client SRC ve Sunucu Uyumlu Yapı

Karakter transfer sistemi, client-side üzerinde de bazı değişiklikler gerektirebilir. Oyuncunun hangi slotta hangi karaktere sahip olduğunu görebilmesi için, client üzerinde slot numaraları doğru şekilde gösterilmelidir. Bu nedenle, client src üzerinde de gerekli düzenlemeler yapılmalıdır. Bu sistemde, her kanal (channel) için ayrı ayrı slot numaraları da tanımlanabilir. Bu durumda core yapıya göre farklı konfigürasyonlar gerekebilir.

Karakter Transfer Sisteminin Kurulumu ve Compile Süreci

Sistemi aktif etmek için öncelikle C++ üzerinde gerekli fonksiyonlar yazılır. Ardından bu fonksiyonlar game server'a entegre edilir. Bu entegrasyon sırasında compile işlemi yapılır. Derleme işlemi sırasında hata alınmaması için, tüm bağımlılıklar doğru şekilde ayarlanmalıdır. Özellikle metin2 server src üzerinde çalışırken, kaynak kodun sürümüne dikkat edilmelidir.

Oyun içi Karakter Transfer Komutları ve Kullanımı

Sistem aktif olduktan sonra, oyuncular komutlar aracılığıyla karakterlerini farklı slotlara taşıyabilir. Örneğin /transferchar 1 5 komutu ile 1. slottaki karakter 5. slota taşınabilir. Bu tür komutlar C++ üzerinde tanımlanır ve auth/game sunucularında senkronize çalışır. Bu komutlarla birlikte, oyuncuların her slot için maksimum karakter sayısı gibi sınırlamalar da tanımlanabilir.

Sunucu Güvenliği ve Karakter Taşıma Limitleri

Karakter transfer sistemi, güvenlik açısından da dikkatle yönetilmelidir. Her oyuncunun belirli sayıda slotu olması, istismarların önüne geçer. Ayrıca, transfer işlemi sırasında IP kontrolü gibi yöntemlerle güvenlik artırılabilir. Bu sistemler, DB Core üzerinde loglamalarla desteklenmelidir. Bu sayede her transfer işlemi kayıt altına alınır.

Sonuç

C++ ile geliştirilen karakter transfer sistemi, Metin2 özel sunucularında kullanıcı dostu ve esnek bir çözüm sunar. Bu sistem sayesinde oyuncular kendi karakterlerini rahatça taşıyabilirken, sunucu yöneticileri de veri bütünlüğünü koruyabilir. Python GUI ve C++ kaynak kodlarının birlikte kullanımı, sistemin daha stabil ve güvenli çalışmasını sağlar. Bu tür gelişmiş sistemler, Metin2Lobby gibi platformlarda paylaşılabilir ve topluluk tarafından test edilebilir.


Character Transfer System in C++ (Transfer from Slot 1 to Slot 99) on Metin2 Lobby

In Metin2 private servers, allowing players to move their characters between different slots enhances both user experience and server management. In this article, we will examine how to implement a character transfer system based on C++. This system allows players to move their character from the first slot up to slot 99. This process is typically achieved through customizations made in C++ code within the game server. Here, we will discuss step-by-step implementation of this system, drawing inspiration from sources like Martysama and other advanced resources.

Character Transfer Operations in C++ Source Code

Character transfer operations in Metin2 private servers usually occur between the auth_server and the game_server. Since character slots are stored in the database, special care must be taken during the transfer process. The slot numbers of the characters owned by the player are defined in the database, so the slot number must be updated accordingly during the transfer. Custom functions written in C++ handle this operation.

Important Note: To avoid data loss during this process, backups must always be taken. Especially when performing direct operations on the database, manual intervention should be avoided. Instead, GUI-based Python scripts can be used for safer operations.

DB Integration with Python GUI

The C++-based character transfer system may require direct database modifications. However, safer and more convenient methods can be implemented using Python GUI. With PyRoot and UIScript, interfaces for character transfers can be created. This way, automatic systems can handle character movement without needing manual database changes.

Metin2 Client SRC and Server Compatibility

Character transfer systems may also require some modifications on the client-side. Players need to clearly see which character is in each slot. Therefore, necessary adjustments must be made to the client source code. Additionally, different slot configurations per channel can be defined, requiring specific core configurations.

Installation and Compilation Process of Character Transfer System

To activate the system, the necessary functions must first be written in C++. Then these functions are integrated into the game server. During compilation, all dependencies must be correctly configured to avoid errors. When working with Metin2 server source code, it's important to pay attention to version compatibility.

In-Game Commands and Usage of Character Transfer

Once activated, players can move their characters to different slots using commands. For example, the command /transferchar 1 5 moves the character in slot 1 to slot 5. These commands are defined in C++ and work synchronously across the auth and game servers. Limits such as maximum characters per slot can also be set via these commands.

Server Security and Character Transfer Limits

Character transfer systems must be managed carefully from a security perspective. Allowing each player only a limited number of slots prevents abuse. Additionally, methods like IP checks during transfers can enhance security. These systems should be supported by logging mechanisms in the DB Core to record every transfer action.

Conclusion

The character transfer system developed in C++ offers a user-friendly and flexible solution in Metin2 private servers. While players can easily move their characters, server administrators maintain data integrity. Combined usage of Python GUI and C++ source code ensures more stable and secure system operation. Such advanced systems can be shared and tested by the community on platforms like Metin2Lobby.
 

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

Benzer konular

Geri
Üst Alt