Neler yeni

Foruma hoş geldin, Ziyaretçi

Metin2Lobby.com Metin2 Private Server Tanıtım Advertising Ve Geliştirme Forumudur.Metin2 pvp serverler,1-99,1-105,1-120,55-120 global serverları paylaş yada ara.
Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Envanter İçi Pazar Sistemi [C++/Pyhton] #Karaca425

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Konular
48,291
Mesajlar
48,601
Tepkime puanı
75
M2 Yaşı
3 yıl 11 ay 10 gün
Trophy Puan
48
Konum
Web sitesi
M2 Yang
488,879
Ticaret : 1 / 0 / 0
Ticaret Oranı : 100%
For : @ ; :)

Sizler İçin Kodladığım Sistemdir.
Bu Sistem İle Büyük Bir Yükten Kurtulacaktır Oyuncular Ve Oyuna Renk Katacak Bir Sistemdir.
Umarım Beğenirsiniz.


Önce Src Kısmımızı Yapalım.

char.cpp açılır

Aratılır
Kod:
RemoveSpecifyItem(50200, 1);

Bu Kodun Altındaki

Kod:
else return; // ë³´ëâ°ë¦¬ê°â¬ ìââ ìż면 ì¤âë⹨.

Bu kodları silin.

cmd_general.cpp açılır

Aratılır
Kod:
ACMD(do_click_mall)

Altına Ekle
Kod:
ACMD(do_pazar_ac) {     if (ch->IsObserverMode() || ch->IsDead() || ch->IsStun() || ch->GetMountVnum() || ch->IsHorseRiding() == true || ch->IsOpenSafebox() || ch->GetShopOwner() || ch->GetMyShop() || ch->IsCubeOpen()  || ch->GetExchange())     {         return;     }     ch->ChatPacket(CHAT_TYPE_COMMAND, "OpenPrivateShop"); }

cmd.cpp açalım

Arat
Kod:
ACMD(do_click_mall);

Altına Ekle
Kod:
ACMD(do_pazar_ac);

Arat
Kod:
{ "click_mall",            do_click_mall,            0,    POS_DEAD,    GM_PLAYER        },

Altına Ekle
Kod:
{ "pazar_ac",            do_pazar_ac,            0,    POS_DEAD,    GM_PLAYER        },


Src Kısmımız Bitti Kaydedin Ve Build Edin.



Simdi Packlerimizi Yapalım
root/uiinventory.py açılır

Arat
Kod:
self.mallButton = self.GetChild2("MallButton")

Altına Ekle
Kod:
self.karaca425Button = self.GetChild2("karaca425Button")

Arat
Kod:
# MallButton         if self.mallButton:             self.mallButton.SetEvent(ui.__mem_func__(self.ClickMallButton))         if self.DSSButton:             self.DSSButton.SetEvent(ui.__mem_func__(self.ClickDSSButton))

Altına Ekle
Kod:
# Karaca425--Pazar System         if self.karaca425Button:             self.karaca425Button.SetEvent(ui.__mem_func__(self.Clickkaraca425Button))                     self.wndCostume = None

Arat
Kod:
def ClickCostumeButton(self):

Üstüne Ekle
Kod:
# Karaca425 Pazar System     def Clickkaraca425Button(self):         net.SendChatPacket("/pazar_ac")

locale/inventorywindow.py Açılır

Arat
Kod:
{                             "name" : "MallButton",                             "type" : "button",                             "x" : 118,                             "y" : 148,                             "tooltip_text" : uiScriptLocale.MALL_TITLE,                             "default_image" : "d:/ymir work/ui/game/TaskBar/Mall_Button_01.tga",                             "over_image" : "d:/ymir work/ui/game/TaskBar/Mall_Button_02.tga",                             "down_image" : "d:/ymir work/ui/game/TaskBar/Mall_Button_03.tga",                         },

Altına Ekle
Kod:
{                             "name" : "karaca425Button",                             "type" : "button",                             "x" : 118,                             "y" : 107,                             "tooltip_text" : "Pazar Ac",                             "default_image" : "karaca425_button_01.tga",                             "over_image" : "karaca425_button_02.tga",                             "down_image" : "karaca425_button_03.tga",                         },


Son Olarak Vereceğim Linkteki Dosyaları Root packinizin içine atın ve kapatın tamamdır.

İyi Kullanımlar.


Linkler;






Sistemden Görüntüler;


OA1Q8n.png


JAoPz5.png






Dün Zırvalayanlar Bugün Nerede ? ;)
Envanter İçi Pazar Sistemi Nedir?

Metin2 özel sunucularında oyun içi ekonomi ve kullanıcı deneyimini artırmak için geliştirilen Envanter İçi Pazar Sistemi, oyuncuların kendi envanterindeki eşyaları doğrudan pazar aracılığıyla diğer oyunculara satabilmesini sağlar. Bu sistem, C++ ve Python tabanlı kodlama ile entegre edilebilir ve martysama[/COORD] gibi gelişmiş script yapılarıyla birlikte çalışabilir. Bu yazıda, hem C++ hem de Python tabanlı sistemlerde nasıl bir envanter içi pazar sistemi kurulacağını ve bu sistemin avantajlarını ele alacağız.

Sistem Mimarisi ve Kullanımı

Envanter içi pazar sistemi, genellikle game server tarafında C++ dilinde geliştirilir. Sunucu tarafında bir DB bağlantısı kurularak eşyaların listelenmesi, fiyatlandırılması ve satış işlemleri yönetilir. Aynı zamanda istemci tarafında Python ile yazılmış GUI (grafiksel arayüz) sistemleri sayesinde kullanıcı dostu bir arayüz oluşturulabilir. Bu sistemde, oyuncu envanterindeki bir eşyayı sağ tıklayıp 'Pazara Ekle' seçeneğini seçerek doğrudan pazar sistemine aktarabilir.

Python Tarafında UI Script Entegrasyonu

Python tarafında uiscript modülleri kullanılarak, kullanıcıya özel bir pazar penceresi tasarlanabilir. Bu pencere, py root dosyalarında tanımlanan arayüz elemanları ile entegre çalışır. PyGUI (Python GUI) araçları kullanılarak butonlar, metin kutuları ve menüler kolayca oluşturulabilir. Oyuncular, eşyalarını listelemek, filtrelemek veya aramak için bu pencereyi kullanabilir.

C++ Tarafında Kaynak Kod Entegrasyonu

Sunucu tarafında C++ ile yazılmış src dosyalarına özel fonksiyonlar eklenerek, pazar sistemi doğrudan oyun motoruna entegre edilir. Bu sayede, eşyaların durumu, sahipliği ve fiyat bilgileri doğrudan veritabanına yazılır. Bu süreçte, db core ve game core yapılarının doğru entegrasyonu önemlidir. Ayrıca, güvenlik açısından kimlik doğrulama ve veri kontrol mekanizmaları da C++ seviyesinde tanımlanmalıdır.

Neden Envanter İçi Pazar Sistemi?

Bu sistem, oyuncuların eşyaları daha hızlı ve güvenli bir şekilde alıp satmasını sağlar. Özellikle Metin2 PvP sistemleri üzerine odaklanan sunucularda, oyuncuların ekonomik olarak aktif kalması için büyük önem taşır. Aynı zamanda, Metin2 lobby gibi platformlarda sunulan özel sunucular için bu tür gelişmiş sistemler, oyuncu sadakati ve sunucu popülerliği açısından ciddi bir avantaj sağlar.

Sonuç

Envanter içi pazar sistemi, hem C++ hem de Python bilgisiyle geliştirilebilecek güçlü bir sistemdir. Metin2 development sürecinde bu tarz modüller, hem sunucu yöneticileri hem de oyuncular için büyük kolaylıklar sağlar. Bu sistemi kurarken source edit, compile ve pack süreçlerine dikkat edilmelidir. Daha fazla bilgi ve destek için Metin2 Lobby üzerinden ilgili kaynaklara ulaşabilirsiniz.


What is the Inventory Market System?

The Inventory Market System is designed for Metin2 private servers to enhance in-game economy and user experience by allowing players to directly sell items from their inventory through an in-game marketplace. This system can be integrated using C++ and Python-based coding and works alongside advanced script structures like martysama. In this article, we will examine how to implement such a market system within C++ and Python-based environments and discuss its benefits.

System Architecture and Usage

The inventory market system is generally developed in C++ on the game server side. A database connection handles listing, pricing, and selling processes of items. On the client side, a user-friendly interface can be created using GUI systems written in Python. Within this system, players can right-click an item in their inventory and choose 'Add to Market' to instantly transfer it to the marketplace.

UI Script Integration in Python

In Python, custom market windows can be designed using uiscript modules. These interfaces integrate with arayüz elements defined in py root files. With PyGUI tools, buttons, input fields, and menus can be easily implemented. Players can use this window to list, filter, or search for items.

Source Code Integration in C++

On the server side, custom functions are added to C++-based src files to directly integrate the market system into the game engine. Item status, ownership, and price information are stored directly in the database. During this process, correct integration of db core and game core components is essential. Additionally, authentication and data validation mechanisms must be defined at the C++ level for security purposes.

Why an Inventory Market System?

This system enables players to buy and sell items faster and more securely. Particularly for servers focusing on Metin2 PvP systems, keeping players actively engaged economically is crucial. Moreover, such advanced systems provide significant advantages in player loyalty and server popularity, especially on platforms like Metin2 lobby.

Conclusion

The inventory market system is a powerful module that can be developed using both C++ and Python skills. In Metin2 development, such modules offer great convenience for both server administrators and players. While implementing this system, attention should be paid to source edit, compile, and pack processes. For more information and support, visit Metin2 Lobby to access relevant resources.
 

Forumdan daha fazla yararlanmak için giriş yapın yada üye olun!

Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!

Kaydol

Forumda bir hesap oluşturmak tamamen ücretsizdir.

Üye ol
Giriş Yap

Eğer bir hesabınız var ise lütfen giriş yapın

Giriş Yap

Tema düzenleyici

Tema özelletirmeleri