Yardım Attan indikten veya bindikten sonra compute fonksiyonu çalışmıyor

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

asilords

Üye
Üye
Mesaj
51
Çözümler
1
Beğeni
24
Puan
664
Ticaret Puanı
0
Attan indikten ya da bindikten sonra atın verdiği statüler işlemiyor. Karakter atınca veya statü verince vs o zaman düzeliyor. Örneğin attan indik, hala atın verdiği statüler karakterde oluyor. Ne zaman karakter compute komutunu çalıştıracak bir işlem yapsa düzeliyor. Marty Sama'dan önceki alt yapıda böyle sorun yoktu ancak ata hızlı inip binildiğinde lag oluşuyordu. Marty Sama'da art arda ata inip binilebiliyor. Bu sefer de atın verdiği statüler işlemiyor. İşlemesi için compute fonksiyonu çalıştırıcı işlem yapmak gerekiyor.
 
En son bir moderatör tarafından düzenlenmiş:
Attan veya binekten indiğinizde çalışan komut CHARACTER::StopRiding ve ACMD (do_unmount). Bunların içeriğine bakarsanız aslında böyle bir sorununuz olmaması gerektiğini görebilirsiniz ama test etmek istiyorsanız verdiğim değişiklikleri yapıp sorunun devam edip etmediğini bir kontrol edin;


cmd_general.cpp:
Genişlet Daralt Kopyala
// BUL
ACMD (do_unmount)
    
// KOMPLE DEGISTIR
ACMD (do_unmount)
{
    if (ch->UnEquipSpecialRideUniqueItem())
    {
        ch->RemoveAffect (AFFECT_MOUNT);
        ch->RemoveAffect (AFFECT_MOUNT_BONUS);
        if (ch->IsHorseRiding())
        {
            ch->StopRiding();
        }
        ComputePoints(); // -
        UpdatePacket();  // Normalde bunlara ihtiyac duymaman lazim ama bir dene.
    }
    else
    {
        ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT ("인벤토리가 꽉 차서 내릴 수 없습니다."));
    }
}

char_horse.cpp:
Genişlet Daralt Kopyala
// BUL
bool CHARACTER::StopRiding()

// DEGISTIR
bool CHARACTER::StopRiding()
{
    if (CHorseRider::StopRiding())
    {
        quest::CQuestManager::instance().Unmount (GetPlayerID());
        if (!IsDead() && !IsStun())
        {
            DWORD dwOldVnum = GetMountVnum();
            MountVnum (0);
            // [NOTE] When dismounting from a horse, modify it to summon the one you were riding. - [Ymir Dev Note]
            HorseSummon (true, false, dwOldVnum);
        }
        else
        {
            m_dwMountVnum = 0;
        }

        PointChange (POINT_ST, 0);
        PointChange (POINT_DX, 0);
        PointChange (POINT_HT, 0);
        PointChange (POINT_IQ, 0);
        
        ComputePoints(); // -
        UpdatePacket();  // Her senaryoda islemesi icin fonksiyon sonuna tasidim.

        return true;
    }

    return false;
}
 
Sorunsuz kodlarla kıyasladığımda benimkiyle aynı ama bende sroun cıkıyor çok tuhaf bir durum yine :) UpdatePacket(); sorunsuzlarda da aynı şekilde birebir yerinde ama bende sorun oluyor
 
Sorunsuz kodlarla kıyasladığımda benimkiyle aynı ama bende sroun cıkıyor çok tuhaf bir durum yine :) UpdatePacket(); sorunsuzlarda da aynı şekilde birebir yerinde ama bende sorun oluyor
Muhtemelen buna yapılan farklı bir değişiklik sebep oluyor ama tahmin etmesi zor, o yüzden yukarıdaki kodu denemenizi öneririm eğer o şekilde de çözülmüyorsa farklı yerlerde aramanız gerek.
 
Muhtemelen buna yapılan farklı bir değişiklik sebep oluyor ama tahmin etmesi zor, o yüzden yukarıdaki kodu denemenizi öneririm eğer o şekilde de çözülmüyorsa farklı yerlerde aramanız gerek.
Marty sama 5.7 kullanıyorum sanırım bu tür hatalardan dolayı alt yapıyı değiştirceğim öneriniz var mı ?
 
Marty sama 5.7 kullanıyorum sanırım bu tür hatalardan dolayı alt yapıyı değiştirceğim öneriniz var mı ?
Sorunlarını çözüp Marty ile devam etmenizi öneririm ama güncellemeleri alamadığınız warez bir sürüm kullanıyorsanız hepsini kendiniz çözeceksiniz mecbur, ben uğraşmak istemiyorum derseniz;
Linkleri görebilmek için giriş yap veya kayıt ol.
şu tarz daha hazır bir işi tercih edebilirsiniz. Altyapı olsun ben kendim geliştirmek istiyorum derseniz Marty, Fliege v3 gibi altyapılardan devam etmeniz daha iyi olur yada yerli bir altyapı olarak bunu tercih edebilirsiniz.
 
Sorunlarını çözüp Marty ile devam etmenizi öneririm ama güncellemeleri alamadığınız warez bir sürüm kullanıyorsanız hepsini kendiniz çözeceksiniz mecbur, ben uğraşmak istemiyorum derseniz;
Linkleri görebilmek için giriş yap veya kayıt ol.
şu tarz daha hazır bir işi tercih edebilirsiniz. Altyapı olsun ben kendim geliştirmek istiyorum derseniz Marty, Fliege v3 gibi altyapılardan devam etmeniz daha iyi olur yada yerli bir altyapı olarak bunu tercih edebilirsiniz.
Değerlendireceğim teşekkkürler
 
Üst