Offlineshop açıkken cube ekranı açılmasın. [FIX]

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Cube ekranı açıkken offlineshop açılmasını engeller ikarus içindir. Teleport + cube ile yapılan dupeyi engeller nasıl yapıldığını göstermeyeceğim sadece kullanın.

cuberenewal.cpp aç

bul :
Kod:
if (ch->GetExchange() || ch->GetMyShop() || ch->GetShopOwner() || ch->IsOpenSafebox() || ch->IsCubeOpen() || ch->IsAcceOpened(true) || ch->IsAcceOpened(false))     {         ch->ChatPacket(CHAT_TYPE_INFO, "Cannot open refinement window");         return;     }

Değiştir :

Kod:
if (ch->GetExchange() || ch->GetMyShop() || ch->GetShopOwner() || ch->IsOpenSafebox() || ch->IsCubeOpen() || ch->IsAcceOpened(true) || ch->IsAcceOpened(false) #ifdef __ENABLE_NEW_OFFLINESHOP__         || ch->GetOfflineShopGuest() || ch->GetShopSafebox() #endif         )     {         ch->ChatPacket(CHAT_TYPE_INFO, "Cannot open refinement window");         return;     }

Cube sistemini en son ekleyip gözden kaçıranların ve pişman olanların fixi basit ama etkili keyifli günler.
Offlineshop Açıkken Cube Ekranı Açılmasın Fix

Metin2 özel sunucularında offline alışveriş sistemleri, oyuncuların sunucu kapalıyken bile eşya alıp satmasına olanak tanır. Ancak bazı durumlarda bu sistemlerde oluşabilecek hatalar, kullanıcı deneyimini olumsuz etkileyebilir. Bunlardan birisi de offlineshop aktifken cube ekranının açılmasıdır. Bu durumda oyuncu hem cube işlemlerini yapabilir hem de offline mağaza ile işlem yapabilir. Bu da hata, çakışma ve hile risklerine neden olabilir.

Cube Nedir?
Cube sistemi, Metin2 oyununda eşyaların belli kombinasyonlarla yeniden şekillendirilmesini sağlayan bir özelliktir. Genellikle eşyaların geliştirilmesi, dönüştürülmesi veya belirli bonuslar elde edilmesi için kullanılır. Cube arayüzü, oyuncuların bu işlemleri gerçekleştirmesi için gerekli GUI (grafiksel kullanıcı arayüzü) sunar.

Offlineshop Sistemi Nedir?
Offlineshop, Metin2 özel sunucularında popüler bir sistemdir. Oyuncular, sunucudan çıkmadan veya oyun dışındayken bile eşyalarını satın alabilir, satabilir veya ticaret yapabilirler. Bu sistem genellikle Python tabanlı GUI sistemlerle entegre edilir ve py root dosyaları üzerinden çalışır. Ancak bu sistem aktifken diğer arayüzlerin açılması, veritabanı çakışmalarına ve veri kayıplarına yol açabilir.

Sorunun Kaynağı
Oyuncu offlineshop penceresini açtıktan sonra cube sistemine erişmeye çalıştığında, iki arayüz aynı anda aktif kalabiliyor. Bu durumda, sunucu tarafında eşya transferi veya veri işleme süreçlerinde karışıklıklar oluşabiliyor. Bu da genellikle sunucu çökmesine veya oyuncu envanterinde bozulmalara sebep olabilir.

Fix Nasıl Uygulanır?
Bu sorunu çözmek için, offlineshop açıkken cube ekranı açılmamasını sağlayan bir kontrol mekanizması eklemek gerekir. Bu genellikle Python tarafında, cube penceresinin açılış fonksiyonuna bir kontrol satırı eklenerek yapılır.

Örnek Kod Yapısı:
Kod:
[COLOR=green]if offlineshop.IsShow():[BR][/BR]    chat.AppendChat(chat.CHAT_TYPE_INFO, 'Lütfen offlineshop kapalıyken cube ekranını açın!')[BR][/BR]    return[/COLOR]


Bu kod, cube ekranının açılmadan önce offlineshop'un açık olup olmadığını kontrol eder. Eğer açık ise, kullanıcıya bilgi mesajı gönderilir ve cube penceresi açılmaz.

Sunucu Tarafında Kontrol
Aynı kontrolü sunucu tarafında da yapmak isterseniz, game core kısmında gerekli değişiklikleri yapmanız gerekir. Özellikle auth ve game server arasındaki veri akışında cube veya offlineshop komutları karşılaştırılabilir. Böylece daha güvenli bir sistem oluşturulabilir.

Neden Bu Fix Gereklidir?
Bu fix, kullanıcıların hata yapmasını engeller. Aynı zamanda sunucu tarafında veri tutarsızlıklarını önler. Cube ve offlineshop gibi iki farklı işlem aynı anda yapıldığında, veritabanı güncellemelerinde sorunlar ortaya çıkabilir. Bu da sunucunun kararlılığını tehdit eder.

Sonuç
Offlineshop açıkken cube ekranının açılmasını engellemek, Metin2 özel sunucularında kullanıcı dostu ve güvenli bir sistem kurmak için kritik öneme sahiptir. Bu fix, hem geliştiriciler hem de oyuncular için daha stabil bir oyun deneyimi sağlar. Bu tür küçük ama etkili kontroller, uzun vadede büyük sorunların önüne geçer.


Fix: Prevent Cube Window from Opening While Offlineshop Is Active

In Metin2 private servers, offline shopping systems allow players to buy and sell items even while the server is offline. However, certain errors in these systems can negatively affect user experience. One such issue is the cube window opening while offlineshop is active. In this case, the player may interact with both cube operations and the offline shop simultaneously, which can lead to errors, conflicts, and cheating risks.

What Is Cube?
The cube system in Metin2 allows items to be reshaped through specific combinations. It is commonly used for item upgrades, transformations, or gaining certain bonuses. The cube interface provides the necessary GUI (graphical user interface) for players to perform these operations.

What Is Offlineshop System?
Offlineshop is a popular system on Metin2 private servers. Players can buy, sell, or trade items without leaving the server or even while being offline. This system typically integrates with Python-based GUI systems and operates via py root files. However, if other interfaces are opened while this system is active, database conflicts and data losses may occur.

Root of the Problem
When a player opens the cube screen after activating the offlineshop window, both interfaces can remain active at the same time. During this process, confusion can arise in the server-side processes related to item transfers or data processing. This often leads to server crashes or inventory corruptions for the player.

How to Apply the Fix?
To solve this issue, a control mechanism must be implemented that prevents the cube window from opening when offlineshop is active. This is usually done by adding a control statement to the function that opens the cube window, typically within the Python side code.

Sample Code Structure:
Kod:
[COLOR=green]if offlineshop.IsShow():[BR][/BR]    chat.AppendChat(chat.CHAT_TYPE_INFO, 'Please open the cube window only when offlineshop is closed!')[BR][/BR]    return[/COLOR]


This code checks whether offlineshop is active before attempting to open the cube window. If it is active, an information message is sent to the user, and the cube window is not opened.

Server-Side Control
If you wish to implement the same check on the server side, you need to make adjustments in the game core section. Particularly, cube or offlineshop commands can be compared in the data flow between auth and game server. This creates a more secure system.

Why Is This Fix Necessary?
This fix prevents users from making mistakes. It also avoids data inconsistencies on the server side. When two different operations like cube and offlineshop are performed simultaneously, issues may arise during database updates. This threatens server stability.

Conclusion
Preventing the cube window from opening while offlineshop is active is critical for establishing a user-friendly and secure system in Metin2 private servers. This fix ensures a more stable gaming experience for both developers and players. Such small but effective controls prevent significant problems in the long term.
 

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

Benzer konular

Geri
Üst Alt