- Katılım
- 6 Mayıs 2022
- Konular
- 48,291
- Mesajlar
- 48,601
- Tepkime puanı
- 75
- M2 Yaşı
- 3 yıl 11 ay 10 gün
- Trophy Puan
- 48
- M2 Yang
- 488,879
Merhaba arkadaşlar,
common/item_length.h dosyasına giriyoruz;
common/item_length.h dosyasına giriyoruz;
Gördüğünüz gibi yukarıda item stok sayısı en fazla envanterde bulunabilecek item sayısı Bir item'e kaç taş ekliyebiliriz gibi baya özellik var bu şekilde düzenleyip paketliyebilirsiniz..
Saygılarımla.
Metin2 Kaynak Kodlarında Sınırları Aşmak: Fazla Taş Eklemek ve Item Sayısını Artırmak
Giriş:
Metin2 özel sunucularında gelişmiş sistemler kurmak isteyen geliştiriciler, genellikle mevcut kaynak kodlarının sınırlarını aşmaya çalışır. Bu sınırlardan bazıları, bir iteme eklenebilecek taş sayısı ya da envanterde barındırılabilecek item miktarıdır. Bu makalede, C++ tabanlı Metin2 source üzerinde bu sınırları nasıl genişleteceğimizi detaylıca inceleyeceğiz.
Taşa Sınırsız Yetenek Ekleme (Fazla Taş Ekletme):
Metin2 oyununda, her iteme maksimum 3 adet taş takılabilir. Ancak bazı özel sunucularda bu sayının artırılması istenebilir. Bunun için öncelikle game sunucusu üzerinde item sınıfındaki sınırlamaların değiştirilmesi gerekir.
Öncelikle char_item.cpp dosyasında yer alan AttachSocket fonksiyonuna göz atmalıyız. Burada taş ekleme işlemi yapılırken socket_count kontrolü yapılır. Bu değer varsayılan olarak 3'tür. Bu değeri artırmak için, header dosyalarında tanımlı olan sabitleri güncellememiz gerekir.
Ayrıca, client tarafında UI değişiklikleri yaparak, oyuncuya daha fazla slot göstermek gerekir. Bu işlem için uiscript dosyalarında ilgili arayüz bileşenleri yeniden yapılandırılmalıdır.
Item Sayısı Limitini Genişletme:
Metin2 oyununda bir oyuncunun envanterinde 64x17 = 1088 slot bulunur. Ancak bazı sunucularda bu sayının artırılması, oyuncuların daha fazla item taşımasını sağlar. Bu durumda hem game sunucusunda hem de client tarafında değişiklik yapılması gerekir.
Game tarafında, char_item.cpp dosyasında bulunan envanter boyutu sabiti değiştirilmeli. Ayrıca packet tanımlarında bu değişikliği destekleyecek şekilde ayarlamalar yapılmalıdır.
Client tarafında ise uiscript dosyasında envanterin görsel arayüzü genişletilmelidir. Bu sayede oyuncu arayüzde daha fazla slot görebilir ve doğru şekilde etkileşime girebilir.
Dikkat Edilmesi Gerekenler:
Bu gibi değişiklikler, sunucunun performansını doğrudan etkileyebilir. Özellikle envanter boyutunun artırılması, database üzerinde daha fazla veri tutulmasına neden olabilir. Bu yüzden db_core tarafında da optimize edilmiş sorgular hazırlanmalıdır.
Ayrıca, auth ve game sunucuları arasında veri aktarımı sırasında herhangi bir çakışma olmaması için paket yapıları da dikkatlice incelenmelidir.
Sonuç:
Metin2 özel sunucularında, C++ tabanlı kaynak kodlar üzerinde yapılan bu gibi düzenlemeler, oyuncular için daha zengin ve özelleştirilmiş deneyimler sunar. Ancak bu işlemler sırasında dikkatli hareket edilmesi ve testlerin eksiksiz yapılması büyük önem taşır. Metin2Lobby olarak, bu konulara dair tüm kaynakları ve destekleri sunuyoruz.
Breaking Limits in Metin2 Sources: Adding More Stones to Items and Increasing Item Count
Introduction:
Developers who wish to implement advanced systems on Metin2 private servers often try to exceed the default limitations of the source code. Some of these limitations include the number of stones that can be attached to an item or the total item capacity in the inventory. In this article, we will examine how to extend these limits on C++-based Metin2 sources in detail.
Unlimited Ability Stones on Items (Adding Extra Stones):
In Metin2, each item can typically hold up to 3 stones. However, some special servers may require increasing this limit. For this purpose, the restrictions within the item class in the game server must be modified.
Firstly, look into the AttachSocket function found in char_item.cpp. Here, the stone attachment process checks the socket_count value. By default, this value is set to 3. To increase this, constants defined in the header files must be updated accordingly.
Additionally, on the client side, UI modifications are required to display more slots to the player. This requires reconfiguring relevant interface components in the uiscript files.
Expanding Item Count Limit:
In Metin2, a player's inventory holds 64x17 = 1088 slots. However, in certain servers, increasing this number allows players to carry more items. In such cases, changes must be made both on the game server and the client side.
On the game side, the constant defining inventory size in char_item.cpp should be modified. Additionally, packet definitions must support this change accordingly.
On the client side, the visual interface of the inventory in the uiscript file must be expanded so that players can see more slots and interact properly.
Important Considerations:
Such changes can directly impact server performance. Especially increasing inventory size may lead to storing more data in the database; therefore, optimized queries must be prepared in the db_core layer.
Moreover, to avoid conflicts during data transfer between auth and game servers, packet structures must also be carefully reviewed.
Conclusion:
Customizations like these on C++-based Metin2 sources provide richer and more personalized experiences for players on private servers. However, caution must be exercised during implementation, and thorough testing is crucial. At Metin2Lobby, we offer all resources and support regarding these topics.
