Kemik Efektleri

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0

Sadece item giyme çıkartma ve unique_item timer'ı üzerinden çalışır.
Bir hata olursa yazarsınız çözeriz.
item.cpp ve char_item.cpp güncellendi.


Eğer bir kolda gözükür diğer kolda gözükmez ise client/instanceBase >> game/affect sıra bozukluğunuz var demektir (kronik bir problem zaten düzeltmemişseniz %95 vardır).
Bunun için playersettingsmodule.py'deki efekt sayılarını birer birer arttırıp düşürebilirsiniz.




Hata düzeltmesi;
Char_item.cpp

Arat
Kod:
#if defined DBONE_EFFECTS      if (item->GetVnum() == DBONE_VNUM_1){             if (!IsAffectFlag(AFFECT_DBONE_1))                 AddAffect(AFFECT_DBONE_1, POINT_NONE, 0,AFF_DBONE1, INFINITE_AFFECT_DURATION, 0, false);         }         if (item->GetVnum() == DBONE_VNUM_2){             if (!IsAffectFlag(AFFECT_DBONE_2))                 AddAffect(AFFECT_DBONE_2, POINT_NONE, 0,AFF_DBONE2, INFINITE_AFFECT_DURATION, 0, false);         } #endif

Kaldır

Arat
Kod:
#if defined DBONE_EFFECTS     if (item->GetVnum() == DBONE_VNUM_1){RemoveAffect(AFFECT_DBONE_1);}     if (item->GetVnum() == DBONE_VNUM_2){RemoveAffect(AFFECT_DBONE_2);} #endif

Kaldır

item.cpp

Arat
Kod:
bool CItem::EquipTo(LPCHARACTER ch, BYTE bWearCell){[     if (!ch){         sys_err("EquipTo: nil character");         return false;}
Ekle
Kod:
#if defined DBONE_EFFECTS     if (GetVnum() == DBONE_VNUM_1){         if (!ch->IsAffectFlag(AFFECT_DBONE_1))             ch->AddAffect(AFFECT_DBONE_1, POINT_NONE, 0,AFF_DBONE1, INFINITE_AFFECT_DURATION, 0, false);     }     if (GetVnum() == DBONE_VNUM_2){         if (!ch->IsAffectFlag(AFFECT_DBONE_2))             ch->AddAffect(AFFECT_DBONE_2, POINT_NONE, 0,AFF_DBONE2, INFINITE_AFFECT_DURATION, 0, false);     } #endif
Arat
Kod:
if (IsRideItem())     ClearMountAttributeAndAffect();
Ekle
Kod:
#if defined DBONE_EFFECTS    if (GetVnum() == DBONE_VNUM_1){m_pOwner->RemoveAffect(AFFECT_DBONE_1);}    if (GetVnum() == DBONE_VNUM_2){m_pOwner->RemoveAffect(AFFECT_DBONE_2);} #endif

Not: Bu hata düzeltmesi sistemi ilk paylaştığımda ekleyenler içindir. Sonradan indirenlerin yapmasına gerek yoktur. Zaten şu anki dosyalarda mevcut.


Metin2 Lobby olarak, Metin2 özel sunucu geliştirmesiyle ilgilenen oyuncular ve geliştiriciler için en kapsamlı rehberleri sunmaya devam ediyoruz. Bu yazıda, Metin2 oyununda bulunan Kemik Efektleri konusunu detaylıca ele alacağız. Kemik efektleri, oyun içinde karakterlerin veya NPC'lerin bazı özel animasyonları sırasında gözle görülür şekilde etkileyici görsel etkiler yaratır. Özellikle PvP sistemlerinde bu efektler, karakterin estetik görünümünü ve güçlü bir imaj yaratma potansiyelini artırır.

Kemik efektleri genellikle karakterlerin donmuş, ölümsüz ya da hayalet gibi temalarla ilişkilendirildiği sahnelerde kullanılır. Bu efektlerin uygulanması için C++ tabanlı sunucu kaynak kodlarında belirli değişiklikler yapılması gerekir. Aynı zamanda Python scriptler aracılığıyla da bu efektlerin kontrolü sağlanabilir. Özellikle Martysama gibi gelişmiş sunucu yapılarında, kemik efektleri uiscript dosyaları üzerinden görsel olarak optimize edilebilir.

Bu efektlerin doğru şekilde entegrasyonu için hem Game Core hem de DB Core üzerinde çalışmak gerekir. Örneğin, karakterin belirli bir seviye veya sınıfına göre kemik efekti gösterilmesi için veritabanında özel sorgular oluşturulabilir. Bu sorgular sayesinde, karakterin özel bir statüsü varsa bu efekt otomatik olarak aktif edilir. PvP sistemlerinde bu efektler, rakip oyuncuların dikkatini çekecek şekilde tasarlanmalıdır. Görsel etki arttıkça, oyuncuların karaktere duyduğu saygı ve korku oranı da artar.

Metin2 özel sunucularda bu efektlerin aktif edilmesi için genellikle client src tarafında grafiksel ayarlar yapılır. Bu ayarlar arasında model dosyalarının değiştirilmesi, özel shader efektlerinin eklenmesi ve animasyonlara özel görsel verilerin entegre edilmesi yer alabilir. Script tarafında ise bu efektlerin ne zaman ve nasıl çalışacağına dair kurallar tanımlanır. Örneğin, bir karakter belirli bir eşyayı kuşandığında veya bir yetenek kullanıldığında kemik efekti devreye girer. Bu tür kontroller genellikle py root klasöründe bulunan script dosyalarıyla yönetilir.

Ayrıca, Metin2 Lobby'nin sunduğu kaynaklar sayesinde, kemik efektleri gibi özel görsel detaylar için gereken pack dosyaları da kolayca erişilebilir hale getirilmiştir. Bu paketler, karakter modeli üzerinde görsel değişiklikler yapmanıza olanak tanır. Sunucu yöneticileri, bu paketleri doğrudan server src dosyalarına entegre edebilirler. Bu sayede, oyuncuların deneyimi daha estetik ve zengin hale gelir. Compile işlemi sonrası bu efektler doğrudan oyuna yansır.

Kısacası, kemik efektleri Metin2 özel sunucularında sadece estetik bir değer değil, aynı zamanda oyuncu psikolojisini etkileyebilecek güçlü bir görsel unsurdur. Geliştiricilerin bu efektleri doğru şekilde kullanabilmesi için hem C++ hem de Python tabanlı sistemleri iyi öğrenmeleri gerekir. Metin2 Lobby olarak biz de bu tür gelişmiş sistemlerin entegrasyonuna yardımcı olacak kaynaklar sağlıyoruz.


Metin2 Lobby continues to provide the most comprehensive guides for players and developers interested in Metin2 private server development. In this article, we will examine Bone Effects found in Metin2 in detail. Bone effects create visually impressive effects that are clearly visible during certain animations of characters or NPCs. Particularly in PvP systems, these effects enhance the aesthetic appearance of the character and increase the potential to create a powerful image.

Bone effects are typically used in scenes where characters or NPCs are associated with frozen, immortal, or ghost-like themes. To implement these effects, specific changes must be made in C++-based server source codes. Additionally, the control of these effects can also be achieved through Python scripts. Especially in advanced server structures like Martysama, bone effects can be visually optimized via uiscript files.

To properly integrate these effects, work on both Game Core and DB Core is required. For instance, special queries can be created in the database so that bone effects appear depending on a character's specific level or class. With such queries, if a character has a special status, the effect automatically activates. In PvP systems, these effects should be designed to catch the attention of opposing players. As visual impact increases, so does the level of respect and fear other players feel toward the character.

In Metin2 private servers, graphics adjustments are typically made on the client src side to activate these effects. These adjustments may include changing model files, adding custom shader effects, and integrating special visual data into animations. On the script side, rules defining when and how these effects are triggered are established. For example, when a character equips a specific item or uses a skill, the bone effect activates. Such controls are generally managed by script files located in the py root folder.

Additionally, thanks to resources provided by Metin2 Lobby, pack files needed for special visual details like bone effects have become easily accessible. These packages allow you to make visual modifications to character models. Server administrators can directly integrate these packages into their server src files. This way, the player experience becomes more aesthetic and enriched. After the compile process, these effects are directly reflected in the game.

In short, bone effects are not just aesthetic elements in Metin2 private servers, but also strong visual components that can influence player psychology. Developers need to thoroughly learn both C++ and Python-based systems to correctly utilize these effects. At Metin2 Lobby, we provide resources to assist in integrating such advanced systems.
 

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

Benzer konular

Geri
Üst Alt