Jump to content

𝗔𝗿𝗲𝘀

Miembro
  • Contador contenido

    390
  • Ingreso

  • Última visita

  • Días ganados

    14

Actividad de reputación

  1. Caca
    𝗔𝗿𝗲𝘀 got a reaction from Metin2proyecto in Pack Pokemón [Pet y Npc]   
    Buenos dias zoner@s, hoy os traigo unos pets y una npc pokemon

    Espero que le saquen provecho!

    Link:


    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  2. Gracias
    𝗔𝗿𝗲𝘀 reacted to Juan Pablo Dev in 💥 METIN2 AEON - 20 DE FEBRERO GRAN APERTURA - MIDDLE SCHOOL   
    International Server
    👑Metin2 Aeon 60%PvM 40%PvP👑
    💥Servidor Middle school No te lo Pierdas disfruta de una experiencia excepcional💥
    🔥APERTURA 20/02/2024
    WEB Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    DISCORD Debes iniciar sesión para ver el contenido del enlace en esta publicación.

    ⚔️Características:⚔️
    📌Lv inicial 1, Lv Max. Campeón 30📌
    ⚜️Sistemas⚜️
    📌Mapa Yohara Completo
    📌Mapa del Zodiaco Completo
    📌Calendario de eventos
    📌Templo serpiente
    📌Talismanes multiples + bono
    📌Wiki in Game
    📌Pase de batalla
    📌Auras oficiales
    📌Farmeo de metines
    📌Cabos automaticos
    📌ItemShop in game
    📌Almacen portátil
    📌Buff chaman equipable
    📌 Panel Teleport Aslan
    📌Cinturones
    📌Biólogo Portátil
    📌Crafteo mejorado
    📌Auto-dopador
    📌Estolas
    📌Ver el HP del Enemigo
    📌Buscador de Drop
    📌Sistema  de Seguimiento de Jefes
    📌Sistema  de Ranking
    📌Sistema  de Ranking InGame
    📌Sistema  de Inventario Especial
    📌Sistema  de Decoración de Tiendas
    📌Tienda portatil
    📌Recuperación de items destruidos
    📌Mazmorras
    📌Mascotas
    📌Sistema Offline Shop

    ⚜️Eventos⚜️
    💥EXP, DROP Y YANG
    💥Cajas Luz de Luna
    💥Cartas OKEY
    💥Evento OX
    💥Jefes y Metines
    💥Busqueda
    💥Minería
    💥Guerra de Reinos
    💥Guerras de Gremios
    💥Duelos
    💥Búsqueda
  3. Caca
    𝗔𝗿𝗲𝘀 reacted to alexander0195 in creador de contraseñas mysql   
    aqui les dejo este programa que no esta y es muy util
     
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  4. Caca
    𝗔𝗿𝗲𝘀 reacted to alexander0195 in Creador de lineas txt a .sql etc   
    aqui les dejo este programa podeis hacer como crear txt o lineas txt a .sql etc es muy util solo agradeceme 




     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  5. Caca
    𝗔𝗿𝗲𝘀 reacted to alexander0195 in Convertidor .xml a .txt   
    este es muy util para aquellos que quieran traducir sus archivos .xml a .txt es muy util espero su agradecimiento 100%

     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  6. Caca
    𝗔𝗿𝗲𝘀 got a reaction from alexander0195 in Ofrezco Servicios como implementor   
    Buenas noches comunidad de metin2zone:
    Después de un tiempo estando trabajando como implementor en Metin2, vengo a poner a disposición parte de mis servicios.
    Los servicios que pongo a disposicion son los siguientes:

    1-. Creación de mapas desde 0 al gusto del comprador:
    2-. Rediseño de cualquier tipo de mapa:
    3-. Instalacion de sistemas a gusto del comprador:
    4-. Implementar armas y armaduras:

    Aca abajo dejare un listado de todos los sistemas que instalo en sus servidores:

    Los sistemas fueron probados y testeados al 100% en una base limpia MartySama antes de ponerlos a la venta.

     
    -.Conquerors of Yohara: Este sistema es uno de los más solicitados por los servidores privados. "Por lo cual este sistema lo hice en varias partes" -.Las partes del sistema de Yohara son las siguientes: -Conquerors of Yohara "Solo el Nivel Campeon": Precio: 40$ -Conquerors of Yohara "Nivel Campeon + Bonus Sungma": Precio: 60$ -Conquerors of Yohara "Nivel Campeon + Bonus Sungma + Nuevo Continente" Precio: 75$ -Conquerors of Yohara "Nivel Campeon + Bonus Sungma + Nuevo Continente + Mazmorra del Hydra": Precio: 90$ -Conquerors of Yohara "Nivel Campeon + Bonus Sungma + Nuevo Continente + Mazmorra del Hydra + Valle Serpentino + Alastor": Precio 110$ -Conquerors of Yohara "Nivel Campeon + Bonus Sungma + Nuevo Continente + Mazmorra del Hydra + Valle Serpentino + Alastor + Crafteos basados en el oficial y Regens de los mapas.-" Precio: 140$ -Conquerors of Yohara "Nivel Campeon + Bonus Sungma + Nuevo Continente + Mazmorra del Hydra + Valle Serpentino + Alastor + Crafteos basados en el oficial y Regens de los mapas + Mundo Elemental + Nivel del campeon requerido en algunos items" Precio 170$ -Conquerors of Yohara "Nivel Campeon + Talisman - Apply Random - Sistema de guantelete" Precio: 220$ -Conquerors of Yohara "Nivel Campeon + Talisman - Apply Random - Sistema de guantelete + Cube Renewal basado en el Oficial." Precio: 320$ Este sistema sólo se venderá a un círculo muy cerrado. Por lo tanto, una vez vendido a algunas personas, las ventas se cerrarán. -Color de Habilidades "Sin adaptar a la 9 habilidad": Precio: 30$ -Color de Habilidades "Adaptada a la 9 habilidad": Precio: 50$ -Sistema Sanni Shining "Sin adaptar a las estolas": Precio: 25$ -Sistema Sanni Shining "Adaptado a las estolas": Precio: 45$ -Sistema de mazmorra Meley: Precio: 50$ -Sistema Templo Ochao: Precio: 40$ -Sistema de mascotas: Precio: 75$ -Templo del Zodiaco: En progreso -Sistema de Auras: Precio: 120$ -Sistema de ventana de crafteo "No oficial" Precio: 15$ -Sistema de ventana de crafteo "Oficial sin Set Item Affect" Precio: 90$ -Sistema de ventana de crafteo "Oficial + Set Item Affect" Precio: 150$ -Sistema de Quest Renewal: Precio: 15$ -Sistema de Rareza: Precio: 40$ -Sistema de Multi Lenguaje: Precio: 80$ -Sistema de Filtro de Recogida Oficial: Precio: 35$ -Sistema de Auto Dopador Sanni: Precio: 25$ -Sistema de Auto Dopador Sanni "Efecto reparado": Precio: 45$ -Sistema de seleccion de habilidades: Precio: 15$ -Sistema Gaya: Precio: 30$ -Sistema de Borrado de item al dropear: Precio: 15$ -Sistema de Staff en Amigos: Precio: 25$ -Modificacion del Chaman de la habilidad Rugido del dragon "Basado en el Oficial": Precio: 15$ -Sistema de Guantelete "Sin la parte de no equipar hasta terminar la mision": Precio: 35$ -Sistema de Guantelete "Con la parte de la mision para poder equipar el guantelete": Precio: 55$ -Sistema de habilidades pasivas: Precio: 35$ -Sistema de soporte chaman: Precio: 45$ -Sistema de 9 habilidad: "Habilidades Conqueror": Precio: 50$ -Sistema de Talisman: Precio: 45$ -Sistema de bonus elementales: Precio: 85$ -Sistema de talisman + Bonus elementales: Precio: 90$ -Sistema de talisman "Sin efecto a la hora de equipar": Precio: 65$ -Sistema de talisman "Con efecto a la hora de equipar" + Sistema de elementos: 90$ -Sistema de inventario especial: Precio: 50$ -Sistema de 7 alquimia: Precio: 80$ -Sistema de transmutacion: Precio: 40$ -Sistema de Evento Battle Royale: Precio: 90$
    *AVISO* 

    -.Estos sistemas que estoy ofreciendo son solo el soporte + su instalacion. Por lo cual no soy el desarrollador de cada 1 de ellos. 

    -.Todos los sistemas se pueden probar antes de la venta ya que dispongo de vps para que cada comprador pruebe el sistema que desee antes de su venta.

    *Información*

    El post se ira actualizando con cada nuevo sistema que se implemente.
  7. Caca
    𝗔𝗿𝗲𝘀 reacted to caanmasu in El proyecto más avanzado de base limpia que existe   
    Proyecto avanzado de base limpia


    Hola
    Este es un proyecto que llevo un mes desarrollando y quiero mostrarles los cambios realizados.
    Mi objetivo ahora es mostrar estos cambios. Aún no he pensado en negociarlos. Quiero que me den su punto de vista por privado para ver qué se le puede seguir mejorando, teniendo en cuenta que estos files son Marty 5.7 y el objetivo es mejorarlo aún más, conservando su esencia de limpio, sin meter sistemas.
    Quiero decir, esta base es para empezar a "meter sistemas", tal como hace Marty. No es una base para abrir en poco tiempo. Por lo tanto, no encontrarás sistemas como tienda offline, ItemShop, cube renewal, won, gaya, wikipedia, switchbot, aura, quest category, inventario especial, buscador de objetos, render target, etc. Tampoco modelos de skins sacados de alguna parte. Esto lo puedo llamar una "versión mejorada" de Marty Sama.
    Quiero que el proyecto tenga muchas comodidades que deberían estar en cualquier base limpia.

    Hasta el momento la versión actual es la 1.8, y tengo pensado sacar más versiones.
    Este proyecto puede ser la base de los servidores de ahora en adelante.

    También se está trabajando en una base derivada de esta, para meter sistemas y dejarla lista al público.

    Escríbeme al Discord, soy caanmasu.


    Notas del parche:
    V1.0:
    - motor de base de datos actualizado a MariaDB
    - eliminado ENABLE_LOCALE_EX. Este define sirve para extender algunos archivos de textos pero había desorden en el cliente. Se han eliminado y se ha puesto su contenido en sus respectivos archivos.
    - eliminado ENABLE_LOAD_ITEM_LIST_FROM_ROOT. item_list.txt ahora se carga en locale/common
    - eliminados los archivos txt del locale (en cada idioma) que no se usan.
    - todos los archivos que son comunes se han puesto en un nuevo .eix llamado locale_common. Se han movido allí archivos idénticos en cada idioma, logrando así optimizar mucho más el cliente. Todos los locales comprimidos pesan ahora 11 MB. Antes pesaban 140 MB.
    - añadida la directiva LTCG en el proyecto UserInterface para optimizar la generación del binario en la fase de compilación.
    - el locale fue dividido en tres archivos: locale, locale_common y locale_proto
    - los parches como special_patch_ex, special_patch_animation, special_patch_common fueron movidos de nuevo a su carpeta padre
    - agregada una carpeta en la raíz de repositorio llamada "locale multilanguage"
    - se ha actualizado el proto a la nueva estructura oficial v.23.1.4
    - añadidos los protos txt del oficial en share/conf/proto multilang
    - extensión de sockets de 3 a 6
    V1.1:
    - removido ENABLE_LIMIT_TIME (código muerto de source server)
    - removido login sim (código muerto de source server)
    - removido FileMonitor (código muerto de source server)
    - removido china intoxication event (código muerto de source server)
    - removido roulette (código muerto de source server)
    - removido __FISHING_MAIN__ (código muerto de source server)
    - removido USE_STACKTRACE (código muerto de source server)
    - fix core crash en questlua_npc.cpp, se valida puntero de npc
    - removido empire_text_convert del source server. Se utilizaba para convertir los textos entre personajes de diferente reino según el nivel de habilidad de las lingüísticas.
    - removido PythonNetworkDatagram (código muerto del source client)
    - removido GAIDEN (código muerto del source client)
    - removido CHECK_LOD (código muerto del source client)
    - removido _TEST (código muerto del source client)
    - removido DYNAMIC_POOL_STRICT (código muerto del source client)
    - removido CHECKSUM_CHECK_MD5 (código muerto del source client)
    - removido __RENDER_SLOT_AREA__ (código muerto del source client)
    - removido __UNITTEST__ (código muerto del source client)
    - removido CHECK_LATEST_DATA_FILES (código muerto del source client)
    - removido ATTACK_TIME_LOG (código muerto del source client)
    - removido ENABLE_DAEMONPROTECTION (código muerto del source client)
    - removido g_create_position_canada (código muerto del source server)
    - fix: ENABLE_MOUNT_COSTUME_EX_SYSTEM, las monturas ya no retroceden
    - fix: en una guerra de gremios ya no se puede eliminar el gremio si hay una guerra en curso
    - FREEZE_WHEN_DRAGGING_SCREEN_FIX: al arrastrar la ventana del juego ya no se congela la pantalla
    - __BL_SAVE_CAMERA_MODE__: el estado de cámara cercana/lejana ya se guarda
    - eliminadas las tablas de la base de datos log: GameTimeLog, dragon_slay_log, hack_crc_log, hackshield_log, invalid_server_log, pcbang_loginlog, vcard_log.
    - eliminadas las tablas de la base de datos account: block_exception, iptocountry, string
    - eliminadas las tablas de la base de datos player: pcbang_ip, sms_pool
    - "Cannot find item by 0" fix. Esto ocurría cuando se eliminaba un ítem de item_proto.txt y existe ese ítem en la tabla player.item
    - fix: cuando se elimina dinámicamente instancias character, no tenía en cuenta los metines.
    - fix leak: en CSpeedTreeForest::GetMainTree. Si no se carga el tree, asigna nulo el puntero
    - fix: el cursor de la rotación de la cámara ya no se queda en la ventaja del juego cuando se cambia de ventana
    - fix: __ENABLE_SHAMAN_ATTACK_FIX__, la chamana no sincronizaba bien los ataques cuando golpea, es decir, de cada dos golpes, solo uno hace daño
    - fix: ahora valida la monta a caballo cuando se va a minar
    - fix: aura de espada y hoja encantada no se ejecutan cuando no hay arma puesta
    - fix: cuando se hace kill en libre, la duración del nombre café pasa de 30 a 60
    - fix: si un personaje transformado de alguna manera utiliza una habilidad, no hará daño
    - fix: cambiada la errada fórmula de críticos
    - eliminada la reducción de daño por invasión de reino
    - fix: cuando muere un personaje con estola equipada se ve la estola en una posición extraña
    - fix: cuando muere un personaje, ahora se le quitan los efectos negativos
    - fix: cuando un personaje mata a otro en la guerra de reinos, no cuenta el punto si tiene la misma IP
    - fix: validaciones con algunos punteros para evitar core crash
    - mejorada la forma como se ordena el ranking de gremios en el Guardián
    - cuando el líder vaya a entrar a guerra, ya no le pide confirmación
    - fix: en cube, si uno de los objetos necesarios lo tiene equipado el personaje, lo omite
    - fix: para prevenir errores, ahora el servidor no encenderá si hay un vnum inexistente en cube.txt
    - fix leak: buf.reset() en SECTREE_MANAGER::SendNPCPosition
    - fix: al desmontar, ahora actualiza los puntos de exp, yang, estamina, etc. y se repara el bug de HP y SP.
    - removido __20040725_CAMERA_WORK__ (código muerto del source client)
    - @fixme1000 (src server): cuando una quest termina de ejecutarse, deselecciona el ítem que haya tenido seleccionado
    - @fixme1001 (src server): agregado la omisión de puertas (ya había metines) en CHARACTER::SetPosition. Los objetos estáticos no tienen position como "quedarse de pie", "montar", "en pelea", "pescando", etc.
    - @fixme1002 (src server): para cambiar de reino ahora automáticamente el personaje se sale del grupo para evitar errores
    - @fixme1003 (src server): no se podrá usar emociones mientras el personaje se mueve o ataca
    - @fixme1004 (src server): agregadas algunas habilidades pasivas que hacía falta en CHARACTER::CanUseSkill
    - @fixme1005 (src server): espíritu de la llama en el caballo ya hace daño
    - @fixme1006 (src server): cuando el ninja se hace invisible, los monstruos agresivos lo ignoran
    - @fixme1007 (src server): cuando no hay bonus en la tabla item_attr_rare, el servidor no iniciaba
    - @fixme1008 (src server): cuando un GM daba rango con set align, se le cambiaba a sí mismo
    - @fixme1009 (src server): cuando se cambia de habilidades no se le quitaban los efectos buenos
    - @fixme1010 (src server): los personajes en modo espectador ya no recibirán daño
    - @fixme1011 (src server): cuando un personaje se monta en una montura o caballo, se activa el AFFECT_MOUNT; si se baja de ella o se desconecta, se elimina el AFFECT_MOUNT. Al eliminarse el AFFECT_MOUNT, solo actualizará el packet y no calculará de nuevo los puntos, esto previene el retroceso de la montura.
    - @fixme1012 (src server): pc.select_vid con validación de puntero en ch para evitar core crash
    - @fixme1013 (src server): no había validación de longitud del nombre del lado del servidor
    - @fixme1014 (src server): cabo de valor aumenta de 50% a 100% probabilidades de atracción y el rango pasa de 50 a 100 de distancia.
    - @fixme1015 (src server): tipo de guerra -1 corregido
    - @fixme1016 (src server): puntero no eliminado (fuga de memoria) en el almacén
    - @fixme1017 (src server): los monstruos no se volverán agresivos cuando tengan veneno o sangrado
    - @fixme1018 (src server): puntero no eliminado (fuga de memoria) en las tiendas de NPC
    - @fixme1019 (src server): al obtener el vid del líder del grupo desde lua, ahora se valida si existe el grupo para evitar core crash
    - @fixme1020 (src server): al usar la función de buscar un personaje por su nombre, ya no distingue entre mayúsculas y minúsculas
    - @fixme1021 (src server): espíritu de la llama agregado dentro de RemoveGoodAffect
    - @fixme1022 (src server): validación de name y arg en clear_server_timer
    - @fixme1023 (src server): un objeto de object_proto si está ubicado en un mapa que no existe lo ignorará
    - ENABLE_CPP_PSM: la carga de modelos y efectos pasa del pack del cliente al binario. Como resultado, la velocidad del cliente es mucho mayor
    - CPP_PSM_LOADING (constInfo): si está activo, utilizará la imagen de carga especial sin fondo. Si está inactivo, utilizará la misma imagen de carga habitual, aquella que ocupa toda la pantalla
    - CPP_PSM_LOADING_GAGE (constInfo): si está activo, utilizará la barra de carga en la pantalla de carga, si no, se eliminará completamente. Esto solo funciona cuando CPP_PSM_LOADING está inactivo, haciendo que la pantalla de carga sea una imagen completa y se aprecie mejor.
    - @fixme1000 (src client): eliminada la bandera de reino en NPCs y pets que se muestra cuando el personaje es GM
    - ENABLE_FIX_MOBS_LAG: disminuye el lag (fps) drásticamente cuando hay muchos monstruos
    - eliminadas las pociones que recibe el personaje cuando sube un step (25% de su nivel)
    - fix: StripColor: cuando se hacía un anuncio en el juego con color, se mostraba el código del color
    - un avance de la herramienta Py Tools. Se agregaron archivos con valores de los protos que no quedan guardados cuando se descompila el proto oficial.
    - fix: la velocidad de la ninja al lanzar flechas era mucho mayor que la del ninja (hombre). Ahora el ninja hombre tiene la misma velocidad que la ninja al lanzar flechas.
    - @fixme1024 (src server): curación y disipar hace mucho lag cuando dos o más personajes lanzan la habilidad al mismo tiempo
    - @fixme1002 (src client): no había sonido luego de teletransportarse
    - @fixme1025 (src server): no había música en mazmorras
    - @fixme1026 (src server): los objetos con tiempo de expiración ahora seguirán corriendo el tiempo cuando se guarden en el almacén
    - @fixme1027 (src server): los monstruos agresivos no podrán quedarse en una zona de paz como las plazas
    - @fixme1028 (src server): al recibir veneno o sangrado y se cambia de personaje, el efecto se quitaba
    - BL_SORT_LASTPLAYTIME: ordena los personajes en modo descendente de tiempo de juego en la ventana de seleccionar personaje
    - agregada la quest function pc.go(x, y)
    - BL_OFFLINE_MESSAGE: cuando un personaje recibe mensajes y está desconectado, se guardarán en caché del servidor hasta que el personaje vuelva a conectarse. Al guardarse el mensaje el caché, si el servidor se reinicia, estos mensajes se eliminarán.
    V1.2:
    - SKILL_COOLTIME_UPDATE: cuando un personaje muere, la carga de habilidades se reinicia
    - LINK_IN_CHAT: se podrá copiar y pegar un link, y a su vez abrir el link desde el juego
    - un personaje cuando escriba por Llamar, aparecerá [MP] donde al hacer clic, se abrirá la ventana de chat con ese personaje
    - removido el código de billing (src server). Es un código que fue usado para el login.
    - removido el código del sistema de monarca (src server)
    - removido el código de threeway_war (guerra de reinos, src server) o también conocido como forked road
    - el tiempo de espera mientras cargan las letras en la ventana de película (quest) pasa de 10 a 0.
    - @fixme1002 (src client): las texturas se difuminaban cuando se abría el cliente en modo administrador (todos los clientes abren con administrador)
    - @fixme1003 (src client): al golpear a un metin no hace motion de daño
    - NORMAL_ROTATION_SPEED 2400.0f: la velocidad de rotación por defecto pasa de 1200 a 2400
    - MOUNT_ROTATION_SPEED 1200.0f: la velocidad de rotación del caballo pasa de 300 a 1200
    - MULTIPLE_DAMAGES: agregados los daños múltiles para jugadores, es decir, si un personaje ataca a otros dos o más al mismo tiempo, se mostrará el daño causado en cada uno. No fue puesto en montruos para evitar lag y es innecesario.
    - BLOCK_AUTO_ATTACK_PLAYER: no se podrá usar ataque automático en jugadores
    - ENABLE_EMOTION_HIDE_WEAPON: cuando se ejecuta una emoción mutua, se esconderá el arma
    - eliminado de la base de datos account las tablas: GameTime, GameTimeIP, GameTimeLog
    - ENABLE_MESSENGER_TEAM: se mostrará la lista de GMs en el panel de amigos
    - CROSS_CHANNEL_FRIEND_REQUEST: se habilita agregar amigos en diferentes canales y cores
    - ENABLE_IGNORE_LOWER_BUFFS: las auras dadas en un personaje que ya tiene auras, se omitirán si sus valores son menores. Resuelto el bug con la habilidad Remolinos, solo tomaba el primer bonus.
    - __IMPROVED_LOGOUT_POINTS__: cuando un personaje se desconecta, se actualiza el tiempo de juego y stats
    - removido el código de candidate (monarca) del cliente
    - @fixme1029 (src server): resuelto el bug "SYSERR: operator(): CFuncShoot: I don't know this type [107] of range attack.". La Llamada del relámpago hace un ataque tipo shoot desde skill_proto pero en server no lo reconoce
    - @fixme1030 (src server): resuelto el error "DragonLair: Dragon killed by nobody". Siempre aparece si el personaje que mató al dragón no tiene gremio. Esto no tiene sentido.
    - @fixme1031 (src server): cuando el daño recibido es menor a 0, ya no lo muestra en el syserr.
    - YANG_CHAT: agregada una ventana de yang recibido que se puede mostrar y ocultar.
    - @fixme1033 (src server): se envían 3 parámetros en el string pero se esperan 4
    - @fixme1034 (src server): marca como error cuando un personaje llega a tener 50 puntos en robo de HP o SP. Hay un límite que es 50 y ese límite se mantiene
    - @fixme1035 (src server): no es un error, avisa exceso de límite de los bonus MALL_ATTBONUS y MALL_DEFBONUS cuando excede los 50 puntos.
    - @fixme1036 (src server): no es un error, avisa exceso del límite de los bonus premium (MALL) o ataque físico mágico % cuando excede de 100 puntos
    - @fixme1037 (src server): no es un error, avisa exceso del límite del bonus POTION cuando supera los 100 puntos
    - __BL_PARTY_POSITION__: en un grupo se podrán ver las posiciones de los integrantes en el mapa grande
    - ENABLE_INVISIBLE_WITHOUT_COLLISIONS: cuando el personaje es invisible (GM) o tiene Stealth activado, podrá atravesar monstruos y jugadores
    - ENABLE_PLUS_ICON_ITEM: los equipamientos de refinamiento (+0, +1, +2, ..., +9) mostrarán el nivel de refinamiento en el ícono
    - TOOLTIP_IMAGE_RACES: en la ventana de los ítems al pasar el cursor, ya no aparecerá en texto las razas que puede ser equipado sino se usarán emojis
    - __BL_CLEAR_CHAT__: un botón en el chat general para vaciar la conversación
    - flag block_hp_potion en dungeon para bloquear recuperación de HP
    - ENABLE_GUILD_LEADER_GRADE_NAME: muestra arriba de la cabeza del personaje si es el líder del gremio o la mano derecha (comandante)
    - ENABLE_DATETIME_UNDER_MINIMAP: muestra la hora del servidor debajo del minimapa
    - __BL_SAFEBOX_MONEY__: sistema que almacena el yang en el almacén
    - ENABLE_REFINE_PCT = True: habilito que se muestre la probabilidad de éxito en el refinamiento
    - SHOW_REFINE_ITEM_DESC: muestra el tooltip con la descripción del objeto que se necesita en el refinamiento
    - ITEM_CHECKINOUT_UPDATE: sistema que permite mover un objeto de un inventario a otro con un solo click, por ejemplo, del inventario al almacén y viceversa. Esta es la alternativa a arrastrar los objetos.
    - ENABLE_AUTO_REFINE: da la opción de cerrar o no, la ventana de refinamiento para evitar arrastrar cada vez el objeto que se quiere mejorar
    V1.3:
    - REMOVE_SAFEZONE_COLLISION: elimina la colisión con npcs y jugadores en zonas seguras como plazas
    - ENABLE_NO_CLEAR_BUFF_WHEN_MONSTER_KILL: cuando un personaje muere, volverá a tener sus efectos positivos. Por ejemplo, aura de espada, bendición, etc.
    - ENABLE_TAB_NEXT_TARGET: característica del servidor oficial que permite seleccionar un siguiente monstruo al presionar la tecla TAB
    - ENABLE_EMPIRE_FLAG: las banderas de reino aparecen en el chat de Llamar
    - removido el código de monarca (src client)
    - ENABLE_FOG_FIX: guarda el estado de la niebla y se puede elegir entre encendido y apagado
    - ENABLE_TEAM_GAMEMASTER: aparecerá en color rojo [Team] en vez del nivel, en los personajes GM
    - "Yang infinito", se ha cambiado el tipo de dato del yang de DWORD a int64_t
    - eliminado de la base de datos player las tablas: monarch, monarch_candidacy, monarch_election
    - ENABLE_SWAP_SYSTEM: al poner un objeto sobre otro, intercambiarán su posición
    - @fixme1039 (src server): game_drop_item y game_drop_item_with_ownership, el objeto cae debajo del personaje y no del monstruo
    - ENABLE_AUTOSTACK_EXCHANGE: al hacer un intercambio, se acumularán los ítems con FLAG_STACK automáticamente
    - @fixme1040 (src server): no permitía comprar un ítem en tienda que cuesta 0 yang
    - ENABLE_QUICK_SELL: al abrir una tienda de NPC, permitirá vender rápido presionando la tecla shift + click en los objetos. No aparecerá diálogo de confirmación de la venta
    - WJ_ENABLE_TRADABLE_ICON: al abrir una ventana de intercambio (almacén, shop, comercio, etc) mostrará un fondo con transparencia blanca en el ícono que no se puede intercambiar, y mostrará en rojo el ítem que ya se está intercambiando
    - ENABLE_ANTIFLAG_TOOLTIP: muestra en tooltip con emojis si el ítem es comerciable, se puede almacenar, se puede tirar, etc.
    - agregada la función say_color en questlib.lua
    - ENABLE_MESSENGER_BLOCK: permite bloquear a un personaje y aparecerá en la lista de messenger. El bloqueo es de susurros, comercio, emociones, etc.
    - __VIEW_TARGET_DECIMAL_HP__: muestra el valor de la vida en el target. Antes aparecía solo la barra de vida.
    V1.4:
    - actualizado gen_settings: PROTO_FROM_DB = false, MIRROR2DB = true
    - @fixme1041 (src server): antihack de cabos de valor
    - @fixme1042 (src server): en el nivel máximo, el personaje podrá llegar al 50% de la exp. Esto es necesario para pasar de Hidra a Conqueror
    - @fixme1043 (src server): se asegura que no se pueda recoger objetos estando muerto
    - @fixme1044 (src server): en la función FN_is_battle_zone había un error en un map index
    - @fixme1045 (src server): cuando se abría el almacén y se arrastraba un objeto equipado, iba al almacén directamente
    - @fixme1046 (src server): en grupo, cuando un compañero recoja ítems de otro, se acumularán en el inventario
    - @fixme1047 (src server): un GM en modo invisible se podrá en modo observador (no test server)
    - @fixme1048 (src server): en la función IS_MONKEY_DUNGEON hacía falta metin2_map_monkey_dungeon
    - @fixme1049 (src server): en la función CHARACTER::SetParty se valida que si el personaje no tiene grupo, elimine el puntero de la mazmorra que tenga
    - @fixme1050 (src server): ahora permite rocíos en el cinturón
    - @fixme1051 (src server): si el personaje se puede mover y está muerto, se valida
    - @fixme1052 (src server): evita el bot de minería no permitiendo picar a cierta distancia en adelante
    - @fixme1053 (src server): al cambiar de reino actualiza el packet y de esta manera se evita que tengan que cambiar de personaje para que surjan los cambios
    - @fixme1054 (src server): no se permitirá stackear objetos que se están intercambiando
    - @fixme1055 (src server): si el personaje está montado y se intenta montar de nuevo, retornará
    - @fixme1056 (src server): no se podrá usar el ramo de flores mientras está montado
    - @fixme1057 (src server): validación de ataque en modo observador
    - @fixme1058 (src server): otra validación de ataque en modo observador
    - @fixme1059 (src server): evita un tipo común de inyecciones SQL
    - @fixme1060 (src server): evita que un boss empuje y bugee en las paredes
    - @fixme1061 (src server): valida del lado del servidor la restricción de nivel al crear un gremio
    - @fixme1062 (src server): cuando se recogen ítems, el trigger (when) pick reconoce los ítems tipo ITEM_QUEST pero no los que tienen el flag ITEM_FLAG_QUEST_USE y ITEM_FLAG_QUEST_USE_MULTIPLE
    - @fixme1063 (src server): fuga de memoria, un objeto se crea pero no se destruye. Cuando se recibe un ítem tipo BLEND (rocío), se crea un ítem en el lado del servidor para validar si el objeto se puede unir con los que tienen sus mismos sockets. En dado caso de que suceda, el stack aumenta en uno y así el personaje recibe el objeto, pero el puntero del ítem no se borra.
    - @fixme1064 (src server): DBManager.Quit(); no es necesario
    - @fixme1065 (src server): float CDungeon::GetUniqueHpPerc retorna bool pero debe retornar float
    - @fixme1066 (src server): si en una receta de cube no hay ítems necesarios, simplemente retornará y evitará un core crash
    - @fixme1067 (src server): cuando se usa el comando /state [nombre] y se quiere ver el estado de otro personaje, muestra si está en tienda NPC o en intercambio el personaje que usa el comando y no el objetivo.
    - @fixme1068 (src server): evita core crash en ITEM_MANAGER::CreateItem
    - @fixme1070 (src server): al construir en tierra de gremio, solo quitaba el yang y materiales cuando es test server o el personaje es GM
    - @fixme1071 (src server): en ALUA(pc_reset_status), hay un número erróneo
    - @fixme1072 (src server): no se podía refinar el pico si tenía la máxima cantidad de puntos
    - eliminada la tabla lotto_list de la base de datos player
    - flag de bloqueo de PvP en mapas. /e pvp_block_%d 1 (%d = map index)
    - SHOW_ITEM_COUNT_REFINE (constInfo): muestra en la ventana de refinamiento la cantidad de ítems disponibles del material, en color rojo si no tienes suficientes, en color amarillo si tiene la misma cantidad, y en color verde si tiene mayor cantidad
    - activados los bonus premium (bonus azules) en todos los personajes
    - reparado el nombre de las columnas de silver_expire (exp_expire) y gold_expire (item_drop_expire)
    - descomentado ENABLE_MAGIC_REDUCTION_SYSTEM
    - @warme1000 (src client): comentado "cannot find accumulation data in file '%s'"
    - agregado en README.md algunos vnum de mob_proto que deben cambiar o remover folder para que no aparezcan syserr en server
    - @fixme1074 (src server): el rango de ataque cuerpo a cuerpo era muy reducido. Por ejemplo, si un guerrero con lanza ataca desde cierta distancia y alcanza a pegarle al objetivo pero éste no recibe daño, es causa de esta distancia máxima. Se cambia de 300 a 420.
    - ENABLE_HWID_BAN: sistema de baneo por hardware, IP, ban a todas las cuentas asociadas y logs del comando.
    V1.5:
    - fix: escudo se intercambia con los objetos unique
    - ENABLE_AGGREGATE_MONSTER_EFFECT: efecto al usar cabo de valor para identificar bots y usos de cabo reales
    - BRAVE_CAPE_OFFICIAL: cabo de valor con la nueva estructura del servidor oficial
    - ENABLE_DISABLE_SOFTWARE_TILING: deshabilita la opción del sistema de modo CPU y GPU
    - ENABLE_IMPROVED_LOGOUT_POINTS: cuando se conecta o desconecta un personaje, los puntos se refrescan y se podrá ver correctamente la barra de stats
    - ENABLE_EFFECT_DAMAGE: muestra el tipo de daño en distintos colores. Verde para veneno, rosado para críticos, etc.
    - PAST_HEALTH_ON_TARGET (constInfo): muestra el daño causado al oponente en la barra de HP, se torna amarillo
    - ENABLE_EXTENDED_ALIGNMENT_SYSTEM: se distingue el rango entre personaje masculino y femenino
    - ENABLE_BADGE_NOTIFICATION_MANAGER: ícono de notificaciones. Cuando recibes un MP en el juego y tienes el cliente minimizado, se tornará anaranjado el ícono y mostrará la cantidad de mensajes sin leer.
    - ENABLE_FOV_OPTION: en opciones del sistema puedes elegir FoV 30 a 60. Campo de vista.
    - ENABLE_SHADOW_RENDER_QUALITY_OPTION: opciones del sistema sobre sombras como el servidor oficial. La calidad de sombras ha variado.
    - STATS_EACH_10: se podrá aumentar o disminuir los stats de 10 puntos en 10 puntos si se mantiene presionada la tecla Ctrl.
    - ENABLE_TELEPORT_TO_A_FRIEND: sistema que permite teletransportarse a un personaje desde la ventana de mensaje privado
    - ENABLE_P2P_WARP: permite teletransportar sin importar el canal y core
    - fix: la Llamada del relámpago del chamán de luz ahora no se corta la animación cuando realiza la habilidad
    V1.6:
    - removido el código basura de DragonLair (src server)
    - removido el código de danceevent (src server)
    - removido el código de HIGHSCORE (src server)
    - removido el código de Lock (src server)
    - removido el código de Castle/Siege (src server)
    - removido el archivo malloc_allocator.h (src server)
    - removido el código de over9refine (src server)
    - removido el código de profiler (src server)
    - removido el código de HEADER_GD_FLUSH_CACHE (src server)
    - agregado un define para elegir entre MySQL y MariaDB (RDBMS)
    - en spawn_mob0 se agrega el parámetro dir (opcional)
    - agregada una función para activar y desactivar el sistema táctico en ciertos mapas o en la mazmorra (solo la función, no el sistema completo)
    - agregada la función de lua pc_set_observer_mode 
    - ENABLE_EXTENDED_ITEMNAME_ON_GROUND: mejora la visibilidad de los objetos dropeados
    - ENABLE_MULTI_TEXTLINE: permite hacer saltos de línea en archivos de locale
    - ENABLE_SET_OUTLINE_COLOR: permite poner bordes resaltados a textos
    - __CHANNEL_STATUS_UPDATE__: muestra la cantidad de jugadores conectados por cada CH en el login
    - ENABLE_WHISPER_IN_CHAT: feature donde se puede enviar un MP por chat general, su uso es: @Nombre Texto
    - @fixme1004 (src client): aparece un error cuando se golpea en el caballo
    - USE_KMB_MONEY_FORMAT: una característica que permite escribir más fácil las cifras grandes de Yang en el input de comercio. Por ejemplo, al escribir "50kk", se ingresarán 50.000.000 de Yang.
    - ENABLE_DELETE_FRIEND_REFRESH_FIX: al eliminar a un jugador de la lista de amigos, se eliminará en ambos personajes al mismo tiempo.
    - @fixme1005 (src client): si no se encuentra el puntero de una textura, retornar
    - @fixme1006 (src client): al cambiar de personaje se actualizará los part (armadura, peinado y estola)
    - agregada la función de LUA pc_is_observer_mode
    - agregadas las funciones GetTextLength y GetTextWidth para usar en ui
    V1.7:
    - ENABLE_AFFECT_BUFF_REMOVE: característica que permite eliminar un affect shower (bonus de la izquierda superior) al hacer clic
    - ENABLE_AFFECT_POLYMORPH_REMOVE: característica que permite eliminar la transformación desde el affect shower
    - LIMIT_WINDOWS_RECT: las ventanas del juego no se saldrán de la pantalla
    - ENABLE_WHISPER_RENEWAL: en la ventana de mensaje privado aparecerá "Escribiendo..." como en las aplicaciones de mensajería instantánea
    - ENABLE_ITEM_COMMAND_STACK_UPDATE: al crear ítems con comando no se limitará al stack sino creará los necesarios hasta cumplir con la cantidad pedida
    - subida la calidad de las screenshot de 85% a 100%
    - @fixme1007: el valor del cooltime en el tooltip de las habilidades ahora se actualiza con la velocidad de hechizo
    - en el conteo de ítems en stack se cambió el tipo de dato de BYTE a uint16_t (WORD estandarizado), permitiendo así almacenar más ítems en un solo stack. Se establece en la configuración en 10 mil.
    - ENABLE_SKILL_FLAG_KNOCKBACK: flag de retroceso para el skill_proto
    - actualizado el skill_proto a la versión GF v26.0.6
    - rework del archivo costumewindow.py
    - ENABLE_ANTI_EXP: permite activar o desactivar modificar la experiencia. Creada una variable en constInfo para mostrar o no el ícono en la barra de tareas.
    - ENABLE_LIMIT_BONUS: limita un bonus a cierto valor definido en la macro. Usado para evitar abusos en PvP, por ejemplo, resistencia mágica, resistencia de media y habilidad, probabilidad de apagón y evasión sobre 100%.
    - ENABLE_PROTECT_TIME: sirve para que el jugador vuelva a realizar una tarea pasado ciertos segundos para evitar inundaciones de comandos al servidor. Utilizado en el anillo anti-exp, se debe esperar 3 segundos para volver a activar/desactivar.
    - warme1000: (desactivado) si un personaje mata a otro en una guerra de gremios y tienen la misma IP, no contará el punto. Esto se hizo para evitar el farmeo de puntos. Llevan varios personajes al gremio enemigo a dejarse matar por sus otros personajes. La razón por la que se ha deshabilitado es porque las direcciones IPv4 son escasas y muchas veces pueden encontrarse personajes con la misma IP que no tienen ninguna relación entre ellos.
    - fix: data truncated setAffectFlag para skill_proto.
    - ENABLE_LIMIT_MAX_HIT_SKILL_COUNT: personaliza la cantidad de objetivos a hacer daño con un golpe normal o habilidad. El valor para cada tipo se asignó 50.
    V1.8:
    - Py Tools: nuevo conjunto de herramientas útiles para automatizar edición de archivos
    - Py Tools: FolderToMobProto: programa que sirve para solucionar el bug de las monturas cuando son rápidas y no alcanza a cargar las entidades del mapa (mobs, npcs, jugadores, etc). La solución es agregar los folder a mob_proto.txt. Con este programa se realiza esta tarea en un segundo.
    - fix: organización y sincronización de item flags. Flags desde ITEM_FLAG_UNIQUE no funcionaban.
    - @fixme313 from Marty 5.9: char.cpp; fix for sync dc
    - fix: al atacar con giro de espada, deseo de vivir o pulso, empuja al enemigo y todos ven el empuje, menos el lanzador; el movimiento del enemigo se sincroniza dos segundos después. Se aplicó el flag KNOCKBACK a estas habilidades. Nota sobre el bug: estas habilidades empujan al enemigo, aunque algunas veces no lo hace. Cuando se realiza la habilidad, el lanzador no ve el empuje pero el enemigo sí. Al poner estas habilidades con knockback siempre empujarán y lo verán todos los personajes, aunque algunas veces (muy pocas) el empuje se dirige a otra dirección. Esta solución del knockback es mejor que dejar como estaba. Esto no es una solución absoluta.
    - compilación de qc. Este qc viene con un fix para que funcione en un when los retornos de textos que vienen de una tabla. Útil para multilenguaje. Ejemplo: when 20095.chat.locale_en[120] begin
    - fix qc: las quest no compilan cuando hay un apóstrofe o tildes y/o caracteres especiales en el último caracter de un texto en bruto (say y derivados) pero el compilador no anuncia sobre el error. Ahora anunciará el error.
    - fix: Disipar se vuelve ataque tipo MAGIC. Esta habilidad en el skill_proto es tipo NORMAL (no ataque). Una habilidad de ataque es uno de tres tipos, MELEE (físico en cuerpo a cuerpo), RANGE (físico a distancia) y MAGIC (mágico, sea a distancia o cuerpo a cuerpo). El bug que ocasiona el disipar en el juego es el abuso de daño al ser inmune a la resistencia mágica. Una vez se convierte en tipo mágico, la resistencia mágica disminuye su daño.
    - fix: el golpe de espada tiene un daño muy bajo respecto a las demás habilidades de su grupo. Esto es debido al tipo de ataque registrado en skill_proto. Se ha cambiado de MELEE a RANGE como debe ser.
    - fix: Syserr: Not a valid .WAV file: sound/pc2/assassin/bow/attack1.wav. Se ha renombrado del archivo de attack.wav a attack1.wav.
    - fix: texturas blancas en NPCs. Se han eliminado las carpetas monster y npc de season. Se ha actualizado el npclist.txt quitando las rutas de season.
    - @fixme1075: error de sincronización con habilidades de personajes con flag CRUSH. La habilidad afectada es Golpe de espada, muchas veces falla.
    - en skill.h se ordenó ESkillIndexes agregando comentarios para tener una referencia de las habilidades. Los nombres de variables son coreanos y no se entiende a qué habilidad pertenecen.
    - ENABLE_STACKABLES_STONES: fix de las piedras, ahora no elimina el stack cuando se pone una piedra (o varias en el mismo stack) para incrustar en un equipamento.
    - fix: no funcionaba bien el ordenamiento por nombre en shop table ex.
    - Py Tools: TransferValueProto: programa que sirve para agregar valores en los protos que no son guardados en el dump del oficial. Por ejemplo, las columnas de las skills en los monstruos no se pueden obtener del mob_proto.txt oficial. Se han extraído de un proto por db y el programa añade de nuevo estos datos en nuestro mob_proto.txt
    - mod1001 (binario): fuente de texto de susurro en GM cambiada de Italic a la fuente por defecto. La fuente itálica dificulta mucho la lectura en este caso.
    - update @fixme196 Item Move Exploit (Marty Sama)
    - update @fixme198 ITEM_QUEST not consumed with karma exploit (Marty Sama)
    - fix: un arma o armadura al utilizar piedras las guarda en socket0, 1 y 2. Si el objeto tiene limit de tiempo, el tiempo restante se guardará en un socket que ya está en uso para piedras. ENABLE_NO_MOUNT_CHECK server atk damage fix (Marty Sama)
    - @fixme1076: al matar monstruos, algunos salen corriendo hasta que desaparecen
    - max_hp y max_sp cambiado el tipo de dato a int64_t. El bug más conocido es el de la barra de HP en monstruos que se pone negra cuando el monstruo tiene más de 28 millones de vida.
    - ENABLE_APPLY_DAM_MAX_PERC: nuevo bonus. x% probabilidad de daño máximo. Funciona en básicos y en habilidad.

    V1.9:
    - DROP_ITEM_DESTROY_QUESTION: nuevo botón al intentar lanzar un objeto al suelo. Ahora se podrá tirar, destruir o cancelar.
    - eliminado el código de ignoreButton y reportViolentWhisperButton del root. Estos scripts no se usaron nunca.
    - __BL_MOUSE_WHEEL_TOP_WINDOW__: permite utilizar la rueda del ratón para poder desplazarse en una ventana que tiene scroll
    - ENABLE_NO_MALUS_JEONGWIHON: deshabilita los daños sufridos del berserk.
    - ENABLE_REVIVE_WITH_HALF_HP_IF_MONSTER_KILLED_YOU: cuando eres matado por un monstruo, revivirás con el 50% de la vida.
    - RENEWAL_DEAD_PACKET: al morir, aparecerá el tiempo restante para poder presionar el botón de revivir aquí o en la ciudad.
    - do_dgetf: comando que muestra los flags de una mazmorra
    - la cantidad de bonus permitida se ha expandido. El tipo de dato BYTE permitía hasta 127 bonus. Ahora se ha cambiado el tipo de dato a uint16_t (WORD), permitiendo así hasta 32768.
    - Py Tools: resurrection_vnum. Nuevo archivo que agregará los datos de la columna resurrection_vnum al mob_proto.txt automáticamente.
    - ENABLE_DETAILS_UI: tabla de bonus del servidor oficial.
    V1.10:
    - todas las quest se han eliminado
    - se ha hecho un rework de questlib. Todas las funciones se han optimizado, se ha eliminado código basura e inutilizable. Se ha extendido los índices de funciones.
    - se ha agregado constants.lua en quest. Este archivo contiene muchas variables útiles provenientes de enumeraciones en el código fuente del servidor
    - se ha agregado data.lua en quest. Este archivo contiene estructuras genéricas.
    - se ha incluido la 6° habilidad en guerrero y ninja para uso en quest.
    - se ha agregado utils.lua. Este archivo contiene funciones útiles genéricas.
    - se ha conservado GFquestlib.lua
    - mob_spawn_map: función en LUA que hace lo mismo que do_mob_map
    - PRIV_EMPIRE_MAX_VALUE: se ha establecido esta macro para limitar el valor de los rates. Había una inconsistencia en el código. Se estableció en 200 y puede aumentar hasta 1000.
    - los tanakas 5001 y 5004 se han comentado de los regen tipo 's' en los mapas.
    - se han separado los rows de las estructuras de las tablas en la carpeta sql.
    - quest basic: block_map.quest: devuelve al personaje a la ciudad si no cumple con cierto nivel al llegar a un mapa
    - quest basic: boss_notice.quest: al matar ciertos jefes se mostrará un anuncio del vencedor
    - quest basic: levelup_notice.quest: al subir ciertos niveles se mostrará un anuncio del personaje
    - quest: guild: alter_of_power.quest: los guardianes del altar permiten aumentar la capacidad del gremio
    - quest: guild: change_guild_master.quest: permite cambiar el líder de gremio
    - quest: guild: guild_building.quest: el agente de tierras que da el permiso de compra de la tierra
    - quest: guild: guild_building_melt.quest: alquimista del gremio
    - quest: guild: guild_building_npc.quest: herrero del gremio
    - quest: guild: guild_make.quest: fundar un gremio
    - quest: guild: guild_manage.quest: disolver y retirarse del gremio
    - quest: guild: guild_war_join.quest: unirse a una guerra de gremios
    - quest: guild: guild_war_observer.quest: unirse a una guerra de gremios en modo espectador
    - quest item: change_empire.quest: cambio de reino
    - quest item: change_name.quest: cambio de nombre
    - quest item: item_change_sex.quest: cambio de sexo
    - quest item: training_grandmaster_skill.quest: piedra alma sin diálogos para subir rápido las habilidades
    - quest npc: oldwoman: fortune_telling.quest: adivinar tu suerte
    - quest npc: oldwoman: marriage_manage.quest: casarse
    - quest npc: oldwoman: skill_reset2.quest: asigna el skill group a 0 (permite elegir de nuevo el grupo de habilidades)
    - quest npc: fisher.quest: tienda del pescador y mejora de la caña
    - quest npc: mining.quest: minería y abrir tienda del pico
    - quest npc: npc_talk.quest: diálogos casuales con NPCs
    - quest npc: shops.quest: NPCs de tienda con on_click = 2 (tipo quest)
    - quest system: acce.quest: combinación y absorción de estolas
    - quest system: cube.quest: crafteo
    - quest system: gameoption.quest: muestra en cada login las opciones bloqueadas de Opciones del juego
    - quest special: mastermind_game_LIB.lua: librería del juego de Mente maestra
    - quest mission: hunting: new_levelup.quest: misión de caza oficial
    - quest event: se ha creado un framework para administrar los eventos. Todos los eventos aparecerán en pergamino. Habrá un pergamino para GMs y otro para usuarios.
    - quest event: events: heroemedal: evento olímpico lanzado en 2012.
    - quest event: events: mapforbiddenempire: bloquea el acceso a los mapas a personajes de otros reinos. Si el personaje ya se encuentra en el mapa, al matar a un jugador se enviará a la ciudad.
    - quest event: events: mastermind: juego de Mente maestra
    - quest event: events: moonbox: evento de cajas Luz de Luna
    - quest event: events: rates: administración de los rates de forma muy amigable
    - quest event: events: specialboss: evento de jefes especial
    - quest event: events: tanaka: evento de tanakas

    Nota: Durante toda la fase de desarrollo se corrigieron todos los warnings en source server
     
    Bugs encontrados:
    - al sacar un libro con /book idx, salen nombres de otros libros pero sí se recibe el libro correcto
    - Camino pluma no funciona correctamente. Al actualizar el skill_proto, necesita un flag nuevo para implementar en el servidor.
    - en la fase de selección del reino no aparecen las descripción del reino seleccionado
    - ENABLE_TELEPORT_TO_A_FRIEND: 1. no se puede teletransportar hacia un jugador que se encuentra en otro core. 2. el botón de Teletransporte necesita volverse ícono, ocupa mucho espacio horizontal.
    - RENEWAL_DEAD_PACKET: los botones de revivir aquí y en la ciudad se les ha eliminado la opción de deshabilitar y habilitar debido a que no funcionaba Enable.
    - ENABLE_DETAILS_UI: 1. al teletransportarse por medio de pergamino teniendo la ventana de carácter abierta y la ventana de los bonus, al hacer login aparecerá la ventana de carácter pero internamente no es funcional. Se puede abrir otra ventana pero la anterior queda flotante e inútil. 2. Los tooltips de las descripciones de los bonus no se muestran. 3. Algunas veces la ventana no se enlaza con el botón vertical
     

    Debes iniciar sesión para ver el contenido del archivo adjunto en esta publicación.
  8. Caca
    𝗔𝗿𝗲𝘀 reacted to caanmasu in El proyecto más avanzado de base limpia que existe   
    Me retiro y empiezan a comentar mis posts... me han llamado por este comentario xD

    ¿Crees que ofrecería algo que ya ofrece el que más vende bases limpias del juego?
    He tomado la base Marty Sama 5.7 (última lanzada) y he reparado muchas cosas y organizado. Se vende como base limpia porque "no tiene sistemas" pero hay muchas cosas que él no ha hecho y que yo sí.

    La mayoría de cosas que he hecho en el changelog son cosas que Marty no ha hecho y que debería hacer desde hace mucho tiempo. Simplemente ahorro las molestias de quebrarse la cabeza haciendo todo eso.
    Las personas que le compran a Marty Sama quedaron inconclusas cuando no había un proto compatible, no podían entrar al juego con la nueva versión. Luego un turco logró adaptar un proto y ya la gente pudo volver a entrar. Después vi que Marty Sama dijo que iba a actualizar el proto, eso fue hace como un mes. En su Trello tiene la tarea anotada y todavía no la ha resuelto.
    Me tomé esa tarea como la más urgente para esa base, así que después de tanto código hice la adaptación del proto como el oficial. Puedes tomar el proto de la versión GF 23.3 y funciona perfectamente sin cambiar nada.
    Así hice muchas cosas que puedes ver en el changelog.
    También ofrezco soporte. Marty no responde ya que tiene mucho trabajo y muchos clientes.
    Mientras no tenga tantos clientes como Marty, mi soporte existe.
     
    Aparte del soporte trabajo con GitHub Desktop y doy un tutorial para trabajar en el repositorio. Esto le conviene tanto a mi cliente como a mí. Esto va incluido en la compra.
     
    Apoyo a Marty Sama, no soy hater, uso su base y sus herramientas como el PML y muchas otras.
     
    Base limpia: Marty
    Base limpia, organizada, mejorada, con features importantes y cómodos, optimización, muchos más fixes: Camilo


    Es muy cierto lo de la base Ava2, la verdad que todavía siguen saliendo servidores con esa base. Aunque no estoy tan en contra de eso, después de todo, no hay casi servidores ahora, y si no hubiese ningún servidor en la comunidad hispana durante un buen tiempo, podría ser el fin de los jugadores hispanos y eso no nos conviene a ninguno.
  9. Gracias
    𝗔𝗿𝗲𝘀 got a reaction from Alegar in Ofrezco Servicios como implementor   
    Buenas noches comunidad de metin2zone:
    Después de un tiempo estando trabajando como implementor en Metin2, vengo a poner a disposición parte de mis servicios.
    Los servicios que pongo a disposicion son los siguientes:

    1-. Creación de mapas desde 0 al gusto del comprador:
    2-. Rediseño de cualquier tipo de mapa:
    3-. Instalacion de sistemas a gusto del comprador:
    4-. Implementar armas y armaduras:

    Aca abajo dejare un listado de todos los sistemas que instalo en sus servidores:

    Los sistemas fueron probados y testeados al 100% en una base limpia MartySama antes de ponerlos a la venta.

     
    -.Conquerors of Yohara: Este sistema es uno de los más solicitados por los servidores privados. "Por lo cual este sistema lo hice en varias partes" -.Las partes del sistema de Yohara son las siguientes: -Conquerors of Yohara "Solo el Nivel Campeon": Precio: 40$ -Conquerors of Yohara "Nivel Campeon + Bonus Sungma": Precio: 60$ -Conquerors of Yohara "Nivel Campeon + Bonus Sungma + Nuevo Continente" Precio: 75$ -Conquerors of Yohara "Nivel Campeon + Bonus Sungma + Nuevo Continente + Mazmorra del Hydra": Precio: 90$ -Conquerors of Yohara "Nivel Campeon + Bonus Sungma + Nuevo Continente + Mazmorra del Hydra + Valle Serpentino + Alastor": Precio 110$ -Conquerors of Yohara "Nivel Campeon + Bonus Sungma + Nuevo Continente + Mazmorra del Hydra + Valle Serpentino + Alastor + Crafteos basados en el oficial y Regens de los mapas.-" Precio: 140$ -Conquerors of Yohara "Nivel Campeon + Bonus Sungma + Nuevo Continente + Mazmorra del Hydra + Valle Serpentino + Alastor + Crafteos basados en el oficial y Regens de los mapas + Mundo Elemental + Nivel del campeon requerido en algunos items" Precio 170$ -Conquerors of Yohara "Nivel Campeon + Talisman - Apply Random - Sistema de guantelete" Precio: 220$ -Conquerors of Yohara "Nivel Campeon + Talisman - Apply Random - Sistema de guantelete + Cube Renewal basado en el Oficial." Precio: 320$ Este sistema sólo se venderá a un círculo muy cerrado. Por lo tanto, una vez vendido a algunas personas, las ventas se cerrarán. -Color de Habilidades "Sin adaptar a la 9 habilidad": Precio: 30$ -Color de Habilidades "Adaptada a la 9 habilidad": Precio: 50$ -Sistema Sanni Shining "Sin adaptar a las estolas": Precio: 25$ -Sistema Sanni Shining "Adaptado a las estolas": Precio: 45$ -Sistema de mazmorra Meley: Precio: 50$ -Sistema Templo Ochao: Precio: 40$ -Sistema de mascotas: Precio: 75$ -Templo del Zodiaco: En progreso -Sistema de Auras: Precio: 120$ -Sistema de ventana de crafteo "No oficial" Precio: 15$ -Sistema de ventana de crafteo "Oficial sin Set Item Affect" Precio: 90$ -Sistema de ventana de crafteo "Oficial + Set Item Affect" Precio: 150$ -Sistema de Quest Renewal: Precio: 15$ -Sistema de Rareza: Precio: 40$ -Sistema de Multi Lenguaje: Precio: 80$ -Sistema de Filtro de Recogida Oficial: Precio: 35$ -Sistema de Auto Dopador Sanni: Precio: 25$ -Sistema de Auto Dopador Sanni "Efecto reparado": Precio: 45$ -Sistema de seleccion de habilidades: Precio: 15$ -Sistema Gaya: Precio: 30$ -Sistema de Borrado de item al dropear: Precio: 15$ -Sistema de Staff en Amigos: Precio: 25$ -Modificacion del Chaman de la habilidad Rugido del dragon "Basado en el Oficial": Precio: 15$ -Sistema de Guantelete "Sin la parte de no equipar hasta terminar la mision": Precio: 35$ -Sistema de Guantelete "Con la parte de la mision para poder equipar el guantelete": Precio: 55$ -Sistema de habilidades pasivas: Precio: 35$ -Sistema de soporte chaman: Precio: 45$ -Sistema de 9 habilidad: "Habilidades Conqueror": Precio: 50$ -Sistema de Talisman: Precio: 45$ -Sistema de bonus elementales: Precio: 85$ -Sistema de talisman + Bonus elementales: Precio: 90$ -Sistema de talisman "Sin efecto a la hora de equipar": Precio: 65$ -Sistema de talisman "Con efecto a la hora de equipar" + Sistema de elementos: 90$ -Sistema de inventario especial: Precio: 50$ -Sistema de 7 alquimia: Precio: 80$ -Sistema de transmutacion: Precio: 40$ -Sistema de Evento Battle Royale: Precio: 90$
    *AVISO* 

    -.Estos sistemas que estoy ofreciendo son solo el soporte + su instalacion. Por lo cual no soy el desarrollador de cada 1 de ellos. 

    -.Todos los sistemas se pueden probar antes de la venta ya que dispongo de vps para que cada comprador pruebe el sistema que desee antes de su venta.

    *Información*

    El post se ira actualizando con cada nuevo sistema que se implemente.
  10. Gracias
    𝗔𝗿𝗲𝘀 got a reaction from ♥ TesT ♥ in Ofrezco Servicios como implementor   
    Buenas noches comunidad de metin2zone:
    Después de un tiempo estando trabajando como implementor en Metin2, vengo a poner a disposición parte de mis servicios.
    Los servicios que pongo a disposicion son los siguientes:

    1-. Creación de mapas desde 0 al gusto del comprador:
    2-. Rediseño de cualquier tipo de mapa:
    3-. Instalacion de sistemas a gusto del comprador:
    4-. Implementar armas y armaduras:

    Aca abajo dejare un listado de todos los sistemas que instalo en sus servidores:

    Los sistemas fueron probados y testeados al 100% en una base limpia MartySama antes de ponerlos a la venta.

     
    -.Conquerors of Yohara: Este sistema es uno de los más solicitados por los servidores privados. "Por lo cual este sistema lo hice en varias partes" -.Las partes del sistema de Yohara son las siguientes: -Conquerors of Yohara "Solo el Nivel Campeon": Precio: 40$ -Conquerors of Yohara "Nivel Campeon + Bonus Sungma": Precio: 60$ -Conquerors of Yohara "Nivel Campeon + Bonus Sungma + Nuevo Continente" Precio: 75$ -Conquerors of Yohara "Nivel Campeon + Bonus Sungma + Nuevo Continente + Mazmorra del Hydra": Precio: 90$ -Conquerors of Yohara "Nivel Campeon + Bonus Sungma + Nuevo Continente + Mazmorra del Hydra + Valle Serpentino + Alastor": Precio 110$ -Conquerors of Yohara "Nivel Campeon + Bonus Sungma + Nuevo Continente + Mazmorra del Hydra + Valle Serpentino + Alastor + Crafteos basados en el oficial y Regens de los mapas.-" Precio: 140$ -Conquerors of Yohara "Nivel Campeon + Bonus Sungma + Nuevo Continente + Mazmorra del Hydra + Valle Serpentino + Alastor + Crafteos basados en el oficial y Regens de los mapas + Mundo Elemental + Nivel del campeon requerido en algunos items" Precio 170$ -Conquerors of Yohara "Nivel Campeon + Talisman - Apply Random - Sistema de guantelete" Precio: 220$ -Conquerors of Yohara "Nivel Campeon + Talisman - Apply Random - Sistema de guantelete + Cube Renewal basado en el Oficial." Precio: 320$ Este sistema sólo se venderá a un círculo muy cerrado. Por lo tanto, una vez vendido a algunas personas, las ventas se cerrarán. -Color de Habilidades "Sin adaptar a la 9 habilidad": Precio: 30$ -Color de Habilidades "Adaptada a la 9 habilidad": Precio: 50$ -Sistema Sanni Shining "Sin adaptar a las estolas": Precio: 25$ -Sistema Sanni Shining "Adaptado a las estolas": Precio: 45$ -Sistema de mazmorra Meley: Precio: 50$ -Sistema Templo Ochao: Precio: 40$ -Sistema de mascotas: Precio: 75$ -Templo del Zodiaco: En progreso -Sistema de Auras: Precio: 120$ -Sistema de ventana de crafteo "No oficial" Precio: 15$ -Sistema de ventana de crafteo "Oficial sin Set Item Affect" Precio: 90$ -Sistema de ventana de crafteo "Oficial + Set Item Affect" Precio: 150$ -Sistema de Quest Renewal: Precio: 15$ -Sistema de Rareza: Precio: 40$ -Sistema de Multi Lenguaje: Precio: 80$ -Sistema de Filtro de Recogida Oficial: Precio: 35$ -Sistema de Auto Dopador Sanni: Precio: 25$ -Sistema de Auto Dopador Sanni "Efecto reparado": Precio: 45$ -Sistema de seleccion de habilidades: Precio: 15$ -Sistema Gaya: Precio: 30$ -Sistema de Borrado de item al dropear: Precio: 15$ -Sistema de Staff en Amigos: Precio: 25$ -Modificacion del Chaman de la habilidad Rugido del dragon "Basado en el Oficial": Precio: 15$ -Sistema de Guantelete "Sin la parte de no equipar hasta terminar la mision": Precio: 35$ -Sistema de Guantelete "Con la parte de la mision para poder equipar el guantelete": Precio: 55$ -Sistema de habilidades pasivas: Precio: 35$ -Sistema de soporte chaman: Precio: 45$ -Sistema de 9 habilidad: "Habilidades Conqueror": Precio: 50$ -Sistema de Talisman: Precio: 45$ -Sistema de bonus elementales: Precio: 85$ -Sistema de talisman + Bonus elementales: Precio: 90$ -Sistema de talisman "Sin efecto a la hora de equipar": Precio: 65$ -Sistema de talisman "Con efecto a la hora de equipar" + Sistema de elementos: 90$ -Sistema de inventario especial: Precio: 50$ -Sistema de 7 alquimia: Precio: 80$ -Sistema de transmutacion: Precio: 40$ -Sistema de Evento Battle Royale: Precio: 90$
    *AVISO* 

    -.Estos sistemas que estoy ofreciendo son solo el soporte + su instalacion. Por lo cual no soy el desarrollador de cada 1 de ellos. 

    -.Todos los sistemas se pueden probar antes de la venta ya que dispongo de vps para que cada comprador pruebe el sistema que desee antes de su venta.

    *Información*

    El post se ira actualizando con cada nuevo sistema que se implemente.
  11. Haha
    𝗔𝗿𝗲𝘀 got a reaction from caanmasu in Ofrezco Servicios como implementor   
    Buenas noches comunidad de metin2zone:
    Después de un tiempo estando trabajando como implementor en Metin2, vengo a poner a disposición parte de mis servicios.
    Los servicios que pongo a disposicion son los siguientes:

    1-. Creación de mapas desde 0 al gusto del comprador:
    2-. Rediseño de cualquier tipo de mapa:
    3-. Instalacion de sistemas a gusto del comprador:
    4-. Implementar armas y armaduras:

    Aca abajo dejare un listado de todos los sistemas que instalo en sus servidores:

    Los sistemas fueron probados y testeados al 100% en una base limpia MartySama antes de ponerlos a la venta.

     
    -.Conquerors of Yohara: Este sistema es uno de los más solicitados por los servidores privados. "Por lo cual este sistema lo hice en varias partes" -.Las partes del sistema de Yohara son las siguientes: -Conquerors of Yohara "Solo el Nivel Campeon": Precio: 40$ -Conquerors of Yohara "Nivel Campeon + Bonus Sungma": Precio: 60$ -Conquerors of Yohara "Nivel Campeon + Bonus Sungma + Nuevo Continente" Precio: 75$ -Conquerors of Yohara "Nivel Campeon + Bonus Sungma + Nuevo Continente + Mazmorra del Hydra": Precio: 90$ -Conquerors of Yohara "Nivel Campeon + Bonus Sungma + Nuevo Continente + Mazmorra del Hydra + Valle Serpentino + Alastor": Precio 110$ -Conquerors of Yohara "Nivel Campeon + Bonus Sungma + Nuevo Continente + Mazmorra del Hydra + Valle Serpentino + Alastor + Crafteos basados en el oficial y Regens de los mapas.-" Precio: 140$ -Conquerors of Yohara "Nivel Campeon + Bonus Sungma + Nuevo Continente + Mazmorra del Hydra + Valle Serpentino + Alastor + Crafteos basados en el oficial y Regens de los mapas + Mundo Elemental + Nivel del campeon requerido en algunos items" Precio 170$ -Conquerors of Yohara "Nivel Campeon + Talisman - Apply Random - Sistema de guantelete" Precio: 220$ -Conquerors of Yohara "Nivel Campeon + Talisman - Apply Random - Sistema de guantelete + Cube Renewal basado en el Oficial." Precio: 320$ Este sistema sólo se venderá a un círculo muy cerrado. Por lo tanto, una vez vendido a algunas personas, las ventas se cerrarán. -Color de Habilidades "Sin adaptar a la 9 habilidad": Precio: 30$ -Color de Habilidades "Adaptada a la 9 habilidad": Precio: 50$ -Sistema Sanni Shining "Sin adaptar a las estolas": Precio: 25$ -Sistema Sanni Shining "Adaptado a las estolas": Precio: 45$ -Sistema de mazmorra Meley: Precio: 50$ -Sistema Templo Ochao: Precio: 40$ -Sistema de mascotas: Precio: 75$ -Templo del Zodiaco: En progreso -Sistema de Auras: Precio: 120$ -Sistema de ventana de crafteo "No oficial" Precio: 15$ -Sistema de ventana de crafteo "Oficial sin Set Item Affect" Precio: 90$ -Sistema de ventana de crafteo "Oficial + Set Item Affect" Precio: 150$ -Sistema de Quest Renewal: Precio: 15$ -Sistema de Rareza: Precio: 40$ -Sistema de Multi Lenguaje: Precio: 80$ -Sistema de Filtro de Recogida Oficial: Precio: 35$ -Sistema de Auto Dopador Sanni: Precio: 25$ -Sistema de Auto Dopador Sanni "Efecto reparado": Precio: 45$ -Sistema de seleccion de habilidades: Precio: 15$ -Sistema Gaya: Precio: 30$ -Sistema de Borrado de item al dropear: Precio: 15$ -Sistema de Staff en Amigos: Precio: 25$ -Modificacion del Chaman de la habilidad Rugido del dragon "Basado en el Oficial": Precio: 15$ -Sistema de Guantelete "Sin la parte de no equipar hasta terminar la mision": Precio: 35$ -Sistema de Guantelete "Con la parte de la mision para poder equipar el guantelete": Precio: 55$ -Sistema de habilidades pasivas: Precio: 35$ -Sistema de soporte chaman: Precio: 45$ -Sistema de 9 habilidad: "Habilidades Conqueror": Precio: 50$ -Sistema de Talisman: Precio: 45$ -Sistema de bonus elementales: Precio: 85$ -Sistema de talisman + Bonus elementales: Precio: 90$ -Sistema de talisman "Sin efecto a la hora de equipar": Precio: 65$ -Sistema de talisman "Con efecto a la hora de equipar" + Sistema de elementos: 90$ -Sistema de inventario especial: Precio: 50$ -Sistema de 7 alquimia: Precio: 80$ -Sistema de transmutacion: Precio: 40$ -Sistema de Evento Battle Royale: Precio: 90$
    *AVISO* 

    -.Estos sistemas que estoy ofreciendo son solo el soporte + su instalacion. Por lo cual no soy el desarrollador de cada 1 de ellos. 

    -.Todos los sistemas se pueden probar antes de la venta ya que dispongo de vps para que cada comprador pruebe el sistema que desee antes de su venta.

    *Información*

    El post se ira actualizando con cada nuevo sistema que se implemente.
  12. Gracias
    𝗔𝗿𝗲𝘀 reacted to SzC in OnixDragon2 | Server MiddleSchool | Opening 15/09/2023 17:00 CEST   
    Start 09-12-2023 Speed Server x1000 20:00 CEST
    Register:
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Download: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Discord: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Presentation: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  13. Me Gusta
    𝗔𝗿𝗲𝘀 got a reaction from Papi.Hernan n in AYUDA PARA IMPLEMENTAR ESTOLAS GR2   
    Busca item_acce_scale o algo asi relacionado.
     
  14. Me Gusta
    𝗔𝗿𝗲𝘀 got a reaction from Papi.Hernan n in AYUDA PARA IMPLEMENTAR ESTOLAS GR2   
    item_scale.txt
    Ese es el nombre del archivo.
  15. Me Gusta
    𝗔𝗿𝗲𝘀 reacted to 【ℛ-𝓝】ℛ𝔂𝓼𝒆 in [FREEBSD] 13.0 - GCC8/GCC9/GCC10 - MySQL5.6/MariaDB10.3 - Python2.7   
    1 - Mysql 5.6
    2 - MariaDB 10.3
     
     
    Datos de FreeBSD:
    Usuario: root
    Contraseña: dev
     
    Paquetes instalados en el VDI de MySQL 5.6
    gcc10: 10.3.0 gcc8: 8.5.0_1 gcc9: 9.4.0 gdb: 10.2_1 gmake: 4.3_2 makedepend: 1.0.6,1 mysql56-client: 5.6.51 mysql56-server: 5.6.51 python27-2.7.18_1  
     
    Paquetes instalados en el VDI de MariaDB 10.3
     
    gcc10: 10.3.0 gcc8: 8.5.0_1 gcc9: 9.4.0 gdb: 10.2_1 gmake: 4.3_2 makedepend: 1.0.6,1 mariadb103-client: 10.3.30 mariadb103-server: 10.3.30 python27-2.7.18_1  
     
    Descarga FreeBSD MySQL 5.6: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Descarga FreeBSD MariaDB 10.3: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
     
     
    Creditos: Gardon611
  16. Me Gusta
    𝗔𝗿𝗲𝘀 got a reaction from Marcos Pinheiro in [Guía]Implementar Mobs y NPC   
    La verdad bro que te la sacastes, aunque te falto solo una cosilla. 

    Para el mob proto si usan txt deberan de buscar la celda Folder y hay deberan de declarar el nombre de la carpeta que se ubica en share/data/monster. Para asi evitar problemas de acummulation motlist o cualquier otro tipo de problemas.

    Y aca un pequeño consejo: Cuando saquen un mob o pet que no viene con la parte del servidor pueden usar el del cliente siempre y cuando quiten el msm, la textura y el gr2. "NUNCA METAN LA CARPETA DEL SERVIDOR CON ESOS ARCHIVOS YA QUE LE PUEDEN OCASIONAR ERRORES"

    Por tu parte Nazox maravillosa guia, mis mas sinceras felicitaciones.
  17. Gracias
    𝗔𝗿𝗲𝘀 reacted to AlphaDesign in Presentación de mi proximo proyecto "Proximamente"   
    Mucha suerte!
  18. Gracias
    𝗔𝗿𝗲𝘀 got a reaction from iMixxx in Presentación de mi proximo proyecto "Proximamente"   
    Muchas gracias por tu opinion iMixxx, ahora en un rato subire algunos gyazos del proyecto dentro del servidor para que asi vayais viendo parte de los avances.
  19. Me Gusta
    𝗔𝗿𝗲𝘀 reacted to TrafalgarLaw in Presentación de mi proximo proyecto "Proximamente"   
    No Cabe duda que tendras un buen servidor bro, Mucha Suerte y Exitos puto
  20. Sorprendido
    𝗔𝗿𝗲𝘀 got a reaction from TrafalgarLaw in Presentación de mi proximo proyecto "Proximamente"   
    -.Buenos dias chicos, hoy vengo a comunicarles que proximamente lanzare un nuevo proyecto de metin2 basado en el oficial.
    -.Llevo bastante tiempo trabajando en el "8 meses" despues de dejar Revelion2 atras. Este proyecto esta trabajado desde una base MartySama v5.4 limpia "Sin ningun sistema instalado con anterioridad"
    -.Todos los sistemas que llevaran este proyecto seran los mas parecidos al oficial. "Sistema Yohara, Multi Lenguaje, Sistema de bonus random, Alastor, Templo Serpentino, Flower Event, Auras, Estolas....etc"
     
    ¿Cuanto tiempo tardare en abrir el servidor?

    -.Esta es una pregunta que siempre suelen hacer cuando se comienza un servidor y se muestran los avances dentro del mismo.
    -.Sinceramente todavia no existe fecha para la apertura ya que todavia el servidor sigue en pleno desarrollo, pero lo que si puedo comentar es que la base ya esta trabajada a un 70%, por lo cual espero que para 2024 este el servidor online.

    ¿Porque te basastes en el oficial y no haces como los demas servidores?
    -.Durante un tiempo estuve investigando los servidores nuevos que salian a la luz "Tanto copias de otras bases filtradas asi como de servidores que fueron desarrollados por el mismo dueño" y la verdad que casi siempre pasa lo mismo, hay una jugabilidad mal realizada, todo es muy repetitivo, casi siempre se ven los mismos sistemas, o el juego se vuelve muy facil. Asi son los privados que han salido hasta el momento.
    -.Por lo cual preferi de optar la opcion de crear un servidor a lo oficial, con una jugabilidad entretenida, sin sistemas excesivos o que la verdad veo bastante antiquados o absurdos y sin que la jugabilidad sea tan facil.
    ¿Cuales son todos los sistemas que dispondra el servidor?
    -.Los sistemas que llevara de momento el servidor seran los siguientes:

    -Sistema de Auras:
    -Sistema de Multi Lenguaje:
    -Sistema de Bonus Random:
    -Sistema de Nivel Campeon "Yohara":
    -Sistema de novena habilidad:
    -Sistema de 7 y 8 habilidad:
    -Sistema de Inventario Especial:
    -Sistema de Bonus 6 y 7:
    -Sistema de carcaj:
    -Sistema de optimizacion en el cliente:

    -.Asi entre muchos otros.

    ¿Iras mostrando los avances del proyecto?

    -.Si, cada semana dentro del foro ire mostrando cada uno de los avances que se vayan realizando en el servidor asi como los nuevos sistemas que se implementaran. Para que todos esteis informando de lo que proximamente se viene.

    ¿El dia que se realice la apertura del servidor, tendremos problemas o errores a la hora de entrar?

    -.Sinceramente esta es una pregunta que todo el mundo se hace y a la vez temen cada vez que entran a un nuevo servidor y la verdad no se puede responder con certeza ya que a la hora de abrir un servidor es cuando verdaderamente empiezan a salir los errores y problemas, por el momento se esta realizando la reparacion de cada warning, packet, bug o problemas que salen en el servidor y por el cual ahora mismo no hay ninguno. Pero como digo no se puede saber con certeza hasta que no entren los jugadores que son quienes verdaderamente encuentran cada uno de los errores.


    ¿Necesitaras beta testers para probar el servidor y cual serian sus recompensas el dia de la apertura?

    -.De seguro 2 o 3 semanas antes cuando se anuncie la apertura se precisaran de beta testers para comprobar el servidor y su comportamiento. La recompensa para el dia de apertura del servidor por el momento no esta escogida, pero lo que si puedo asegurar es que sera algo que beneficiara por el esfuerzo y el trabajo que realicen.

    ¿El servidor por el momento tiene algun nombre o foro donde podamos ver los avances o mejoras?

    -.La respuesta a esta pregunta es Si!!! el servidor tiene de nombre Dinasty, pero no es un nombre que se vaya a dejar al 100%. Ese sera el nombre mientras se trabaja. El nombre oficial del servidor no saldra hasta el dia de la apertura.
    -.Y el servidor si dispone de un servidor de discord en el cual se ha estado subiendo los progresos y modificaciones hasta el momento.

    -.Link del servidor de discord: 
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  

    Debes iniciar sesión para ver el contenido del archivo adjunto en esta publicación.  
    Fotos de los avances dentro del servidor.


    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.
    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.

    ¿Cuales son los sistemas que no dispondremos dentro del servidor y cuales son los motivos para no instalarlos?

    -.Los sistemas que no abra dentro del servidor son los siguientes:

    -.Sistema de titulos: Este sistema la verdad es un sistema que casi siempre se ve en todo los servidores. Y casi nadie lo usa, por lo cual no veo necesario instalar este sistema.

    -.Sistema VIP: Este sistema no sera instalado por el motivo de evitar conflictos entre los jugadores y los miembros del Staff con las tipicas peleas "Los VIP tienen bonus exagerados, mas privilegios, le pagaron a los GM para estar mas dopados.....etc" Asi que para evitarnos estos problemas el servidor no dispondra el sistema VIP.

    -.Sistema de informacion de mazmorras: El sistema de informacion de las mazmorras tampoco sera instalado por el motivo de que facilita en parte a los jugadores a la hora de ingresar a una mazmorra ya que lo lleva directamente hacia la cordenada en la cual se encuentra el npc para ingresar. Como ya comente este servidor sera enfocado a lo oficial, asi que los jugadores para ingresar a las mazmorras deberan de recorrer los mapas hasta la ubicacion de los npc. "Asi nos enfocamos en como era ir antes a cada una de las mazmorras"

    -.5 Raza "Lycantropo": El lycan siempre que se ha ingresado dentro de un servidor ha tenido los tipicos problemas o las quejas de los usuarios. "El lycan esta roto, pega mas que los otros pj" es por ello que decidi inhabilitarlo por el momento. "Con esto quiero decir que no esta eliminado del todo, nada mas deshabilitado hasta que se nivele como las demas razas"

    -.Sistema Reborn "Reset": Este sistema no sera instalado ya que el servidor dispone del segundo mundo "Conquerors of Yohara". Este sistema para aquellas personas que no lo llegaron a conocer es cuando suben al 120 y matan al hydra les soltara un anillo para viajar al puerto. Hay encontraran la estatua para subirse a nivel campeón. Hay comenzara el 2 mundo con nuevos mapeados y mazmorras. Es por ello que no es necesario meter el Reborn. Para que resetear del 120 al nivel 1 teniendo Yohara.


    .Estos seran por el momento los sistemas que no dispondra el servidor, de igual forma se ira actualizando el post con los nuevos sistemas que se instalen al igual que los sistemas que no entraran dentro del servidor.
     
  21. Gracias
    𝗔𝗿𝗲𝘀 reacted to iMixxx in Presentación de mi proximo proyecto "Proximamente"   
    No me cabe duda de que será un gran servidor, de todos modos encuentro sería más entretenido y dinámico que además de discord, también compartas imágenes, gifs y videos sobre él acá en el foro, así nos mantenemos expectantes a los avances del servidor y ganas reputación tanto tú cómo tú sv demostrando para lo que eres bueno.
     
    Sin más, échale ganas men que si todo sale como esperas, el 2024 es tuyo! 
  22. Me Gusta
    𝗔𝗿𝗲𝘀 got a reaction from NazoX in [Guía]Implementar Mobs y NPC   
    La verdad bro que te la sacastes, aunque te falto solo una cosilla. 

    Para el mob proto si usan txt deberan de buscar la celda Folder y hay deberan de declarar el nombre de la carpeta que se ubica en share/data/monster. Para asi evitar problemas de acummulation motlist o cualquier otro tipo de problemas.

    Y aca un pequeño consejo: Cuando saquen un mob o pet que no viene con la parte del servidor pueden usar el del cliente siempre y cuando quiten el msm, la textura y el gr2. "NUNCA METAN LA CARPETA DEL SERVIDOR CON ESOS ARCHIVOS YA QUE LE PUEDEN OCASIONAR ERRORES"

    Por tu parte Nazox maravillosa guia, mis mas sinceras felicitaciones.
  23. Me Gusta
    𝗔𝗿𝗲𝘀 got a reaction from Synea in [FIX] NOT SUPPORT FILE d:\ymir work\pc\common\effect\aura\aura_01_49_001.mse   
    Buenas noches zoner@s, he visto que muchas personas quieren comenzar con nuevos proyectos, algunas usando bases publicas como los "WoM, Wonder2, Ephelion2.....etc" asi como otras que prefieren optar por la opcion mas recomendable que es usar una base limpia, ya sea MartySama o Owsap.

    En este caso vengo a aportar un fix que casi siempre vienen en las bases MartySama vs 5.3 o 5.4 "Es en las cuales siempre me salia el mismo error"

    Uno de ellos es el siguiente:
     
    0725 01:55:13101 :: ResourceManager::GetResourcePointer: NOT SUPPORT FILE d:\ymir work\pc\common\effect\aura\aura_01_49_001.mse 0725 01:55:13101 :: ResourceManager::GetResourcePointer: NOT SUPPORT FILE d:\ymir work\pc\common\effect\aura\aura_01_49_001.mse 0725 01:55:13101 :: ResourceManager::GetResourcePointer: NOT SUPPORT FILE d:\ymir work\pc\common\effect\aura\aura_50_99_002.mse 0725 01:55:13101 :: ResourceManager::GetResourcePointer: NOT SUPPORT FILE d:\ymir work\pc\common\effect\aura\aura_50_99_002.mse 0725 01:55:13101 :: ResourceManager::GetResourcePointer: NOT SUPPORT FILE d:\ymir work\pc\common\effect\aura\aura_100_149_003.mse 0725 01:55:13101 :: ResourceManager::GetResourcePointer: NOT SUPPORT FILE d:\ymir work\pc\common\effect\aura\aura_100_149_003.mse 0725 01:55:13101 :: ResourceManager::GetResourcePointer: NOT SUPPORT FILE d:\ymir work\pc\common\effect\aura\aura_150_199_004.mse 0725 01:55:13101 :: ResourceManager::GetResourcePointer: NOT SUPPORT FILE d:\ymir work\pc\common\effect\aura\aura_150_199_004.mse 0725 01:55:13101 :: ResourceManager::GetResourcePointer: NOT SUPPORT FILE d:\ymir work\pc\common\effect\aura\aura_200_249_005.mse 0725 01:55:13101 :: ResourceManager::GetResourcePointer: NOT SUPPORT FILE d:\ymir work\pc\common\effect\aura\aura_200_249_005.mse 0725 01:55:13101 :: ResourceManager::GetResourcePointer: NOT SUPPORT FILE d:\ymir work\pc\common\effect\aura\aura_250_006.mse 0725 01:55:13101 :: ResourceManager::GetResourcePointer: NOT SUPPORT FILE d:\ymir work\pc\common\effect\aura\aura_250_006.mse Para solucionar este error vamos a hacer lo siguiente:
    1-. Abrimos nuestro binario y nos vamos a la carpeta ScriptLib 2-. Dentro de la carpeta buscamos el archivo Resource.cpp y lo abrimos -.Una vez dentro del archivo buscamos lo siguiente: CPythonResource::CPythonResource() { m_resManager.RegisterResourceNewFunctionPointer("sub", NewSubImage); m_resManager.RegisterResourceNewFunctionPointer("dds", NewImage); m_resManager.RegisterResourceNewFunctionPointer("jpg", NewImage); m_resManager.RegisterResourceNewFunctionPointer("png", NewImage); // @fixme020 m_resManager.RegisterResourceNewFunctionPointer("tga", NewImage); m_resManager.RegisterResourceNewFunctionPointer("bmp", NewImage); m_resManager.RegisterResourceNewFunctionPointer("fnt", NewText); m_resManager.RegisterResourceNewFunctionPointer("gr2", NewThing); m_resManager.RegisterResourceNewFunctionPointer("mde", NewEffectMesh); m_resManager.RegisterResourceNewFunctionPointer("mdatr", NewAttributeData); } Y este lo remplazamos por el siguiente. CPythonResource::CPythonResource() { m_resManager.RegisterResourceNewFunctionPointer("sub", NewSubImage); m_resManager.RegisterResourceNewFunctionPointer("dds", NewImage); m_resManager.RegisterResourceNewFunctionPointer("jpg", NewImage); m_resManager.RegisterResourceNewFunctionPointer("tga", NewImage); m_resManager.RegisterResourceNewFunctionPointer("png", NewImage); m_resManager.RegisterResourceNewFunctionPointer("bmp", NewImage); m_resManager.RegisterResourceNewFunctionPointer("fnt", NewText); m_resManager.RegisterResourceNewFunctionPointer("gr2", NewThing); m_resManager.RegisterResourceNewFunctionPointer("mde", NewEffectMesh); m_resManager.RegisterResourceNewFunctionPointer("msa", NewEffectMesh); m_resManager.RegisterResourceNewFunctionPointer("mse", NewEffectMesh); m_resManager.RegisterResourceNewFunctionPointer("mdatr", NewAttributeData); }
    Con esto quedaria el problema solucionado.
     
  24. Me Gusta
    𝗔𝗿𝗲𝘀 got a reaction from dioseterno 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.
  25. Gracias
    𝗔𝗿𝗲𝘀 got a reaction from rporrasj97 in Aporte "Atuendos verano 2022"   
    Buenas zoneros, hoy os vengo a traer el set de Atlantis festive robe completo, por las 1000 visitas a mi perfil.
    El set viene con los efectos, tanto en las armas como armaduras, al igual que con las alas incluidas.
    Espero que lo disfruten
     
    Adjunto foto del set y los atuendos:

    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.  
×
×
  • Crear nuevo...