Muestra las diferencias entre dos versiones de la página.
| Próxima revisión | Revisión previa | ||
|
modding:tutoriales:crearnuevpnj [19/03/2010 18:07] Davide creado |
modding:tutoriales:crearnuevpnj [26/12/2014 20:36] (actual) |
||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| ====== Creación de PNJs ====== | ====== Creación de PNJs ====== | ||
| - | __//**EN CONSTRUCCIÓN**//__ | + | Para llevar a cabo este tutorial, necesitaremos los siguientes archivos: |
| - | Archivos | + | * //config/creatures///**spawn_section.ltx** |
| - | * 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/character_desc_название_локации.xml | + | * //config/gameplay///**npc_profile.xml** |
| - | * config/gameplay/npc_profile.xml | + | * //script///**escape_dialog.script** |
| - | * script/escape_dialog.script | + | |
| - | <code>function my_npc_spawn() -- название функции | + | 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: |
| - | alife():create("my_npc",vector():set(-218.20,-20.2,-145.63),35362,47) -- тело функции, содержит функцию создания перса и координаты | + | * 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: | ||
| + | |||
| + | <code>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</code> | end</code> | ||
| + | |||
| + | Abrimos ahora //config/gameplay///**npc_profile.xml** y añadimos al final: | ||
| <code><character id="my_npc"> | <code><character id="my_npc"> | ||
| Línea 17: | Línea 27: | ||
| </character></code> | </character></code> | ||
| - | <code>[my_npc]:stalker $spawn = "respawn\my_npc" | + | 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: |
| + | |||
| + | <code>[my_npc]:stalker | ||
| + | $spawn = "respawn\my_npc" | ||
| character_profile = my_npc | character_profile = my_npc | ||
| - | spec_rank = regular | + | spec_rank = regular |
| - | community = stalker</code> | + | community = stalker</code> |
| + | |||
| + | 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: | ||
| <code><specific_character id="my_npc" team_default = "1"> | <code><specific_character id="my_npc" team_default = "1"> | ||
| - | <name>ИМЯ</name> <!-- Имя --> | + | <name>Pepito</name> <!-- Nombre --> |
| - | <icon>ui_npc_u_stalker_bandit_3</icon> <!-- иконка --> | + | <icon>ui_npc_u_stalker_bandit_3</icon> <!-- Icono --> |
| - | <bio>esc_wolf_bio</bio> <!-- биография --> | + | <bio>esc_wolf_bio</bio> <!-- Biografía--> |
| - | <class>my_npc</class> <!-- класс --> | + | <class>my_npc</class> <!-- Clase --> |
| - | <community>stalker</community> <!-- группировка --> | + | <community>stalker</community> <!-- Facción --> |
| <terrain_sect>stalker_terrain</terrain_sect> | <terrain_sect>stalker_terrain</terrain_sect> | ||
| - | <rank>333</rank> <!-- ранк --> | + | <rank>333</rank> <!-- Rango --> |
| - | <reputation>0</reputation> <!-- репутация --> | + | <reputation>0</reputation> <!-- Reputación --> |
| - | <money min="200" max="2000" infinitive="1"/> <!-- деньги --> | + | <money min="200" max="2000" infinitive="1"/> <!-- Dinero --> |
| - | <snd_config>characters_voice\human_01\stalker\</snd_config> <!-- папка звуков --> | + | <snd_config>characters_voice\human_01\stalker\</snd_config> <!-- Carpeta de las Voces --> |
| <crouch_type>-1</crouch_type> | <crouch_type>-1</crouch_type> | ||
| - | <visual>actors\bandit\stalker_bandit_3</visual> <!-- визуал (модель) --> | + | <visual>actors\bandit\stalker_bandit_3</visual> <!-- Modelo --> |
| <supplies> [spawn] \n | <supplies> [spawn] \n | ||
| - | wpn_groza \n <!-- спавним грозу --> | + | wpn_groza \n <!-- Arma que posee --> |
| - | ammo_9x39_pab9 \n <!-- и патроны --> | + | ammo_9x39_pab9 \n <!-- Balas para usar con el arma --> |
| - | #include "gameplay\character_items.xml" \n <!-- загружаем файл рандомного спавна вещей --> | + | #include "gameplay\character_items.xml" \n <!-- Objetos que puede tener el PNJ de forma aleatoria --> |
| - | #include "gameplay\character_food.xml" <!-- загружаем файл рандомного спавна еды --> | + | #include "gameplay\character_food.xml" <!-- Comida que puede tener el PNJ de forma aleatoria --> |
| </supplies> | </supplies> | ||
| - | #include "gameplay\character_criticals_3.xml" <!-- загружаем файлы стандартных диалогов --> | + | #include "gameplay\character_criticals_3.xml" <!-- Tipos de daño --> |
| - | #include "gameplay\character_dialogs.xml" | + | #include "gameplay\character_dialogs.xml"<!-- Esquema de Diálogos --> |
| </specific_character></code> | </specific_character></code> | ||
| + | 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: | ||
| + | <code>my_spawn.my_npc_spawn()</code> | ||
| - | __//**EN CONSTRUCCION**//__ | + | ¡Qué os divirtáis poblando la Zona con vuestras creaciones! |