Mover, agregar, o eliminar un NPC

Bienvenidos a un nuevo tutorial, hoy aprenderemos a mover, agregar o eliminar un NPC.
Para aquellos que desconocen el termino NPC, intentaré darles una defición (Espero que no se mal entienda).
Un NPC es un objeto dentro del juego con el cual podemos tener diferentes tipos de interacciones (Comprar items, crear una guild, realizar una quest, etc)
Son ejemplos de NPC los siguientes:

"Sebina the Priest"
"Golden Archer"
"Charon"
"Chaos Goblin"
"Elf Lala"
"Eo the Craftsman"
"Caren the Barmaid"
"Wizard","Izabel"
"Weapons Merchant Zienna"
"Wandering Merchant Martin"
"Guard","Wandering Merchant"
"Hanzo the Blacksmith"
"Potion Girl Amy"
"Pasi the Mage"
"Lumen the Barmaid"
"Lahap"
"Shadow Phantom Soldier"
"Marlon"
"Gens Duprian"
"Gens Vanert"
"Imperial Guardian Npc"
"Lucky Coins"
"Priest Devin"
"Werewolf Quarrel"
"Keepergate"
"Elite Soldier"
"Jerridon"
"Osborne"
"Archangel"
Entre otros...
Los NPC se clasifican de acuerdo al uso, tenemos varios de ellos que son para SHOPS, otros para realizar GUILD, algunos se usas para interactuar con los items, subirlos de nivel, agregarle opciones, etc...
Estos NPC se destribuyen en el juego dentro de cada mapa en diferentes coordenadas.
¿Qué podemos hacer con los NPC?
Con los NPC podemos realizar tres acciones: moverlos, agregarlos o eliminarlos.
¿Cómo se hace eso?, con este tutorial:
1)Para el siguiente tutorial trabajaré con una versión Season 6, dicha ejemplificación puede ser aplicada a cualquier version de MuOnline (Deben tener en cuenta que dependiendo la versión pueden variar los npc y las rutas de los archivos)
Para trabajar con NPC(s) necesitan dos archivos, el Monster.txt y el MonsterSetBase.txt (Recuerden que si usamos gameserver_cs, tambien podemos usar el MonsterSetBase_cs.txt)
Es normal o aveces no tanto, que dentro de nuestro archivo (MonsterSetBase.txt) tenemos ordenado de la siguiente manera:

Archivos monstersetbase

2)En caso que no, veamos como se organizan los NPC dentro del MonsterSetBase.txt
Tomemos un ejemplo cualquiera:
238 3 0 180 103 1 //Chaos Goblin
Cada dígito o conjunto de dígitos hacen una secuencia númerica la cual va formando al NPC.
El 238 = Es el ID del NPC [ID es el identificador, luego veremos como saber el id de cualquier NPC]
El 3 = Es el mapa en donde esta ubicado dicho NPC [3=Noria]
El 0 = Es el radio [Todos los NPC tendrán siempre ese valor a excepción de los Guardias, que son los únicos que pueden caminar dentro del juego]
El 180 = La coordenada X
El 103 = La coordenada Y
El 1 = La dirección (La dirección sería el lado para donde se ubica el NPC, ejemplo mirando hacia el norte, sur, este , oeste, etc)
Entonces, si yo entro al juego y me posiciono en el mapa Noria en las coordenadas X=180 e Y=103, todo indicaría que alli debería estar un NPC llamado "Chaos Goblin"
Veamos ...

Coordenads del NPC Goblin

3)Hasta ahi, hemos visto como se interpreta el código de un NPC y como se refleja en el juego. (En la imagen del juego se ve la coordenada 102 en lugar de 103, es simple lógica que me acerque lo máximo posible, ya que no se puede entrar dentro de un NPC sino aproximarse, la única menera de entrar al 103 es bugeando el move con un personaje Admin)
Entonces comenzemos con la primera acción "Mover el NPC"
Para mover el npc primero debemos saber que NPC queremos mover, en este caso podemos hacerlo de muchas maneras, la ideal es entrando al juego, buscar el NPC que deseamos mover, anotar las cordenadas en donde se encuentra (aproxímación), el mapa y el nombre del NPC.
Supongamos que quiero mover este NPC a otro lado:

Coordenadas del NPC Charon

4)Lo que debemos hacer para mover el NPC es simplemente tomar los datos como:
Nombre del NPC: Charon
Mapa: 3 [Noria] (¿No conoces el número del mapa? Ver Aqui)
Coordenada X: 172 (Aproximación)
Coordenada Y: 104 (Aproximación)
Nuestro siguiente paso es saber que número de NPC le corresponde a "Charon", para eso abrimos el monster.txt, apretamos simultáneamente "Control+B" y escribimos "Charon"
Los primeros números reepresentan el código del NPC.
237 => NPC Charon
Archivo monster

5)Entonces, repasemos la información que necesitamos para localizar al NPC Charon en el archivo del juego:
Nombre del NPC : Charon
Número del NPC : 237 (Recuerden, el número del NPC lo sacamos del monster.txt)
Coordenada X: 172 (Aproximación)
Coordenada Y: 104 (Aproximación)
Con esta información recolectada, abrimos nuestros MonsterSerBase.txt , en mi caso ubicado en la ruta Muserver/data/Monsters/
Al abrirlo, veremos algo como lo siguiente (Dependiendo la versión, esto puede variar):

Archivos monstersetbase

6)Lo que debemos hacer ahora, es buscar entre todos esos códigos, al NPC en cuestión.
¿Cómo?, con la información que tenemos arriba.
Si nuestro MonsterSetbase esta organizado, es super sencillo, ahora supongamos que no está, lo que podemos hacer es: apretar simultaneamente "Control+b" y en diálogo de búsqueda, ponemos el ID del NPC, es decir 237
Cuando comenzemos a buscar, es muy probable que no nos lleve al NPC en el primer intento, sino a una cordenada de algun monster y algo similar.
¿Cómo puedo darme cuenta de esto?
Simplemente con la lógica, veamos un ejemplo:

Coordenada x

7)Por lógica ese 237 no reepresenta al NPC Charon por varias razones:
Primero: el ID del NPC debe ubicarse en primer lugar de la secuencia númerica, Segundo: el grupo es [2] y si revisamos el tutorial sobre Spots Ver Aqui podemos observar que el [2] se usa para crear un "spot normal"
Y finalmente, por la posición que ocupa el 237 en la secuencia, sabemos que se trata de una coordenada Y.
Ahora veamos el verdadero:

Modificación de la coordenada del npc Charon

8)¿Porque es el verdadero?
Por todo lo inverso a lo anterior, veamoslo:
El 237 está al inicio de la secuencia numérica (OK)
El grupo (Lo marcado en verde) es [0] eso nos indica que estamos en presencia de NPC (OK)
La secuencia de números respeta la cantidad de dígitos, es decir, el grupos de números.
¿Y para que recolectamos la información de coordenadas apróximadas y el número de mapa?
Porque es posible que tengamos varios NPC con ese ID, no solo en ese mapa sino en otros mapas tambien, entonces para ir filtrando, primero buscamos el mapa y despues las cordenadas, de esta forma sabremos exctamente cual es la linea del NPC que estamos buscando.
Entonces, como ya tenemos ubicado el NPC supongamos que deseamos moverlo de Noria a lorencia y a otras coordenadas, para esto debemos configurar el archivo de la siguiente manera:
Número de mapa actual: 3 [noria]
Número de mapa nuevo: 0 [Lorencia]
Coordenada X actual: 172
Cordenada Y actual: 104

Coordenada X nueva: 125
Cordenada Y nueva: 125
El archivo configurado nos quedaría de la siguiente forma:

Modificación del npc en noria

9)Claro esta que ustedes puede agregar el número de mapa y coordenadas que necesiten, y recuerden que sino conocen el número del mapa puede revisar este tutorial: Ver Aqui y para saber la coordenada, simplemente entran al juego y la anotan.
Nuestro siguiente paso, será guardar los cambios en el archivo y reiniciar el server para verificar los cambios (Opcionalmente pueden hacer un Reload), lo que debemos verificar es que el NPC se encuentre en el mapa que le indicamos en las coordeandas seteadas.

Visualizando NPC modificado en el cliente

10)Y efectivamente, el NPC se encuentra en donde lo configuramos.
Ahora supongamos que deseamos agregar un NPC, para esto; buscamos el código del NPC que deseamos desde el Monster.txt.
Por ejemplo: queremos agregar un baul al mapa "Atlans", entonces como habíamos dicho, abrimos el Moster.txt [Generalmente los NPC se encuentran al final del mismo] y buscamos el llamado "Baz the Vault Keeper o Baz, Storage Guard" y vemos el ID que lo reepresenta:

Store Guard en el monster

11)El ID que reempresenta el Baul es el "[240]", entonces buscamos el MonsterSetBase.txt, nos posicionamos sobre cualquier secuencia que tengamos NPC(s) y agregamos la linea como ya lo hemos visto:
Primero el ID del NPC = 240
Segundo el número del mapa = 7 (Atlans)
Rad: 0 (El baul no tiene radio de movimiento)
Coordenada X= 16
Coordenada Y= 12

Agregando de un NPC

12)Reiniciamos el servidor y verificamos los cambios

Verificando los cambios en el juego

13)Como podemos observar, el NPC se encuentra en el mapa indicado en las coordenadas marcadas en nuestro archivo.
Finalmente para eliminar un NPC lo que debemos hacer es borrar la linea de forma horizonal, por ejemplo si tenemos esta linea de un NPC:
237 0 0 125 125 3 //Charon
Y queremos eliminarlo, simplemete borramos toda la linea completa, reiniciamos el server y verificamos los cambios.
Observaciones finales:
*Al agregar un NPC lo podemos agregar dentro de un grupo [0], en donde tenemos otros NPC en la misma secuencia, no pueden agregar las lineas sueltas dentro del archivo MosterSetBase.txt ni mucho menos dentro de las secuencias de los Spots.
*Los NPC que agregamos siempre serán los mismos que tenemos en nuestro juego, es decir, que si agregamos dos "Elf lala", los dos NPC venderan los mismos items.
*Al agregar un NPC o moverlos, es posible que la dirección o el ángulo de visión no sea el deseado, para esto necesitamos ir modificando los valores de la dirección.
*Los NPC los podemos agregar junto a otros NPC de diferentes mapas, la organización interna no afecta la externa.
*Nunca borren el "end" de una secuencia, ya que es posible que al hacerlo el server no inicie.
*Trabajen siempre sobre una copia y no sobre el original, no hagan muchos cambios sobre el archivo sin verificarlos, ya que por ejemplo: si realizamos 10 cambios y cuando deseamos verificarlos tenemos un error, no sabran cual de esos 10 es el causante, lo que los obligará a comenzar de 0 nuevamente.
npc.rar [2 KB]

¿Necesitas ayuda? Visita www.iceventas.com y nosotros lo hacemos por ti.

Se han publicado un total de 18 comentarios en MuOnline Tutoriales :

14 de agosto de 2013, 23:50

Hola que tal, quisiera saber ¿cómo hago para modificar un npc? o ¿cómo hago para agregar un npc nuevo (skin)?.

Saludos y gracias por está guía, me fue de mucha ayuda.

15 de agosto de 2013, 10:19

Luis Enrique : Para agregar un skin de NPC simplemente debes contar con las texturas y reemplazarlas en tu servidor.
Saludos

22 de septiembre de 2013, 0:55

Hola tengo una pregunta quisiera saber si de esta manera se puede mover los sellos del Cs de abajo porque en mi bug en las esquina se quedan la gente y no los pueden sacar y es un bug horrible quisiera saber co hacer eso , saludos y si de esta forma se mueven los sellos tambien del CS saludos

22 de septiembre de 2013, 11:03

Anónimo : No entendi el mensaje, ¿Podrías volver a explicarlo?
Saludos

28 de octubre de 2013, 15:34

Hola que tal, Quería saber si hay alguna forma de eliminar npc o hacer este tipo de cambios sin la necesidad de reiniciar el servidor. Porque si hay user on tener que reiniciarlo por cada cambio que haga va a ser muy molesto.

28 de octubre de 2013, 16:10

Anónimo : Si claro, simplemente haces un reload a monster.
Saludos

28 de octubre de 2013, 16:51

Disculpame, y como haria el reload?

28 de octubre de 2013, 17:19

Anónimo : Abres el gameserver.exe [El que ya tiene iniciado en el juego] y vas a la opción "Load" => Monster Position Reload ...
Saludos

28 de octubre de 2013, 17:25

Muchisimas gracias, me funcionó. Realmente admiro esta web. Saludos

28 de octubre de 2013, 17:32

Anónimo : Saludos.

4 de diciembre de 2013, 18:09

hola me darias los codigo del ncp golden arch!!!!

4 de diciembre de 2013, 18:41

leonardo wagner : 236
Saludos

8 de enero de 2014, 13:30

Alguien me daria el codigo del NPC alquimista o botTradE

8 de enero de 2014, 14:20

victor_tumachito : Ingresas a Muserver/SCFData/SCFBots
Saludos

19 de enero de 2014, 1:21

Hola me podrìa decir en que parte encuentro al npc priest devin? su codigo y en que archivo?

19 de enero de 2014, 13:38

Anónimo : Abres tu archivo llamado monster.txt y buscas el nombre del NPC; junto al nombre tendrás el código del mismo.
Saludos

2 de febrero de 2014, 7:14

Hola no me decis como ago para qe los monsters se exparsan, osea no que qeden en un solo lugar qe qeden todos separados x todo el mapa

3 de febrero de 2014, 14:07

Richard Flores : Modificas el radio.
Saludos

Publicar un comentario en la entrada