Kenshi Torres Publicado 28 de Mayo del 2021 Reportar Compartir Publicado 28 de Mayo del 2021 Hola chicos, sé que este tema está disponible en muchos foros, pero como quiero que esté a nuestra disposición, dejo aquí el bloque de código para que los amigos que lo necesiten puedan usarlo. NOTA: Esto no recoge todos los elementos del suelo de una sola vez. Solo te permite recolectarlo rápidamente. ClientSource / UserInterface / PythonPlayer.cpp 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); } } Si lo desea, cambie el bloque de código anterior a la línea de comentarios o reemplácelo con el bloque de código a continuación ClientSource / UserInterface / PythonPlayer.cpp: void CPythonPlayer::SendClickItemPacket(DWORD dwIID) { if (IsObserverMode()) return; 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); } ClientSource / UserInterface / PythonPlayer.cpp: Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
Mensajes recomendados
Unirse a la conversación
Puedes publicar ahora y registrarte más tarde. Si tienes una cuenta, regístrate para publicar con su cuenta.