[Emre Kırıcı] // [C++] 4 Taş Depo Bugu

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
[FONT=&quot]Merhaba arkadaşlar bildiğiniz gibi her 40 k filesde nerdeyse artık 4 taş sistemi var şahsen bazı yerlerde kodlar ya yarım yada uzantılı linklerde linkler kırık o yüzden birazını forumlardan birazını kendim uyarlıyarak paylaşmak istedim sorunsuzdur. sorun alan arkadaşlar yazarlarsa ilgilenirim.

[/FONT][FONT=&quot]Db/src/clientmanager.cpp açıyoruz.

Aratıyoruz :[/FONT][FONT=&quot]
[/FONT]Kod:
[FONT=&quot]void CClientManager::QUERY_ITEM_SAVE(CPeer * pkPeer, const char * c_pData)[/FONT]
[FONT=&quot]

Kod Bloğunda Buluyoruz :
[/FONT]Kod:
[FONT=&quot]REPLACE INTO item%s (id, owner_id, window, pos, count, vnum, socket0, socket1, socket2, [/FONT]
[FONT=&quot]

Aşağıdaki Şekilde Değiştiriyoruz :

[/FONT]Kod:
[FONT=&quot]REPLACE INTO item%s (id, owner_id, window, pos, count, vnum, socket0, socket1, socket2, socket3,[/FONT]
[FONT=&quot]


Aratıyoruz :
[/FONT]Kod:
[FONT=&quot]VALUES(%u, %u, %d, %d, %u, %u, %ld, %ld, %ld, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d)[/FONT]
[FONT=&quot]

Aşagıdaki Şekilde Değiştiriyoruz :
[/FONT]Kod:
[FONT=&quot]VALUES(%u, %u, %d, %d, %u, %u, %ld, %ld, %ld, %ld, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d)[/FONT]
[FONT=&quot]

Aratıyoruz :
[/FONT]Kod:
[FONT=&quot]p->alSockets[2],[/FONT]
[FONT=&quot]

Altına Ekliyoruz :
[/FONT]Kod:
[FONT=&quot]p->alSockets[3],[/FONT]
[FONT=&quot]


İşlemimiz Tamamlanmıştır .[/FONT]
Metin2 Lobby - C++ ile 4 Taş Depo Sistemi Hataları ve Çözümleri

Metin2 özel sunucularında geliştirilen C++ tabanlı sistemlerden biri olan 4 taş depo sistemi, oyuncuların farklı eşyaları taşları kullanarak depolamasına olanak tanır. Ancak bu sistem geliştirilirken bazı buglarla karşılaşılabilir. Bu makalede Emre Kırıcı'nın geliştirdiği C++ 4 Taş Depo sisteminde ortaya çıkabilen hata durumlarını ve çözüm önerilerini detaylıca ele alacağız.

4 Taş Depo Nedir?
4 Taş Depo sistemi, Metin2 özel sunucularında sunucu tarafında geliştirilen bir özelliktir. Oyuncular, belirli taşları kullanarak farklı depolar oluşturabilir ve bu depolarda çeşitli eşyaları saklayabilirler. Bu sistem, oyuncuların envanter alanını genişletmesini sağlar ve daha organize bir oyun deneyimi sunar.

Ortaya Çıkabilecek Buglar
Bu sistem geliştirilirken bazı hatalarla karşılaşılabilir. Bunlardan bazıları:
- Depoya eşya koyulduğunda kaybolma
- Depo açıldığında eşyanın görünmemesi
- Taşlarla depo değiştirme sırasında sistem çökmesi
- Depo veritabanı senkronizasyon sorunu

Hata Ayıklama Süreci
C++ sistemlerde hata ayıklama, log kayıtlarının incelenmesiyle başlar. Özellikle depo sisteminde eşya kayıpları yaşanıyorsa, veritabanı kayıtları ve eşya ID'leri kontrol edilmelidir. Emre Kırıcı tarafından geliştirilen sistemde, depo açılırken bazı ID'ler doğru okunmuyor olabilir. Bu durumda log dosyasında 'invalid item id' gibi hata mesajları görülebilir.

Çözüm Önerileri
1. Eşya ID Kontrolü
Her eşyanın doğru şekilde tanımlandığından emin olun. Eğer eşya ID'leri yanlışsa, depodan çekilen eşyalar doğru yüklenmeyebilir.
2. Veritabanı Tablosu Yapılandırması
Depo sisteminin veritabanı tablosu doğru yapılandırılmış mı? Her taş türüne özel depo slotları ayrılmış mı? Bu konular detaylıca incelenmelidir.
3. Client-Server Senkronizasyonu
Oyuncu depoyu açtığında sunucudan gelen verilerle istemcinin gösterdiği veriler arasında fark varsa, bu senkronizasyon hatasıdır. Bu da eşya eksikliği veya çoğalması gibi hatalara neden olabilir.

Geliştirme Sürecinde Dikkat Edilmesi Gerekenler
Metin2 özel sunucularında geliştirme yapılırken, C++ sistemlerin stabil çalışması için dikkat edilmesi gereken bazı önemli noktalar vardır:
- Veritabanı işlemlerinde transaction kullanımı
- Sunucu ve istemci arasında veri aktarımı sırasında checksum kontrolü
- Her işlem sonrası loglama yapılmalı

Sonuç
4 Taş Depo sistemi, Metin2 özel sunucularında oldukça kullanışlı bir özelliktir. Ancak geliştirme aşamasında karşılaşılan buglar, kullanıcı deneyimini ciddi şekilde etkileyebilir. Emre Kırıcı'nın geliştirdiği C++ tabanlı sistemde hataların analizi ve çözülmesi, sunucu sahipleri için büyük önem taşır. Doğru hata ayıklama süreciyle sistem daha kararlı ve güvenli hale getirilebilir.

Kaynaklar
Metin2 Lobby - C++ Sistem Geliştirme Rehberleri


Metin2 Lobby - C++ 4 Stone Warehouse System Bugs and Solutions

The 4 stone warehouse system, developed in C++ for Metin2 private servers, allows players to store different items using special stones. However, some bugs may occur during its development. In this article, we will examine potential issues and solution suggestions regarding the C++ 4 Stone Warehouse system developed by Emre Kirici.

What Is the 4 Stone Warehouse System?
The 4 stone warehouse system is a feature developed on the server-side in Metin2 private servers. Players can create different warehouses using specific stones and store various items in them. This system expands the inventory space for players and provides a more organized gaming experience.

Potential Bugs
Some possible errors that may arise during the development of this system include:
- Items disappearing when placed in the warehouse
- Items not appearing when the warehouse is opened
- System crash while switching between warehouses using stones
- Warehouse database synchronization issues

Debugging Process
In C++ systems, debugging begins with examining log files. If items are disappearing from the warehouse, database entries and item IDs must be checked. In the system developed by Emre Kirici, certain IDs might not be read correctly when opening the warehouse. In such cases, error messages like 'invalid item id' may appear in the log file.

Suggested Solutions
1. Item ID Verification
Ensure each item is properly defined. If item IDs are incorrect, items retrieved from the warehouse may not load correctly.
2. Database Table Configuration
Is the warehouse system's database table configured correctly? Are separate slots allocated for each type of stone? These aspects should be examined carefully.
3. Client-Server Synchronization
If there is a discrepancy between the data sent from the server and what the client displays when the player opens the warehouse, this indicates a synchronization error. It can cause issues such as missing or duplicated items.

Key Considerations During Development
When developing for Metin2 private servers, there are critical points to ensure C++ systems run stably:
- Using transactions in database operations
- Checksum control during data transfers between server and client
- Logging after each operation

Conclusion
The 4 Stone Warehouse system is a highly useful feature in Metin2 private servers. However, bugs encountered during development can significantly affect user experience. Analyzing and resolving issues in the C++ based system developed by Emre Kirici is crucial for server owners. With the correct debugging process, the system can become more stable and reliable.

Resources
Metin2 Lobby - C++ System Development Guides
 

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

Benzer konular

Geri
Üst Alt