Hareket Ederken İtem Değiştirememe Fix [C++]

Whistle

Ruhsuz :/
Kurucu
Geliştirici
Yardımsever Üye
Mesaj
11.943
Çözümler
567
Beğeni
13.647
Puan
5.915
Ticaret Puanı
2
Server/game/src/char_item.cpp açılır ve aratılır;
Kod:
Genişlet Daralt Kopyala
if (iWearCell != WEAR_ARROW && (dwCurTime - GetLastAttackTime() <= 1500 || dwCurTime - m_dwLastSkillTime <= 1500))   
{
   ChatPacket(CHAT_TYPE_INFO, LC_TEXT("가만히 있을 때만 착용할 수 있습니다."));
   return false;
}
Şu kodlarla değiştir:
Kod:
Genişlet Daralt Kopyala
/*if (iWearCell != WEAR_ARROW && (dwCurTime - GetLastAttackTime() <= 1500 || dwCurTime - m_dwLastSkillTime <= 1500))  
{
    ChatPacket(CHAT_TYPE_INFO, LC_TEXT("가만히 있을 때만 착용할 수 있습니다."));
    return
}*/
 
if (iWearCell != WEAR_ARROW
&& (dwCurTime - GetLastAttackTime() <= 1500 || dwCurTime - m_dwLastSkillTime <= 1500))
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("가만히 있을 때만 착용할 수 있습니다."));
return false;
}
 
if (iWearCell != WEAR_ARROW
&& (dwCurTime - GetLastAttackTime() <= 1500 || dwCurTime - m_dwLastSkillTime <= 1500))
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("가만히 있을 때만 착용할 수 있습니다."));
return false;
}
Buyrun?
 
Ws lik serverlarda belki uygulanabilir ancak diğer tür serverlarda uygulanmasını doğru bulmuyorum açıkcası.
1-1 düello esnasında anlık item değişimiyle adaletsizliklere yol açabilecek bir yöntem.
 
Rubinum kullanıyordu bir adaletsizliğe yol açtığını görmedim uzun süre. Ama tam hatırlamamakla beraber animasyonlar kaldığı yerden devam ediyordu gibi hatırlıyorum.
 
Bu bir bug çözümü değil. Normalde olması gereken hareket ederken item değiştirememek

@Whistle


Hareketin iptal olmadan kaldığı yerden devam etmesini sağlamanın bir yolu var mı acaba ?

İtem değiştirince animasyonlar baştan oynatıldığı için o şekilde gözüküyor.
 
Evet normalde hareket ederken item değiştirememek gerekiyor. Ama değiştirmek için bu kod bloğunu devre dışı bırakınca bug ortaya çıktığını düşünüyorum. Item değiştirilince animasyon iptal olup baştan başlaması yere düşürmeden vurmaya hatta birisi sizi yere düşünce item değiştirerek direkt ayağa kalkmanıza olanak sağlıyor. Animasyonun kaldığı yerden devam etmesinin bir yöntemi yok mu acaba.
 
Evet normalde hareket ederken item değiştirememek gerekiyor. Ama değiştirmek için bu kod bloğunu devre dışı bırakınca bug ortaya çıktığını düşünüyorum. Item değiştirilince animasyon iptal olup baştan başlaması yere düşürmeden vurmaya hatta birisi sizi yere düşünce item değiştirerek direkt ayağa kalkmanıza olanak sağlıyor. Animasyonun kaldığı yerden devam etmesinin bir yöntemi yok mu acaba.
Doğru bu şekilde kullanılamaz. Rubinum kullanıyormuş, sourceleri yokmuydu onun içerisine bakılabilir.
 
if (iWearCell != WEAR_ARROW
&& (dwCurTime - GetLastAttackTime() <= 1500 || dwCurTime - m_dwLastSkillTime <= 1500))
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("가만히 있을 때만 착용할 수 있습니다."));
return false;
}
Evet sizde hocanın verdiği gibi kod olmaması normal farklılık gösterir ama aynı kodlar sadece yapısı farklı alt satırda sizinki bunun en başına /* ve sonuna */ koyarsanız sorun hallolur. örnek :

Python:
Genişlet Daralt Kopyala
/*if (iWearCell != WEAR_ARROW
&& (dwCurTime - GetLastAttackTime() <= 1500 || dwCurTime - m_dwLastSkillTime <= 1500))
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("가만히 있을 때만 착용할 수 있습니다."));
return false;
}*/
 
Geri
Üst