GM Görünmez iken Skill Efektleri Görünmesin

  • Konuyu açan Konuyu açan xenfero
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 30
  • Gösterim Gösterim 375

xenfero

MT Üye
MT Üye
Mesaj
181
Çözümler
22
Beğeni
131
Puan
369
Ticaret Puanı
0
Merhaba mevcut problem şu şekilde.




Çözüme geçelim.

char.cpp aç ve arat:
C++:
Genişlet Daralt Kopyala
void CHARACTER::SendMovePacket(BYTE bFunc, BYTE bArg, DWORD x, DWORD y, DWORD dwDuration, DWORD dwTime, int iRot)
{

Altına Ekle:
C++:
Genişlet Daralt Kopyala
    if (IsGM() && IsAffectFlag(AFF_INVISIBILITY))
        return;

input_main.cpp aç ve arat:
C++:
Genişlet Daralt Kopyala
        TPacketGCMove pack;

        pack.bHeader      = HEADER_GC_MOVE;
        pack.bFunc        = pinfo->bFunc;
        pack.bArg         = pinfo->bArg;
        pack.bRot         = pinfo->bRot;
        pack.dwVID        = ch->GetVID();
        pack.lX           = pinfo->lX;
        pack.lY           = pinfo->lY;
        pack.dwTime       = pinfo->dwTime;
        pack.dwDuration   = (pinfo->bFunc == FUNC_MOVE) ? ch->GetCurrentMoveDuration() : 0;

        ch->PacketAround(&pack, sizeof(TPacketGCMove), ch);

Değiştir:
C++:
Genişlet Daralt Kopyala
    if (!ch->IsAffectFlag(AFF_INVISIBILITY) && !ch->IsGM())
    {
        
        TPacketGCMove pack;

        pack.bHeader      = HEADER_GC_MOVE;
        pack.bFunc        = pinfo->bFunc;
        pack.bArg         = pinfo->bArg;
        pack.bRot         = pinfo->bRot;
        pack.dwVID        = ch->GetVID();
        pack.lX           = pinfo->lX;
        pack.lY           = pinfo->lY;
        pack.dwTime       = pinfo->dwTime;
        pack.dwDuration   = (pinfo->bFunc == FUNC_MOVE) ? ch->GetCurrentMoveDuration() : 0;

        ch->PacketAround(&pack, sizeof(TPacketGCMove), ch);
    }
 
Merhaba mevcut problem şu şekilde.




Çözüme geçelim.

char.cpp aç ve arat:
C++:
Genişlet Daralt Kopyala
void CHARACTER::SendMovePacket(BYTE bFunc, BYTE bArg, DWORD x, DWORD y, DWORD dwDuration, DWORD dwTime, int iRot)
{

Altına Ekle:
C++:
Genişlet Daralt Kopyala
    if (IsGM() && IsAffectFlag(AFF_INVISIBILITY))
        return;

input_main.cpp aç ve arat:
C++:
Genişlet Daralt Kopyala
        TPacketGCMove pack;

        pack.bHeader      = HEADER_GC_MOVE;
        pack.bFunc        = pinfo->bFunc;
        pack.bArg         = pinfo->bArg;
        pack.bRot         = pinfo->bRot;
        pack.dwVID        = ch->GetVID();
        pack.lX           = pinfo->lX;
        pack.lY           = pinfo->lY;
        pack.dwTime       = pinfo->dwTime;
        pack.dwDuration   = (pinfo->bFunc == FUNC_MOVE) ? ch->GetCurrentMoveDuration() : 0;

        ch->PacketAround(&pack, sizeof(TPacketGCMove), ch);

Değiştir:
C++:
Genişlet Daralt Kopyala
    if (!ch->IsAffectFlag(AFF_INVISIBILITY) && !ch->IsGM())
    {
       
        TPacketGCMove pack;

        pack.bHeader      = HEADER_GC_MOVE;
        pack.bFunc        = pinfo->bFunc;
        pack.bArg         = pinfo->bArg;
        pack.bRot         = pinfo->bRot;
        pack.dwVID        = ch->GetVID();
        pack.lX           = pinfo->lX;
        pack.lY           = pinfo->lY;
        pack.dwTime       = pinfo->dwTime;
        pack.dwDuration   = (pinfo->bFunc == FUNC_MOVE) ? ch->GetCurrentMoveDuration() : 0;

        ch->PacketAround(&pack, sizeof(TPacketGCMove), ch);
    }

Burda 1 sorunum daha vardı binek gizlenmiyor videoda gözüktüğü gibi bunu nasıl yaparız o videodaki aslan bineği gm çarın bineği inv komutuna girdiğinde binek o şekilde gözüküyor
 
Burda 1 sorunum daha vardı binek gizlenmiyor videoda gözüktüğü gibi bunu nasıl yaparız o videodaki aslan bineği gm çarın bineği inv komutuna girdiğinde binek o şekilde gözüküyor

Binek üzerindeyken oyuncu zaten gm yi ve bineği göremiyor. Videonuzdaki aslan bineği gm karakterinemi ait ?
 
movepacketi kapatınca düzeliyor mu? karakterin hareketleri ile affectlerin ne alakası var
 
movepacketi kapatınca düzeliyor mu? karakterin hareketleri ile affectlerin ne alakası var
Karakterlerin bütün hareketleri gcmove paketi üzerinden diğer oyunculara iletilir.
alakası yok tabii ki. fix değil de-fix resmen :type:
Aynen bro
authu kaldırınca gm görünmezken efektler gözükmüyor çünkü oyuna giremiyorsun. teknik olarak çözülmüş sayılır.

:alala::alsaa:
Geliştirici tagını parayla değil hakederek aldığınız zaman -fix mi +fix mi öğrenirsiniz arkadaşlar.
 
Karakterlerin bütün hareketleri gcmove paketi üzerinden diğer oyunculara iletilir.

Aynen bro

Geliştirici tagını parayla değil hakederek aldığınız zaman -fix mi +fix mi öğrenirsiniz arkadaşlar.

Denedim çalışmadı efektler yine gözüküyor.
Gm karakterin yaptığı tüm hareket işlemlerini iptal ediyor bu fix yanlış!
Adsız.webp
 
karakterin move packetini kapattığın için sayın süper zeka açtığında karakterin yerini doğru bildirmiyor. efektleri gizleme konusu çalışıyor ama move packeti aç süper dahi. bir daha da böyle abuk subuk fixler paylaştığını görmiyim.
1743713599256.webp
 
Karakterlerin bütün hareketleri gcmove paketi üzerinden diğer oyunculara iletilir.

Aynen bro

Geliştirici tagını parayla değil hakederek aldığınız zaman -fix mi +fix mi öğrenirsiniz arkadaşlar.

aynen kanka move packet göndermesini engelleyip karakteri sabitledin, bu sayede ninja görünmezken kör hit ile konumu tespit edildiğinde rakibin saldırısına maruz kalıp ölecek ayrıca efekt sorunu da çözülmüş olacak

brainlet-shaking-plug-soyboy-wojaks.gif
 
Ne gerek var be hacı abi sen zaten gm'sin görünmezken milletin içinde hava kılıcı basarsan o senin dengesizliğindir. :) He takımına çok dengesiz adamlar alırsın rütbesini düşük yaparsın server tarafında da bu rütbeye sahip gm'ler görünmezlik etkisi varken skill basamasın dersin biter. :)
 
Linkleri görebilmek için giriş yap veya kayıt ol.
:)

C++:
Genişlet Daralt Kopyala
EffectLib içinde EffectManager.cpp aç:

//arat
void CEffectManager::HideEffect()
{
    if (!m_pSelectedEffectInstance)
        return;

    m_pSelectedEffectInstance->Hide();
}



//altına ekle
#ifdef __ENABLE_STEALTH_FIX__
void CEffectManager::ApplyAlwaysHidden()
{
    if (!m_pSelectedEffectInstance)
        return;

    m_pSelectedEffectInstance->ApplyAlwaysHidden();
}


void CEffectManager::ReleaseAlwaysHidden()
{
    if (!m_pSelectedEffectInstance)
        return;

    m_pSelectedEffectInstance->ReleaseAlwaysHidden();
}
#endif


EffectManager.h aç:

//arat
    void ShowEffect();
    void HideEffect();


//altına ekle
#ifdef __ENABLE_STEALTH_FIX__
        void ApplyAlwaysHidden();
        void ReleaseAlwaysHidden();
#endif


EterLib içinde GrpObjectInstance.cpp aç:

//arat:

bool CGraphicObjectInstance::isShow()
{


//altına ekle
#ifdef __ENABLE_STEALTH_FIX__
    return m_isVisible && !m_isAlwaysHidden;
#endif






//arat
void CGraphicObjectInstance::Hide()
{
    m_isVisible = false;
}

//altına ekle

#ifdef __ENABLE_STEALTH_FIX__
void CGraphicObjectInstance::ApplyAlwaysHidden() {
    m_isAlwaysHidden = true;
}

void CGraphicObjectInstance::ReleaseAlwaysHidden() {
    m_isAlwaysHidden = false;
}
#endif






//arat

void CGraphicObjectInstance::Initialize()
{
    if (m_CullingHandle)
        CCullingManager::Instance().Unregister(m_CullingHandle);
    m_CullingHandle = 0;

    m_pHeightAttributeInstance = NULL;

    m_isVisible = TRUE;

    m_BlockCamera = false;


//altına ekle
#ifdef __ENABLE_STEALTH_FIX__
    m_isAlwaysHidden = false;
#endif

GrpObjectInstance.h aç:

//arat:
        void                    BlendRender();
        void                    RenderToShadowMap();
        void                    RenderShadow();
        void                    RenderPCBlocker();
        void                    Deform();
        void                    Transform();

        void                    Show();
        void                    Hide();
        bool                    isShow();

//ekle
#ifdef __ENABLE_STEALTH_FIX__
        void                    ApplyAlwaysHidden();
        void                    ReleaseAlwaysHidden();
#endif




//arat:
float                    m_fYaw;
        float                    m_fPitch;
        float                    m_fRoll;

        D3DXMATRIX                m_mRotation;

        bool                    m_isVisible;
      
//ekle
#ifdef __ENABLE_STEALTH_FIX__
        bool                    m_isAlwaysHidden;
#endif

GameLib içinde ActorInstaceAttach.cpp aç:

//arat
void CActorInstance::ShowAllAttachingEffect()
{
    std::list<TAttachingEffect>::iterator it;
    for(it = m_AttachingEffectList.begin(); it!= m_AttachingEffectList.end();++it)
    {
        CEffectManager::Instance().SelectEffectInstance(it->dwEffectIndex);
        CEffectManager::Instance().ShowEffect();


//altına ekle:
#ifdef __ENABLE_STEALTH_FIX__
        CEffectManager::Instance().ReleaseAlwaysHidden();
#endif





//arat
void CActorInstance::HideAllAttachingEffect()
{
    std::list<TAttachingEffect>::iterator it;
    for(it = m_AttachingEffectList.begin(); it!= m_AttachingEffectList.end();++it)
    {
        CEffectManager::Instance().SelectEffectInstance(it->dwEffectIndex);
        CEffectManager::Instance().HideEffect();


//altına ekle:
#ifdef __ENABLE_STEALTH_FIX__
        CEffectManager::Instance().ApplyAlwaysHidden();
#endif

locale_inc.h ekle :

#define __ENABLE_STEALTH_FIX__
---------------------------------------------
#include "../UserInterface/Locale_inc.h"

/ EterBase / StdAfx.h dosyasının içine ekle
 
En son bir moderatör tarafından düzenlenmiş:
her şeyi de çok bilmeyin ya adamın bahsettiği farklı bir şey zaten gizlendikten sonra skill efektleri gözükmüyor. ama bazı skillerin açıldığı esnada ortaya çıkan skillerin efektleri inv açık olsa bile gözüküyor o sorunu çözmeye çalışıyor yoksa efekt sorunu yaşadığı yok bir de gülücük felan koymuş bi akıllı sensin
 
her şeyi de çok bilmeyin ya adamın bahsettiği farklı bir şey zaten gizlendikten sonra skill efektleri gözükmüyor. ama bazı skillerin açıldığı esnada ortaya çıkan skillerin efektleri inv açık olsa bile gözüküyor o sorunu çözmeye çalışıyor yoksa efekt sorunu yaşadığı yok bir de gülücük felan koymuş bi akıllı sensin
Macit benim gösterdigim cözümle ilk sorununu zaten cözdü arkadaş :) yorumları dikkatli okursan görürsün kodları biraz oku istiyorsan neye yaradıgını bak ondan sonra yorum yap
 
Macit benim gösterdigim cözümle ilk sorununu zaten cözdü arkadaş :) yorumları dikkatli okursan görürsün kodları biraz oku istiyorsan neye yaradıgını bak ondan sonra yorum yap
senin çözüm diye attığın kodlar martysamada ekli ve martysamada konuyu açan arkadaşın bahsettiği sorun var. sen paylaştığın yorumun neye yaradığını bilmediğin için çözüldü sanıyorsun :D
 
bunu zaten çözmüyor bu gm logosu bir zaman sonra geliyordu onu çözüyor skilleri değil ayrıca gm karakterin bineği gizlenmiyor bunun için bir fixe ihtiyacım var
salih5253 az önce fixi gülücük emojisiyle paylaştığını sanıyor :D
 
Geri
Üst