Hikayeler

Reklam vermek için turkmmo@gmail.com

Demirci alnını silerken basma şansını artırın

  • Konuyu başlatan Koray'
  • Başlangıç tarihi
  • Cevaplar 35
  • Görüntüleme 4K
5.00 yıldız(lar) 2 Değerlendirme Değerlendirenler

Koray'

Pasha37
Uzman
Katılım
21 Haz 2013
Konular
198
Mesajlar
1,720
Online süresi
17g 4617s
Reaksiyon Skoru
2,643
Altın Konu
3
Başarım Puanı
278
TM Yaşı
12 Yıl 10 Ay 5 Gün
MmoLira
450
DevLira
103

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!

dC9bZqh.jpeg



* game/src/packet.h

Arat:
Kod:
} TPacketCGRefine;


Üzerine ekle:
Kod:
    bool extra_luck;

---

* game/src/input_main.cpp

Arat:
Kod:
        ch->DoRefine(item);

Değiştir:
Kod:
        ch->DoRefine(item, false, p->extra_luck);

---

* game/src/char.h

Arat:
Kod:
        bool            DoRefine(LPITEM item, bool bMoneyOnly = false);

Değiştir:
Kod:
        bool            DoRefine(LPITEM item, bool bMoneyOnly = false, bool bExtraLuck = false);

---

* game/src/char_item.cpp

Arat:
Kod:
bool CHARACTER::DoRefine(LPITEM item, bool bMoneyOnly)

Değiştir:
Kod:
bool CHARACTER::DoRefine(LPITEM item, bool bMoneyOnly, bool bExtraLuck)

---

Arat:
Kod:
    if (IsRefineThroughGuild() || bMoneyOnly)
        prob -= 10;

Altına ekle:
Kod:
    if (bExtraLuck)
        prob -= 10;

---

* client/UserInterface/PythonNetworkStreamModule.cpp

Ekle:
Kod:
#include "PythonCharacterManager.h"

---

Arat:
Kod:
    CPythonNetworkStream& rns=CPythonNetworkStream::Instance();
    rns.SendRefinePacket(iSlotIndex, iType);

Değiştir:
Kod:
    auto bExtraLuck = false;
    if (iType == 0) // Standart refine
    {
        // Find Blacksmith
        CPythonCharacterManager& rkChrMgr = CPythonCharacterManager::Instance();
        for (auto i = rkChrMgr.CharacterInstanceBegin(); i != rkChrMgr.CharacterInstanceEnd(); ++i)
        {
            auto pkInstEach = *i;
            if (pkInstEach->GetRace() != 20016)
                continue;

            const auto stMotionFile = pkInstEach->GetCurrentMotionName();
            const auto bInMidFrame = pkInstEach->IsMotionInMidFrame();
            bExtraLuck = (stMotionFile.find("wait_2.gr2") != std::string::npos) && bInMidFrame;
            break;
        }
    }

    CPythonNetworkStream& rns=CPythonNetworkStream::Instance();
    rns.SendRefinePacket(iSlotIndex, iType, bExtraLuck);

---

* client/gamelib/ActorInstanceMotion.cpp

Arat:
Kod:
DWORD CActorInstance::__GetCurrentMotionKey()
{
    return m_kCurMotNode.dwMotionKey;
}

Altına ekle:
Kod:
bool CActorInstance::IsMotionInMidFrame() const
{
    if (!m_pkCurRaceMotionData)
        return false;

    static constexpr size_t FRAME_GAP = 20;
    if (m_kCurMotNode.dwcurFrame > FRAME_GAP &&
        m_kCurMotNode.dwcurFrame < m_kCurMotNode.dwFrameCount &&
        (m_kCurMotNode.dwFrameCount - m_kCurMotNode.dwcurFrame) > FRAME_GAP)
    {
        return true;
    }

    return false;
}
std::string CActorInstance::GetCurrentMotionFilename() const
{
    if (!m_pkCurRaceMotionData)
        return {};

    return m_pkCurRaceMotionData->GetMotionFileName();
}

---

* client/gamelib/ActorInstance.h

Arat:
Kod:
        bool __CanInputNormalAttackCommand();

Altına ekle:
Kod:
        bool IsMotionInMidFrame() const;
        std::string GetCurrentMotionFilename() const;

---

* client/UserInterface/InstanceBaseMotion.cpp

Arat:
Kod:
void CInstanceBase::SetLoopMotion(WORD wMotion, float fBlendTime/* =0.1f */, float fSpeedRatio)
{
    m_GraphicThingInstance.SetLoopMotion(wMotion, fBlendTime, fSpeedRatio);
}

Altına ekle:
Kod:
bool CInstanceBase::IsMotionInMidFrame() const
{
    return m_GraphicThingInstance.IsMotionInMidFrame();
}
std::string CInstanceBase::GetCurrentMotionName() const
{
    return m_GraphicThingInstance.GetCurrentMotionFilename();
}

---

* client/UserInterface/InstanceBase.h

Arat:
Kod:
        void                    SetEndStopMotion();

Altına ekle:
Kod:
        bool IsMotionInMidFrame() const;
        std::string    GetCurrentMotionName() const;

---

* client/UserInterface/PythonNetworkStreamPhaseGame.çpp

Arat:
Kod:
bool CPythonNetworkStream::SendRefinePacket(BYTE byPos, BYTE byType)

Değiştir:
Kod:
bool CPythonNetworkStream::SendRefinePacket(BYTE byPos, BYTE byType, bool bExtraLuck)

---

Arat:
Kod:
    kRefinePacket.type = byType;

Altına ekle:
Kod:
    kRefinePacket.extra_luck = bExtraLuck;

---

* client/UserInterface/Packet.h

Arat:
Kod:
} TPacketCGRefine;

Üzerine ekle:
Kod:
bool extra_luck;
 

En Çok Reaksiyon Alan Mesajlar

Ahahahahah :D Eline sağlık, paylaşım için teşekkürler. :D :D

Altın konu seçildi.
 
Meşakatli bir olay :DA Paylaşım için teşekkürler dostum
 
helal tşkler
 

Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)

Geri
Üst