- Discord
- pvpers.gg
Metin2 oyuncuları arasında yıllardır konuşulan ve bir nevi uğur haline gelen bir totem vardır: "Demirci alnını silerken + basarsan geçer!"
Kimileri bu anı şansın dönüm noktası saydı, kimileri ise sadece eğlenceli bir efsane olarak gördü. Ama artık bu gelenek kodlara işlendi! Yeni sistem sayesinde demircinin alnını sildiği o kısa zaman dilimi gerçekten de geliştirme ihtimalinizi artırıyor.
Şimdi gelin, bu totemin nasıl gerçeğe dönüştüğüne ve oyuna nasıl entegre edildiğine birlikte bakalım...
Arat:
Üzerine ekle:
Arat:
Değiştir:
Arat:
Değiştir:
Arat:
Değiştir:
Arat:
Altına ekle:
Arat:
Altına ekle:
Arat:
Altına ekle:
Arat:
Altına ekle:
Arat:
Değiştir:
Arat:
Altına ekle:
Yıllardır oyuncuların sezgileriyle yönettiği bir alışkanlık artık somut bir oyun mekaniğine dönüştü.
Demircinin alnını sildiği o anı yakalayarak + basmak, sadece nostaljik bir refleks değil; başarı oranınızı doğrudan etkileyen stratejik bir hamle haline geldi.
Şimdi tek yapmanız gereken gözlerinizi dört açmak ve o kısa “an”ı kaçırmamak. Unutmayın, bazen bir yükseltme, yalnızca doğru zamanda basılan bir tuşla olur!
Kimileri bu anı şansın dönüm noktası saydı, kimileri ise sadece eğlenceli bir efsane olarak gördü. Ama artık bu gelenek kodlara işlendi! Yeni sistem sayesinde demircinin alnını sildiği o kısa zaman dilimi gerçekten de geliştirme ihtimalinizi artırıyor.
Şimdi gelin, bu totemin nasıl gerçeğe dönüştüğüne ve oyuna nasıl entegre edildiğine birlikte bakalım...
game/src/packet.hArat:
Kod:
} TPacketCGRefine;
Üzerine ekle:
Kod:
bool extra_luck;
game/src/input_main.cpp[B]Arat:
Kod:
ch->DoRefine(item);
Değiştir:
Kod:
ch->DoRefine(item, false, p->extra_luck);
game/src/char.hArat:
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.cppArat:
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.cppclient/gamelib/ActorInstanceMotion.cppArat:
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.hclient/UserInterface/InstanceBaseMotion.cppArat:
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.hArat:
Kod:
void SetEndStopMotion();
Altına ekle:
Kod:
bool IsMotionInMidFrame() const;
std::string GetCurrentMotionName() const;
client/UserInterface/PythonNetworkStreamPhaseGame.cppArat:
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.hYıllardır oyuncuların sezgileriyle yönettiği bir alışkanlık artık somut bir oyun mekaniğine dönüştü.
Demircinin alnını sildiği o anı yakalayarak + basmak, sadece nostaljik bir refleks değil; başarı oranınızı doğrudan etkileyen stratejik bir hamle haline geldi.
Şimdi tek yapmanız gereken gözlerinizi dört açmak ve o kısa “an”ı kaçırmamak. Unutmayın, bazen bir yükseltme, yalnızca doğru zamanda basılan bir tuşla olur!
