[C++]Eşya düşürmeleri için Min/Maks seviye sınırı

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Ne işe yarar?
mop_drop_item içindeki type limiti olan Drop'lar min/max seviye aralığı ile sağlanıyor
Örnek kod ile yola çıkarsak 1 level ile 15 level arasından sonra item düşmüyor.
şimdi diyeceksiniz ki biz zaten level sınırı koyabiliyoruz ama sadece sınırını koyabiliyorsunuz
bu şekilde daha detaylı olarak ayarlanmasına yardımcı oluyor

Kod:
Group Metin_Lv5 { mob 8001 Type limit level_limit_start 1 level_limit_end 15 1 27987 1 2 }


Sınırda.
230932_7d55c8beb72809ab7760b7a85fb2efee.png



Sınırın üstüne çıkınca.

230934_8629807eac840a18b3231b6ddc7e3619.png





Metin2 özel sunucularında C++ tabanlı geliştirme yapılırken, eşya düşürme sistemlerinde önemli bir konu başlığıdır: Min/Maks seviye sınırı.

Bu sistem sayesinde, belirlenen seviye aralığı dışındaki karakterlerin düşürülen eşyaları alamaması sağlanabilir. Bu da özellikle PvP sunucularında haksız avantaj engellenebilir ve oyun içi denge korunabilir.

Önemli Not: Bu işlem genellikle game core kısmında yapılmaktadır. Yani src/game[/BR] dizinindeki dosyalarda değişiklik yapılmalıdır.

1. Eşya Düşürme Sistemi Nedir?
Metin2'de eşya düşürme, NPC'lerin belirli şanslarla eşyalar bırakması ya da oyuncuların öldükten sonra eşyalarını yere düşürmesiyle gerçekleşir. Bu eşyaların kimler tarafından alınabileceği gibi önemli bir kural seti tanımlanabilir.

2. Seviye Sınırı Sistemi Nasıl Çalışır?
Bu sistem, düşürülen eşyanın alınabilmesi için oyuncunun seviyesinin belirlenen aralıkta olması gerektiğini kontrol eder. Örneğin, Level 60-120 arasında olan bir eşya sadece bu aralıktaki karakterler tarafından alınabilir.

3. C++ Kaynak Kodda Uygulama
Bu özelliği aktif etmek için char_item.cpp veya item_manager.cpp gibi dosyalarda gerekli fonksiyonlar yazılır. Öncelikle eşya düşürülürken min_level ve max_level değerleri item'e eklenir. Daha sonra pick_item fonksiyonu bu değerleri kontrol eder.

4. Kullanıcı Deneyimi
Bu sistem, low-level[/BR] karakterlerin yüksek seviye eşyaları almasını engeller. Bu sayede fair-play korunur ve gold farming gibi durumlar azaltılır.

5. Ekstra Özellikler
Sistem, Python GUI ile de entegre edilebilir. Örneğin uiscript üzerinden bir drop editor geliştirilip, py root üzerinde kontrol edilebilir.

Sonuç
Metin2 Lobby olarak, C++ sistemleri ile ilgilenen geliştiricilere destek oluyoruz. Bu tip özelleştirilmiş sistemlerle sunucularınızın kalitesini artırabilirsiniz. Daha fazla bilgi için adresini ziyaret edin.


Metin2 private servers developed with C++ basis, one important topic is: Min/Max level limits for item drops.

Thanks to this system, characters outside the defined level range can be prevented from picking up dropped items. This can prevent unfair advantages especially in PvP servers and maintain in-game balance.

Important Note: This operation is usually done in the game core section. Changes are made in files located under src/game directory.

1. What is an Item Drop System?
In Metin2, item dropping occurs when NPCs drop items with certain chances or players drop their items on the ground after dying. A rule set can define who can pick up these items.

2. How Does Level Limit System Work?
This system checks whether the player's level is within the defined range in order to allow picking up the dropped item. For example, an item with Level 60-120 range can only be picked up by characters within that level range.

3. Implementation in C++ Source Code
To activate this feature, functions should be written in files such as char_item.cpp or item_manager.cpp. First, min_level and max_level values are added to the item when it is dropped. Then the pick_item function checks these values.

4. User Experience
This system prevents low-level characters from obtaining high-level items. Thus, fair-play is maintained and situations like gold farming are reduced.

5. Additional Features
The system can also be integrated with Python GUI. For example, a drop editor can be developed via uiscript and controlled over py root.

Conclusion
As Metin2 Lobby, we support developers working with C++ systems. You can improve the quality of your servers with such customized systems. Visit for more information.
 

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

Geri
Üst Alt