Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod:
[COLOR=#282828]void CInstanceBase::OnSelected()[/COLOR]
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod:
void CInstanceBase::OnSelected(){ #ifdef __MOVIE_MODE__ if (!__IsExistMainInstance()) return; #endif if (IsStoneDoor()) return; if (IsDead()) return; if (IsEnemy()) { __AttachSelectEffectMonster(); } if (IsPC() || IsNPC()) { if (m_dwEmpireID == 1) // Shinshoo imp. { __AttachSelectEffectShinsoo(); } else if (m_dwEmpireID == 2) // chunjo imp. { __AttachSelectEffectChunjo(); } else if (m_dwEmpireID == 3)//Jinno imp. { __AttachSelectEffectJinnos(); } } }
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod:
[COLOR=#000088][FONT=monospace]void[/FONT][/COLOR][COLOR=#660066][FONT=monospace]CInstanceBase[/FONT][/COLOR][COLOR=#666600][FONT=monospace]::[/FONT][/COLOR][COLOR=#660066][FONT=monospace]OnUnselected[/FONT][/COLOR][COLOR=#666600][FONT=monospace]()[/FONT][/COLOR]
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod:
void CInstanceBase::OnUnselected(){ //__DetachSelectEffect(); if (IsPC() || IsNPC()) { if (m_dwEmpireID == 1) //Shinsoo { __DetachSelectEffectShinsoo(); } else if (m_dwEmpireID == 2)//Chunjo { __DetachSelectEffectChunjo(); } else if (m_dwEmpireID == 3)//Jinnno hacendauuy { __DetachSelectEffectJinnos(); } } if (IsEnemy()) { __DetachSelectEffectMonster(); } }
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod:
[COLOR=#000088][FONT=monospace]void[/FONT][/COLOR][COLOR=#660066][FONT=monospace]CInstanceBase[/FONT][/COLOR][COLOR=#666600][FONT=monospace]::[/FONT][/COLOR][COLOR=#660066][FONT=monospace]OnTargeted[/FONT][/COLOR][COLOR=#666600][FONT=monospace]()[/FONT][/COLOR]
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod:
void CInstanceBase::OnTargeted(){ #ifdef __MOVIE_MODE__ if (!__IsExistMainInstance()) return; #endif if (IsStoneDoor()) return; if (IsDead()) return; if (IsEnemy()) { __AttachTargetEffectMonster(); } if (IsPC() || IsNPC()) { if (m_dwEmpireID == 1) //Shinsoo { __AttachTargetEffectShinsoo(); } else if (m_dwEmpireID == 2)//Chunjo { __AttachTargetEffectChunjo(); } else if (m_dwEmpireID == 3)//Jinnno { __AttachTargetEffectJinnos(); } } }
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
(yeter
Kod:
void CInstanceBase::OnUntargeted()
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod:
void CInstanceBase::OnUntargeted(){ if (IsPC() || IsNPC()) { if (m_dwEmpireID == 1) //Shinsoo { __DetachTargetEffectShinsoo(); } else if (m_dwEmpireID == 2)//Chunjo { __DetachTargetEffectChunjo(); } else if (m_dwEmpireID == 3)//Jinnnos { __DetachTargetEffectJinnos(); } } if (IsEnemy()) { __DetachTargetEffectMonster(); } }
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod:
EFFECT_EMOTICON_END = EFFECT_EMOTICON + EMOTICON_NUM,
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod:
EFFECT_MONSTER, EFFECT_SHINSOO, EFFECT_CHUNJO, EFFECT_JINNOS, EFFECT_TARGET_SHINSOO, EFFECT_TARGET_JINNOS, EFFECT_TARGET_CHUNJO, EFFECT_TARGET_MONSTER,
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod:
void __DetachTargetEffect();
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod:
void __AttachTargetEffectMonster(); void __DetachTargetEffectMonster(); void __AttachSelectEffectMonster(); void __DetachSelectEffectMonster(); void __AttachTargetEffectShinsoo(); void __DetachTargetEffectShinsoo(); void __AttachSelectEffectShinsoo(); void __DetachSelectEffectShinsoo(); void __AttachTargetEffectJinnos(); void __DetachTargetEffectJinnos(); void __AttachSelectEffectJinnos(); void __DetachSelectEffectJinnos(); void __AttachTargetEffectChunjo(); void __DetachTargetEffectChunjo(); void __AttachSelectEffectChunjo(); void __DetachSelectEffectChunjo();
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod:
void CInstanceBase::__StoneSmoke_Inialize()
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod:
void CInstanceBase::__AttachSelectEffectMonster(){ __EffectContainer_AttachEffect(EFFECT_MONSTER); } void CInstanceBase::__DetachSelectEffectMonster() { __EffectContainer_DetachEffect(EFFECT_MONSTER); } void CInstanceBase::__AttachTargetEffectMonster() { __EffectContainer_AttachEffect(EFFECT_TARGET_MONSTER); } void CInstanceBase::__DetachTargetEffectMonster() { __EffectContainer_DetachEffect(EFFECT_TARGET_MONSTER); } void CInstanceBase::__AttachSelectEffectShinsoo() { __EffectContainer_AttachEffect(EFFECT_SHINSOO); } void CInstanceBase::__DetachSelectEffectShinsoo() { __EffectContainer_DetachEffect(EFFECT_SHINSOO); } void CInstanceBase::__AttachTargetEffectShinsoo() { __EffectContainer_AttachEffect(EFFECT_TARGET_SHINSOO); } void CInstanceBase::__DetachTargetEffectShinsoo() { __EffectContainer_DetachEffect(EFFECT_TARGET_SHINSOO); } void CInstanceBase::__AttachSelectEffectChunjo() { __EffectContainer_AttachEffect(EFFECT_CHUNJO); } void CInstanceBase::__DetachSelectEffectChunjo() { __EffectContainer_DetachEffect(EFFECT_CHUNJO); } void CInstanceBase::__AttachTargetEffectChunjo() { __EffectContainer_AttachEffect(EFFECT_TARGET_CHUNJO); } void CInstanceBase::__DetachTargetEffectChunjo() { __EffectContainer_DetachEffect(EFFECT_TARGET_CHUNJO); } void CInstanceBase::__AttachSelectEffectJinnos() { __EffectContainer_AttachEffect(EFFECT_JINNOS); } void CInstanceBase::__DetachSelectEffectJinnos() { __EffectContainer_DetachEffect(EFFECT_JINNOS); } void CInstanceBase::__AttachTargetEffectJinnos() { __EffectContainer_AttachEffect(EFFECT_TARGET_JINNOS); } void CInstanceBase::__DetachTargetEffectJinnos() { __EffectContainer_DetachEffect(EFFECT_TARGET_JINNOS); }
Resim Sığmadı
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod:
PyModule_AddIntConstant(poModule, "EFFECT_CRITICAL", CInstanceBase::EFFECT_CRITICAL);
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod:
PyModule_AddIntConstant(poModule, "EFFECT_MONSTER", CInstanceBase::EFFECT_MONSTER); PyModule_AddIntConstant(poModule, "EFFECT_TARGET_MONSTER", CInstanceBase::EFFECT_TARGET_MONSTER); PyModule_AddIntConstant(poModule, "EFFECT_SHINSOO", CInstanceBase::EFFECT_SHINSOO); PyModule_AddIntConstant(poModule, "EFFECT_TARGET_SHINSOO", CInstanceBase::EFFECT_TARGET_SHINSOO); PyModule_AddIntConstant(poModule, "EFFECT_CHUNJO", CInstanceBase::EFFECT_CHUNJO); PyModule_AddIntConstant(poModule, "EFFECT_TARGET_CHUNJO", CInstanceBase::EFFECT_TARGET_CHUNJO); PyModule_AddIntConstant(poModule, "EFFECT_JINNOS", CInstanceBase::EFFECT_JINNOS); PyModule_AddIntConstant(poModule, "EFFECT_TARGET_JINNOS", CInstanceBase::EFFECT_TARGET_JINNOS);
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod:
chrmgr.RegisterCacheEffect(chrmgr.EFFECT_STUN, "Bip01 Head", "d:/ymir work/effect/etc/stun/stun.mse")
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod:
chrmgr.RegisterCacheEffect(chrmgr.EFFECT_SHINSOO, "", "d:/ymir work/effect/world/shinsoo_select.mse") chrmgr.RegisterCacheEffect(chrmgr.EFFECT_TARGET_SHINSOO, "", "d:/ymir work/effect/world/shinsoo_glow_select.mse") chrmgr.RegisterCacheEffect(chrmgr.EFFECT_CHUNJO, "", "d:/ymir work/effect/world/chunjo_select.mse") chrmgr.RegisterCacheEffect(chrmgr.EFFECT_TARGET_CHUNJO, "", "d:/ymir work/effect/world/chunjo_glow_select.mse") chrmgr.RegisterCacheEffect(chrmgr.EFFECT_JINNOS, "", "d:/ymir work/effect/world/jinnos_select.mse") chrmgr.RegisterCacheEffect(chrmgr.EFFECT_TARGET_JINNOS, "", "d:/ymir work/effect/world/jinnos_glow_select.mse") chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MONSTER, "", "d:/ymir work/effect/world/mob_select.mse") chrmgr.RegisterCacheEffect(chrmgr.EFFECT_TARGET_MONSTER, "", "d:/ymir work/effect/world/mob_glow_select.mse")
Son olarak şunu indirip packa atın:
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Index'e ekleyin:
Kod:
*trefekt *
**Not**>:Moblarda Efekt çıkıyor ama metin taşlarında çıkmıyor sorunu düzeltmek için;
Rideasa teşekkürler
Yeni Efektler [CLİENT SRC]//Başka İsim Bulamadım
Metin2 özel sunucularında geliştirme yaparken efekt sistemleri oldukça kritik bir rol oynar. Oyuncuların görsel deneyimini doğrudan etkileyen efektler, PvP savaşları, item kullanımı, skill animasyonları gibi pek çok alanda kullanılır. Bu nedenle, client-side source üzerinde yapılan efekt güncellemeleri, sunucu sahipleri tarafından büyük önem taşır.
Efekt sistemlerinin geliştirilmesinde genellikle C++[/CTYPE] kodlar kullanılır. Client tarafında efektler genellikle uiscript dosyaları ve py root yapıları ile yönetilir. Bu yapılar sayesinde, geliştiriciler efektlerin nasıl çalıştığını, ne zaman tetikleneceğini ve hangi animasyonların gösterileceğini özelleştirebilirler.
Yeni Efekt Sistemlerinin Getirdiği İmkanlar
Yeni efekt sistemleri sayesinde, daha gerçekçi ve akıcı savaşlar tasarlanabilir. Özellikle PvP sistemlerinde efektlerin detaylandırılmasının oyuncu deneyimi üzerinde ciddi bir etkisi vardır. Örneğin, bir skill atıldığında hem görsel hem de ses efektiyle desteklenen bir animasyon, savaşın heyecanını artırır.
Client src üzerinde yapılan değişikliklerle efektlerin zamanlaması, konumu, rengi ve hareketi özelleştirilebilir. Bu sayede her skill farklı bir görsellik kazanabilir. Ayrıca, Python GUI kullanılarak efekt yönetim arayüzleri de oluşturulabilir. Böylece, efektlerin test edilmesi ve düzenlenmesi kolaylaşır.
Dikkat Edilmesi Gerekenler
Efekt sistemi üzerinde çalışırken, performans kayıplarına dikkat edilmelidir. Fazla sayıda efekt, CPU ve GPU üzerinde fazladan yük oluşturabilir. Bu da oyun performansını düşürerek oyuncuların deneyimini olumsuz etkileyebilir. Bu nedenle, efektler optimize edilmeli ve test edilmelidir.
Ayrıca, client src üzerinde yapılan değişikliklerin doğru derlenmesi gerekir. Metin2 compile işlemi sırasında hatalar oluşabilir. Bu durumda, loglar incelenmeli ve sorunlar çözülmelidir. Compile sırasında kullanılan araçlar, geliştiriciye göre değişebilir. Ancak genellikle Visual Studio veya benzeri IDE’ler tercih edilir.
Örnek Uygulama: Yeni Bir Skill Efekti Ekleme
Yeni bir efekt eklemek için ilk olarak ilgili skill dosyası açılır. Bu dosya genellikle uiscript altında bulunur. Ardından efekt için gerekli grafik dosyaları belirlenir. Bu dosyalar .gr2 formatında olabilir. Daha sonra efektin zamanlaması ve pozisyonu ayarlanır.
Python GUI üzerinden bu efektlerin ön izlemesi yapılabilir. Böylece, efektin nasıl görüneceği test edilip, istenilen görünüme ulaşana kadar düzenlenebilir. Bu sayede geliştirme süreci hızlanır ve hata oranı düşer.
Sonuç
Efekt sistemleri, Metin2 özel sunucularında gelişmiş görsellik ve kullanıcı deneyimi sunmak için kritik öneme sahiptir. Client SRC üzerinde yapılan değişikliklerle özelleştirilmiş efektler eklemek mümkündür. Bu süreçte dikkatli hareket edilmesi, performansın korunması açısından önemlidir. Doğru uygulandığında, yeni efektler oyuncular için unutulmaz bir deneyim sunabilir.
New Effects [CLIENT SRC]//Couldn't Think of Another Name
Effects play a critical role in enhancing the visual experience in Metin2 private servers. They are used in various areas such as PvP battles, item usage, and skill animations. Therefore, updates made on the client-side source regarding effect systems are highly valued by server owners.
Effect developments typically involve C++[/CTYPE] code. On the client side, effects are usually managed through uiscript files and py root[/ROOT] structures. These allow developers to customize how effects work, when they trigger, and which animations are displayed.
Opportunities Brought by New Effect Systems
With new effect systems, more realistic and fluid combat experiences can be designed. Especially in PvP systems, detailed effects significantly enhance the player experience. For example, a skill accompanied by both visual and sound effects increases the excitement of battle.
Changes made to the client src allow customization of timing, position, color, and movement of effects. This way, each skill can have its own unique visuals. Moreover, effect management interfaces can also be created using Python GUI. This simplifies testing and adjusting effects.
Important Considerations
When working on effect systems, performance losses must be taken into account. Too many effects may cause additional load on CPU and GPU, reducing game performance and negatively impacting player experience. Therefore, effects should be optimized and tested carefully.
Additionally, changes made to the client src must be compiled correctly. During the Metin2 compile process, errors might occur. In such cases, logs should be examined and issues resolved. Compilation tools may vary depending on the developer, but generally IDEs like Visual Studio are preferred.
Example Implementation: Adding a New Skill Effect
To add a new effect, first the relevant skill file must be opened. Usually this file is located under uiscript. Then, graphic files required for the effect are identified. These files may be in .gr2 format. Next, the timing and positioning of the effect are adjusted.
Using Python GUI, previews of these effects can be viewed. This allows testing how the effect will look and adjusting it until the desired appearance is achieved. This speeds up the development process and reduces error rates.
Conclusion
Effect systems are crucial for delivering advanced visuals and user experience in Metin2 private servers. Customized effects can be added via changes made to Client SRC[/SRC]. Careful execution during this process is important to maintain performance. When properly implemented, new effects can offer unforgettable experiences to players.
