Yardım Mount Costum

Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

swatprens

Üye
Üye
Mesaj
24
Çözümler
3
Beğeni
5
Puan
408
Ticaret Puanı
0
Merhaba, Gezdirmeli binek sistemini ekledim sistem sorunsuz çalışıyor ancak öldüğüm zaman mount geri gelmiyor mühürü takıp çıkarmak zorunda kalıyorum , paylaşılan bir tane fix vardı oda çalışmıyor.




char_battle:
#ifdef ENABLE_MOUNT_COSTUME_SYSTEM
void CHARACTER::Dead(LPCHARACTER pkKiller, bool bImmediateDead)
{
    if (IsDead())
        return;

    {
        if (IsHorseRiding())
        {
            StopRiding();
        }
        else if (GetMountVnum())
        {
            RemoveAffect(AFFECT_MOUNT);// olunce binek kaybolma fixed
            RemoveAffect(AFFECT_MOUNT_BONUS);

        LPITEM item = GetWear(WEAR_UNIQUE1);
        LPITEM item2 = GetWear(WEAR_UNIQUE2);

        if (item && item->IsRideItem())
    {
        UnequipItem(item);
    }

        if (item2 && item2->IsRideItem())
    {
        UnequipItem(item2);
    }

            m_dwMountVnum = 0;
            UnEquipSpecialRideUniqueItem();

            UpdatePacket();
        }
    }
#endif
 
Tam olarak hangi fonksiyondan bahsettiğini söylersen gönderebilirim.

cmd_general:
ACMD(do_unmount)
{
#ifdef ENABLE_MOUNT_COSTUME_SYSTEM
    if(ch->GetWear(WEAR_COSTUME_MOUNT))
    {
        CMountSystem* mountSystem = ch->GetMountSystem();
        LPITEM mount = ch->GetWear(WEAR_COSTUME_MOUNT);
        DWORD mobVnum = 0;
        
        if (!mountSystem && !mount)
            return;

        if(mount->GetValue(1) != 0)
            mobVnum = mount->GetValue(1);

        if (ch->GetMountVnum())
        {
            if(mountSystem->CountSummoned() == 0)
            {
                mountSystem->Unmount(mobVnum);
            }
        }
        return;
    }
#endif

    LPITEM item = ch->GetWear(WEAR_UNIQUE1);
    LPITEM item2 = ch->GetWear(WEAR_UNIQUE2);
#ifdef ENABLE_MOUNT_COSTUME_SYSTEM
    LPITEM item3 = ch->GetWear(WEAR_COSTUME_MOUNT);
#endif

    if (item && item->IsRideItem())
    {
        ch->UnequipItem(item);
    }
    
    if (item2 && item2->IsRideItem())
    {
        ch->UnequipItem(item2);
    }

#ifdef ENABLE_MOUNT_COSTUME_SYSTEM
    if (item3 && item3->IsMountItem())
    {
        ch->UnequipItem(item3);
    }
#endif

    if (true == ch->UnEquipSpecialRideUniqueItem())
    {
        ch->RemoveAffect(AFFECT_MOUNT);
        ch->RemoveAffect(AFFECT_MOUNT_BONUS);

        if (ch->IsHorseRiding())
        {
            ch->StopRiding();
        }
    }
    else
    {
        ch->ChatPacket( CHAT_TYPE_INFO, LC_TEXT("AIº¥Aa¸®°¡ ²E A÷¼ ³≫¸± ¼o ¾ø½A´I´U."));
    }

}
 
C++:
    if (IsDead())
        return;

Bunun altındaki bloğu komple şu şekilde değiştirmeyi dene;
C++:
    {
        if (IsHorseRiding())
        {
            StopRiding();
        }
        else if (GetMountVnum())
        {
            RemoveAffect(AFFECT_MOUNT);
            RemoveAffect(AFFECT_MOUNT_BONUS);
            m_dwMountVnum = 0;
            UnEquipSpecialRideUniqueItem();

            UpdatePacket();
        }
    }
 
C++:
    if (IsDead())
        return;

Bunun altındaki bloğu komple şu şekilde değiştirmeyi dene;
C++:
    {
        if (IsHorseRiding())
        {
            StopRiding();
        }
        else if (GetMountVnum())
        {
            RemoveAffect(AFFECT_MOUNT);
            RemoveAffect(AFFECT_MOUNT_BONUS);
            m_dwMountVnum = 0;
            UnEquipSpecialRideUniqueItem();

            UpdatePacket();
        }
    }
Daha önce bu şekil de denedim bir şey değişmedi eski haline çevirdim
 
Geri
Üst