Jump to content

santos2002

Miembro
  • Contador contenido

    168
  • Ingreso

  • Última visita

  • Días ganados

    1

Actividad de reputación

  1. Me Gusta
    santos2002 reacted to CHELO in [c++] Inventario especial   
    Link del fix:
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  2. Me Gusta
    santos2002 reacted to 【ℛ-𝓝】ℛ𝔂𝓼𝒆 in [SERVERFILES] Kallavi2 v2   
    Game-MySQL: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    MakePack: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Cliente: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Source: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Desactivar licencia: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
     
     
     
     
     
    AGRADECE CON ESTE BOTÓN
    🡃
  3. Me Gusta
    santos2002 reacted to Ahmed Sha'ban in Files Marty 4.9.89 r88 Arabic   

    --------
    Download
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    ----
    Discord
    All Language

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  4. Me Gusta
    santos2002 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.
  5. Me Gusta
    santos2002 reacted to MiGueLiT0 in ServerFiles Neoria2.   
    Presentacion:
     
    Video:
    Link Descarga: 


  6. Me Gusta
    santos2002 reacted to VIKSANT in SF MartySama 4.9.89 r88   
    Buenas:
    He instalado e iniciado el server correctamente, pero implemento una quest, todo bien, la compilo pero no me funciona ninguna.
    Elimino todas las quests, y siguen alli. He probado de todo, cual creen que pueda ser el error? Un saludo
     
  7. Me Gusta
    santos2002 reacted to [D]ELARO ✓ in SF MartySama 4.9.89 r88   
    Estos files ya estaban en el foro pero esta caído el link así mismo como en el foro turco, los files son de Legendy con base MartySama en su versión 4.9.89 r88
    #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #
    CONTENIDO:
    Solo traduje a español en cliente y servidor item_proto, mob_proto, locale_game y locale_interface.
    Falta traducir quest, locale_string y algunas cosas mas en locale_interface que son "sistemas" añadidos, pero eso ya será cosa de ustedes.
    Si hay bugs y sus fixes podrían añadirlo en comentarios y yo podría añadirlo despues al post.
    #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #
    VDI: se recomienda asignar al vdi mínimo 4gb de ram, no probé con menor cantidad.
    Mysql 5.6
    GCC6
    Visual Studio 2019
    VDI:
    Usuario: root Contraseña: delaro
    Mysql:
    Usuario: root Contraseña: 12345
    Esta montado directamente en un VDI funcionando sin ningún problema y ya listo para compilar source game.
    Una vez hayan configurado su ip con el comando bsdconfig, para iniciar pueden hacerlo como yo normalmente lo hago, cd /admin ENTER sh admin.sh ENTER y tendrán el menú a la vista, ya solo seria escribir 1 ENTER e iniciaran los 2 channels sin ningún tipo de complicaciones.
    #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #
    CUENTA GM:
    Usuario: marty Contraseña: 1
     
    IMAGENES DENTRO DEL JUEGO:
     
    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.
     
    LINK DE DESCARGA:
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
     
     
  8. Me Gusta
    santos2002 reacted to CurroSB in [REUPLOAD]Serverfiles martysama v4 RO   
    Hola, a la hora de meter el game.gz y el mysql.gz me tira error, alguna solucion?
    Gracias de antemano.
  9. Me Gusta
    santos2002 reacted to Frezi Op in VDI-FREEBSD13-GCC8-9-10-11-MYSQL56   
    VDI CON SISTEMA OPERATIVO FREEBSD
    PRACTICAMENTE EL FREEBSD ACTUAL LISTO PARA MONTAR FILES METIN
    Cuenta con GCC8 GCC9 GCC10 Y GCC 11
    MYSQL56
    Librerias Actualizadas
    PYTHON38-3..8.13
    LINK DE DESCARGA DEBAJO 
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    user: root
    pssw: dev


    NOTA: EL VDI NO ESTA IMPLEMENTADO POR MI
  10. Me Gusta
    santos2002 reacted to ChuchoGamer in Set de Accesorios Zelda of Ocarina   
    Muy buenas Aqui les comparto estos Accesorios que Cree Espero que les gusten para traerles mas contenido
    Link de la foto del set de accesorios

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

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Contraseña del rar: bychuchogamer
     
  11. Me Gusta
    santos2002 reacted to Frezi Op in AutopatchC++   
    No doy soporte de instalación gratuita.
    Pero les dejo los archivos completos 
    la imagen de interface se encuentra en los archivos
    link de descarga :
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  12. Me Gusta
    santos2002 reacted to PACI in Ranking De Kills   
    Hola MZ, como no hacia nada pensé en dejaros el la quest de ranking de kills que tengo en mi server, la he traducido para español.
     
    Bueno, método simple:
     
    Se descargan
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Después se conectan al FTP ( Filezilla o WinSCP ), se dirigen a:
     

    /usr/rain/channel/share_data/locale/spain/quest En caso de tener otras files, solo cambian la parte de " rain " para el otro nombre
     
    Y Mueven la quest hacia ai. Despues de eso, abre el archivo locale.lua y al final ponen:

    Kills.quest Despues van a la maquina virtual y escriben esto:

    cd /usr/rain/channel/share_data/locale/spain/quest Le dan ENTER
     
    Y despues escriben esto:

    ./qc Kills.quest Despues o dan reboot, o con un personage GM hacen /reload q
     
    Y es todo...
     
    Buenas Noches
     
    Me olvide de que esto iba en Quests Metin2 --"
  13. Me Gusta
    santos2002 reacted to Frezi Op in Scorpion Dungeon+Quest+mission   
    COMPLETE FILES
    DUNGOEON+QUEST+MISSION 
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
     

  14. Me Gusta
    santos2002 reacted to Croqueta in [Release]arma   
    con esta quest sepuede cambiar perlas con armas cuando ablan con el npc creo que era el pescador

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  15. Me Gusta
    santos2002 reacted to Happy in [Quest]Premium users   
    Hace 2 quests, la primera para activar la quest: 
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    (a partir de esto podeis hacer que reciban bonus especiales, yo eh echo una tienda premium)
     
    Tienda para premium users: 
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Espero que les guste
  16. Me Gusta
    santos2002 reacted to KeKo in [Sistema] Puntos Metin   
    Buenas zoneros y zoneras,
     
    Hace tiempo que no posteaba ninguna quest, asi que hoy me ha dado por haceros un "mini-sistema" para que lo podais meter en vuestro servidores si os gusta
     
    Lo he llamado sistema de "Puntos Metin" y como el nombre sugiere tiene que ver con los metines. Por cada metin que destruyas en el servidor obtendrás una determinada cantidad de un item que yo bautize como "Esfera Metin" pero que cada uno puede llamar como quiera (yo os dejo el tga del item por si lo quereis).
     
    Las esferas que te da cada metin son diferentes (configurables a voluntad) y ademas os he hecho un npc de canjes para que podais llevar vuestras esferas metin y canjearlas por los items que querais (vosotros configurais el npc) .
     
    Primero unas fotitos del proceso:
     
    1 - Petando un metin, te da esferas:
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    * Detalle: La quest reconoce automaticamente que metin destruyes y te da los puntos correspondientes a ese metin, mas abajo os enseñare a editar los puntos.
     
    2 - Esta es una esfera metin:
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    3 - Vamos al npc de los canjes:
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    4 - Elegimos el item a canjear:
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    5 - Si no tenemos las esferas suficientes saldra este mensaje, si las tenemos nos dara el item y nos quitara las esferas correspondientes (podeis poner el coste de cada item al lado del nombre en el local).
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Y bueno ahora que os he explicado un poco como va, aqui os dejo la quest:
     
     
     
     
    (Aqui en pastebin para quien la prefiera tener con las tabs
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.)  
    Y bueno ahora os voi a enseñar como editarla:
     
    Paso 1 - Los metines:
     
    Para añadir nuevos metines ponemos su id en el array y vamos a configurarles el nombre y esferas que daran:
     

    local metin = { [8001] = {1,"Metin de Dolor"}, [8002] = {1,"Metin de Combate"}, [8003] = {2,"Metin de Batalla"}, [8004] = {2,"Metin de Avaricia"}, [8005] = {3,"Metin Negro"}, [8006] = {3,"Metin de Oscuridad"}, [8007] = {3,"Metin de Celos"}, [8008] = {4,"Metin de Alma"}, [8009] = {4,"Metin de Sombra"}, [8010] = {5,"Metin de Dureza"}, [8011] = {5,"Metin de Demonio"}, [8012] = {6,"Metin de Caida"}, [8013] = {6,"Metin de Muerte"}, [8014] = {8,"Metin Asesino"}, [8024] = {10,"Metin Pung-Ma"}, [8025] = {11,"Metin de Ma-An"}, [8026] = {12,"Metin de Tu-Young"}, [8027] = {13,"Metin Jeon-Un"} } Este array contiene 3 elementos
     

    [8027] Entre [ ] la id del metin de nuevo, si quereis añadir uno nuevo la poneis igual
     

    {12,"Metin de Tu-Young"}, Entre { va primero la cantidad de esferas que dara (en este caso 12) una coma y luego entre " " el nombre del metin (es opcional, lo dice por el chat al peta uno).
     
    Si quereis añadir una nueva linea pos haceis asi:
     

    {esferas,"nombre"}, Ojo! El ultimo de los metines NO debe llevar una , al acabar el }
     
    Y lo ultimo es poner la id de las esferas en el give_item
     

    pc.give_item2("27003",metin[npc.get_race()][1]) Donde yo tengo 27003 (si, las potas rojas G, me aburria xd) vosotros pondreis la id que le pongais a la esfera (o el item que useis).
     
    Paso 2: El npc de los canjes
     
    Podeis ponerle tantos canjes como querais, yo en este caso he puesto 7 posibles canjes que podemos editar de la siguiente manera:
     

    local elegir = select("Item1","Item2","Item3","Item4","Item5","Item6","Item7","Cancelar") Ponemos el nombre del item en cada caso. Si quereis añadir mas podeis hacer otra pagina (aunque a la segunda tendreis que hacerle vosotros las condiciones :trollface: ).
     
    Luego debeis configurar este array:
     

    local premios = { {27002,1,27003,1}, -- Premio1 {27002,5,27003,2}, -- Premio2 {27002,10,27003,3}, -- Premio3 {27002,15,27003,4}, --Premio4 {27002,50,27003,5}, --Premio5 {27002,100,27003,6}, --Premio6 {27002,200,27003,7} --Premio7 (sin la , despues del } recordad) } Os explico que hace cada cosa:
     
    - El 27002 es el item que te daran al canjear cada elemento.
    - El numero siguiente es la cantidad del premio que te daran.
    - El tercer elemento es la id de las esferas o el item que useis como necesario para canjear
    - El cuarto elemento es la cantidad de esferas que pedira cada premio.
     
    Si quereis añadir mas recordar que el local anterior esta ligado a este, asi que si haceis otra pagina tendreis que usar otro array (o hacerlo normal).
     
    Y eso seria todo, el resto de la quest ya esta configurada.
     
    Espero que os guste :tiocereales:
     
    P.D: Os dejo adjunto el icono de la esfera metin (solo icono sin item_proto ni na ya lo haceis vosotros :trolldad: )

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  17. Me Gusta
    santos2002 reacted to tuora in Tuora - DESIGN / ANIMATION / TRAILER & MORE   
    DISCORD : Tuora#9394
    EMAIL : [email protected]
  18. Me Gusta
    santos2002 reacted to TWD HD in Sell Client interface (Patcher, Login, Create, Select)   
    The design is made from the design made at Anelia2, I don't want any reproach on Anelia2 I have no guilt that it was a homepage posted on the internet.
    I bought this interface for 50 euros but I gave up on metin2. but I can sell it
    If anyone wants it, I'm waiting for you to contact me ATTENTION! contains only PSD files and is not coded.
    Price: 50 euro!
     
    Discord contact: Query#8795
     
    Autopatcher Design:

     
    Create Caracter:

     
    Create Kingdom:

     
    Login:

     
     
    Select Caracter:

  19. Me Gusta
    santos2002 reacted to Kronixer™ in HEMERA2 - Serverfiles Multi Lang   
    Bueno chicos por ahí navegando encontré esto por si alguien lo quiere


    Detalles:
    -Se abrió en 2019 como si
    -Ni siquiera marty v10 no se limpia como se limpia este sv y es de 2019
    -EREN3 (TODOS LOS 3) se construyeron en este servidor. MySQL con 800-1400 jugadores no supera el 10% en eren3 donde es la sopa de sistemas, luego esto.
    -Multilang está hecho por exygo, no creo que haya multilang más completo que este, al menos en la red
    -0 encabezados de paquetes desconocidos
    -0 fallas
    -atención EJECUTAR EN MYSQL5.6
    - PROTO SQL
    -python 2.7 estático
    -la mayoria de las protecciones anti-hack estan aqui y de momento bloquean absolutamente cualquier funcion de los hacks actuales, al menos m2bob y lalaker sus funciones no funcionan desde entonces


    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.

     
  20. Me Gusta
    santos2002 reacted to Frezi Op in Autopatch DIsponible con PSD Via Torrent   
  21. Me Gusta
    santos2002 reacted to 【ℛ-𝓝】ℛ𝔂𝓼𝒆 in [C++] WhatsApp Emoji System   
    DESCARGA: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  22. Me Gusta
    santos2002 reacted to clocki in Trinity 50.1 Serverfiles   
    Me he encontrado estos serverfiles los Trinity 50.1 se supone que son estos de
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.. No los he probado, funciona con MySQL 5.6 para compilar creo que en FreeBSD 13 es el paquete llvm90 (repito no lo he probado)
    Pego el locale.h
     
    #ifndef __INC_SERVICE_H__ #define __INC_SERVICE_H__ #define _IMPROVED_PACKET_ENCRYPTION_ // ÆÐŶ ¾Ïȣȭ °³¼± #define __PET_SYSTEM__ #define __UDP_BLOCK__ #define __EVENT_BANNER_FLAG__ /// < Game event banner flags #define __ALIGNMENT_AFFECT__ // Alignment affect #define ENABLE_CUBE_RENEWAL_WORLDARD #ifdef ENABLE_CUBE_RENEWAL_WORLDARD #define ENABLE_CUBE_RENEWAL_COPY_WORLDARD #define ENABLE_CUBE_RENEWAL_GEM_WORLDARD #endif /// OSF_WORK #define __WOLFMAN_CHARACTER__ // Wolfman character #ifdef __WOLFMAN_CHARACTER__ // #define __DISABLE_WOLFMAN_CREATION__ // Disable Wolfman creation #define __PLAYER_PER_ACCOUNT5__ // Enable 5 players per account #endif #define __SWAP_ITEM_SYSTEM__ // Swap items between inventory slots #define __SORT_INVENTORY_ITEMS__ // Sorts all inventory items #define __ITEM_DROP_RENEWAL__ // Item drop renewal #define __INVENTORY_4PAGES__ // 4 inventory pages #define __SPECIAL_INVENTORY_SYSTEM__ // Special inventory #define __MINI_GAME_OKEY__ // Mini game okey/runi #define __MINI_GAME_CATCH_KING__ // Mini game catch king #define __SEND_TARGET_INFO__ // Monster target information #define __SEND_TARGET_ELEMENT__ // Target element #define __7AND8TH_SKILLS__ // 7 and 8th skill #define __NEW_BLEND_AFFECT__ // New blend affect #define __12ZI_NOTICE__ // 12ZI mission notice #define __NEW_DROP_DIALOG__ // New drop dialog with remove item option #define __GUILD_LEADER_GRADE_NAME__ // Shows guild leader grade name on text tail #define __MESSENGER_BLOCK_SYSTEM__ // Messenger block list #define __MESSENGER_GM__ // Messenger gm list #define __VIEW_TARGET_DECIMAL_HP__ // View targets decimal hp #ifdef __VIEW_TARGET_DECIMAL_HP__ #define __VIEW_TARGET_PLAYER_HP__ // View target players' hp #endif #define __QUIVER_SYSTEM__ // Ninja quiver #define __IGNORE_LOW_POWER_BUFF__ // Ignore low power buff #define __CHANGE_LOOK_SYSTEM__ // Change look of item #define __HIDE_COSTUME_SYSTEM__ // Hide costume part #define __OFFLINE_PRIVATE_SHOP_SYSTEM__ // Offline private shop #define __DUNGEON_INFO_SYSTEM__ // Dungeons informations #define __EXPRESSING_EMOTIONS__ // Special actions & emotions #define __GENDER_ALIGNMENT__ // Gender alignment #define __REFINE_FAIL_TYPE__ // Extended refine fail message #define __GACHA_SYSTEM__ // Gacha boxes (x use time) #define __9THSKILL__ // 9th skill's #define __BL_WEATHER_INFO__ #define __ELEMENT_SYSTEM__ // Elements of monsters and pendants #define __PENDANT_SYSTEM__ // Talismans of elements // #define __USE_SINGLE_ADD_ATTRIBUTE__ // Use single add attribute #define __MAGIC_REDUCTION__ // Magic Reduction #define __EXTENDED_ITEM_AWARD__ // Extended item award #define __GROWTH_PET_SYSTEM__ // Growth pet system #define __SPECIAL_PVP_DUEL_OPTION__ // Special PvP duel with arguments (without critcal, penetration, posion and others...) #define __FLAG_IMAGE_SHOUT_LINE__ // Display's kingdoom flag in shout line #define __SOUL_BIND_SYSTEM__ // Soul bind items #define __QUEST_RENEWAL__ // Quest renewal with categories #define __AUTO_BLEND_AFFECT__ // Auto blend item affect #define __ANTI_EXP_RING__ // Anti experience ring #define __MOVE_CHANNEL__ // Move channel system #define __MAILBOX_SYSTEM__ // Mailbox system #if defined(__MAILBOX_SYSTEM__) #define _PORTABLE_MAILBOX_ // Portable Mailbox system (open anywhere) #endif /* #define __SHOPEX_RENEWAL__ // ShopEX renewal #ifdef __SHOPEX_RENEWAL__ #define __SHOPEX_TAB4__ // ShopEX 4 tabs #endif */ #define __SOUL_SYSTEM__ // Soul system #define __SKILL_COLOR_SYSTEM__ // Skill color system #define __DS_GRADE_MYTH__ // Dragon soul mythical grade #define __PRIVATE_SHOP_SEARCH_SYSTEM__ // Search private shop items #ifdef __PRIVATE_SHOP_SEARCH_SYSTEM__ #define __PRIVATE_SHOP_SEARCH_NEED_ITEM__ // Require special search item #endif #define __EXTENDED_DSS_RECHARGE__ // Dragon soul extended recharge #define __EXTENDED_ITEM_COUNT__ // Extend the amount of items #define __ITEM_SOCKET5__ // Extend item sockets #define __EXTENDED_BLEND__ // Extened blend affect #define __STONE_OF_BLESS__ // New refine item #define __DICE_SYSTEM__ // New dice system #define __DS_SET__ // Dragon soul handle bonus #define __MULTI_LANGUAGE_SYSTEM__ // Multi language system #define __EXTENDED_COSTUME_RECHARGE__ // Costume extended recharge #define __BATTLE_PASS_SYSTEM__ // Battle pass system #define __PLAYER_PIN_SYSTEM__ // Player PIN Code #define __SKILLBOOK_COMB_SYSTEM__ // Skill book combination #define __ATTR_SWITCH_SYSTEM__ // Attribute switcher (switch bot) #define __EXTENDED_WHISPER_DETAILS__ // Extended whisper details // #define __ITEM_POWER_SYSTEM__ // Item power #define __CHANNEL_STATUS_UPDATE__ // Channel player count #define _IMPROVED_LOGOUT_POINTS_ // Improved update packet on logout #define __DISABLE_SEND_SEQUENCE__ // Disable sequence // #define __ALLOW_EXTERNAL_PEER__ // Allow external peer API #define __SKILL_COOLTIME_UPDATE__ // Refresh skill cooldown after death /// WJ_WORK #define __WJ_SHOW_MOB_INFO__ // Show monster aggregate flag and level #define __WJ_PICKUP_ITEM_EFFECT__ // Pickup item effect #define __WJ_NEW_USER_CARE__ // User care /// Costume Systems #define __COSTUME_SYSTEM__ // Costume system #define __MOUNT_COSTUME_SYSTEM__ // Mount costume system #define __ACCE_COSTUME_SYSTEM__ // Sash costume system #define __WEAPON_COSTUME_SYSTEM__ // Weapon costume system #define __COSTUME_ATTR_SYSTEM__ // Costume attribute switchers /// Cheque & Gem System #define __CHEQUE_SYSTEM__ // Won #define __GEM_SYSTEM__ // Gem #if defined(__GEM_SYSTEM__) #define __GEM_MARKET_SYSTEM__ // Gem Market #endif /// Dungeons #define __GUILD_DRAGONLAIR_PARTY_SYSTEM__ // Guild dragon lair party system #ifdef __GUILD_DRAGONLAIR_PARTY_SYSTEM__ #define __GUILD_DRAGONLAIR__ // Guild dragon lair dungeon #ifdef __GUILD_DRAGONLAIR__ #define GUILD_DRAGONLAIR_DESTROY_STATUE_GM #define GUILD_DRAGONLAIR_LAZER_EFFECT_75HP #define GUILD_DRAGONLAIR_LAZER_EFFECT_50HP #endif #endif #define __TEMPLE_OCHAO__ // Temple of the Ochao #ifdef __TEMPLE_OCHAO__ #define TEMPLE_OCHAO_MAP_INDEX 353 #define TEMPLE_OCHAO_GUARDIAN 6405 #define TEMPLE_OCHAO_PORTAL 20415 #endif #define __EREBUS_DUNGEON__ // Erebus dungeon #ifdef __EREBUS_DUNGEON__ #define EREBUS_FINAL_BOSS 6192 #define EREBUS_HEALER 6409 #endif #endif Dejo enlaces

    Debes iniciar sesión para ver el contenido del enlace en esta publicación. Y el src (el fichero de dentro no tiene extensión ponerle .rar al final y ya podreís descomprimir)

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

  23. Me Gusta
    santos2002 reacted to EzekielitohMercury in FreeBSD 9.3 64 bits + Files synera   
    ServerFiles con game 40k+.
    Muy estables.
    Game muy protegido contra varios hacks.
    Itemshop en lua & mysql programado por SeMa.
    Pet System 2.0 de BlackYucko & PACIFICADOR para 40k con Pet-Gui & slot para items.
    Sistema de monturas como el official.
    Runs igual al .es.
    ALGUNAS IMAGENES!.


    DESCARGAS!
    ServerFiles
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.ij6d8Wiuince16IkP4o3zU
    Cliente
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.rar
    Mysql
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.mokLF2M74AnVGQFkkYVIVLtOpQc0UC97Nqs
    Agregar este diff al game para que conecte...
    00215F69: AC EE 00215F6A: 61 EE 00215F6B: 11 EE 00215F6C: 54 6E 00216846: AC EE 00216847: 61 EE 00216848: 11 EE 00216849: 54 6E DATOS DE MYSQL
    ID: drakon2_es PASS: seki2mako4
  24. Me Gusta
    santos2002 reacted to Morisato Javier in FreeBSD 9.3 64 bits + Files synera   
    apena lo voy a provar vamos a aver que tal 
  25. Me Gusta
    santos2002 reacted to 【ℛ-𝓝】ℛ𝔂𝓼𝒆 in [SERVERFILES] Zoira2   
    DESCARGA: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
×
×
  • Crear nuevo...