Jump to content

CMolina

Miembro
  • Contador contenido

    6
  • Ingreso

  • Última visita

Actividad de reputación

  1. Gracias
    CMolina reacted to 【ℛ-𝓝】ℛ𝔂𝓼𝒆 in [SERVERFILES] Zentoria2 𝓟𝓡𝓔𝓜𝓘𝓤𝓜   
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
     
    DESCARGAS
    ServerFiles + Archivos: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    FreeBSD 11.3: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
     
    FreeBSD
    Usuario: root
    Contraseña: dev
     
    MySQL
    Usuario: root
    Contraseña: JT4JqqfrgR1H5V3v1iDaN8sJJyua8hx3
     
    Cambiar IP en el archivo Root > controller.py
  2. Me Gusta
    CMolina got a reaction from 𝗔𝗿𝗲𝘀 in [FIX] Retraso de Monturas   
    Muchas gracias por el aporte !
  3. Gracias
    CMolina reacted to 𝗔𝗿𝗲𝘀 in [FIX] Retraso de Monturas   
    Buenas noches zoneros y zoneras:
     
    Hoy os vengo a dar una pequeña solucion para las monturas cuando van montadas en ellas, la montura se va para atras o las npcs desaparecen,
     
    La solucion es la siguiente
     
    Vamos al run de nuestra montura: El archivo se puede llamar "run.msa, 03.msa, 02.msa.....etc" Para asegurarnos que archivo es vamos a nuestro motlist.txt que se encuentra dentro de la carpeta de la montura. Una vez sabemos cual es el archivo que llama al run lo abrimos y veran que hay lo siguiente. ScriptType MotionData MotionFileName "D:\Ymir Work\npc\horse_event1\03.GR2"-------------------------Este es el que llama al gr2 del correr MotionDuration 0.666667----------------------------------------Y esta es la duracion del run (Este es el que ocasiona aveces el problema) Bueno muchas veces el MotionDuration puede tener otros numeros o encontrarse en 0.000000 Para solucionarlo hacen lo siguiente: ScriptType MotionData MotionFileName "D:\Ymir Work\npc\horse_event1\03.GR2" MotionDuration 0.666667 Accumulation 0.00 -1300.00 0.00----------------------------Le agregan esta linea Y con eso deberia de estar solucionado el problema.  
     
    Quiero asegurar que no es una solucion definitiva "Mas bien es un pequeño fix que funciona para algunas monturas"
  4. Me Gusta
    CMolina reacted to 【ℛ-𝓝】ℛ𝔂𝓼𝒆 in [SERVERFILES] 40k limpios fix + SRC & binario *15 idiomas*   
    [40250] Archivos limpios + Cliente + Src [15 idiomas disponibles]
    Mi objetivo era hacer que un archivo de servidor r40250 fuera lo más oficial posible en comparación con lo que GF tenía cuando sus archivos se filtraron a principios de 2014.
    No se agregaron nuevos sistemas, solo se corrigieron errores. Aunque pasé varias horas probando, es posible que todavía haya errores. Por favor, infórmeme de los errores para que pueda corregirlos en el
    futuro, quiero que este proyecto esté lo más libre de errores posible.
    Idiomas disponibles: EN / DE / HU / FR / CZ / DK / ES / GR / IT / NL / PL / PT / RO / RU / TR
    Lea Languages.txt para aprender cómo cambiar el idioma predeterminado.
    SSH para VM: root / 123456789
    MySQL: root/ 123456789
    En el juego: admin / 123456789
    Alias y sus comandos:
    iniciar cd /usr/metin2/server && sh start.sh apagar cd /usr/metin2/server && sh close.sh limpiar cd /usr/metin2/server && sh clear.sh backup cd /usr/metin2/server && sh backup.sh cargarquest cd /usr/metin2/server/share/locale/english/quest && python make.py limpiardb cd /usr/metin2/src/db/src && gmake clean comp-db cd /usr/metin2/src/db/src && gmake limpiargame cd /usr/metin2/src/game/src && gmake clean compilargame cd /usr/metin2/src/game/src && gmake  
    Lea Changelog.txt para obtener más información sobre los cambios que hice.
    Agradecimientos especiales a:
    @Mali por los archivos src de cliente y servidor limpios y actualizados.
    @Sanchez por el cliente base 2014.
    @Veltor88 por el paquete de translate.lua.
    @Fazer por el paquete de locale_string.txt.
    Hice un pequeño video sobre la instalación del archivo de servidor (vm) y el cambio de idioma:
     
    Descarga / Download
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
     
    Créditos: TMP4 
     
  5. Gracias
    CMolina reacted to 【ℛ-𝓝】ℛ𝔂𝓼𝒆 in [SET] Navidad 2022   
    DESCARGA: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  6. Gracias
    CMolina reacted to 【ℛ-𝓝】ℛ𝔂𝓼𝒆 in [ESTOLA] Nuevas alas   
    [DESCARGAS]
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  7. Me Gusta
    CMolina reacted to ChuchoGamer in Gran Aporte "SISTEMA SHINING COMPLETO"   
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    ai estan las fotos en esos link 
  8. Me Gusta
    CMolina reacted to 𝗔𝗿𝗲𝘀 in Gran Aporte "SISTEMA SHINING COMPLETO"   
    Buenas noches zoneros y zoneras:
     
    En esta ocasion os traigo el sistema Shining completo y reparado para alas y skin de armas ya que veo que no esta publico en ningun foro. 
    Bueno los archivos que vamos a precisar son los siguientes:
     
    Parte del Src Client o Binario como lo conozcan:
    De la carpeta UserInterface:
    -.PythonAplication.cpp
    -.Locale_inc.h
    -.Instancebase.h
    -.Instancebase.cpp
    De la carpeta GameLib:
    -.ItemData.h
    -.ItemData.cpp
    -.ItemManager.cpp
    -.ItemManager.h
     
    Bueno sabiendo ya todo lo que vamos a precisar vamos con la guia
    UserInterface/PythonApplication.cpp Buscamos esta linea: snprintf(szSkillDescFileName, sizeof(szSkillDescFileName), "%s/skilldesc.txt", localePath); Damos un enter y pegamos la siguiente: #ifdef ENABLE_SHINING_SYSTEM snprintf(szShiningTable, sizeof(szShiningTable), "%s/shiningtable.txt", localePath); #endif Buscamos esta linea: char szItemDesc[256]; Damos un enter y pegamos la siguiente: #ifdef ENABLE_SHINING_SYSTEM char szShiningTable[256]; #endif Buscamos esta linea: if (!rkSkillMgr.RegisterSkillTable("data/common/skilltable.txt")) { TraceError("Error while loading skilltable.txt."); return false; } Damos un enter y pegamos la siguiente: #ifdef ENABLE_SHINING_SYSTEM if (!rkItemMgr.LoadShiningTable(szShiningTable)) { Tracenf("LoadLocaleData - LoadShiningTable(%s) Error", szShiningTable); } #endif  
    UserInterface/Locale_inc.h Aca agregaremos el siguiente define: #define ENABLE_SHINING_SYSTEM UserInterface/InstanceBase.h Aca buscamos la siguiente linea: DWORD m_armorRefineEffect; Pulsamos un enter y agregamos la siguiente linea: #ifdef ENABLE_SHINING_SYSTEM //2-Dimensions for Left & Right sided effects DWORD m_weaponShiningEffects[2][CItemData::ITEM_SHINING_MAX_COUNT]; DWORD m_armorShiningEffects[CItemData::ITEM_SHINING_MAX_COUNT]; DWORD m_acceShiningEffects[CItemData::ITEM_SHINING_MAX_COUNT]; #endif Aca quiero aclarar una cosa: Si en vuestro sistema de estolas de envez de llevar acce lleva sash cambian la linea anterior por esta: #ifdef ENABLE_SHINING_SYSTEM //2-Dimensions for Left & Right sided effects DWORD m_weaponShiningEffects[2][CItemData::ITEM_SHINING_MAX_COUNT]; DWORD m_armorShiningEffects[CItemData::ITEM_SHINING_MAX_COUNT]; DWORD m_sashShiningEffects[CItemData::ITEM_SHINING_MAX_COUNT]; #endif Ahora buscamos la siguiente linea: UINT __GetRefinedEffect(CItemData* pItem); Pulsamos un enter y agregamos la siguiente: #ifdef ENABLE_SHINING_SYSTEM void __GetShiningEffect(CItemData* pItem); void __ClearWeaponShiningEffect(bool detaching = true); void __ClearArmorShiningEffect(bool detaching = true); void __ClearAcceShiningEffect(bool detaching = true); void __AttachAcceShiningEffect(int effectIndex, const char* effectFileName, const char* boneName = "Bip01 Spine2"); void __AttachWeaponShiningEffect(int effectIndex, const char* effectFileName, const char* boneName = "Bip01"); void __AttachArmorShiningEffect(int effectIndex, const char* effectFileName, const char* boneName = "Bip01"); #endif Aca quiero explicar 1 cosa: Aca es lo mismo que en la anterior linea, si ustedes de envez de usar acce usan sash remplazan la linea por esta: #ifdef ENABLE_SHINING_SYSTEM void __GetShiningEffect(CItemData* pItem); void __ClearWeaponShiningEffect(bool detaching = true); void __ClearArmorShiningEffect(bool detaching = true); void __ClearSashShiningEffect(bool detaching = true); void __AttachSashShiningEffect(int effectIndex, const char* effectFileName, const char* boneName = "Bip01 Spine2"); void __AttachWeaponShiningEffect(int effectIndex, const char* effectFileName, const char* boneName = "Bip01"); void __AttachArmorShiningEffect(int effectIndex, const char* effectFileName, const char* boneName = "Bip01"); #endif UserInterface/InstanceBase.cpp Buscamos la siguiente funcion void CInstanceBase::SetArmor(DWORD dwArmor) { ... } Y dentro de esta funcion buscamos lo siguiente __GetRefinedEffect(pItemData); Pulsamos un enter y agregamos la siguiente linea: #ifdef ENABLE_SHINING_SYSTEM __GetShiningEffect(pItemData); #endif Quedando asi: __GetRefinedEffect(pItemData); #ifdef ENABLE_SHINING_SYSTEM __GetShiningEffect(pItemData); #endif Ahora dentro de la misma funcion buscamos la siguiente linea: __ClearArmorRefineEffect(); Pulsamos un enter y agregamos lo siguiente: #ifdef ENABLE_SHINING_SYSTEM __ClearArmorShiningEffect(); #endif UserInterface/InstanceBase.cpp Aca buscamos la siguiente funcion: void CInstanceBase::SetAcce "Recuerden que si su sistema de estolas no es acce lo cambian por Sash" { .... } Dentro de esta funcion buscamos lo siguiente: ClearAcceEffect(); Pulsamos un enter y agregamos la siguiente linea: #ifdef ENABLE_SHINING_SYSTEM __ClearAcceShiningEffect(); #endif Luego dentro de la misma funcion mas abajo buscamos lo siguiente: CItemManager::Instance().GetItemDataPointer(dwAcce, &pItemData); "Si no usan acce lo cambian por sash" Pulsamos enter y mas abajo pegamos lo siguiente: #ifdef ENABLE_SHINING_SYSTEM if (pItemData) __GetShiningEffect(pItemData); #endif Quedando asi: CItemManager::Instance().GetItemDataPointer(dwAcce, &pItemData); #ifdef ENABLE_SHINING_SYSTEM if (pItemData) __GetShiningEffect(pItemData); #endif m_GraphicThingInstance.AttachAcce(pItemData, fSpecular); UserInterface/InstanceBase.cpp "Ahora atentos en la siguiente funcion ya que si no lo hacen bien no funcionara en las armas ni en las skin" Buscamos la siguiente funcion: bool CInstanceBase::SetWeapon(DWORD eWeapon) { ... } Dentro de esta funcion buscamos la siguiente linea: __GetRefinedEffect(pItemData); Pulsamos un enter y agregamos lo siguiente: #ifdef ENABLE_SHINING_SYSTEM __GetShiningEffect(pItemData); #endif Ahora buscamos la siguiente linea: __ClearWeaponRefineEffect(); Pulsamos un enter y agregamos lo siguiente: #ifdef ENABLE_SHINING_SYSTEM __ClearWeaponShiningEffect(); #endif "AHORA MUY ATENTOS AL CODIGO QUE PONDRE EN PANTALLA DEBERAN DE HACERLO TAL CUAL LO DEJO ACA" "CON LOS CORCHETES TAL CUAL ESTAN EN LA FUNCION" MI CODIGO CItemData * pItemData; if (CItemManager::Instance().GetItemDataPointer(eWeapon, &pItemData)) { ---------------------------ESTOS CORCHETES DEBERAN DE AGREGARLOS TAL CUAL PUSE ACA __GetRefinedEffect(pItemData); #ifdef ENABLE_SHINING_SYSTEM __GetShiningEffect(pItemData); #endif } ---------------------------ESTOS CORCHETES DEBERAN DE AGREGARLOS TAL CUAL PUSE ACA else { ---------------------------ESTOS CORCHETES DEBERAN DE AGREGARLOS TAL CUAL PUSE ACA __ClearWeaponRefineEffect(); #ifdef ENABLE_SHINING_SYSTEM __ClearWeaponShiningEffect(); #endif } ---------------------------ESTOS CORCHETES DEBERAN DE AGREGARLOS TAL CUAL PUSE ACA return true; } UserInterface/Instancebase.cpp Ahora buscamos esta funcion void CInstanceBase::__Initialize() { ..... } Y dentro de ella vamos a buscar la siguiente linea: m_armorRefineEffect = 0; Pulsamos enter y agregamos la siguiente linea: #ifdef ENABLE_SHINING_SYSTEM __ClearWeaponShiningEffect(false); #endif UserInterface/InstanceBase.cpp Ahora agregamos todo este bloque completo al final del archivo #ifdef ENABLE_SHINING_SYSTEM void CInstanceBase::__GetShiningEffect(CItemData* pItem) { bool removeRefineEffect = true; CItemData::TItemShiningTable shiningTable = pItem->GetItemShiningTable(); if (pItem->GetType() == CItemData::ITEM_TYPE_WEAPON) { __ClearWeaponShiningEffect(); if (removeRefineEffect) { bool bRemove = false; for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) if (strcmp(shiningTable.szShinings[i], "")) bRemove = true; if (bRemove) __ClearWeaponRefineEffect(); } for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(shiningTable.szShinings[i], "")) { #ifdef ENABLE_WOLFMAN_CHARACTER bool twoSidedWeapon = pItem->GetSubType() == CItemData::WEAPON_DAGGER || pItem->GetSubType() == CItemData::WEAPON_CLAW || (IsMountingHorse() && pItem->GetSubType() == CItemData::WEAPON_FAN); #else bool twoSidedWeapon = pItem->GetSubType() == CItemData::WEAPON_DAGGER || (IsMountingHorse() && pItem->GetSubType() == CItemData::WEAPON_FAN); #endif if (twoSidedWeapon) { __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON_LEFT"); } if (pItem->GetSubType() == CItemData::WEAPON_BOW) __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON_LEFT"); else __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON"); } } } #ifdef ENABLE_COSTUME_SYSTEM else if (pItem->GetType() == CItemData::ITEM_TYPE_COSTUME) { #ifdef ENABLE_ACCE_SYSTEM if (pItem->GetSubType() == CItemData::COSTUME_ACCE) { for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(shiningTable.szShinings[i], "")) { __AttachAcceShiningEffect(i, shiningTable.szShinings[i], "Bip01 Spine2"); } } } #endif else if (pItem->GetSubType() == CItemData::COSTUME_BODY) { if (removeRefineEffect) { __ClearArmorRefineEffect(); } for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(shiningTable.szShinings[i], "")) { __AttachArmorShiningEffect(i, shiningTable.szShinings[i]); } } } #ifdef ENABLE_WEAPON_COSTUME_SYSTEM else if (pItem->GetSubType() == CItemData::COSTUME_WEAPON) { __ClearWeaponShiningEffect(); if (removeRefineEffect) { __ClearWeaponRefineEffect(); } for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(shiningTable.szShinings[i], "")) { bool twoSidedWeapon = pItem->GetValue(3) == CItemData::WEAPON_DAGGER || (IsMountingHorse() && pItem->GetValue(3) == CItemData::WEAPON_FAN); if (twoSidedWeapon) { __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON_LEFT"); } if (pItem->GetValue(3) == CItemData::WEAPON_BOW) __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON_LEFT"); else __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON"); } } } #endif } #endif else { if (removeRefineEffect) { __ClearArmorRefineEffect(); } for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(shiningTable.szShinings[i], "")) { __AttachArmorShiningEffect(i, shiningTable.szShinings[i]); } } } } //Attaching the shining effect. //BoneName can be "PART_WEAPON" or "PART_WEAPON_LEFT" to get the attaching bone name dynamically. //If boneName is not given "Bip01" is used as boneName. void CInstanceBase::__AttachWeaponShiningEffect(int effectIndex, const char* effectFileName, const char* boneName) { if (IsAffect(AFFECT_INVISIBILITY)) { return; } if (effectIndex >= CItemData::ITEM_SHINING_MAX_COUNT) { return; } CEffectManager::Instance().RegisterEffect(effectFileName, false, false); if (!strcmp(boneName, "PART_WEAPON")) { const char* c_szRightBoneName; m_GraphicThingInstance.GetAttachingBoneName(CRaceData::PART_WEAPON, &c_szRightBoneName); if (c_szRightBoneName == NULL) return; if (strcmp(c_szRightBoneName, "")) { m_weaponShiningEffects[0][effectIndex] = m_GraphicThingInstance.AttachEffectByName(0, c_szRightBoneName, effectFileName); } } else if (!strcmp(boneName, "PART_WEAPON_LEFT")) { const char* c_szLeftBoneName; m_GraphicThingInstance.GetAttachingBoneName(CRaceData::PART_WEAPON_LEFT, &c_szLeftBoneName); if (c_szLeftBoneName == NULL) return; if (strcmp(c_szLeftBoneName, "")) { m_weaponShiningEffects[1][effectIndex] = m_GraphicThingInstance.AttachEffectByName(0, c_szLeftBoneName, effectFileName); } } else { Tracef("Invalid partname for getting attaching bone name. %s - %s", effectFileName, boneName); } } //Attaching the armor shining effect. //If boneName is not given "Bip01" is used as boneName. void CInstanceBase::__AttachArmorShiningEffect(int effectIndex, const char* effectFileName, const char* boneName) { if (IsAffect(AFFECT_INVISIBILITY)) { return; } if (effectIndex >= CItemData::ITEM_SHINING_MAX_COUNT) { return; } if (!strcmp(boneName, "")) { Tracef("Empty bone name for attaching armor shining. Effect Index: %i, EffectFileName: %s", effectIndex, effectFileName); return; } CEffectManager::Instance().RegisterEffect(effectFileName, false, false); m_armorShiningEffects[effectIndex] = m_GraphicThingInstance.AttachEffectByName(0, boneName, effectFileName); } //Clears all weapon shining effects. Left & Right if set. void CInstanceBase::__ClearWeaponShiningEffect(bool detaching) { for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (m_weaponShiningEffects[0][i]) { if (detaching) { __DetachEffect(m_weaponShiningEffects[0][i]); } m_weaponShiningEffects[0][i] = 0; } if (m_weaponShiningEffects[1][i]) { if (detaching) { __DetachEffect(m_weaponShiningEffects[1][i]); } m_weaponShiningEffects[1][i] = 0; } } } //Clears all armor shining effects. void CInstanceBase::__ClearArmorShiningEffect(bool detaching) { if (detaching) { for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (m_armorShiningEffects[i]) { __DetachEffect(m_armorShiningEffects[i]); } } } memset(&m_armorShiningEffects, 0, sizeof(m_armorShiningEffects)); } #endif #ifdef ENABLE_SHINING_SYSTEM #ifdef ENABLE_ACCE_SYSTEM void CInstanceBase::__AttachAcceShiningEffect(int effectIndex, const char* effectFileName, const char* boneName) { if (IsAffect(AFFECT_INVISIBILITY)) { return; } if (effectIndex >= CItemData::ITEM_SHINING_MAX_COUNT) { return; } if (!strcmp(boneName, "")) { Tracef("Empty bone name for attaching armor shining. Effect Index: %i, EffectFileName: %s", effectIndex, effectFileName); return; } CEffectManager::Instance().RegisterEffect(effectFileName, false, false); m_acceShiningEffects[effectIndex] = m_GraphicThingInstance.AttachEffectByName(0, boneName, effectFileName); } #ifdef ENABLE_ACCE_SYSTEM void CInstanceBase::__ClearAcceShiningEffect(bool detaching) { for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (detaching) { __DetachEffect(m_acceShiningEffects[i]); } m_acceShiningEffects[i] = 0; } } #endif #endif #endif UserInterface/InstanceBase.cpp "Ahora os voy a explicar algo" En el caso de que vuestro sistema de estolas no lleve el define acce, deberan de cambiar el codigo del sistema en las partes que llevan acce por sash "Por ejemplo en el bloque que agregan en InstanceBase.cpp" Ese lleva ACCE como Define, ustedes deberan de agregar el define de su sistema de estolas GameLib/ItemManager.h Aca buscan la siguiente linea: bool LoadItemTable(const char* c_szFileName); Pulsan enter y agregan lo siguiente: #ifdef ENABLE_SHINING_SYSTEM bool LoadShiningTable(const char* c_szFileName); #endif GameLib/ItemManager.cpp Ahora buscan la siguiente funcion bool CItemManager::LoadItemTable(const char* c_szFileName) { ... } Y debajo de la funcion completa pulsan enter y agregan el siguiente bloque #ifdef ENABLE_SHINING_SYSTEM bool CItemManager::LoadShiningTable(const char* szShiningTable) { CMappedFile File; LPCVOID pData; if (!CEterPackManager::Instance().Get(File, szShiningTable, &pData)) return false; CMemoryTextFileLoader textFileLoader; textFileLoader.Bind(File.Size(), pData); CTokenVector TokenVector; for (DWORD i = 0; i < textFileLoader.GetLineCount(); ++i) { if (!textFileLoader.SplitLine(i, &TokenVector, "\t")) continue; if (TokenVector.size() > (1 + CItemData::ITEM_SHINING_MAX_COUNT)) { TraceError("CItemManager::LoadShiningTable(%s) - LoadShiningTable in %d\n - RowSize: %d MaxRowSize: %d", szShiningTable, i, TokenVector.size(), CItemData::ITEM_SHINING_MAX_COUNT); } const std::string & c_rstrID = TokenVector[0]; DWORD dwItemVNum = atoi(c_rstrID.c_str()); CItemData * pItemData = MakeItemData(dwItemVNum); if (pItemData) { for (BYTE i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (i < (TokenVector.size()-1)) { const std::string & c_rstrEffectPath = TokenVector[i + 1]; pItemData->SetItemShiningTableData(i, c_rstrEffectPath.c_str()); } else { pItemData->SetItemShiningTableData(i, ""); } } } } return true; } #endif GameLib/ItemData.h Buscan la siguiente linea: ITEM_SOCKET_MAX_NUM = 3, Pulsan un enter y agregan la siguiente debajo #ifdef ENABLE_SHINING_SYSTEM ITEM_SHINING_MAX_COUNT = 3, #endif Ahora buscan la siguiente linea: void SetItemTableData(TItemTable * pItemTable); Pulsan enter y debajo agregan la siguiente: #ifdef ENABLE_SHINING_SYSTEM typedef struct SItemShiningTable { char szShinings[ITEM_SHINING_MAX_COUNT][256]; public: //Checking if any shining is set for this item. bool Any() const { for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(szShinings[i], "")) { return true; } } return false; } } TItemShiningTable; void SetItemShiningTableData(BYTE bIndex, const char* szEffectname); CItemData::TItemShiningTable GetItemShiningTable() { return m_ItemShiningTable; } #endif Ahora buscan la siguiente linea: TItemTable m_ItemTable; Pulsan enter y debajo pegan la siguiente: #ifdef ENABLE_SHINING_SYSTEM TItemShiningTable m_ItemShiningTable; #endif GameLib/ItemData.cpp Ahora buscan la siguiente funcion: BOOL CItemData::IsEquipment() const { .... } Debajo de la funcion agregan lo siguiente: #ifdef ENABLE_SHINING_SYSTEM void CItemData::SetItemShiningTableData(BYTE bIndex, const char* szEffectname) { sprintf(m_ItemShiningTable.szShinings[bIndex], szEffectname); } #endif Ahora buscan la siguiente funcion: void CItemData::Clear() { ..... } Dentro de esa misma funcion buscan la siguiente linea: memset(&m_ItemTable, 0, sizeof(m_ItemTable)); Pulsan un enter y agregan la siguiente linea: #ifdef ENABLE_SHINING_SYSTEM memset(&m_ItemShiningTable, 0, sizeof(m_ItemShiningTable)); #endif  
    Parte del cliente Va a su locale y agregan el archivo que os dejare debajo "Como funciona el sistema y que hago para implementar un arma, ala o efecto de armadura" Bueno para implementar todo el mundo ya conoce como se implementa una arma o estola. Agregan la parte de la db luego item_list.txt, item_proto "Pero aca si usan arma 3D en el archivo haran lo siguiente" 61202 "D:/ymir work/effect/plechito/weapons/dark_cult_set/bell_glow.mse" El 61202 es el vnum del arma, armadura o ala que llevara el efecto Y al lado va la ruta del mse "Asegurese que el efecto esta completo Y ya eso es todo  
    Y eso seria todo
     
    Adjunto foto de como funciona el sistema correctamente
     

     
    Si lo hacen tal cual le explique en la guia el sistema le funcionara correctamente. 
     
    Adjunte foto cuando metan el sistema, no cuesta nada.
     
    Archivo parte del cliente

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  9. Me Gusta
    CMolina reacted to NazoX in Gran Aporte "SISTEMA SHINING COMPLETO"   
    Ta to flama esa imagen como se consigue ese skin :V
  10. Me Gusta
    CMolina reacted to PACI in [Release] Templo del Dragón - Reworked   
    otra mierda que desarrollé y no quise terminar.
     

     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    pd: los modelos no son míos, no sé quien es el autor, pero gracias.
  11. Me Gusta
    CMolina reacted to MiGueLiT0 in ALAS PJ 3 TIPOS DE COLOR   
    Molan las alas
  12. Me Gusta
    CMolina reacted to CHELO in [c++] Sistema Kill - Rachas   
    Link:
     
  13. Me Gusta
    CMolina reacted to ChuchoGamer in Efectos de Armaduras   
    Hola muy buenas tardes les comporato estos Efectos de armaduras que son bastante buenos Espero que les gusten 



    Link de Descarga 

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
  14. Me Gusta
    CMolina reacted to santos2002 in arma con effecto   
    buenas 
    alguien sabe como implamentarlo
    yo no lo he conseguido solo se ve el arma pero el effecto no me sale sale 
    si alguien sabe hacerlo contacte conmigo
    skype 
    metin2santos

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
  15. Me Gusta
    CMolina reacted to ChuchoGamer in Traje demoníaco y armas (con Wolfman) #1   
    buenas aqui les comparto esta skin de armas y atuendo que son muy buenos espero que les guste 

    Debes iniciar sesión para ver el contenido del enlace en esta publicación. Atuendo de Armadura
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. Atuendo de Armas  
    Espero que les gustes 
    Link de Descarga : 
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. Fuente: Turkkmmo
  16. Me Gusta
    CMolina reacted to TrafalgarLaw in Recursos TrafalgarLow 3-4 GB   
    Paquete De Recursos Recopilado por mucho tiempo. Disfrutenlo.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    DEN +1, NO SEAN MAL AGRADECIDOS❤️

    Debes iniciar sesión para ver el contenido del archivo adjunto en esta publicación.
  17. Gracias
    CMolina reacted to jegarba2 in Instalación de ItemShop 2.0 Metin2 + Vídeo   
    como la monto para via hamachi
  18. Me Gusta
    CMolina reacted to RecursosMóviles in Instalación de ItemShop 2.0 Metin2 + Vídeo   
    Hola a todos!
    A continuación vamos a explicar como realizar la instalación de la ItemShop que proporciona
    Recursos Móviles para los clientes de Metin2.
    1) Accederemos con nuestro usuario a
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    2) En el menú de WEBMASTER entraremos en Herramientas ? Scripts ItemShop
     
    3) Una vez dentro de la sección Scripts Itemshop, descargaremos la ItemShop para Metin2:

     
    4) Extraemos los ficheros a una carpeta o directorio, por ejemplo itemshop, nos quedará algo así:

     
    5) Subimos la carpeta o directorio itemshop a nuestro Hosting.
    6) Deberemos acceder por el navegador a la ruta relativa /itemshop/setup_mysql.php (Ej:
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    7) Una vez aquí configuraremos los datos para la conexión con nuestra base de datos:

     
    En el caso del ejemplo utilizaremos los siguientes datos de conexión:
    Host: localhost (Si tenéis base de datos remota tendréis que poner la IP de la base de
    datos)
    Login: semontejano (Usuario de la base de datos, normalmente es root)
    Password: aquí hay que poner la contraseña de acceso a la base de datos
    Bases de datos a crear: itemshop o itemshoprm por ejemplo…
     
     
    Una vez configurado los datos, le daremos a Crear para crear la base de datos y tablas
    utilizadas por la ItemShop.
     
     
    8) Como nos indica, falta configurar el archivo config.fn.php que vamos a continuación y
    borrar el archivo setup_mysql.php
    9) Pasamos a configurar el config.fn.php, solo tenemos que completar con nuestros datos,
    está comentando que es cada cosa y si tenéis dudas podéis contactar con el Soporte de
    Recursos Móviles:
     
     
     
    Una vez configurado el config.fn.php guardamos y ya podemos acceder a nuestra
    itemshop con los datos de administración o una cuenta del juego.
    Desde el navegador:
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    administracion / passadmin
    ¡Y ya tenemos instalada nuestra ItemShop para Metin2!
     
    Versión en Vídeo: 
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  

       
     
  19. Gracias
    CMolina reacted to SeMa™ in [Master Set] Armas By Plechito.   
    Buenas a todos , tras sacar todo de la web de plechito , os vengo a traer un set de armas.
     
     

     
     
    master_set.rar (2.0 MB)

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Un saludo, SeMa
  20. Me Gusta
    CMolina reacted to Akinox2 in [Dungeon] Meley   
    Pues eso, que otra vez la publico xdxddxd
     
    Link: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
     
    Que la disfruten
  21. Me Gusta
    CMolina reacted to TuMAMAmEToca in [C++] Evento del 10º Aniversario   
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  22. Me Gusta
    CMolina reacted to Kronixer™ in Sistema de información de mazmorras [DUNGEON INFO]   
    Vi que este un post de este sistema pero no tenia link ahi lo dejo
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  23. Me Gusta
    CMolina reacted to Kenshi Torres in 17 alas animadas   
    Link:
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.   

     
     
  24. Me Gusta
    CMolina reacted to Kronixer™ in Montura en atuendo.   
    Ésta es una extensión para el sistema Mount Follow.

     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación. 
  25. Me Gusta
    CMolina reacted to 𝗔𝗿𝗲𝘀 in [SOLICITUD SISTEMA]   
    ENCONTRADO CIERREN POST
×
×
  • Crear nuevo...