Para llevar a cabo este tutorial, necesitaremos los siguientes archivos:
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:
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!