Anti Exp Yüzüğü & Exp Depo Şişesi // c++ // py

  • 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
Selamın Aleyküm;

Sistemin Amacı
Anti exp yüzüğünü aktif ettiğiniz anda diğer şişe içerisinde exp depolaması yapar
Bu sayede hem sonradan kullanmak için exp depolayabilirsiniz istersenizde satabilirsiniz...
Kanıt atacaktım fakat cython kurduğumdan bir takım sorunlar yüzünden kanıt atamıyorum %100 çalışan bir sistem

indirip kuranlar kanıt atarsa konuya ekleyebilirim şimdiden Teşekkürler..
Saygılar..

sisteme icon koymadım dilediğiniz iconu ayarlayabilirsiniz...

//Anlatım


Kanıt;
Anti exp Yüzüğü
5wsMtH.jpg


Exp Şişesi Deneyim kazanma
vM7zwW.jpg


Anti Exp Yüzüğü & Exp Depo Şişesi Sistemi Nedir?
Metin2 özel sunucularında oyun içi deneyim kazanımı üzerinde kontrol sahibi olmak, hem oyuncuların eğlencesini hem de sunucu dengesini korumak açısından kritik öneme sahiptir. Bu bağlamda, Anti Exp Yüzüğü ve Exp Depo Şişesi gibi sistemler, geliştiricilerin oyun içi deneyim kazanımını yönetmesine yardımcı olan güçlü araçlardır. Bu makalede, C++ ve Python tabanlı bu sistemlerin nasıl çalıştığını, hangi dosyalarda düzenlemeler yapılması gerektiğini ve nasıl entegre edileceğini detaylı şekilde ele alacağız.

C++ Tarafında Anti Exp Yüzüğü Sistemi
Anti Exp Yüzüğü sistemi, oyuncunun belirli bir yüzük takılı olduğu sürece deneyim kazanımını engellemek veya sınırlamak amacıyla geliştirilir. Bu sistem genellikle PvP sunucularında, belirli alanlarda veya belirli durumlarda deneyim kazanımını devre dışı bırakmak için kullanılır. C++ tarafında bu işlem, oyun sunucusunun karakter sınıfında veya deneyim sisteminde değişiklik yapılmasını gerektirir.

Öncelikle, yüzüğün ID numarasının belirlenmesi gerekir. Ardından, char.cpp dosyasında bulunan CalculatePoint() veya benzeri bir fonksiyon içinde, karakterin takılı yüzüğü kontrol edilir. Eğer bu yüzük takılıysa, deneyim kazanımı engellenir veya azaltılır. Bu işlem için gerekli kontrol bloğu şu şekilde olabilir:

Kod:
if (GetWear(WEARABLE_RING0 + ring_slot_index) == ANTI_EXP_RING_VNUM)[BR][/BR]{[BR][/BR]    return false; // Exp kazanımı engellensin[BR][/BR]}


Python Tarafında GUI Entegrasyonu
Python tarafında bu sistemi entegre etmek için genellikle uiscript ve py root dosyaları kullanılır. Oyuncuya yüzüğün aktif olduğunu göstermek için bir UI penceresi geliştirilebilir. Örneğin, bir simge veya uyarı mesajı ile oyuncu bilgilendirilebilir. Bu tür arayüzler genellikle game.py veya uiinventory.py dosyalarında düzenlenir. Python ile yazılmış GUI sistemleri sayesinde kullanıcı dostu arayüzler oluşturulabilir ve oyun içi etkileşim artırılabilir.

Exp Depo Şişesi Sistemi
Exp Depo Şişesi ise, oyuncunun biriktirdiği deneyimi geçici olarak depolayıp daha sonra kullanabilmesini sağlayan bir sistemdir. Bu sistem sayesinde oyuncular, belirli bir seviyeye gelmeden önce deneyimlerini güvenli bir şekilde saklayabilir ve ihtiyaç duyduklarında aktif hale getirebilirler. Bu, özellikle sunucuda belirli dönemsel etkinliklerde veya seviye atlama esnasında büyük avantaj sağlar.

C++ tarafında bu sistem için bir item_use.cpp dosyası üzerinde değişiklik yapılmalıdır. Şişe kullanıldığında, oyuncunun mevcut deneyimi bir veritabanına veya geçici bir değişkene kaydedilir. Kullanıcı daha sonra bu deneyimi geri yüklemek istediğinde, sistemin bu değeri okuyup karakterin leveline ve exp miktarına eklemesi gerekir.

Veritabanı Entegrasyonu
Her iki sistem için de veritabanı kullanımı oldukça önemlidir. Exp Depo Şişesi için kullanıcıya özel bir exp_deposit alanı oluşturulabilir. Bu alan, kullanıcı ID'si ile eşleştirilerek deneyim değerleri saklanabilir. Anti Exp Yüzüğü içinse genellikle sadece aktif mi değil mi bilgisi yeterlidir, dolayısıyla bir bayrak (flag) sistemi yeterlidir.

Sonuç
Anti Exp Yüzüğü ve Exp Depo Şişesi sistemleri, Metin2 özel sunucularında oyun dengesini korumanın ve oyuncu deneyimini çeşitlendirmenin etkili yollarıdır. C++ ve Python dillerinin güçlü işlevsellikleri sayesinde bu sistemler kolayca entegre edilebilir ve özelleştirilebilir. Sunucu geliştiricileri, bu sistemleri doğru şekilde uygulayarak oyunculara daha keyifli ve adil bir oyun ortamı sunabilirler.


What is Anti Exp Ring & Exp Deposit Bottle System?
In Metin2 private servers, having control over in-game experience gain is crucial for both player entertainment and maintaining server balance. In this context, systems like the Anti Exp Ring and Exp Deposit Bottle are powerful tools that help developers manage experience gain within the game. In this article, we will examine in detail how these systems work based on C++ and Python, which files need to be modified, and how they can be integrated.

Anti Exp Ring System on the C++ Side
The Anti Exp Ring system prevents or limits experience gain while a specific ring is equipped by the player. This system is often used in PvP servers to disable experience gain in certain areas or situations. On the C++ side, this process requires modifications in the character class or experience system of the game server.

Firstly, the ring's item ID must be determined. Then, within functions such as CalculatePoint() found in the char.cpp file, the equipped ring of the character is checked. If this ring is equipped, experience gain is blocked or reduced. The required control block for this process may look like the following:

Kod:
if (GetWear(WEARABLE_RING0 + ring_slot_index) == ANTI_EXP_RING_VNUM)[BR][/BR]{[BR][/BR]    return false; // Block Exp gain[BR][/BR]}


GUI Integration on the Python Side
To integrate this system on the Python side, usually uiscript and py root files are used. An interface window can be developed to show the player that the ring is active. For example, an icon or warning message can inform the player. Such interfaces are generally edited in game.py or uiinventory.py files. User-friendly interfaces can be created via GUI systems written in Python, increasing in-game interaction.

Exp Deposit Bottle System
The Exp Deposit Bottle allows players to temporarily store their accumulated experience and use it later. With this system, players can securely save their experience before reaching a certain level and activate it when needed. This provides great advantages especially during seasonal events or level-ups on the server.

On the C++ side, modifications must be made in the item_use.cpp file for this system. When the bottle is used, the player's current experience is saved into a database or a temporary variable. When the user wants to restore this experience later, the system must read this value and add it to the character's level and experience amount.

Database Integration
Database usage is very important for both systems. For the Exp Deposit Bottle, a custom exp_deposit field can be created per user. This field can store experience values linked with the user ID. For the Anti Exp Ring, usually just an active/inactive flag system is sufficient.

Conclusion
The Anti Exp Ring and Exp Deposit Bottle systems are effective ways to maintain game balance and diversify player experience in Metin2 private servers. Thanks to the powerful functionality of C++ and Python languages, these systems can be easily integrated and customized. Server developers can provide a more enjoyable and fair gaming environment to players by properly implementing these systems.
 

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

Benzer konular

Geri
Üst Alt