İtem Sat Sil (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 68

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Yapımcısı : Rolof
Söken Paylaşan:mhplvN
Kanıt Sahibi:Whisy
Fix Sahibi:BeviS





Kendi Kanıtım:(Sil Seçenegini İptal ettim)
YOALRE.png


W08DgY.jpg



Not: Konu Daha Önce Açıldı Editlenip Kapanmiş Arayan kişileri gördüm bu yüzden tekrar paylaştim



İtem Sat Sil (C++ & PY)


Metin2 özel sunucu geliştirme süreçlerinde, oyuncuların envanterinden eşya silmek veya satmak gibi işlemleri gerçekleştirmek oldukça yaygın bir gereksinimdir. Bu işlemler hem oyun içi ekonomiyi dengelemek hem de sunucu yöneticilerinin kontrollerini artırmak açısından kritik öneme sahiptir. Bu yazıda, C++ ve Python tabanlı sistemlerde nasıl item sat ve sil komutlarının geliştirileceğini ele alacağız. Özellikle Metin2 özel sunucularında çalışan geliştiriciler için bu konu oldukça değerlidir.

C++ Tarafında Item Silme ve Satma
C++ tarafında item silme işlemi genellikle game core kısmında yapılır. Sunucu tarafında eşyalarla yapılan işlemler, doğrudan veritabanı (db core) ile entegre çalışır. Bir eşyanın silinmesi için öncelikle o eşyanın ID, envanter slot numarası ve oyuncu bilgisi alınmalıdır. Bu bilgiler kullanılarak eşya hem oyun içi envanterden silinir hem de veritabanından kaldırılır.

Silme işlemi için örnek bir fonksiyon şu şekildedir:
void CItem::RemoveFromCharacter()
Bu fonksiyon sayesinde belirtilen eşya, karakterin envanterinden silinir. Gerekirse veritabanı tarafında da silinme işlemi yapılır.

Python Tarafında GUI ve Script Entegrasyonu
Python tarafında işlemler genellikle py root ve uiscript dosyalarıyla yapılır. Oyuncuların arayüzden (GUI) bir butona basarak item satma veya silme işlemi yapabilmesi için Python tarafında bir arayüz tasarımı gerekir. Bu işlem genellikle PyUI ile yapılır. Martysama gibi modüllerle birlikte geliştirilen arayüzler, oyuncuya kolay kullanım sunar.

Python ile örnek bir item silme komutu şu şekilde olabilir:
def delete_item_from_inventory(item_id):
net.SendChatPacket('/delete ' + str(item_id))

UYARI: Eşya silme ve satma işlemleri, sunucu ekonomisini ciddi şekilde etkileyebileceğinden dikkatli kullanılmalıdır. Yanlışlıkla önemli eşyalar silinmemeli ya da hatalı komutlarla sunucuda patlama meydana gelmemelidir.

Örnek Uygulama Senaryosu
Oyuncu, GUI üzerinden bir eşyayı seçip 'Sil' butonuna bastığında:
- Python arayüzü, seçilen item ID'sini alır.
- C++ tarafına bir paket gönderilir.
- Paket işlenerek eşya silinir ve DB güncellenir.
- Oyuncuya bilgi mesajı gönderilir.

Metin2 Development sürecinde bu tür sistemlerin doğru kurulması, hem güvenliği artırır hem de kullanıcı deneyimini olumlu yönde etkiler. Source edit sırasında dikkat edilmesi gereken detaylar arasında hata kontrolü, güvenlik önlemleri ve veritabanı senkronizasyonu yer alır.

Metin2lobby.com olarak, bu gibi gelişmiş sistemlerin detaylarını paylaşmaya devam ediyoruz.


Sell/Delete Item (C++ & PY)


Metin2 private server development processes, deleting or selling items from the player's inventory is a common need. These operations are critical for balancing the in-game economy and increasing server management control. In this article, we will discuss how to develop sell and delete item commands in C++ and Python based systems. This topic is particularly valuable for developers working on Metin2 private servers.

Deleting Items with C++
In C++, item deletion is typically handled within the game core. Operations involving items work directly integrated with the database (db core). To delete an item, the item's ID, inventory slot number, and player information must first be obtained. These details are used to remove the item both from the in-game inventory and the database.

An example function for deletion might look like:
void CItem::RemoveFromCharacter()
This function removes the specified item from the character's inventory. If needed, the item is also deleted from the database.

GUI and Script Integration with Python
On the Python side, operations usually involve py root and uiscript files. For players to sell or delete an item via UI by clicking a button, a GUI design is required in Python. This is commonly done using PyUI. With modules like Martysama, UI designs provide easier usability for players.

An example Python command for item deletion might look like:
def delete_item_from_inventory(item_id):
net.SendChatPacket('/delete ' + str(item_id))

WARNING: Item deletion and selling operations can significantly affect the server economy and should be used carefully. Important items must not be accidentally deleted or server crashes caused by incorrect commands.

Sample Application Scenario
When a player selects an item via the GUI and clicks the 'Delete' button:
- The Python interface gets the selected item ID.
- A packet is sent to the C++ side.
- The packet is processed to delete the item and update the DB.
- A notification message is sent to the player.

Metin2 Development benefits from correctly setting up such systems, improving both security and user experience. During source edit, attention must be paid to error handling, security measures, and database synchronization.

At Metin2lobby.com, we continue to share the detailed aspects of such advanced systems.
 

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

Benzer konular

Geri
Üst Alt