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!