[C++ - Python] Hızlı Statü Sistemi

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Herkese Hayırlı Kullanımlar Sistem Bana Ait Degil

Daha Önceden Paylasılmıs Link Kırılmıstır Sistem Sorunsuz Çalısmaktadır

Resim Bana Aİt

0902_024114.jpg




Hızlı Statü Sistemi Nedir?
Metin2 özel sunucularında oyuncuların karakterlerini güçlendirmek ve daha rekabetçi PvP sistemleri oluşturmak için geliştirilen hızlı statü sistemi, C++ ve Python tabanlı olarak entegre edilebilir bir yapıya sahiptir. Bu sistem sayesinde oyuncuların istatistik değerlerini anlık olarak kontrol etmeleri ve ihtiyaç duydukları zamanlarda hızla artırabilmeleri sağlanır. Bu yazıda C++ ve Python dilleri kullanılarak nasıl bir statü sistemi geliştirileceği detaylı olarak ele alınacaktır.

Sistem Gereksinimleri
Bu sistemde öncelikle game server tarafında C++ ile bir modül oluşturulmalıdır. Oyuncu istatistikleri sunucu tarafında tanımlanır ve client ile senkronize edilir. Python tarafında ise genellikle GUI tabanlı bir arayüz ile bu değerler kontrol edilir ve gerekirse manuel olarak ayarlanabilir. Ayrıca db core üzerinden veritabanı bağlantısı kurularak istatistik değişiklikleri kalıcı hale getirilir.

C++ Tarafında Geliştirme[/BR][/BR]C++ tarafında geliştirilecek olan sistem, src klasöründe yer alacak olan game modülüne entegre edilmelidir. Bu modül, oyuncunun stat değerlerini okuyup değiştirecek fonksiyonları barındırır. Örneğin bir oyuncu 'STR' yani strength değerini artırmak istediğinde, C++ üzerinde bir komut sistemi ile bu değer doğrudan artırılır. Bunun için pack dosyalarında gerekli değişiklikler yapılmalıdır.

Python GUI Entegrasyonu
Python tarafında uiscript kullanılarak bir arayüz geliştirilir. Bu arayüz sayesinde sunucu yöneticisi, aktif oyuncuların statüllerini anlık olarak görüntüleyebilir ve müdahale edebilir. Py root klasöründe yer alan bu sistem, martysama veya benzeri bir geliştirici tarafından kolayca entegre edilebilir. Python GUI sayesinde hem kullanıcı dostu bir panel hem de güçlü bir yönetim imkanı sağlanır.

Veritabanı ve Kalıcılık
Statü değişikliklerinin kalıcı olması için db bağlantısı mutlaka gereklidir. Sunucu üzerindeki auth ve game sunucuları arasında veri akışı sağlanarak, oyuncunun her girişinde son durumuna göre güncellenmesi sağlanır. Bu işlem core sistem üzerinden yapılır ve channel bazında farklılıklar gösterilebilir.

Sistem Performansı
Sistem performansı oldukça önemlidir. C++ tabanlı yapı sayesinde istatistik hesaplamaları sunucu tarafında hızlı bir şekilde yapılır. Python GUI ise sadece görsel arayüz için kullanılır ve sunucu performansını etkilemez. Ancak dikkat edilmesi gereken konu, çok fazla anlık istek gelmesi durumunda server src üzerinde gecikmeler olabilir. Bu nedenle sistem optimize edilmelidir.


What is the Fast Status System?
In Metin2 private servers, the fast status system developed to enhance player characters and create more competitive PvP systems has an integrated structure based on C++ and Python. This system allows players to instantly control their stats and quickly increase them when needed. In this article, how to develop a status system using C++ and Python will be discussed in detail.

System Requirements
Initially, a module must be created on the game server side with C++. Player statistics are defined on the server side and synchronized with the client. On the Python side, these values are usually controlled via a GUI-based interface and can be manually adjusted if necessary. Additionally, through db core, database connections make stat changes permanent.

Development on C++ Side
The system to be developed in C++ should be integrated into the game module located in the src folder. This module contains functions that read and modify the player's stat values. For example, when a player wants to increase their 'STR', i.e., strength value, this value is directly increased via a command system on C++. Necessary modifications should be made in pack files for this purpose.

Python GUI Integration
Using uiscript in Python, an interface is developed. Through this interface, the server admin can view active players’ statuses in real-time and intervene if necessary. Located in the py root folder, this system can be easily integrated by a developer like martysama. The Python GUI provides both a user-friendly panel and powerful management capabilities.

Database and Persistence[/BR][/BR]To ensure stat changes are persistent, a db connection is essential. Data flow between auth and game servers ensures that each time a player logs in, their status is updated according to their last state. This process occurs via the core system and can vary depending on channel.

System Performance
System performance is critical. Thanks to its C++ base, stat calculations occur rapidly on the server side. The Python GUI is only used for visual interface and does not affect server performance. However, if too many requests arrive simultaneously, delays may occur in the server src. Therefore, the system must be optimized.
 

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

Benzer konular

Geri
Üst Alt