Jump to content

【ℛ-𝓝】ℛ𝔂𝓼𝒆

Members
  • Posts

    568
  • Joined

  • Last visited

  • Days Won

    261

Everything posted by 【ℛ-𝓝】ℛ𝔂𝓼𝒆

  1. Si no publicas el sysser de la DB y algun canal no sera posible ayudarte...
  2. // 1. PythonPlayerInput.cpp // 1.0. Buscamos: void CPythonPlayer::PickCloseItem() { ... } // 1.0. AΓ±adir despuΓ©s: void CPythonPlayer::PickCloseItemVector() { CInstanceBase * pkInstMain = NEW_GetMainActorPtr(); if (!pkInstMain) return; TPixelPosition kPPosMain; pkInstMain->NEW_GetPixelPosition(&kPPosMain); std::vector<DWORD> itemVidList; CPythonItem& rkItem=CPythonItem::Instance(); if (!rkItem.GetCloseItemVector(pkInstMain->GetNameString(), kPPosMain, itemVidList)) return; if(itemVidList.empty()) return; for(int i = 0; i < itemVidList.size(); i++) SendClickItemPacket(itemVidList[i]); } // 2. PythonItem.cpp // 2.0. Buscamos: bool CPythonItem::GetCloseItem (const std::string& myName, const TPixelPosition& c_rPixelPosition, DWORD* pdwItemID, DWORD dwDistance) { .... } // 2.0. AΓ±adir despuΓ©s: bool CPythonItem::GetCloseItemVector(const std::string& myName, const TPixelPosition& c_rPixelPosition, std::vector<DWORD>& itemVidList) { DWORD dwCloseItemDistance = 1000 * 1000; TGroundItemInstanceMap::iterator i; for (i = m_GroundItemInstanceMap.begin(); i != m_GroundItemInstanceMap.end(); ++i) { TGroundItemInstance * pInstance = i->second; DWORD dwxDistance = DWORD(c_rPixelPosition.x - pInstance->v3EndPosition.x); DWORD dwyDistance = DWORD(c_rPixelPosition.y - (-pInstance->v3EndPosition.y)); DWORD dwDistance = DWORD(dwxDistance * dwxDistance + dwyDistance * dwyDistance); if (dwDistance < dwCloseItemDistance && (pInstance->stOwnership == "" || pInstance->stOwnership == myName)) { itemVidList.push_back(i->first); } } return true; } // 3. PythonItem.h // 3.0. Buscamos: bool GetCloseMoney(const TPixelPosition & c_rPixelPosition, DWORD* dwItemID, DWORD dwDistance=300); // 3.0. AΓ±adir debajo: bool GetCloseItemVector(const std::string& myName, const TPixelPosition& c_rPixelPosition, std::vector<DWORD>& itemVidList); // 4. PythonPlayer.cpp // 4.0. Buscamos y reemplazamos: 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); } // 5. PythonPlayerModule.cpp // 5.0. Buscamos: PyObject * playerPickCloseItem(PyObject* poSelf, PyObject* poArgs) { CPythonPlayer::Instance().PickCloseItem(); return Py_BuildNone(); } // 5.0. AΓ±adir despuΓ©s: PyObject * playerPickCloseItemVector(PyObject* poSelf, PyObject* poArgs) { CPythonPlayer::Instance().PickCloseItemVector(); return Py_BuildNone(); } // 5.1. Buscamos: { "PickCloseItem", playerPickCloseItem, METH_VARARGS }, // 5.1.AΓ±adir despuΓ©s:: { "PickCloseItemVector", playerPickCloseItemVector, METH_VARARGS }, // 6. PythonPlayer.h // 6.0. Buscamos: void PickCloseItem(); // 6.0. AΓ±adir despuΓ©s: void PickCloseItemVector(); // 7. game.py // 7. Buscamos: player.PickCloseItem() // 7. Reemplazamos por: player.PickCloseItemVector() // Puede hacer la opciΓ³n de recogida rΓ‘pida o no.
  3. JAJAJAJA, vamos de mal en peor con los privados xDD, al menos si van a hacer algo asi nomas hagan algo gratis :v
  4. es por que le falta un archivo .dds, borra esa parte y solo deja la primera xD
  5. Gracias, las tenia que sacar de un cliente pero me ahorraste el buscar las cosas xD
  6. Bienvenido! Files que te recomiendo: Guia de servidor local:
  7. Armaduras: https://metin2.download/file/urrVGnvHPxTiL2twx3zo1LqaAP1Q4ekv Las armas talvez estΓ©n en este enlace, estΓ‘ en 2 partes. Parte 1: https://metin2.download/file/yV1iLmzTFHMUKHSYRl7RLX9UCr2lDD1P Parte 2: https://metin2.download/file/4E1Mog7EgVB3CkhxJXTcg2DAP5lZW4lB
  8. Buenas gente, de a poco voy volviendo a editar source y esas cosas, tengo unas duda... Como puedo hacer para que el herrero no falle en ninguna mejora? Y la otra es... Como puedo hacer para desactivar el "Elixir rojo y azul" cuando estas en Pvp? Saludos y gracias de antemano!
  9. Gracias por compartirlo, no tendrΓ­as una quest de piedra perfect por ahΓ­? xD Salu2!
  10. Al darle a la piedra no hace nada, solo abre un dialogo en blanco...
  11. Esto va en la secciΓ³n: https://metin2zone.net/index.php?/forum/77-servicios-y-compraventa/
×
×
  • Create New...