KeKo Posted July 4, 2012 Report Share Posted July 4, 2012 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. 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: -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: -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: *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. 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. idmob [tab] nombremsm El resultado tiene que ser algo asi: 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: Debes iniciar sesión para ver el contenido del enlace en esta publicación. 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. 0 [tab] nombredelmsmnuevo [tab] nombredelmsmviejo 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: <Mob vnum="idmob" name="????" gb2312name="Nombremob" type="0" rank="1" battle_type="0" level="125" event_type="0" mob_color="0" /> Y listo ya tendreis vuestro nuevo mob implementado y funcionando (Os pongo una foto de un mob cualquiera xd, esta porq la chami sale toda sexy ) 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 Asà bien También teneis que abrir el msm del mob y ver que el .gr2 de ahi esté en minus también: Asi mal Asi bien 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: d:/ymir work/monster2/mob_nuevo/Mob.gr2 d:/ymir work/monster2/mob_nuevo/Textura_Mob.tga 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 d:/ymir work/monster2/mob_nuevo/mob.gr2 d:/ymir work/monster2/mob_nuevo/textura_Mob.tga 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??? 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. 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Ã. Y eso es todo zoneros, espero que os sirva la guÃa Libra, kroxo, Frezi Op and 9 others 12 Quote Link to comment Share on other sites More sharing options...
Akroma Posted July 4, 2012 Report Share Posted July 4, 2012 buenisima keko, si señor buenisima, la aplicare a los que me fallan. Libra 1 Quote Link to comment Share on other sites More sharing options...
Kryzz Posted July 4, 2012 Report Share Posted July 4, 2012 Muy Buena Keko, implemente todos mis mobs ! Quote Link to comment Share on other sites More sharing options...
Metin2Arial2012 Posted July 7, 2012 Report Share Posted July 7, 2012 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 Quote Link to comment Share on other sites More sharing options...
�Alejandro&Sara�Tkm Posted September 6, 2012 Report Share Posted September 6, 2012 Es una buena guia Quote Link to comment Share on other sites More sharing options...
KeKo Posted September 26, 2012 Author Report Share Posted September 26, 2012 Editado el post con mas info sobre el tema del error de las minusculas Quote Link to comment Share on other sites More sharing options...
stein20 Posted November 23, 2012 Report Share Posted November 23, 2012 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 Quote Link to comment Share on other sites More sharing options...
Pistach Posted January 6, 2013 Report Share Posted January 6, 2013 Keko cuando voy a implementar la query en el navicat me sale esto: 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? Quote Link to comment Share on other sites More sharing options...
EzekielitohMercury Posted April 13, 2013 Report Share Posted April 13, 2013 Ami Tambiem Me Aparece Eso Quote Link to comment Share on other sites More sharing options...
KeKo Posted April 13, 2013 Author Report Share Posted April 13, 2013 Keko cuando voy a implementar la query en el navicat me sale esto: 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. Quote Link to comment Share on other sites More sharing options...
sossin Posted June 2, 2013 Report Share Posted June 2, 2013 edito si me sirvio pro mi mob sale comiendo tierra, osea abajo del piso, q puede ser? Quote Link to comment Share on other sites More sharing options...
yagokurt Posted July 1, 2013 Report Share Posted July 1, 2013 Buena guia keko, pero tengo un problema, hice tudo que dijiste ay, cuando ago el "/mount_test (ID)" el juego cierra solo abajo meto el syserr 0701 00:57:14046 :: CMapOutdoor::Load - LoadMonsterAreaInfo ERROR 0701 00:57:14851 :: GRANNY: r:/granny/rt/granny_file_info.cpp(145): File has run-time type tag of 0x8000000f, which doesn't match this version of Granny (0x80000010). Automatic conversion will be attempted. MOTLIST GENERAL WAIT 00.msa 161 GENERAL WAIT1 00_1.msa 81GENERAL WALK 02.msa 15GENERAL RUN 02.msa 15GENERAL COMBO_ATTACK 20.msa 161GENERAL COMBO_ATTACK1 20.msa 161GENERAL COMBO_ATTACK2 20.msa 161GENERAL FRONT_DAMAGE 00.msa 161GENERAL BACK_DAMAGE 00.msa 161GENERAL DEAD 00.msa 161GENERAL SKILL2 02.msa 15 ScriptType MotionData MotionFileName "D:YMIR WORKnpcundead_horse00.gr2" MotionDuration 5.333333 ScriptType MotionData MotionFileName "D:YMIR WORKnpcundead_horse00_1.gr2" MotionDuration 2.666666 ScriptType MotionData MotionFileName "D:YMIR WORKnpcundead_horse02.gr2" MotionDuration 0.466666 ScriptType MotionData MotionFileName "D:YMIR WORKnpcundead_horse20.gr2" MotionDuration 5.333333 MSM ScriptType RaceDataScript BaseModelFileName "D:/ymir work/npc2/undead_horse/undead_horse.gr2"Group ShapeData{PathName "d:/ymir work/npc2/undead_horse/"ShapeDataCount 1Group ShapeData00{ShapeIndex 0Model "undead_horse.gr2"SourceSkin "vehicle_horse_undead_diff.tga"TargetSkin "vehicle_horse_undead_diff.tga"}}Group AttachingData{AttachingDataCount 3Group AttachingData00{AttachingDataType 2isAttaching 0AttachingModelIndex 0AttachingBoneName "Dummy_root"EffectScriptName "D:/ymir work/effect/etc/forked_load/victory.mse"EffectPosition 0.000000 0.000000 0.000000EffectRotation 0.000000 0.000000 0.000000}Group AttachingData01{AttachingDataType 1isAttaching 0AttachingModelIndex 0AttachingBoneName "Dummy_root"CollisionType 1SphereDataCount 1Group SphereData00{Radius 60.000000Position 0.000000 0.000000 100.000000}}Group AttachingData02{AttachingDataType 1isAttaching 1AttachingModelIndex 0AttachingBoneName "Dummy_root"CollisionType 3SphereDataCount 1Group SphereData00{Radius 80.000000Position 0.000000 0.000000 100.000000}} } Quote Link to comment Share on other sites More sharing options...
emiliano cando Posted November 13, 2017 Report Share Posted November 13, 2017 si alguien es tan gentil y save de algun video para ver como hacen los pasos se lo agradeseria yo no me aclaro para peor las imagenes no se ven asique mas perdido aun mis archivos en la carpeta del mob son esos pero claro como me estoy iniciando en esto pues no tengo idea desde ya gracias Debes iniciar sesión para ver el contenido del archivo adjunto en esta publicación. Quote Link to comment Share on other sites More sharing options...
Xhebas Posted November 16, 2017 Report Share Posted November 16, 2017 En 13/11/2017 a las 12:19, emiliano cando dijo: si alguien es tan gentil y save de algun video para ver como hacen los pasos se lo agradeseria yo no me aclaro para peor las imagenes no se ven asique mas perdido aun mis archivos en la carpeta del mob son esos pero claro como me estoy iniciando en esto pues no tengo idea desde ya gracias Debes iniciar sesión para ver el contenido del archivo adjunto en esta publicación. Aunque ya es un tema algo viejo pero bueno. Tal vez asi le sea mas facil implementar Quote Link to comment Share on other sites More sharing options...
Freddy Di Maria Posted January 31, 2021 Report Share Posted January 31, 2021 En 2/6/2013 a las 6:32, sossin dijo: edito si me sirvio pro mi mob sale comiendo tierra, osea abajo del piso, q puede ser? ubicacion x y es por el mapa, z es altura, falta esas coordenadas? o el modelo esta mal hecho yendo bajo suelo Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.