Herramientas de usuario

Herramientas del sitio


modding:tutoriales:crearnuevpnj

Creación de PNJs

Para llevar a cabo este tutorial, necesitaremos los siguientes archivos:

  • config/creatures/spawn_section.ltx
  • config/gameplay/character_desc_XXX.xml (dónde XXX es la Ubicación en la que vamos a hacer respawnear el NPC, en este caso escape que es el Cordón)
  • config/gameplay/npc_profile.xml
  • script/escape_dialog.script

Antes de hacer nada, necesitaremos las coordenadas en las que hacer respawnear nuestro PNJ. Puedes usar las que prefieras, pero en este tutorial utilizaremos los siguientes datos:

  • X: -218.20 (Posición en el Eje X)
  • Y: -20.2 (Posición en el Eje Y)
  • Z: -145.63 (Posición en el Eje Z)
  • LVID: 35362 (Level Vertex ID - Referencia dentro de la Ubicación)
  • GVID: 47 (Game Vertex ID - Referencia dentro el Mapa Global del juego)

En la carpeta gamedata/scripts crea un archivo llamado mi_spawn.script, y dentro del mismo añade:

function my_npc_spawn()  -- Nombre de la Función
      alife():create("my_npc",vector():set(-218.20,-20.2,-145.63),35362,47) -- Creamos un PNJ específico (my_npc) en las coordenadas que habíamos establecido
end

Abrimos ahora config/gameplay/npc_profile.xml y añadimos al final:

<character id="my_npc">
      <class>my_npc</class>     
      <specific_character>my_npc</specific_character>
</character>

Necesitamos 'decirle' al juego que como implementar todo lo que hemos hecho, así que vamos al archivo config/creatures/spawn_section.ltx y le añadimos:

[my_npc]:stalker
$spawn = "respawn\my_npc"
character_profile = my_npc
spec_rank = regular
community = stalker

Ahora toca darle identidad a este nuevo PNJ, por lo que abrimos config/gameplay/character_desc_XXX.xml (en este caso sería character_desc_escape.xml) y añadimos al final:

<specific_character id="my_npc" team_default = "1">     
      <name>Pepito</name> <!-- Nombre -->
      <icon>ui_npc_u_stalker_bandit_3</icon> <!-- Icono -->
      <bio>esc_wolf_bio</bio> <!-- Biografía-->
      <class>my_npc</class> <!-- Clase -->
      <community>stalker</community> <!-- Facción -->
      <terrain_sect>stalker_terrain</terrain_sect>
      <rank>333</rank> <!-- Rango -->
      <reputation>0</reputation>  <!-- Reputación -->
      <money min="200" max="2000" infinitive="1"/> <!-- Dinero -->
      <snd_config>characters_voice\human_01\stalker\</snd_config> <!-- Carpeta de las Voces -->
      <crouch_type>-1</crouch_type>
      <visual>actors\bandit\stalker_bandit_3</visual> <!-- Modelo -->
      <supplies> [spawn] \n
        wpn_groza \n <!-- Arma que posee -->
        ammo_9x39_pab9 \n  <!-- Balas para usar con el arma -->
#include "gameplay\character_items.xml" \n <!-- Objetos que puede tener el PNJ de forma aleatoria -->
#include "gameplay\character_food.xml" <!-- Comida que puede tener el PNJ de forma aleatoria -->
      </supplies>
#include "gameplay\character_criticals_3.xml" <!-- Tipos de daño -->
#include "gameplay\character_dialogs.xml"<!-- Esquema de Diálogos -->
</specific_character>

Es hora de hacer que nuestra creación vea la luz del Sol y perezca dolorosamente en la Zona. Para ello abrimos script/escape_dialog.script y buscamos function give_wounded_flash(first_speaker, second_speaker). Inmediatamente después de esa línea agregamos:

my_spawn.my_npc_spawn()

¡Qué os divirtáis poblando la Zona con vuestras creaciones!

modding/tutoriales/crearnuevpnj.txt · Última modificación: 26/12/2014 20:36 (editor externo)