Ir a contenido

Foto

[Guia] Implementar mobs sin morir en el intento


  • Please log in to reply
12 Respuesta(s) a este Tema
Metin2

#1
KeKo

KeKo

    Forero Experto

  • Quest Master
  • MarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcar
  • 1.475 Mensaje(s)
Buenas zoneros y zoneras, hoy os traigo esta guía que me habían pedido que hiciera para implementar mobs, cosa que hay gente a la que le da bastantes problemas a veces.

ESTA GUIA ES EXCLUSIVA DE METIN2ZONE, NO LA POSTEEIS EN OTRO FOROS

Ire paso por paso explicando el proceso de implementación de un mob:

1 - Qué es lo que trae la carpeta de un mob?

Cuandos nos bajamos un mob nuevo para meter en nuestro servidor vemos que el mob consiste en una carpeta con una serie de archivos dentro, que pueden ser de diferentes tipos y que tienen diferentes funciones.

Imagen enviada


Esos archivos pueden ser:

-Archivos .gr2: Son los archivos que contienen el modelo del mob y sus movimientos. Para que un gr2 funcione debe ir siempre a unido a un archivo, que puede ser un .msm o un .msa

Podeis abrirlos usando el granny viewer, y tendreis una vista así del mob:

Imagen enviada

-Archivos msm y msa: Son aquellos que sirven para que el juego pueda leer un archivo .gr2, por lo que siempre tienen la ruta del modelo al que van unidos. Los msm son para el modelo del mob en si y los msa para animaciones.

-Archivos .mse: Estos archivos se usan para meter efectos a los mobs, por lo que los renocereis viendo que al final del archivo siempre saldra el nombre de un .dds o otro archivo de textura, que es el efecto en si.

-Motlist.txt: En cada carpeta de un mob debe aver un archivo con este nombre, ya que es el que le dije al juego a que movimiento se corresponde cada uno de los gr2 de animaciones del mob.

Explicacion del motlist:

Imagen enviada

-Cada linea lleva GENERAL luego el nombre del movimiento, que puede ser WAIT, RUNT, DIE, ATTACK, etc (nombres en ingles de las acciones de los mobs) y luego el nombre del .msa que enlaza con esa animacion. El numero despues del nombre del msa poned el mismo que en otra linea.


-Texturas: Pueden presentarse en varios formatos, siendo .jpeg .dds y .tga los mas comunes. La ruta en la que deben ir estos archivos va especificada en el .gr2 del mob asi:

Imagen enviada


*Nota: la ruta mas normal para un mob suele ser monster/monster2/npc/npc2 pero puede haber mobs con rutas diferentes como en el zone o carpetas nuevas.

2 - Vale ya se como va la carpeta del mob, ahora que hago con ella?

Bien, ahora que ya tenemos la carpeta de nuestro mob y entendemos como funciona tenemos que implementarlo en nuestro cliente. Pero en que archivo lo hacemos?

A la hora de ver en que ruta poner la carpeta de nuestro mob tenemos que ir a la susodicha carpeta y abrir el msm que lleve el nombre del mob. Una vez lo abramos veremos un apartado donde pone: BaseModelFileName y en esa ruta pondremos la carpeta del mob.

Imagen enviada

Una vez tengamos metido la carpeta en su sitio, añadiremos al xml del archivo que estemos modificando las lineas correspondientes al nuevo mob, ya sea a mano o usando un creador de xml.

*Se pueden dar casos de mobs en los que la ruta en la que tenga la textura sea diferente a la ruta en la que tenga que ir la carpeta del mob, así que si se da el caso tendreis que meter la carpeta del mob en la ruta del msm y el archivo de la textura en su ruta correspondiente.

3 - Ya compile el archivo, que és lo siguiente?

Una vez compilado el archivo el siguiente paso es decompilar el root de nuestro cliente y abrir un archivo llamado npclist.txt, en el que relacionaremos cada mob nuevo con una id en el cliente.

*Detalle: cuando escribais en el npclist debereis usar la tecla tabulador en vez de espacios, para que no os de errores al cargar el juego.

Una vez abrais el npclist, vais a cualquier parte del archivo, le dais a enter para dejar una linea vacia y escribis lo siguiente:

1º La id que quereis que tenga el mob.

2º Le dais a tab

3º El nombre del msm del mob.

Please Login or Register to see this Hidden Content


El resultado tiene que ser algo asi:

Imagen enviada

3.1: Casos especiales: mobs duplicados:

Hay veces que un mismo mob con diferentes texturas, por lo que recurrirmos a duplicar el mob. Por no alargar la guia demasiado podeis ver mi post de duplicar mobs para aprender a hacerlo:

Duplicar mobs

En esos casos (resumiendo la parte del root) tendreis que poner primero una linea que sea asi, ya que cuando duplicais un mob haceis otro msm con un nombre diferente al del mob original en el que haceis que tenga otra textura.

Please Login or Register to see this Hidden Content


Imagen enviada

4 - Es todo? Ya implemente mi mob?

Casi Casi. Ya lo ultimo que queda para implementar a vuestro mob es meterle una query en el mob_proto del navicat, que puede ser igual a la de otro mob o podeis modificarla como os plazca.

*Detalle: Aunque un mob no tenga query si está implementado en el cliente podeis hacer /poly iddelmob para probarlo antes de meterle query.

Para que el mob sea el mismo que acabamos de meter, la query debe llevar la misma id que pusimos en el npclist.txt del root.

*Opcional: Si ademas queremos que nuestro mob lleve encima el nombre deberemos añadir una linea con la id npclist.txt en el mob_proto del cliente: vamos al locale de nuestro servidor, buscamos el mob_proto y lo decompilamos. Una vez hecho eso añadimos una linea nueva:

Please Login or Register to see this Hidden Content


Y listo ya tendreis vuestro nuevo mob implementado y funcionando :D

Imagen enviada

(Os pongo una foto de un mob cualquiera xd, esta porq la chami sale toda sexy :P)


5 - Errores frecuentes, soluciones y truquillos varios:

Toda esta teoría está muy bien, pero a mucha gente le pasa que implementa un mob perfectamente y luego no le va, hay una serie de cosas tipicas que suelen causar eso:

5.1: Invoco al mob, veo que me baja la vida pero no hay ningun monstruo, que hago :(

Este es el error mas tipico de todos, y que tiene muchas soluciones diferentes:

1 - Pusiste mal el nombre del mob en el npclist, así que revisa que el nombre que tiene el msm del mob sea el mismo que pusiste en el npclist, puede que lo hayas escrito mal. (Se que es muy básico pero nunca se sabe).

2 - Problema de ruta: A veces puede pasar que implementes un mob y metas la carpeta del mob en otra ruta diferente a la que tiene en el msm así que debereis cambiarlo de carpeta a la que ponga el msm.

3- El problema de las mayúsuclas y minúsculas: Aunque no lo parezca esto es algo que causa muchos problemas con los mobs, ya que es algo que muchos no saben.

Esto es muy importante: NUNCA PUEDE HABER MAYUSCULAS EN EL XML DE UN MOB, YA SEA EL NOMBRE DEL GR2 O DE LA TEXTURA, PORQUE DARA ERROR.

Como la gran mayoria usamos el creador de xml, cuando meteis la carpeta del mob en su archivo correspondiente teneis que fijaros que el nombre del gr2 del mob estea escrito en minusculas:

Así mal :(

Imagen enviada


Así bien :D

Imagen enviada


También teneis que abrir el msm del mob y ver que el .gr2 de ahi esté en minus también:

Asi mal :(

Imagen enviada


Asi bien :D

Imagen enviada

Ademas comprobad también que esta en minusculas en el xml. De esta manera al usar el creador de xml ya saldra en minusculas el nombre del gr2.

Por ultimo en lo referente a las minusculas fijaros que el nombre del mob, de la textura o cualquier otra cosa del xml este en minusculas, por ejemplo:

Please Login or Register to see this Hidden Content


Esas dos lineas estarían mal, ya que aunque el .gr2 esta en minusculas hay letras en mayuscula (la M de mob y la T de textura) asi que recordad siempre que todo debe estar en minusculas para que el juego lo lea bien ^^

Please Login or Register to see this Hidden Content



4 - El problema de las ids: A la hora de poner ids a los mobs nuevos que hayais implementado teneis que tener en cuenta que hay una serie de ids que se corresponde a monster/monster2/npc/npc2 así que a la hora de poner id os aconsejo que useis esta numeración:

* Si el mob es del monster, ponedle id de 210 en adelante.

* Si el mob es del monster2, ponedle id de 3000 en adelante.

* Si el mob es de npc/npc2, ponedle id de 18000 en adelante (a menos que sean montus que peguen o mascota que tienen que tener una id concreta).

Eso sí, si no quereis poner esas ids no significa que el mob no vaya a ir, pero con esas no os dará problema por la id nunca.

5.2: Cuando descargo un mob viene sin los gr2 de las animaciones, que hago???

Imagen enviada

Los mobs nuevos que implementeis no siempre tendrán animaciones propias, así que en muchos casos usarán las de otros mobs que tengan su mismo esqueleto (por lo que sus animaciones seran compatibles). En ese caso llevaran el mse con la ruta de la animacion del otro mob.

Si solo teneis el gr2 y msm de un mob y quereis usarlo tendreis que copiar de otro mob compatible con el sus mse (lo que es dificil de ver a veces ya que hay que fijarse en como es el mob fisicamente y buscar uno parecido) y pegarlos en la carpeta de vuestro mob.

Imagen enviada

5.3: Tengo un mob sin motlist, que hago??

Si os falta el motlist de un mob solo teneis que cojer el de otro mob y editarlo con los nombres de las animaciones que tenga vuestro mob. Para saber que gr2 es cada animacion (si el 00 es WAIT por ejemplo) tendreis que abrir el gr2 del mob cn el granny, darle a animation list, ahi a load new animation. Una vez os diga que gr2 abrir vais a la carpeta del mob abris un gr2, por ejemplo el 00 y veis que hace el mob, si corre sería RUN, si se muere pues DEAD y así.

Imagen enviada


Y eso es todo zoneros, espero que os sirva la guía :D
  • A fuuton97, Predator77, Joakin47 y a 5 más les gusta esto

#2
Akroma

Akroma

    Forero Profesional

  • Quest Master
  • MarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcar
  • 719 Mensaje(s)
buenisima keko, si señor buenisima, la aplicare a los que me fallan.

#3
Kryzz

Kryzz

    Aficionado

  • Miembro
  • MarcarMarcarMarcarMarcarMarcarMarcarMarcar
  • 123 Mensaje(s)

Muy Buena Keko, implemente todos mis mobs :D!



#4
Metin2Arial2012

Metin2Arial2012

    Curioso

  • Miembro
  • MarcarMarcarMarcar
  • 33 Mensaje(s)
yo no entiendo nada porke no se como sacar el id del npc y tampoco cuando tengo el id correspondiente lo meto todo como pone y no sale mob

#5
❤Alejandro&Sara❤Tkm

❤Alejandro&Sara❤Tkm

    Experimentado

  • Miembro
  • MarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcar
  • 391 Mensaje(s)
  • Skype:cristianoronaldo.2
  • Sexo:Masculino
  • Localización:españa
Es una buena guia

❤Estoy Enamorado de Sara Una chica de mi ciudad :D❤


¿Necesitas ayuda con tu servidor Metin2? Agregame al Skype: cristianoronaldo.2
¿Necesitas Unos files completos y sin bugs? http://metin2zone.ne...o-v3/#entry5938

¿Eres nuevo en Metin2Zone y Nesitas ayuda gratis? http://metin2zone.ne..._6538#entry6538

Ya sabes, si te ayudé, no te cuesta nada darme las 'gracias


#6
KeKo

KeKo

    Forero Experto

  • Quest Master
  • MarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcar
  • 1.475 Mensaje(s)
Editado el post con mas info sobre el tema del error de las minusculas ^^

#7
stein20

stein20

    Forero Profesional

  • Miembro
  • MarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcar
  • 742 Mensaje(s)
xD por mucho que intento hacer la guia los mobs me pegan pero no los veo en el syseer del cliente me dice que hay un errr al cargra el msm del mob

#8
Pistach

Pistach

    Curioso

  • Miembro
  • MarcarMarcarMarcar
  • 26 Mensaje(s)
Keko cuando voy a implementar la query en el navicat me sale esto: [SQL] INSERT INTO mob_proto VALUES ('20124', 'archskeleton', 'archskeleton', '5', '0', '0', '50', '', 'AGGR', '0', '', 'STUN', '0', '', '2', '100', '100', '100', '100', '100', '100', '100', '100', '100', '100', '100', '100', '100', '100', '100', '0', '2000', '1', '0', '0', '100', '100', '100', '100', '100', '100', '0', '0', '0', '0', '0', '0', '0', '0', '0 ', '0', '0', '1', '', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0'); [Err] 1136 - Column count doesn't match value count at row 1 Me puedes decir que signific y lo que he hecho mal?

#9
EzekielitohMercury

EzekielitohMercury

    LEGEND OF METIN2ZONE

  • Miembro
  • MarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcar
  • 1.938 Mensaje(s)
  • Skype:ezekielitoh.turritohh
  • Sexo:Masculino
  • Localización:Argentina
Ami Tambiem Me Aparece Eso :S

#10
KeKo

KeKo

    Forero Experto

  • Quest Master
  • MarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcar
  • 1.475 Mensaje(s)

Keko cuando voy a implementar la query en el navicat me sale esto:

[SQL] INSERT INTO mob_proto VALUES ('20124', 'archskeleton', 'archskeleton', '5', '0', '0', '50', '', 'AGGR', '0', '', 'STUN', '0', '', '2', '100', '100', '100', '100', '100', '100', '100', '100', '100', '100', '100', '100', '100', '100', '100', '0', '2000', '1', '0', '0', '100', '100', '100', '100', '100', '100', '0', '0', '0', '0', '0', '0', '0', '0', '0 ', '0', '0', '1', '', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');
[Err] 1136 - Column count doesn't match value count at row 1

Me puedes decir que signific y lo que he hecho mal?


Eso es porque usas querys 2007 en files 2010. Borrarle los 5 ultimos ceros y vuelve a meterla, y si no era 5 eran 6 no me acuerdo el numero exacto que habia de diferencia entre el mob_proto 2007 y el 2010.

#11
sossin

sossin

    Experimentado

  • Miembro
  • MarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcar
  • 297 Mensaje(s)
edito si me sirvio pro mi mob sale comiendo tierra, osea abajo del piso, q puede ser?

#12
yagokurt

yagokurt

    Interesado

  • Miembro
  • MarcarMarcarMarcarMarcar
  • 66 Mensaje(s)

Buena guia keko, pero tengo un problema, hice tudo que dijiste ay, cuando ago el "/mount_test (ID)" el juego cierra solo :S

 

abajo meto el syserr

Spoiler
 
MOTLIST
Spoiler

[font="helvetica, arial, sans-serif;font-size:13px;background-color:rgb(4,4,4);"]GENERAL WAIT1 00_1.msa 81[/font]
[font="helvetica, arial, sans-serif;font-size:13px;background-color:rgb(4,4,4);"]GENERAL WALK 02.msa 15[/font]
[font="helvetica, arial, sans-serif;font-size:13px;background-color:rgb(4,4,4);"]GENERAL RUN 02.msa 15[/font]
[font="helvetica, arial, sans-serif;font-size:13px;background-color:rgb(4,4,4);"]GENERAL COMBO_ATTACK 20.msa 161[/font]
[font="helvetica, arial, sans-serif;font-size:13px;background-color:rgb(4,4,4);"]GENERAL COMBO_ATTACK1 20.msa 161[/font]
[font="helvetica, arial, sans-serif;font-size:13px;background-color:rgb(4,4,4);"]GENERAL COMBO_ATTACK2 20.msa 161[/font]
[font="helvetica, arial, sans-serif;font-size:13px;background-color:rgb(4,4,4);"]GENERAL FRONT_DAMAGE 00.msa 161[/font]
[font="helvetica, arial, sans-serif;font-size:13px;background-color:rgb(4,4,4);"]GENERAL BACK_DAMAGE 00.msa 161[/font]
[font="helvetica, arial, sans-serif;font-size:13px;background-color:rgb(4,4,4);"]GENERAL DEAD 00.msa 161[/font]
[font="helvetica, arial, sans-serif;font-size:13px;background-color:rgb(4,4,4);"]GENERAL SKILL2 02.msa 15[/font]

[font="helvetica, arial, sans-serif;font-size:13px;background-color:rgb(4,4,4);"]

[/font]

 

[font="helvetica, arial, sans-serif;font-size:13px;background-color:rgb(4,4,4);"]

Spoiler
[/font]

 

Spoiler

 

Spoiler

 

Spoiler

 

MSM

 

Spoiler



#13
Desagradable

Desagradable

    Interesado

  • Miembro
  • MarcarMarcarMarcarMarcar
  • 57 Mensaje(s)

gracias por tu me gusta






0 Usuario(s) están leyendo este Tema

0 miembro(s), 0 invitado(s), 0 usuario(s) anónimo(s)