Yardım Moblarda Agresiflik ve Vnum

  • Konuyu açan Konuyu açan Black Jap
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 6
  • Gösterim Gösterim 54
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

Black Jap

Üye
Üye
Mesaj
157
Çözümler
5
Beğeni
37
Puan
499
Ticaret Puanı
0
Moblarda agresiif işareti ve GM karakterler için vnum gösterme var Lusifer* [1093] gözükmesi için ne yapıcam.
1756729172843.webp

PythonTextTail.cpp şu şekilde

Kod:
Genişlet Daralt Kopyala
    // GM karakter icin NPC/mob kodunu isimle birlikte turuncu goster
    if (pObserver && pObserver->IsGameMaster() && pObserver != pCharacterInstance && !pCharacterInstance->IsPC())
    {
        char chrName[CHARACTER_NAME_MAX_LEN + 64];
        snprintf(chrName, sizeof(chrName), "%s |cFFFF8C00[%u]", originalName, pCharacterInstance->GetRace());
        displayName = chrName;
    }

Kod:
Genişlet Daralt Kopyala
#if defined(WJ_SHOW_MOB_INFO)
    if (IS_SET(pCharacterInstance->GetAIFlag(), CInstanceBase::AIFLAG_AGGRESSIVE))
    {
        CGraphicTextInstance *& prAIFlagInstance = pTextTail->pAIFlagTextInstance;
        prAIFlagInstance = CGraphicTextInstance::New();
        prAIFlagInstance->SetTextPointer(ms_pFont);
        prAIFlagInstance->SetHorizonalAlign(CGraphicTextInstance::HORIZONTAL_ALIGN_LEFT);
        prAIFlagInstance->SetVerticalAlign(CGraphicTextInstance::VERTICAL_ALIGN_BOTTOM);
        prAIFlagInstance->SetValue("*");
        prAIFlagInstance->SetOutline(true);
        prAIFlagInstance->SetColor(c_rColor.r, c_rColor.g, c_rColor.b);
        prAIFlagInstance->Update();

    }
    pTextTail->bIsPC = pCharacterInstance->IsPC() != FALSE;
#endif
 

Mob vnum için şu :

C++:
Genişlet Daralt Kopyala
PythonTextTail.cpp aç ve arat

void CPythonTextTail::RegisterCharacterTextTail(DWORD dwGuildID, DWORD dwVirtualID, const D3DXCOLOR& c_rColor, float fAddHeight)

bu kodun altında şunu bul hemen altında görürsün.

    if (!pCharacterInstance)
        return;

yukardaki kodun altına ekle

    CInstanceBase* pInstance = CPythonCharacterManager::Instance().GetMainInstancePtr();

    uint32_t raceNum{ pCharacterInstance->GetRace() };
    const char* originalName = pCharacterInstance->GetNameString();
    const char* displayName = originalName;

    char chrName[CHARACTER_NAME_MAX_LEN + 1 + 15];

    if (pInstance)
    {
        if (pInstance->IsGameMaster() && pInstance != pCharacterInstance && !pCharacterInstance->IsPC())
        {
            snprintf(chrName, sizeof(chrName), "%s - (%u)", originalName, raceNum);
            displayName = chrName;
        }
    }

hemen altında şu kod var

pCharacterInstance->GetNameString(),

bu kod şununla değiştir

displayName,


Build al tamamdır .

agresiflik içinde şu kodları inceleyebilirsin içerisinde var :

 

Mob vnum için şu :

C++:
Genişlet Daralt Kopyala
PythonTextTail.cpp aç ve arat

void CPythonTextTail::RegisterCharacterTextTail(DWORD dwGuildID, DWORD dwVirtualID, const D3DXCOLOR& c_rColor, float fAddHeight)

bu kodun altında şunu bul hemen altında görürsün.

    if (!pCharacterInstance)
        return;

yukardaki kodun altına ekle

    CInstanceBase* pInstance = CPythonCharacterManager::Instance().GetMainInstancePtr();

    uint32_t raceNum{ pCharacterInstance->GetRace() };
    const char* originalName = pCharacterInstance->GetNameString();
    const char* displayName = originalName;

    char chrName[CHARACTER_NAME_MAX_LEN + 1 + 15];

    if (pInstance)
    {
        if (pInstance->IsGameMaster() && pInstance != pCharacterInstance && !pCharacterInstance->IsPC())
        {
            snprintf(chrName, sizeof(chrName), "%s - (%u)", originalName, raceNum);
            displayName = chrName;
        }
    }

hemen altında şu kod var

pCharacterInstance->GetNameString(),

bu kod şununla değiştir

displayName,


Build al tamamdır .

agresiflik içinde şu kodları inceleyebilirsin içerisinde var :


2si de ekli işte böyle görünüyor fotoğtaftaki haliyle
 
Bunu dener misiniz?

pythontextail.cpp:
Genişlet Daralt Kopyala
if (pObserver && pObserver->IsGameMaster() && pObserver != pCharacterInstance && !pCharacterInstance->IsPC())
{
    char chrName[CHARACTER_NAME_MAX_LEN + 64];
    const char* aggressSymbol = IS_SET(pCharacterInstance->GetAIFlag(), CInstanceBase::AIFLAG_AGGRESSIVE) ? "*" : "";
    snprintf(chrName, sizeof(chrName), "%s%s |cFFFF8C00[%u]", originalName, aggressSymbol, pCharacterInstance->GetRace());
    displayName = chrName;
}
else
{
#if defined(WJ_SHOW_MOB_INFO)
    if (IS_SET(pCharacterInstance->GetAIFlag(), CInstanceBase::AIFLAG_AGGRESSIVE))
    {
        CGraphicTextInstance *& prAIFlagInstance = pTextTail->pAIFlagTextInstance;
        prAIFlagInstance = CGraphicTextInstance::New();
        prAIFlagInstance->SetTextPointer(ms_pFont);
        prAIFlagInstance->SetHorizonalAlign(CGraphicTextInstance::HORIZONTAL_ALIGN_LEFT);
        prAIFlagInstance->SetVerticalAlign(CGraphicTextInstance::VERTICAL_ALIGN_BOTTOM);
        prAIFlagInstance->SetValue("*");
        prAIFlagInstance->SetOutline(true);
        prAIFlagInstance->SetColor(c_rColor.r, c_rColor.g, c_rColor.b);
        prAIFlagInstance->Update();
    }
    pTextTail->bIsPC = pCharacterInstance->IsPC() != FALSE;
#endif
}
 
Bunu dener misiniz?

pythontextail.cpp:
Genişlet Daralt Kopyala
if (pObserver && pObserver->IsGameMaster() && pObserver != pCharacterInstance && !pCharacterInstance->IsPC())
{
    char chrName[CHARACTER_NAME_MAX_LEN + 64];
    const char* aggressSymbol = IS_SET(pCharacterInstance->GetAIFlag(), CInstanceBase::AIFLAG_AGGRESSIVE) ? "*" : "";
    snprintf(chrName, sizeof(chrName), "%s%s |cFFFF8C00[%u]", originalName, aggressSymbol, pCharacterInstance->GetRace());
    displayName = chrName;
}
else
{
#if defined(WJ_SHOW_MOB_INFO)
    if (IS_SET(pCharacterInstance->GetAIFlag(), CInstanceBase::AIFLAG_AGGRESSIVE))
    {
        CGraphicTextInstance *& prAIFlagInstance = pTextTail->pAIFlagTextInstance;
        prAIFlagInstance = CGraphicTextInstance::New();
        prAIFlagInstance->SetTextPointer(ms_pFont);
        prAIFlagInstance->SetHorizonalAlign(CGraphicTextInstance::HORIZONTAL_ALIGN_LEFT);
        prAIFlagInstance->SetVerticalAlign(CGraphicTextInstance::VERTICAL_ALIGN_BOTTOM);
        prAIFlagInstance->SetValue("*");
        prAIFlagInstance->SetOutline(true);
        prAIFlagInstance->SetColor(c_rColor.r, c_rColor.g, c_rColor.b);
        prAIFlagInstance->Update();
    }
    pTextTail->bIsPC = pCharacterInstance->IsPC() != FALSE;
#endif
}
deniyorum
 
Geri
Üst