offlineshop_manager.cpp açılır
arat
altına ekle
arat
altına ekle
arat
altına ekle
Konu daha önce açıldımı bilmiyorum
işine yarayan olur diye paylaşıyorum
bi teşekkür yeterli
Offline Shop Kuşak Bugu Nedir?
Metin2 özel sunucularında popüler olan Offline Shop sistemi, oyuncuların internete bağlı olmadan esya satabilmesini saglar. Ancak bu sistemde bazen 'kuşak bugu' gibi sorunlarla karsılasılır. Bu bug, oyuncuların kuşakları degiştiği halde offline shop'ta eski kuşak seviyesinin gorulmesi seklinde ortaya cıkar. Bu durum, hem oyun dengesini bozar hem de oyuncular arasında adaletsizligin olusmasına neden olabilir.
Kuşak Degişimiyle Ilgili Sorunlar
Offline Shop sisteminde, kuşak degişiminden sonra esya listeleme veya bilgi guncelleme mekanizması eksik oldugunda, kuşak seviyesi degişmesine ragmen eski seviye gorulmeye devam eder. Bu, genellikle sistemdeki veri senkronizasyon hatasından kaynaklanır. Oyuncuların degişen kuşak seviyesine gore esya fiyatlandırması ve gosterimi yapılması gerekirken, eski veriler hafızada kalır ve goruntulenmeye devam eder.
Fix Uygulamaları
Bu sorunu cozmek icin once sistemdeki kuşak verisinin dogru sekilde alındıgından emin olmak gerekir. Bu işlem genellikle C++ tabanlı sunucu tarafında yapılır. Sunucu tarafında kuşak degişimi oldugunda, offline shop tablosundaki ilgili oyuncunun kuşak verisi de guncellenmelidir. Bu degişiklikler auth-server veya game-server tarafında bir trigger ile tetiklenebilir. Ayrica, client tarafında da bu verilerin guncellenip guncellenmedigi kontrol edilmelidir.
Sunucu Tarafında Kodlama Ornegi
Kuşak degişimi oldugunda, asagıdaki gibi bir SQL sorgusu calıstırılabilir:
UPDATE offline_shop SET level = new_level WHERE player_id = ?;
Bu kod, oyuncunun offline shop gorunumunu dogru kuşak seviyesine gore yeniler. Bu tarz degişiklikler, Martysama veya diger Metin2 development platformlarında da benzer sekilde uygulanabilmektedir.
Python GUI Tabanlı Arayuzlerde Guncelleme
Bazı Metin2 developer'lar, bu tur guncellemeleri kolaylastırmak icin Python GUI tabanlı araclar gelistirir. Bu araclar sayesinde, offline shop verileri daha kolay izlenebilir ve duzenlenebilir. Py Root veya Uiscript kullanılarak gelistirilen bu araclar, adminlerin kuşak degişikliklerini takip etmesini saglar.
Sonuç
Offline Shop kuşak bugu, Metin2 private serverlerinde sık rastlanan bir sorundur. Dogru kodlama ve veri senkronizasyonu ile bu sorun kolayca cozulebilir. Sunucu kaynak kodlarının (SRC), dogru sekilde duzenlenmesi, DB tarafında uygun trigger'ların olusturulması ve client tarafında da gorunumun guncellenmesi bu islemi basarılı hale getirir.
What Is The Offline Shop Kuşak Bug?
The popular Offline Shop system in Metin2 private servers allows players to sell items without being connected to the internet. However, sometimes issues like the 'kuşak bug' occur within this system. This bug appears when players’ kuşak levels change but the old kuşak level still appears in the offline shop. This disrupts game balance and can lead to unfairness among players.
Issues Related To Kuşak Changes
In the Offline Shop system, if item listing or information updating mechanisms are missing after a kuşak change, the kuşak level continues to display the old value despite the change. This is usually due to data synchronization errors in the system. While item pricing and display should reflect the updated kuşak level, old data remains cached and continues to be displayed.
Fix Implementations
To resolve this issue, first ensure that the kuşak data is correctly retrieved from the system. This process is typically done on the C++ based server side. When a kuşak change occurs, the corresponding player's kuşak data in the offline shop table must also be updated. These changes can be triggered via a trigger on either the auth-server or the game-server. Additionally, whether these values are updated on the client-side must also be checked.
Server-Side Coding Example
When a kuşak change occurs, a SQL query like the following can be executed:
UPDATE offline_shop SET level = new_level WHERE player_id = ?;
This code updates the player's offline shop view according to the correct kuşak level. Such changes can also be applied similarly on platforms such as Martysama or other Metin2 development environments.
Updates In Python GUI-Based Interfaces
Some Metin2 developers create Python GUI-based tools to simplify these types of updates. These tools allow easier tracking and editing of offline shop data. Tools developed using Py Root or Uiscript help admins track kuşak changes effectively.
Conclusion
The Offline Shop kuşak bug is a common issue in Metin2 private servers. With proper coding and data synchronization, this problem can be easily resolved. Properly editing server source codes (SRC), creating appropriate triggers on the DB side, and updating the display on the client-side will ensure success.
arat
Kod:
void COfflineShopManager::AddItem(LPCHARACTER ch, BYTE bDisplayPos, BYTE bPos, int iPrice) { if (!ch) return;
altına ekle
Kod:
if ((ch->GetExchange() || ch->IsOpenSafebox() || ch->GetShopOwner()) || ch->IsCubeOpen() || ch->GetOfflineShopOwner() || ch->IsAcceOpen()) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("LC_TEXT NOW YOU CAN OPEN OFFLINE SHOP GUI")); return; }
arat
Kod:
void COfflineShopManager::RemoveItem(LPCHARACTER ch, BYTE bPos) { if (!ch) return;
Kod:
if ((ch->GetExchange() || ch->IsOpenSafebox() || ch->GetShopOwner()) || ch->IsCubeOpen() || ch->GetOfflineShopOwner() || ch->IsAcceOpen()) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("LC_TEXT NOW YOU CAN OPEN OFFLINE SHOP GUI")); return; }
Kod:
void COfflineShopManager::ChangePrice(LPCHARACTER ch, BYTE bPos, DWORD dwPrice) { if (!ch) return;
Kod:
if ((ch->GetExchange() || ch->IsOpenSafebox() || ch->GetShopOwner()) || ch->IsCubeOpen() || ch->GetOfflineShopOwner() || ch->IsAcceOpen()) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("LC_TEXT NOW YOU CAN OPEN OFFLINE SHOP GUI")); return; }
Konu daha önce açıldımı bilmiyorum
işine yarayan olur diye paylaşıyorum
bi teşekkür yeterli
Offline Shop Kuşak Bugu Nedir?
Metin2 özel sunucularında popüler olan Offline Shop sistemi, oyuncuların internete bağlı olmadan esya satabilmesini saglar. Ancak bu sistemde bazen 'kuşak bugu' gibi sorunlarla karsılasılır. Bu bug, oyuncuların kuşakları degiştiği halde offline shop'ta eski kuşak seviyesinin gorulmesi seklinde ortaya cıkar. Bu durum, hem oyun dengesini bozar hem de oyuncular arasında adaletsizligin olusmasına neden olabilir.
Kuşak Degişimiyle Ilgili Sorunlar
Offline Shop sisteminde, kuşak degişiminden sonra esya listeleme veya bilgi guncelleme mekanizması eksik oldugunda, kuşak seviyesi degişmesine ragmen eski seviye gorulmeye devam eder. Bu, genellikle sistemdeki veri senkronizasyon hatasından kaynaklanır. Oyuncuların degişen kuşak seviyesine gore esya fiyatlandırması ve gosterimi yapılması gerekirken, eski veriler hafızada kalır ve goruntulenmeye devam eder.
Fix Uygulamaları
Bu sorunu cozmek icin once sistemdeki kuşak verisinin dogru sekilde alındıgından emin olmak gerekir. Bu işlem genellikle C++ tabanlı sunucu tarafında yapılır. Sunucu tarafında kuşak degişimi oldugunda, offline shop tablosundaki ilgili oyuncunun kuşak verisi de guncellenmelidir. Bu degişiklikler auth-server veya game-server tarafında bir trigger ile tetiklenebilir. Ayrica, client tarafında da bu verilerin guncellenip guncellenmedigi kontrol edilmelidir.
Sunucu Tarafında Kodlama Ornegi
Kuşak degişimi oldugunda, asagıdaki gibi bir SQL sorgusu calıstırılabilir:
UPDATE offline_shop SET level = new_level WHERE player_id = ?;
Bu kod, oyuncunun offline shop gorunumunu dogru kuşak seviyesine gore yeniler. Bu tarz degişiklikler, Martysama veya diger Metin2 development platformlarında da benzer sekilde uygulanabilmektedir.
Python GUI Tabanlı Arayuzlerde Guncelleme
Bazı Metin2 developer'lar, bu tur guncellemeleri kolaylastırmak icin Python GUI tabanlı araclar gelistirir. Bu araclar sayesinde, offline shop verileri daha kolay izlenebilir ve duzenlenebilir. Py Root veya Uiscript kullanılarak gelistirilen bu araclar, adminlerin kuşak degişikliklerini takip etmesini saglar.
Sonuç
Offline Shop kuşak bugu, Metin2 private serverlerinde sık rastlanan bir sorundur. Dogru kodlama ve veri senkronizasyonu ile bu sorun kolayca cozulebilir. Sunucu kaynak kodlarının (SRC), dogru sekilde duzenlenmesi, DB tarafında uygun trigger'ların olusturulması ve client tarafında da gorunumun guncellenmesi bu islemi basarılı hale getirir.
What Is The Offline Shop Kuşak Bug?
The popular Offline Shop system in Metin2 private servers allows players to sell items without being connected to the internet. However, sometimes issues like the 'kuşak bug' occur within this system. This bug appears when players’ kuşak levels change but the old kuşak level still appears in the offline shop. This disrupts game balance and can lead to unfairness among players.
Issues Related To Kuşak Changes
In the Offline Shop system, if item listing or information updating mechanisms are missing after a kuşak change, the kuşak level continues to display the old value despite the change. This is usually due to data synchronization errors in the system. While item pricing and display should reflect the updated kuşak level, old data remains cached and continues to be displayed.
Fix Implementations
To resolve this issue, first ensure that the kuşak data is correctly retrieved from the system. This process is typically done on the C++ based server side. When a kuşak change occurs, the corresponding player's kuşak data in the offline shop table must also be updated. These changes can be triggered via a trigger on either the auth-server or the game-server. Additionally, whether these values are updated on the client-side must also be checked.
Server-Side Coding Example
When a kuşak change occurs, a SQL query like the following can be executed:
UPDATE offline_shop SET level = new_level WHERE player_id = ?;
This code updates the player's offline shop view according to the correct kuşak level. Such changes can also be applied similarly on platforms such as Martysama or other Metin2 development environments.
Updates In Python GUI-Based Interfaces
Some Metin2 developers create Python GUI-based tools to simplify these types of updates. These tools allow easier tracking and editing of offline shop data. Tools developed using Py Root or Uiscript help admins track kuşak changes effectively.
Conclusion
The Offline Shop kuşak bug is a common issue in Metin2 private servers. With proper coding and data synchronization, this problem can be easily resolved. Properly editing server source codes (SRC), creating appropriate triggers on the DB side, and updating the display on the client-side will ensure success.
