Metin2 Yere Düşen İtemleri Hızlı Toplama | Gamesfrm.com
 

Metin2 Yere Düşen İtemleri Hızlı Toplama

RuLing

İşsiz Moderatör
Yönetici
Haber Editörü
Sosyal Editör
Katılım
28 May 2018
Mesajlar
3,895
Tepki puanı
221
Konum
Diyarbakır
Merhaba arkadaşlar,

Metin2 pvp serverlerde itemleri toplarken gecikmeli topladığı olmuştur. Mesela itemi almaya çalışırız almaz 2-3 kez e tuşuna bastıktan sonra toplar. Eğer bu gecikmeyi kaldırmak istiyorsak aşağıdaki işlemleri uygulamamız gerekiyor.

PythonPlayer.cpp Açılır ve aratılır.

C++:
void CPythonPlayer::SendClickItemPacket(DWORD dwIID)

3.satıra aşağıdaki kod eklenir.

C++:
//s_dwNextTCPTime=dwCurTime + 500;

Son hali böyle olmalıdır.

C++:
void CPythonPlayer::SendClickItemPacket(DWORD dwIID)
{
    if (IsObserverMode())
        return;

    static DWORD s_dwNextTCPTime = 0;

    DWORD dwCurTime=ELTimer_GetMSec();

    if (dwCurTime >= s_dwNextTCPTime)
    {
        // s_dwNextTCPTime=dwCurTime + 500;

        const char * c_szOwnerName;
        if (!CPythonItem::Instance().GetOwnership(dwIID, &c_szOwnerName))
            return;

        if (strlen(c_szOwnerName) > 0)
        if (0 != strcmp(c_szOwnerName, GetName()))
        {
            CItemData * pItemData;
            if (!CItemManager::Instance().GetItemDataPointer(CPythonItem::Instance().GetVirtualNumberOfGroundItem(dwIID), &pItemData))
            {
                Tracenf("CPythonPlayer::SendClickItemPacket(dwIID=%d) : Non-exist item.", dwIID);
                return;
            }
            if (!IsPartyMemberByName(c_szOwnerName) || pItemData->IsAntiFlag(CItemData::ITEM_ANTIFLAG_DROP | CItemData::ITEM_ANTIFLAG_GIVE))
            {
                PyCallClassMemberFunc(m_ppyGameWindow, "OnCannotPickItem", Py_BuildValue("()"));
                return;
            }
        }

        CPythonNetworkStream& rkNetStream=CPythonNetworkStream::Instance();
        rkNetStream.SendItemPickUpPacket(dwIID);
    }
}
 
Üst