[GUÍA] Implementar peinados y crear patchs

Topic created · 7 Mensajes · 3830 Visitas
  • ¿Como implementar Peinados? - Introducción

    Buenas UJ, he recibido muchos mps pidiéndome ayuda sobre como implementar peinados correctamente, sin remplazar los originales del metin2. Busqué una buena guía sobre como hacerlo, pero el resultado fue que no lo entendían o no estaba 100% completa. Y bueno, ¿para que buscar una si la puedo hacer yo? :grito:
    Espero que esta guía sea útil para todos estos nobatillos que no se aclaran.
    Pues nada, allá vamos _xD_
    La guía la dividiré en 2 partes: la del cliente y la del server.

    [alinear-centro]Primera parte: Cliente[/alinear-centro]

    Añadir los archivos al cliente a partir de un patch
    Primero de todo, añadimos los gr2 y texturas al cliente.
    ¿Que descompilador uso? Aquí os dejo el que yo uso y veo mas eficaz, aunque puede utilizarse cualquier otro.
    MasterEPack 5.2 - COMPILADOR-DESCOMPILADOR by Anghios

    Podemos descompilar el pc y pc2 y añadirlos los peinados en estos, pero esto hará que el tamaño del archivo aumente demasiado. Por eso, yo prefiero añadirlo al cliente a partir de un patch. ¿Como hacerlo? Aquí os enseñare :miau:

    Creamos una carpeta dentro del descompilador y la nombramos mt2patch_hair_descompilado (esto es un ejemplo, puede ponerse cualquier otro nombre)
    Añadimos las texturas en el directorio correspondiente. Este directorio podemos encontrarlo en el gr2:
    [alinear-centro][/alinear-centro]
    Creamos los directorios dentro de la carpeta creada en la carpeta del descompilador. ATENCIÓN: No crear el directorio ymirwork, creamos a partir de pc (tomando nuestro peinado de ejemplo).
    Ejemplo:
    Segun nuestro peinado debemos implementarlo en la siguiente ruta:
    \pc\warrior\hair\
    Vamos creando carpetas. Debería quedar algo así:

    Continuamos este proceso hasta tener todos los peinados que queramos implementar dentro del directorio del descompilador.
    Para pc2 debemos hacer el mismo proceso.

    Ahora descargamos el programa que dejo adjunto en este post. La función de este es crear los xml para poder compilar.
    Descomprimimos el interior del rar en nuestro compilador.

    Ahora ejecutamos el xml creator.exe
    En el primer recuadro que nos sale debemos ingresar el nombre que queremos que tenga nuestro archivo final, con mi ejemplo pondré mt2patch_hair

    Ahora seleccionamos el directorio que hemos creado dentro del descompilador. En nuestro ejemplo, pc.

    Ahora seleccionamos el directorio donde se guardará el xml

    Después nos saldrá una ventana preguntándonos si queremos añadir D:/ymir work en nuestro xml. En este caso le damos a Si
    El siguiente paso, es para añadir mas archivos a nuestro xml. Si implementamos los que van en pc2, deberíamos hacer el mismo proceso pero en el primer recuadro tenemos que poner cualquier otro nombre (para que no se nos sustituya el xml anterior). Al crearse el segundo xml, copiamos las lineas de este (supongo que queda claro que tan solo las que nos dicen la ubicación de nuestros archivos) en el primer xml. Ahora borramos el segundo xml para evitar errores.
    Ahora que ya hemos fabricado nuestros xml, pasamos a la compilación de nuestro parche.

    Bien, solo nos queda añadirlo al cliente el epk y el eix. Vamos a la carpeta /pack de nuestro cliente y añadimos los archivos.
    Abrimos el index y copiamos esto (adaptándolo a vuestro archivo)

    *
    mt2patch_hair
    

    Este proceso lo podemos adaptar a cualquier cosa que queramos añadir a nuestro cliente.

    Configurar los archivos
    El siguiente paso es descompilar el root del cliente. Ahora buscamos los siguientes archivos:

    assassin_m.msm
    assassin_w.msm
    shaman_m.msm
    shaman_w.msm
    sura_m.msm
    sura_w.msm
    warrior_m.msm
    warrior_w.msm
    

    Supongo que queda claro para que pjs es cada archivo. Los que tienen m (man) es de pj masculino y el que tiene w (woman) para pj femenino.

    Ahora abrimos con un editor de texto (aconsejo Notepad++) el archivo del pj del peinado. Este archivo sirve para "anclar" un gr2 y su textura a un index.
    Este proceso es parecido al de implementación de nuevas armaduras. Vamos hasta la ultima linea de texto donde veamos hair y añadimos el nuevo peinado siguiendo el modelo de nuestro ejemplo:
    Group HairData19
    {
    HairIndex 1014
    Model "hair/hair_5_1.gr2"
    SourceSkin "hair/hair_5_1.dds"
    TargetSkin "hair/hair_5_1.dds"
    }

    19 => Aquí debemos poner un numero mas al del ultimo peinado. Revisar que no este ya puesto, si lo esta no funcionará.
    1014 => Este es el index que relacionará nuestro peinado. Revisar que no este ya puesto, si lo esta no funcionará.
    hair/hair_5_1.gr2 => Aquí debemos poner la ruta donde se encuentra el modelo de nuestro peinado.
    hair/hair_5_1.dds => Aquí debemos poner la ruta donde se encuentra la textura de nuestro peinado.

    Debemos hacer lo mismo en cada peinado que hayamos implementado. Después solo queda compilarlo de nuevo.

    Implementación del Item en el cliente
    En este paso implementaremos al cliente el item que usaremos para el peinado.
    Primero de todo descompilamos nuestro locale vamos a el directorio \locale\es y buscamos el item_proto. Este, lo debemos descompilar otra vez con nuestro compilador.
    Ahora vamos a la ultima linea y añadimos esto adpatandolo al item que queramos implementar.

    En itemvnum debemos poner la id de nuestro item y en Peinado el nombre que tendrá el item.

    Ahora abrimos el item_list y añadimos el item:

    74013	ETC	icon/item/73001.tga
    

    Donde pone 74013, debemos poner la id de vuestro item. El etc dejarlo como está, y en la tercera parte, debemos poner la ruta de nuestro icon. (sin son peinados, no debe cambiarse ya que todos tienen el mismo icono)

    Por ultimo, abrimos el itemdesc y añadimos una nueva linea para nuestro peinado.

    74013	Sombrero	Un sombrero para Guerrero que da un estilo misterioso
    

    Supongo que ya debemos saber donde va la id de nuestro item. Donde pone sombrero, debemos poner el nombre de nuestro item, y lo que resta, la descripción de este.

    Debemos hacer todo esto con todos los items y peinados que queramos añadir.
    Ahora compilamos todo de nuevo y devolvemos el locale a nuestro cliente.

    Y hasta aquí lleva la parte del cliente. Ahora tan solo queda el servidor.

    [alinear-centro]Segunda parte: Servidor[/alinear-centro]

    Implementación del Item en el servidor
    Tan solo debemos insertar esta query, adaptándola a nuestro item.

    INSERT INTO `item_proto` VALUES ('74013', 'Sombrero, `'Sombrero', '18', '10', '0', '1', '57', '8192', '0', '', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '-1', '-1', '-1', '-1', '-1', '-1', '0', '0', '0');
    

    Modificar la quest con el peinado nuevo
    Vamos al directorio donde tengamos todas las quest. Allí buscar hair.quest y modificarla:
    Añadimos una linea como esta al lugar correspondiente.
    hair_list [[color=#FF0000]74013] = {1014, apply.ATTBONUS_WARRIOR, 10, 2592000}
    74013 => Debemos poner la id de nuestro item.
    1014 => Debemos poner el index que colocamos en nuestro root.
    ATTBONUS_WARRIOR => Debemos ingresar el bonus que queramos que se aplique con nuestro peinado.
    10 => Debemos ingresar la cantidad/porciento de nuestro bonus.
    2592000 => Debemos ingresar la duración del bonus en segundos.

    Ahora bajamos unas lineas y nos encontraremos con la id de todos los items de los peinados.
    Debemos fijarnos en

    pc.get_job()==0 begin
    

    El 0 es guerrero, el 1 ninja, el 2 sura y el 3 shaman.
    Añadimos nuestro item en el sitio correspondiente

    75013.use or
    

    Ahora tan solo queda guardar la quest y implementarla en el servidor haciendo el make.sh

    Y creo que esto es todo. Pido perdón por el tiempo que he estado en acabarla. No tenia pensado finalizarla, por que habían creado otra ( :T.T: ), pero a petición popular la he tenido que acabar _xD_
    Cualquier problema, duda, error... por favor, decírmelo para que pueda ayudaros. Si seguís la guía al pie de la letra los deberíais poder insertar perfectamente.
    Si encontrais cualquier error en la guía (si, aun que no lo creáis, soy humano :T.T: y hago fallos) comunicármelo para que pueda corregirlo.
    Pues bueno... no tengo nada mas que decir. Os voy a dejar 1 link con peinados para que podáis implementarlos.

    [Patch3 BetaClient] 6 Peinados Nuevos del Oficial

    Saludos y... Suerte con la implementación :charm:

    "No hay que confundir nunca el conocimiento con la sabiduría. El primero nos sirve para ganarnos la vida; la sabiduría nos ayuda a vivir." _- Sorcha Carey (1943-?) _

  • Esta wena, pero terminala pronto :E

  • La verdad, es que nunca me habia centrado en esto de los pelos, pero cuando lo haga seguro que esta guia me sirve, :3
    dentro de poco... :D, buena sigue así !

  • terminala pronto xD

  • Finalmente la he acabado.
    Cualquier fallo o error en la guía, por favor, comunicármelo

    Espero que a alguien le sirva de ayuda :charm:

  • Ahora abrimos con un editor de texto (aconsejo Notepad++) el archivo del pj del peinado. Este archivo sirve para "anclar" un gr2 y su textura a un index.
    Este proceso es parecido al de implementación de nuevas armaduras. Vamos hasta la ultima linea de texto donde veamos hair y añadimos el nuevo peinado siguiendo el modelo de nuestro ejemplo:
    [Ocultar] Texto Oculto: ejemplo
    Group HairData19
    {
    HairIndex 1014
    Model "hair/hair_5_1.gr2"
    SourceSkin "hair/hair_5_1.dds"
    TargetSkin "hair/hair_5_1.dds"
    }

    19 => Aquí debemos poner un numero mas al del ultimo peinado. Revisar que no este ya puesto, si lo esta no funcionará.
    1014 => Este es el index que relacionará nuestro peinado. Revisar que no este ya puesto, si lo esta no funcionará.
    hair/hair_5_1.gr2 => Aquí debemos poner la ruta donde se encuentra el modelo de nuestro peinado.
    hair/hair_5_1.dds => Aquí debemos poner la ruta donde se encuentra la textura de nuestro peinado.

    Debemos hacer lo mismo en cada peinado que hayamos implementado. Después solo queda compilarlo de nuevo.

    aclara esa parte xD

  • buen aporte men