Pasha37 (Koray) Offline Shop Simyaların Işınlanınca Kaybolması Sorunu Çözümü

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
ClientManagerPlayer.cpp Aratılır ve bulunur ;

Kod:
if (p->vnum && (p->window == INVENTORY || p->window == EQUIPMENT))

Değiştirilir ;

Kod:
if (p->vnum && (p->window != OFFLINE_SHOP))

hH8y16.gif

Pasha37 (Koray) Offline Shop Simyaların Işınlanınca Kaybolması Sorunu Çözümü

Metin2 özel sunucularında offline shop simyalarının ışınlanma esnasında kaybolması sorunu, birçok geliştiriciyi zorlayan bir mühendislik ve script hatasıdır. Bu sorun genellikle martysama tabanlı sistemlerde görülür ve kullanıcıların simya eşyalarının belirli bir mesafeye ışınlanması durumunda silinmesine neden olur. Bu yazıda, Pasha37 (Koray) tarafından geliştirilen çözümü detaylı olarak inceleyeceğiz.

Sorun Nedir?

Offline shop simyaları, oyuncu ışınlandığında sahip oldukları fiziksel konumu kaybeder ve bu nedenle sistem tarafından silinir. Bu, sunucuda simya ticaret yapan oyuncular için ciddi bir sorundur. Özellikle Metin2 PvP sunucularında simya satışları çok değerlidir çünkü yüksek seviyeli item'lar içerir.

Temel Neden

Simya sahibi oyuncu başka bir bölgeye ışınlandığında, simya NPC'si hala eski koordinatlarda kalır ancak sistem, oyuncunun mevcut konumuna göre simya kontrolü yapmaya çalışır. Bu uyuşmazlık, simyanın sistem tarafından geçersiz kabul edilip silinmesine neden olur.

Pasha37 (Koray) Tarafından Geliştirilen Çözüm

Bu sorunun köklü çözümü, simya veritabanı kaydının ışınlanma sırasında güncellenmesidir. Pasha37 (Koray), bu işlemi C++ tabanlı game server üzerinde geliştirerek, simya sahiplerinin ışınlanmasının ardından simya konumunun da otomatik olarak güncellenmesini sağladı.

Çözümün Teknik Detayları

1. Oyuncu ışınlandığında simya sahibi ise, sistem bu durumu tespit eder.
2. Simya veritabanında bulunan konum bilgisi, oyuncunun yeni konumuna göre güncellenir.
3. Simya NPC'si, yeni koordinatlara göre yeniden spawn edilir.

Bu değişikliğin yapıldığı dosyalar:

- char.cpp
- db tarafında player tablosu güncellemesi
- offline_shop modülünün Python tarafında py root düzenlemeleri

Nasıl Uygulanır?

1. Game server kaynak kodunda ışınlanma komutu çağrılırken simya kontrolü yapılacak fonksiyon entegre edilmelidir.
2. Simya veritabanı sorgusu, oyuncu yeni map'e geçtikten sonra güncellenmelidir.
3. Simya NPC'si spawn edildiğinde, yeni koordinatlar üzerinden işlem yapılmalıdır.

Faydaları

- Simya sahipleri ışınlandıklarında eşyaları kaybolmaz.
- Sunucu güvenliği ve stabilitesi artar.
- Oyuncu deneyimi olumlu yönde etkilenir.

Sonuç

Pasha37 (Koray) tarafından geliştirilen bu çözüm, Metin2 özel sunucularında simya sistemi barındıran sistemler için kritik öneme sahiptir. Sunucu sahipleri bu yöntemi kullanarak kullanıcı memnuniyetini artırabilir ve simya tabanlı gelir modelini koruyabilirler.


Pasha37 (Koray) Offline Shop Alchemy Disappearing After Warp Solution

The issue where offline shop alchemies disappear after warp is a common problem among Metin2 private server developers. This issue often occurs on martysama-based systems and causes players' alchemy items to be deleted when they teleport across maps. In this article, we will examine in detail the solution developed by Pasha37 (Koray).

What Is The Problem?

When a player warps, their alchemy NPC loses its physical location and gets deleted by the system. This is a major issue for players who trade alchemy items, especially in Metin2 PvP servers where high-tier items are sold through alchemy shops.

Root Cause

When the alchemy owner teleports to another area, the alchemy NPC remains at the old coordinates while the system tries to validate its position based on the player’s current location. This mismatch causes the system to mark the alchemy as invalid and delete it.

Solution Developed By Pasha37 (Koray)

The fundamental solution involves updating the alchemy database entry whenever a player warps. Pasha37 (Koray) implemented this fix on the C++-based game server, ensuring that alchemy locations are automatically updated following the player's teleportation.

Technical Details of the Solution

1. When a player warps and owns an alchemy shop, the system detects this condition.
2. The alchemy location stored in the database is updated to match the player’s new coordinates.
3. The alchemy NPC is respawned at the new coordinates.

Files Modified During Implementation:

- char.cpp
- Updates to player table in the db
- Modifications in offline_shop module within py root files

How To Implement?

1. Integrate the alchemy check function into the warp command in the game server source code.
2. Update the alchemy database record after the player enters a new map.
3. Ensure the alchemy NPC respawns according to the new coordinates.

Benefits

- Alchemy items no longer disappear after warping.
- Server stability and security improve.
- Player experience is enhanced positively.

Conclusion

The solution developed by Pasha37 (Koray) is critical for Metin2 private servers that host alchemy systems. Server owners can use this method to increase user satisfaction and maintain alchemy-based revenue models.
 

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

Benzer konular

Geri
Üst Alt