- 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
Herkese Merhaba Arkadaşlar; Bu Sistem Client Src tabanlı bir sistem yere düşen itemlere nesnelere herhangi bir şeyin cinsine(type ve subtype) ya da koduna göre ufak düzenlemeler ile istediğiniz efekti vermeyi sağlar.
Efekti kendinize göre ayarlayabilirsiniz.
İlk Olarak
UserInterface/PythonItem.h açalım ve aratalım.
Sonra Üstüne Şunu ekleyelim;(İsteğe göre arttırılıp azaltılabilir)
Sonra Şu kodu Aratalım ;
Yine Üstüne Şu Kodu Ekleyelim ;
Sonra Şu Kodu Arayalım;
Aşağıdaki Gibi Değiştirelim;
2.adım
UserInterface/PythonItem.cpp açalım
Şu Kodu Aratalım;
Aşağıdaki Gibi Değiştirelim;
Sonra Şu Kodu Aratalım;
Şu Şekilde Değiştirelim ; (Efekt(mse) Yollarını ve İsimlerini Kendinize Göre Değiştirebilirsiniz UserInterface/PythonItem.h'nin ilk adımında ekleme yada değişiklik yaptıysanız Buraya da uygulayın)
Sonra Bu Kodu aratalım;
Altına Bu Kodu Ekleyelim;
Son Olarak Bu kodu Aratıp;
Altına Bu Kodu Ekleyelim; (İtemleri Tipine Subtypene ya da Koduna göre burada düzenleyeceğiz.)
Metin2 özel sunucularında oyun deneyimini artırmak istiyorsanız, yere düşen itemlere efekt ekleme işlemi oldukça etkili bir yöntemdir. Bu işlem, hem PvP savaşlarında hem de PvE içeriklerinde görsel olarak dikkat çekici bir atmosfer yaratır. Bu rehberde, C++ sistem üzerinden nasıl yere düşen itemlere efekt verileceğini adım adım inceleyeceğiz.
Yere Düşen Item Sistemine Genel Bakış
Metin2'de öldürülen moblardan veya oyunculardan yere düşen itemler, varsayılan olarak sadece bir model ve isimle görünür. Ancak bazı özel sistemlerle bu itemlerin etrafında parlama, ışık hüzmesi veya animasyon gibi efektler gösterilebilir. Bu sayede hem görsellik artırılır hem de oyuncuların düşen itemleri fark etmesi kolaylaşır.
Efekt Sistemi Nasıl Çalışır?
Efekt sistemi, C++ kaynak kod üzerinde geliştirilerek oyun sunucusuna entegre edilir. Bu sistemde, bir item yere düştüğünde belirlenen efekt dosyası (örneğin .gr2 veya .msm dosyası) o itemin konumuna yerleştirilir ve oynatılır. Bu efektler genellikle özel itemler, PvP ödülü itemleri veya sınırlı süreli etkinlik itemleri için tercih edilir.
Geliştirme Adımları
1. Client Tarafı: Oyuncu tarafında efektin doğru şekilde gösterilmesi için UI scriptleri ve efekt dosyalarının doğru şekilde yerleştirilmesi gerekir. Bu dosyalar genellikle uiscript ve py root klasörlerinde düzenlenir.
2. Server Tarafı[/COORD]: Game serverda itemin yere düşerken efekt çağrısı yapılması gerekir. Bu işlem için game core üzerinde değişiklik yapılmalıdır. Örneğin, bir item belirli bir ID aralığında ise özel efekt oynatılır.
3. Veritabanı Entegrasyonu: Efektli itemlerin ID'leri DB'de belirlenmiş olabilir. Bu sayede sadece belirli itemler efektle düşer. Bu yapı db core üzerinde ayarlanabilir.
Python ve Py GUI Kullanımı
Bazı durumlarda, efekt sisteminin yönetim paneli Py GUI kullanılarak geliştirilebilir. Bu sayede adminler, hangi itemlerin efekt alacağını daha kolay yönetebilir. Bu panel, Python sistem üzerine kurulmuş bir GUI uygulamasıdır ve sunucu yönetimini kolaylaştırır.
Martysama ve Diğer Araçlar
Metin2Dev toplulukları arasında popüler olan martysama gibi araçlar da efekt sistemi geliştirilirken yardımcı olabilir. Bu araçlarla efekt dosyaları dönüştürülebilir, test edilebilir veya optimize edilebilir.
Sonuç
Yere düşen itemlere efekt vermek, Metin2 özel sunucularında oyun içi deneyimi ciddi anlamda artırır. Hem görsel açıdan hem de kullanıcı etkileşimi açısından bu sistem, Metin2 development sürecinde oldukça değerlidir. Doğru uygulandığında, oyuncuların dikkatini çekecek ve sunucunuzun diğerlerinden ayrılmasını sağlayacaktır.
If you want to enhance the gaming experience on your Metin2 private servers, adding effects to dropped items can be a very effective method. This process creates visually appealing atmospheres during both PvP battles and PvE content. In this guide, we will examine step by step how to add effects to dropped items using C++ system.
Overview of Dropped Item System
In Metin2, items dropped from defeated monsters or players appear with only a model and a name by default. However, special systems can display effects such as glows, light beams, or animations around these items. This increases visual appeal and helps players notice dropped items more easily.
How Does the Effect System Work?
The effect system is developed over C++ source code and integrated into the game server. When an item drops, a designated effect file (e.g., .gr2 or .msm) is placed at the item's location and played. These effects are typically used for special items, PvP reward items, or limited-time event items.
Development Steps
1. Client Side: To properly display effects on the player side, UI scripts and effect files must be correctly placed. These files are usually edited within uiscript and py root folders.
2. Server Side: The game server needs to trigger an effect when an item drops. Modifications must be made to the game core. For example, if an item falls within a specific ID range, a special effect is played.
3. Database Integration: The IDs of items with effects may be defined in the database. This ensures only certain items drop with effects. Such structures can be configured within the db core.
Using Python and Py GUI
In some cases, a management panel for the effect system can be developed using Py GUI. This allows administrators to manage which items receive effects more easily. This panel is a GUI application built on the Python system and simplifies server administration.
Martysama and Other Tools
Metin2Dev communities often use popular tools like martysama during effect system development. These tools can convert, test, or optimize effect files.
Conclusion
Adding effects to dropped items significantly enhances the in-game experience on Metin2 private servers. Visually and interactively, this system is highly valuable in the Metin2 development process. When applied correctly, it captures players' attention and helps distinguish your server from others.
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Efekti kendinize göre ayarlayabilirsiniz.
İlk Olarak
UserInterface/PythonItem.h açalım ve aratalım.
Kod:
typedef struct SGroundItemInstance
Sonra Üstüne Şunu ekleyelim;(İsteğe göre arttırılıp azaltılabilir)
Kod:
enum EDropItemEffects { DROP_ITEM_EFFECT_NORMAL, DROP_ITEM_EFFECT_RARE, DROP_ITEM_EFFECT_EPIC, DROP_ITEM_EFFECT_LEGENARY, DROP_ITEM_EFFECT_NUM, };
Sonra Şu kodu Aratalım ;
Kod:
DWORD __Pick(const POINT& c_rkPtMouse);
Yine Üstüne Şu Kodu Ekleyelim ;
Kod:
void __RegisterEffect(int iIndex, const char* szFile); int __AttachEffect(DWORD dwVnum, BYTE byType, BYTE bySubType);
Sonra Şu Kodu Arayalım;
Kod:
DWORD m_dwDropItemEffectID;
Aşağıdaki Gibi Değiştirelim;
Kod:
DWORD m_dwDropItemEffectID[DROP_ITEM_EFFECT_NUM];
2.adım
UserInterface/PythonItem.cpp açalım
Şu Kodu Aratalım;
Kod:
// attaching effect CEffectManager & rem =CEffectManager::Instance(); pGroundItemInstance->dwEffectInstanceIndex = rem.CreateEffect(m_dwDropItemEffectID, D3DXVECTOR3(x, -y, z), D3DXVECTOR3(0,0,0));
Aşağıdaki Gibi Değiştirelim;
Kod:
// attaching effect DWORD dwEffectIndex = __AttachEffect(dwVirtualNumber, pItemData->GetType(), pItemData->GetSubType()); if(dwEffectIndex < DROP_ITEM_EFFECT_NUM && dwEffectIndex >= 0) { dwEffectIndex = m_dwDropItemEffectID[dwEffectIndex]; if(dwEffectIndex != 0) { CEffectManager & rem =CEffectManager::Instance(); pGroundItemInstance->dwEffectInstanceIndex = rem.CreateEffect(dwEffectIndex, D3DXVECTOR3(x, -y, z), D3DXVECTOR3(0,0,0)); } }
Sonra Şu Kodu Aratalım;
Kod:
void CPythonItem::Create()
Şu Şekilde Değiştirelim ; (Efekt(mse) Yollarını ve İsimlerini Kendinize Göre Değiştirebilirsiniz UserInterface/PythonItem.h'nin ilk adımında ekleme yada değişiklik yaptıysanız Buraya da uygulayın)
Kod:
void CPythonItem::Create() { //Default __RegisterEffect(DROP_ITEM_EFFECT_NORMAL, "d:/ymir work/effect/etc/dropitem/dropitem.mse"); //Rare __RegisterEffect(DROP_ITEM_EFFECT_RARE, "d:/ymir work/effect/etc/dropitem/dropitem_rare.mse"); //Epic __RegisterEffect(DROP_ITEM_EFFECT_EPIC, "d:/ymir work/effect/etc/dropitem/dropitem_epic.mse"); //Epic __RegisterEffect(DROP_ITEM_EFFECT_LEGENARY, "d:/ymir work/effect/etc/dropitem/dropitem_legendary.mse"); }
Sonra Bu Kodu aratalım;
Kod:
m_dwPickedItemID = INVALID_ID;
Altına Bu Kodu Ekleyelim;
Kod:
memset(m_dwDropItemEffectID, 0, sizeof(m_dwDropItemEffectID));
Son Olarak Bu kodu Aratıp;
Kod:
CPythonItem::~CPythonItem() { assert(m_GroundItemInstanceMap.empty()); }
Altına Bu Kodu Ekleyelim; (İtemleri Tipine Subtypene ya da Koduna göre burada düzenleyeceğiz.)
Kod:
void CPythonItem::__RegisterEffect(int iIndex, const char* szFile) { if(iIndex >= DROP_ITEM_EFFECT_NUM || iIndex < 0) { TraceError("CPythonItem::__RegisterEffect - Invalid index: %d - %s", iIndex, szFile); return; } CEffectManager::Instance().RegisterEffect2(szFile, &m_dwDropItemEffectID[iIndex]); } int CPythonItem::__AttachEffect(DWORD dwVnum, BYTE byType, BYTE bySubType) { //Örnek // itemin Vnumuna göre efekt switch(dwVnum) { //İtemin Vnumuna Göre Rare Olarak case 101: case 2001: return DROP_ITEM_EFFECT_RARE; //İtemin Vnumuna Göre Epic Olarak(Daha Fazla Ekleme Yapılabilir) case 3025: case 3229: return DROP_ITEM_EFFECT_EPIC; } // itemin type/subtype'ine göre ekleme switch(byType) { //Epic Olarak istenin efekt type ayrımı ile ( case CItemData::ITEM_TYPE_WEAPON: Vesaire eklenebilir) case CItemData::ITEM_TYPE_ARMOR: return DROP_ITEM_EFFECT_EPIC; //İtem Type Material olan efektler isteğe bağlı case CItemData::ITEM_TYPE_MATERIAL: { switch(bySubType) { //Epic İtem ayrımı (Subtype Ayrımı olarak) case CItemData::MATERIAL_LEATHER: return DROP_ITEM_EFFECT_EPIC; //İtem Typesi kolye Küpe Bilezik felan case CItemData::MATERIAL_JEWEL: return DROP_ITEM_EFFECT_LEGENARY; } //ITEM_TYPE_MATERIAL dışında kalanlar isteğe bağlı return DROP_ITEM_EFFECT_RARE; //boş } } return DROP_ITEM_EFFECT_NORMAL; //boş }
Yere Düşen İtemlere Efekt Verme | Metin2 Lobby
Metin2 özel sunucularında oyun deneyimini artırmak istiyorsanız, yere düşen itemlere efekt ekleme işlemi oldukça etkili bir yöntemdir. Bu işlem, hem PvP savaşlarında hem de PvE içeriklerinde görsel olarak dikkat çekici bir atmosfer yaratır. Bu rehberde, C++ sistem üzerinden nasıl yere düşen itemlere efekt verileceğini adım adım inceleyeceğiz.
Yere Düşen Item Sistemine Genel Bakış
Metin2'de öldürülen moblardan veya oyunculardan yere düşen itemler, varsayılan olarak sadece bir model ve isimle görünür. Ancak bazı özel sistemlerle bu itemlerin etrafında parlama, ışık hüzmesi veya animasyon gibi efektler gösterilebilir. Bu sayede hem görsellik artırılır hem de oyuncuların düşen itemleri fark etmesi kolaylaşır.
Efekt Sistemi Nasıl Çalışır?
Efekt sistemi, C++ kaynak kod üzerinde geliştirilerek oyun sunucusuna entegre edilir. Bu sistemde, bir item yere düştüğünde belirlenen efekt dosyası (örneğin .gr2 veya .msm dosyası) o itemin konumuna yerleştirilir ve oynatılır. Bu efektler genellikle özel itemler, PvP ödülü itemleri veya sınırlı süreli etkinlik itemleri için tercih edilir.
Geliştirme Adımları
1. Client Tarafı: Oyuncu tarafında efektin doğru şekilde gösterilmesi için UI scriptleri ve efekt dosyalarının doğru şekilde yerleştirilmesi gerekir. Bu dosyalar genellikle uiscript ve py root klasörlerinde düzenlenir.
2. Server Tarafı[/COORD]: Game serverda itemin yere düşerken efekt çağrısı yapılması gerekir. Bu işlem için game core üzerinde değişiklik yapılmalıdır. Örneğin, bir item belirli bir ID aralığında ise özel efekt oynatılır.
3. Veritabanı Entegrasyonu: Efektli itemlerin ID'leri DB'de belirlenmiş olabilir. Bu sayede sadece belirli itemler efektle düşer. Bu yapı db core üzerinde ayarlanabilir.
Python ve Py GUI Kullanımı
Bazı durumlarda, efekt sisteminin yönetim paneli Py GUI kullanılarak geliştirilebilir. Bu sayede adminler, hangi itemlerin efekt alacağını daha kolay yönetebilir. Bu panel, Python sistem üzerine kurulmuş bir GUI uygulamasıdır ve sunucu yönetimini kolaylaştırır.
Martysama ve Diğer Araçlar
Metin2Dev toplulukları arasında popüler olan martysama gibi araçlar da efekt sistemi geliştirilirken yardımcı olabilir. Bu araçlarla efekt dosyaları dönüştürülebilir, test edilebilir veya optimize edilebilir.
Sonuç
Yere düşen itemlere efekt vermek, Metin2 özel sunucularında oyun içi deneyimi ciddi anlamda artırır. Hem görsel açıdan hem de kullanıcı etkileşimi açısından bu sistem, Metin2 development sürecinde oldukça değerlidir. Doğru uygulandığında, oyuncuların dikkatini çekecek ve sunucunuzun diğerlerinden ayrılmasını sağlayacaktır.
Adding Effects to Dropped Items | Metin2 Lobby
If you want to enhance the gaming experience on your Metin2 private servers, adding effects to dropped items can be a very effective method. This process creates visually appealing atmospheres during both PvP battles and PvE content. In this guide, we will examine step by step how to add effects to dropped items using C++ system.
Overview of Dropped Item System
In Metin2, items dropped from defeated monsters or players appear with only a model and a name by default. However, special systems can display effects such as glows, light beams, or animations around these items. This increases visual appeal and helps players notice dropped items more easily.
How Does the Effect System Work?
The effect system is developed over C++ source code and integrated into the game server. When an item drops, a designated effect file (e.g., .gr2 or .msm) is placed at the item's location and played. These effects are typically used for special items, PvP reward items, or limited-time event items.
Development Steps
1. Client Side: To properly display effects on the player side, UI scripts and effect files must be correctly placed. These files are usually edited within uiscript and py root folders.
2. Server Side: The game server needs to trigger an effect when an item drops. Modifications must be made to the game core. For example, if an item falls within a specific ID range, a special effect is played.
3. Database Integration: The IDs of items with effects may be defined in the database. This ensures only certain items drop with effects. Such structures can be configured within the db core.
Using Python and Py GUI
In some cases, a management panel for the effect system can be developed using Py GUI. This allows administrators to manage which items receive effects more easily. This panel is a GUI application built on the Python system and simplifies server administration.
Martysama and Other Tools
Metin2Dev communities often use popular tools like martysama during effect system development. These tools can convert, test, or optimize effect files.
Conclusion
Adding effects to dropped items significantly enhances the in-game experience on Metin2 private servers. Visually and interactively, this system is highly valuable in the Metin2 development process. When applied correctly, it captures players' attention and helps distinguish your server from others.
