- Mesaj
- 4.008
- Çözümler
- 394
- Beğeni
- 4.127
- Puan
- 1.849
- Ticaret Puanı
- 0
Zaman zaman gündeme gelen meşhur sorunu hepiniz biliyorsunuzdur.
Yine de bilmeyenler için kısaca anlatayım; /inv komutu ile görünmez olup tekrar görünür olduktan sonra GM karakterin efektleri görünmüyor. Martysama fileslerde bulunan ENABLE_CANSEEHIDDENTHING_FOR_GM makrolu düzenleme, sadece sizin ekranınız için geçerli bir düzenlemedir. Yani diğer oyuncularda efektler görünmemeye devam ediyor.
Bugüne kadar bu sorunu önemsemiyordum ama bazı düzenlemeleri yapabilmem için bu sorunu çözmem şart olduğu için iş başa düştü. Kodlara biraz göz attım ve bu sorunu çözmek için çok küçük ve zararsız bir manipüle yöntemi keşfettim. Hiçbir şekilde görsel bozulma vb. sonuçlar doğurmuyor.
Ve sonuç itibariyle bu kanser haline gelen sorunun çözümünü sizinle de paylaşmak istedim.
Yapmanız gereken tek düzenleme aşağıdaki gibidir.
InstanceBaseEffect.cpp dosyasını açın ve gösterdiğim gibi düzenleyin:
Not: Bazılarınız "IsGameMaster()" şartı mevcutken, "__IsMainInstance()" şartının kullanılmasına gerek olmadığını düşünebilir ancak bunu kaldırmayın.
Önemlidir. Son olarak at sorunu devam etmektedir.
Hepsi bu kadar. Aşağıda kanıt videosunu izleyebilirsiniz.
Yine de bilmeyenler için kısaca anlatayım; /inv komutu ile görünmez olup tekrar görünür olduktan sonra GM karakterin efektleri görünmüyor. Martysama fileslerde bulunan ENABLE_CANSEEHIDDENTHING_FOR_GM makrolu düzenleme, sadece sizin ekranınız için geçerli bir düzenlemedir. Yani diğer oyuncularda efektler görünmemeye devam ediyor.
Bugüne kadar bu sorunu önemsemiyordum ama bazı düzenlemeleri yapabilmem için bu sorunu çözmem şart olduğu için iş başa düştü. Kodlara biraz göz attım ve bu sorunu çözmek için çok küçük ve zararsız bir manipüle yöntemi keşfettim. Hiçbir şekilde görsel bozulma vb. sonuçlar doğurmuyor.
Ve sonuç itibariyle bu kanser haline gelen sorunun çözümünü sizinle de paylaşmak istedim.
Yapmanız gereken tek düzenleme aşağıdaki gibidir.
InstanceBaseEffect.cpp dosyasını açın ve gösterdiğim gibi düzenleyin:
C++:
case AFFECT_INVISIBILITY:
// bu sizde olmayabilir. Bununla herhangi bir işimiz yok. Aşağıya inin.
#ifdef ENABLE_CANSEEHIDDENTHING_FOR_GM
if (__MainCanSeeHiddenThing())
{
if (isVisible)
{
m_GraphicThingInstance.BlendAlphaValue(0.5f, 1.0f);
}
else
{
m_GraphicThingInstance.BlendAlphaValue(1.0f, 1.0f);
}
break;
}
#endif
if (isVisible)
{
m_GraphicThingInstance.ClearAttachingEffect();
__EffectContainer_Destroy();
DetachTextTail();
}
else
{
m_GraphicThingInstance.BlendAlphaValue(1.0f, 1.0f);
if (IsGameMaster() && !__IsMainInstance()) // Buradan itibaren düzenleyin.
{
ChangeArmor(0);
}
else
{
// bu ikisini "else" bloğu içine alın.
AttachTextTail();
RefreshTextTail();
}
}
Önemlidir. Son olarak at sorunu devam etmektedir.
Hepsi bu kadar. Aşağıda kanıt videosunu izleyebilirsiniz.