Offline Shop - Hata Çözümleri - Kuranlar Girsin

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Merhaba,

Forum da bir çok kişi offline shop eklemek istiyor, farklı farklı konular ve farklı farklı hatalar mevcut. Bunları tek bir konu altında toplayarak, eklenirken oluşan problemler, buglar, v.b gibi sorunları konu da paylaşıp toplumca yararlanalım.

Not: Bu konu hakkın da bilgisi olanlar, sorunun çözümü, bug çözümünü konu altında paylaşırsa konuya ekleyelim.

Eklemeye başladığım konu:



Client source alınan hata:
8804bc17ff4f43beb7585b444eb7b630.png
[/CENTER]


Anlatımda, ScriptLib'de "GetLongLong" ile ilgili kısımlar yer almıyor. Farklı bir kaynaktan eklediğim de sorun düzelmedi.

Edit: 29.11.16 22:39 "GetLongLong" Çözümü:
Hazır dosyalar ile karşılaştırırken "PythonPlayerModule" dosyasında
PyModule_AddIntConstant(poModule, "SLOT_TYPE_OFFLINE_SHOP", SLOT_TYPE_OFFLINE_SHOP);

Eksik olduğunu gördüm, bunu eklediğim GetLongLong sorunu çözülüp error sayısı 2'ye düştü.
81251773e6414a74b22b76102c5bedb9.png


Şimdi kaldı client'de 2 error.

30.11.2016 GetLongLong - Clinet Build Hata Çözümü:
"PythonNetworkStreamPhaseGameItem.cpp" dosyasına include kısmına,
#include "PythonPlayer.h" ekliyoruz.
Adım2:

' Paylaştığı
Yer alan long long dosyasında yer alanları sourcenize ekleyiniz.

04.12.2016 Güncelleme:
GAME - DB - CLİENT Build işlemi sorunsuz tamamlandı.
Loading ekranın da game.core verdi, @Black Window; (Şaban Sert) yardımıyla sorunun kaynağı tespit edilip düzeltildi.

Log:
char.cpp
(Arat)
SetOfflineShopVID(COfflineShopManager::instance().FindMyOfflineShop(GetPlayerID()));
Değiştir:
//SetOfflineShopVID(COfflineShopManager::instance().FindMyOfflineShop(GetPlayerID()));}


Güncel Sorun:
Oyuna girip, Offline Shop Admin Panel Butonuna tıkladığımız da client komple kapanıyor.
Syser, core v.b hatalar vermemektedir.
Client "Debug" moduna alındı, ve aşağıda ki hatayı vermektedir:
36dd50363694452a9ed86cacd0569ada.png

- -
Offline Shop - Hata Çözümleri - Kuranlar Girsin

Metin2 Lobby olarak sunucu geliştirme konusunda tecrübeli kullanıcılar tarafından hazırlanan bu rehber, Offline Shop sistemiyle karşılaşılan yaygın hataların çözümünü içerir. Bu makale özellikle C++ ve Python tabanlı sistemlerde çalışan geliştiriciler için detaylı açıklamalar sunar.

Offline Shop Nedir?
Offline Shop, oyuncuların sunucudan çıkmadan eşya alıp satabileceği gelişmiş bir sistemdir. Özellikle PvP sunucularında popülerdir. Ancak bu sistemin doğru çalışabilmesi için hem game server, hem auth server ve hem de client tarafında bazı düzenlemeler yapılması gerekir.

Sık Karşılaşılan Hatalar ve Çözümleri:

1. Offline Shop Açılırken Eşyalar Görünmüyor:
Bu hata genellikle db_core ile game_core arasındaki veri aktarımı eksikliğinden kaynaklanır. root klasöründe bulunan offline_shop.py dosyasında item_db bağlantısının doğruluğunu kontrol edin. Ayrıca game/src altında bulunan C++ dosyalarında item_proto ile ilgili veri transfer fonksiyonlarının doğru çalıştığından emin olun.

2. Eşya Alım/Satım İşlemi Gerçekleşmiyor:
Bu durumda öncelikle pack dosyalarında uiscript ve py_root içindeki GUI dosyalarının doğru şekilde entegre edildiğinden emin olun. Martysama veya benzeri source_edit araçlarıyla yapılan değişikliklerde hata olabilir. Client tarafında python_gui sistemleri üzerinden UI'nin sunucuya gönderdiği verileri kontrol edin.

3. Sunucuda Offline Shop Aktif Ama Oyuncu Göremiyor:
Bu problem genellikle channel yapılandırmasında oluşur. Her channel için ayrı ayrı offline shop ayarları yapılmalıdır. Game server yapılandırmasında common_define dosyasında OFFLINE_SHOP_ENABLE parametresinin 1'e eşit olduğundan emin olun.

Gelişmiş Ayarlar ve Performans İpuçları:
Metin2 özel sunucularında compile işlemi sırasında offline_shop modülünün doğru derlenip derlenmediğini kontrol etmek önemlidir. Özellikle game/src/char/ altında bulunan char_item.cpp dosyasında shop ile ilgili fonksiyonların hook edilmesi gerekir. Auth server tarafında da kullanıcı giriş çıkış verileriyle shop verisi senkronize edilmelidir.

Tavsiyeler:
Metin2 geliştirme sürecinde offline shop gibi sistemlerin test aşamasında localhost üzerinde denemeler yapmanız önerilir. DB tarafında MySQL veya MariaDB kullanıyorsanız, shop_data tablosunun doğru tanımlandığından ve foreign key ilişkilerinin sağlandığından emin olun. PyGUI ve UIScript tabanlı arayüzlerde hata ayıklama yaparken console çıktılarını takip etmeniz faydalı olur.

Sonuç:
Offline Shop sistemi, Metin2 özel sunucularında oyuncu memnuniyetini artırmak için güçlü bir özelliktir. Ancak bu sistemin hatasız çalışması için hem server hem de client tarafında dikkatli yapılandırmalar yapılmalıdır. Metin2Dev ve game_core sistemlerinde çalışan geliştiriciler için bu rehber, temel hata çözüm adımlarını sunar.


Offline Shop - Error Solutions - Experts Welcome

Metin2 Lobby presents this guide prepared by experienced developers addressing common errors encountered with the Offline Shop system. This article includes detailed explanations for developers working on C++ and Python-based systems.

What is Offline Shop?
Offline Shop is an advanced system that allows players to buy and sell items without leaving the server. It's especially popular on PvP servers. For this system to function correctly, modifications are required on both the game server, auth server, and client sides.

Common Errors and Solutions:

1. Items Not Showing When Opening Offline Shop:
This error typically stems from incomplete data transfer between db_core and game_core. Check the accuracy of the item_db connection in the offline_shop.py file located in the root folder. Also ensure that data transfer functions related to item_proto in C++ files under game/src are working properly.

2. Item Buy/Sell Operations Not Working:
First, confirm that the GUI files within uiscript and py_root in your pack files are properly integrated. There may be errors from changes made using source_edit tools like Martysama. On the Client side, check data sent by UI through python_gui systems to the server.

3. Offline Shop Enabled on Server But Players Cannot See It:
This issue often occurs due to channel configuration. You must configure offline shop separately for each channel. Ensure that the OFFLINE_SHOP_ENABLE parameter in the common_define file in Game server configuration is set to 1.

Advanced Settings and Performance Tips:
During compile processes in Metin2 private servers, verifying whether the offline_shop module has been compiled correctly is crucial. In particular, functions related to shop in the char_item.cpp file located under game/src/char/ must be hooked. The user login/logout data should be synchronized with shop data on the Auth server side.

Recommendations:
When testing systems like offline shop during Metin2 development, it's recommended to run tests on localhost. If you're using MySQL or MariaDB on the DB side, ensure that the shop_data table is correctly defined and foreign key relationships are established. Monitoring console outputs while debugging PyGUI and UIScript-based interfaces can be helpful.

Conclusion:
The Offline Shop system is a powerful feature to enhance player satisfaction on Metin2 private servers. However, careful configurations on both server and client sides are required for error-free operation. This guide provides fundamental troubleshooting steps for developers working with Metin2Dev and game_core systems.
 

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

Benzer konular

Geri
Üst Alt