Noticias:

Debes de estar registrado para poder ver el contenido indicado. Registrate o Conectate

Menú Principal

[Guía] Activar y crear npc customs

Iniciado por Swarlog, Ago 05, 2022, 12:58 AM

Tema anterior - Siguiente tema

Swarlog

Hoy os explicare como activar y crear nuestros propios npc custom. En versiones anteriores, en los servidores se utilizaba la tabla "custom_npc", pero ahora se encuentran en archivos xml, pero no os preocupes. Ahora es mucho más sencillo que antes y además, es mucho mejor para el servidor cargarlos desde este tipo de archivos.

- Activar Npc Custom:

Para que el servidor lea los npc custom que vamos a incorporarle, debemos primero de indicarselo ya que por defecto esta desactivado. Para ello, nos vamos a las properties y abrimos el documento "General.properties" con un block de notas. Encontraremos lo siguiente:

# ---------------------------------------------------------------------------
# Custom Components
# ---------------------------------------------------------------------------

# Default: False
CustomSpawnlistTable = False

# Option to save GM spawn only in the custom table.
# Default: False
SaveGmSpawnOnCustom = False

# Default: False
CustomNpcData = False

# Default: False
CustomTeleportTable = False

# Default: False
CustomNpcBufferTables = False

# Default: False
CustomSkillsLoad = False

# Default: False
CustomItemsLoad = False

# Default: False
CustomMultisellLoad = False

# Default: False
CustomBuyListLoad = False

Para activarlos en vez de tener "False", ponemos "True" y de esta manera nos leera todo lo relacionado con lo custom que añadamos a nuestro servidor.

- Crear un Npc Custom:

Es muy sencillo, solo tenemos que añadir los npc a nuestro servidor. Para ello vamos a la carpeta "Npcs", situada en "L2J_DataPack/dist/game/data/stats/npcs/custom".

En la carpeta npcs estan todos los npcs del servidor que vienen por defecto, pero a nosotros lo que nos interesa son los custom. Para ello, hemos entrado en la carpeta que os indique antes.

Ahora vamos a crear un npc, para ello utilizaremos el archivo "custom.xml", lo abrimos y aparecerá lo siguiente:


<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/npcs.xsd">
<npc id="50007" displayId="31324" name="Andromeda" usingServerSideName="true" title="Wedding Manager" usingServerSideTitle="true" type="L2Npc">
<collision>
<radius normal="8" />
<height normal="23" />
</collision>
</npc>
<npc id="70010" displayId="31606" name="Catrina" usingServerSideName="true" title="TvT Event Manager" usingServerSideTitle="true" type="L2Npc">
<collision>
<radius normal="8" />
<height normal="15" />
</collision>
</npc>
<npc id="900100" displayId="20432" level="1" name="Elpy" type="L2EventMonster">
<stats str="40" int="21" dex="30" wit="20" con="43" men="20">
<vitals hp="40" hpRegen="3" mp="36" mpRegen="1" />
<attack physical="8" magical="7" />
<defence physical="25" magical="40" />
</stats>
<status undying="false" />
<collision>
<radius normal="5" />
<height normal="4.5" />
</collision>
</npc>
<npc id="900101" displayId="32365" name="Snowden" usingServerSideName="true" title="Event Manager">
<collision>
<radius normal="5" />
<height normal="12.5" />
</collision>
</npc>
<npc id="900102" displayId="13098" level="80" name="Event Treasure Chest" type="L2Monster">
<stats str="40" int="21" dex="30" wit="20" con="43" men="20">
<vitals hp="2880" mp="1524" />
<defence physical="1499" magical="1035.28" />
</stats>
<collision>
<radius normal="8.5" />
<height normal="8.5" />
</collision>
</npc>
<npc id="900103" displayId="32365" name="Start" usingServerSideName="true" title="Event Manager">
<collision>
<radius normal="5" />
<height normal="12.5" />
</collision>
</npc>
<npc id="900104" displayId="32365" name="Finish" usingServerSideName="true" title="Event Manager">
<collision>
<radius normal="5" />
<height normal="12.5" />
</collision>
</npc>
<npc id="1000003" displayId="32226" name="Shiela" usingServerSideName="true" title="L2J NPC Buffer" usingServerSideTitle="true" type="L2NpcBuffer">
<collision>
<radius normal="11" />
<height normal="22.25" />
</collision>
</npc>
</list>

Si aprestais atención, vereis los npc custom con sus id, nombre, titulo, etc... Pues ahora solo tenemos que crear el nuestro, por ejemplo:

<npc id="111000" displayId="32365" name="Npc Event" usingServerSideName="true" title="Event Manager" usingServerSideTitle="true" type="L2Npc">
<collision>
<radius normal="12.50"/>
<height normal="25"/>
</collision>
</npc>

Lo tenemos que añadir, para ello lo pegamos en el documento, entre los "<list>". En este caso, lo pegamos al final, antes del "</list>" final del documento. Quedaria una cosa asi:

<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/npcs.xsd">
<npc id="50007" displayId="31324" name="Andromeda" usingServerSideName="true" title="Wedding Manager" usingServerSideTitle="true" type="L2Npc">
<collision>
<radius normal="8" />
<height normal="23" />
</collision>
</npc>
<npc id="70010" displayId="31606" name="Catrina" usingServerSideName="true" title="TvT Event Manager" usingServerSideTitle="true" type="L2Npc">
<collision>
<radius normal="8" />
<height normal="15" />
</collision>
</npc>
<npc id="900100" displayId="20432" level="1" name="Elpy" type="L2EventMonster">
<stats str="40" int="21" dex="30" wit="20" con="43" men="20">
<vitals hp="40" hpRegen="3" mp="36" mpRegen="1" />
<attack physical="8" magical="7" />
<defence physical="25" magical="40" />
</stats>
<status undying="false" />
<collision>
<radius normal="5" />
<height normal="4.5" />
</collision>
</npc>
<npc id="900101" displayId="32365" name="Snowden" usingServerSideName="true" title="Event Manager">
<collision>
<radius normal="5" />
<height normal="12.5" />
</collision>
</npc>
<npc id="900102" displayId="13098" level="80" name="Event Treasure Chest" type="L2Monster">
<stats str="40" int="21" dex="30" wit="20" con="43" men="20">
<vitals hp="2880" mp="1524" />
<defence physical="1499" magical="1035.28" />
</stats>
<collision>
<radius normal="8.5" />
<height normal="8.5" />
</collision>
</npc>
<npc id="900103" displayId="32365" name="Start" usingServerSideName="true" title="Event Manager">
<collision>
<radius normal="5" />
<height normal="12.5" />
</collision>
</npc>
<npc id="900104" displayId="32365" name="Finish" usingServerSideName="true" title="Event Manager">
<collision>
<radius normal="5" />
<height normal="12.5" />
</collision>
</npc>
<npc id="1000003" displayId="32226" name="Shiela" usingServerSideName="true" title="L2J NPC Buffer" usingServerSideTitle="true" type="L2NpcBuffer">
<collision>
<radius normal="11" />
<height normal="22.25" />
</collision>
</npc>

<npc id="111000" displayId="32365" name="Npc Event" usingServerSideName="true" title="Event Manager" usingServerSideTitle="true" type="L2Npc">
<collision>
<radius normal="12.50"/>
<height normal="25"/>
</collision>
</npc>
</list>

Y ya tenemos nuestro npc custom añadido con la id "111000".

Tambien podeis crear nuevos archivos xml para clasificar los npc que vais creando, por ejemplo yo he utilizado la id 111000, pues podemos crear un nuevo xml que se llame: 111000-111999.xml y tener dicho npc dentro de ese archivo y tenelo todo mas ordenado.

Espero que esta guia os ayude, soporte al foro creado para ello pls ^^