Çözüldü Derece sistemi ekledikten sonra npclerde tarafsız yazıyor

  • Konuyu açan Konuyu açan muhammet53
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 12
  • Gösterim Gösterim 377
Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

muhammet53

Üye
Üye
Mesaj
434
Çözümler
4
Beğeni
30
Puan
459
Ticaret Puanı
0
Derece sistemi ekledikten sonra npclerde tarafsız yazıyor
Ekran Görüntüsü (115).webp
 
Çözüm
@muhammet53

InstanceBaseEffect.cpp aç

Arat:


C++:
Genişlet Daralt Kopyala
void CInstanceBase::RefreshTextTail()
{

Altına Ekle:


C++:
Genişlet Daralt Kopyala
if (IsNPC())
    return;

Veya

InstanceBase.h aç
Arat:

C++:
Genişlet Daralt Kopyala
TITLE_NONE                = 4,

Değiştir:

C++:
Genişlet Daralt Kopyala
TITLE_NONE                = 6,
Theadmin33'ün paylaştığını eklediysen


InstanceBase.h::
Genişlet Daralt Kopyala
//Arat;

            TITLE_NUM                = 9,
            TITLE_NONE                = 4,


//Değiştir;

#ifdef ENABLE_ALIGN_RENEWAL
            TITLE_NUM                = 46,
            TITLE_NONE                = 41,
#else
            TITLE_NUM                 = 9,
            TITLE_NONE                 = 4,
#endif

bu adımları uygula
 
En son bir moderatör tarafından düzenlenmiş:
Derece sistemi ekledikten sonra npclerde tarafsız yazıyor
20788 eklentisini görüntüle

Client/Src/InstanceBase.h 'yi aç

bul

C++:
Genişlet Daralt Kopyala
TITLE_NONE

Burası normalde 4 'dür sende kaç bilmiyorum hesaplamasıda şöyle. Kaç tane - derece tipin varsa ona göre numaralandırma vericeksin örneğin default olarak
Zalim
Kötü Niyetli
Hileli
Agresif
Gördüğün gibi 4 tane - derece olduğu için normali
C++:
Genişlet Daralt Kopyala
TITLE_NONE = 4;
Sende mesela 6 tane - derece mevcutsa bunu = 6 yapman sorununu çözücektir.
 
Düzeltemediysen InstanceBase.cpp ve InstanceBase.h dosyalarını konuya dahil et biz hallederiz.
 
Bug değil yeni özellik 😂 Npcleri kahramana yükseltince ödül verdir ne güzel sistem olur.
 
Son düzenleme:
şuanlık kahraman kodunun üstüne eklediğimde hata veriyor eklemediğimde vermiyor onu çözmek istiyorum
şu şekilde olması gerekiyor;

InstanceBase.cpp:
Genişlet Daralt Kopyala
int CInstanceBase::GetAlignmentType()
{
    switch (GetAlignmentGrade())
    {
        case 0:
        case 1:
        case 2:
        case 3:
        {
            return ALIGNMENT_TYPE_WHITE;
            break;
        }

        case 5:
        case 6:
        case 7:
        case 8:
        {
            return ALIGNMENT_TYPE_DARK;
            break;
        }
    }

    return ALIGNMENT_TYPE_NORMAL;
}

al sen bunu ekle keyfine bak

 
şu şekilde olması gerekiyor;

InstanceBase.cpp:
Genişlet Daralt Kopyala
int CInstanceBase::GetAlignmentType()
{
    switch (GetAlignmentGrade())
    {
        case 0:
        case 1:
        case 2:
        case 3:
        {
            return ALIGNMENT_TYPE_WHITE;
            break;
        }

        case 5:
        case 6:
        case 7:
        case 8:
        {
            return ALIGNMENT_TYPE_DARK;
            break;
        }
    }

    return ALIGNMENT_TYPE_NORMAL;
}

al sen bunu ekle keyfine bak


ve yine aynı oldu 2 tane kodu ekledikten sonra üste bu şekilde


Kod:
Genişlet Daralt Kopyala
UINT CInstanceBase::GetAlignmentGrade()
{
    if (m_sAlignment >= 24000)
        return 0;
    else if (m_sAlignment >= 20000)
        return 1;
    else if (m_sAlignment >= 12000)
        return 2;
    else if (m_sAlignment >= 8000)
        return 3;
    else if (m_sAlignment >= 4000)
        return 4;
    else if (m_sAlignment >= 1000)
        return 5;
    else if (m_sAlignment >= 0)
        return 6;
    else if (m_sAlignment > -4000)
        return 7;
    else if (m_sAlignment > -8000)
        return 8;
    else if (m_sAlignment > -12000)
        return 9;

    return 8;
}

int CInstanceBase::GetAlignmentType()
{
    switch (GetAlignmentGrade())
    {
        case 0:
        case 1:
        case 2:
        case 3:
        {
            return ALIGNMENT_TYPE_WHITE;
            break;
        }

        case 5:
        case 6:
        case 7:
        case 8:
        {
            return ALIGNMENT_TYPE_DARK;
            break;
        }
    }

    return ALIGNMENT_TYPE_NORMAL;
}
 
Son düzenleme:
@muhammet53

InstanceBaseEffect.cpp aç

Arat:


C++:
Genişlet Daralt Kopyala
void CInstanceBase::RefreshTextTail()
{

Altına Ekle:


C++:
Genişlet Daralt Kopyala
if (IsNPC())
    return;

Veya

InstanceBase.h aç
Arat:

C++:
Genişlet Daralt Kopyala
TITLE_NONE                = 4,

Değiştir:

C++:
Genişlet Daralt Kopyala
TITLE_NONE                = 6,
 
Çözüm
hocam 65 250 servere gitmez

@muhammet53

InstanceBaseEffect.cpp aç

Arat:


C++:
Genişlet Daralt Kopyala
void CInstanceBase::RefreshTextTail()
{

Altına Ekle:


C++:
Genişlet Daralt Kopyala
if (IsNPC())
    return;

Veya

InstanceBase.h aç
Arat:

C++:
Genişlet Daralt Kopyala
TITLE_NONE                = 4,

Değiştir:

C++:
Genişlet Daralt Kopyala
TITLE_NONE                = 6,
evet oldu hocam npc deki isimler beyaz gozukuyor onları nasıl eski haline ceviririm ?
 
evet oldu hocam npc deki isimler beyaz gozukuyor onları nasıl eski haline ceviririm ?

Az önce ekleme yaptığımızyeri bul.
InstanceBaseEffect.cpp

Ara:

C++:
Genişlet Daralt Kopyala
void CInstanceBase::RefreshTextTail()
{
    if (IsNPC())
        return;

Şu şekilde değiştir:


C++:
Genişlet Daralt Kopyala
void CInstanceBase::RefreshTextTail()
{
CPythonTextTail::Instance().SetCharacterTextTailColor(GetVirtualID(), GetNameColor());
    if (IsNPC())
        return;

Çözüldü olarak işaretlemeyi unutma kolay gelsin.
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst