www.CrysisSpain.com

   www.luna-s-art.com

   www.stalker-game.com






























TUTORIAL IV

[Tutorial] EDITANDO LAS CONVERSACIONES


By JossiRossi y traducido por Danidomen.
::Link hilo en el foro::


Esquema del tutorial:

BASICO
- AI. Modifando el texto presente en el juego.
- AII. Añadiendo elecciones en los textos ya existentes.
- AIII. Añadir una tercera eleccion con su propio texto
AVANZADO
- BI: Haciendo que las elecciones tengan su efecto en el mundo
- BII: Los personajes hablan

Introducción:

Ante todo decir que siguiendo paso a paso el tutorial se os hara bastante facil, aunque claro, no es corta precisamente la explicación. De todas formas, si seguis este tutorial es porque ya sabeis como trastear con el tema de modificar STALKER, si no es vuestro caso, os recomiendo que leeais este otro tutorial.

BASICO

AI. Modifando el texto presente en el juego.
Modificar los textos que contiene el juego es facil. Nada mas que tienes que abrir y editar el correspondiente archivo .xml.

Para este tutorial nosotros editaremos lo que el Comerciante dice en el primer dialogo del juego. Lo que haremos es que la conversación sea mas rapidita.

Paso 1: Localiza y abre el archivo. config/text/esp/stable_dialogs_escape.xml
Un archivo .xml se suele abrir por defecto con el explorador. Para editarlo tenemos que abrirlo con un editor de textos, y con el Bloc de Notas deberiamos tener suficiente.

Paso 2: Busca el stringID "escape_trader_start_dialog_3"
Esto es lo que dice el comerciante cuándo abres la pantalla del diálogo después de que él te haya hablado un poco sin la pantalla de diálogo haciendo aparecerla en pantalla.

Paso 3: Borra el texto que hay entre <text> y </text>
Aunque dudo que la gente no sabria ya esto lo explico, <text> indica que las palabras que van a continuación forma parte de un texto, y que </text> indica que el texto se para o termina. Puedes verlo varias veces repetidas durante todo el codigo.

Paso 4: Escribe "Hola Mundo!" entre <text> y </text>
Obligatoriamente Hola Mundo.

Paso 5: Busca el stringID "escape_trader_start_dialog_31" y reemplaza el texto "Dime mas. Quiero saber mas sobre esto" con "Hola Mundo."
La String (secuencia) de debajo debe ser la misma que la la anterior.

Paso 6: Busca el stringID "escape_trader_start_dialog_32" ahí reemplaza al igual que antes lo que pone con "Conseguí salir de aquí! ¡Eres el jodido loco!"
La String debe ser la misma que la anterior.

Paso 7: Guardalo en tu directorio gamedata usando la apropiada estructura que supongo que conoceras por el otro tutorial.

Step 8: Inicia el juego.
Funciona?

Nota: Naturalmente el texto puede ser lo que tu quieras. Esto son simples conocimientos para saber como hacerlo y lo que es mas importante, que todos somos CAPACES de hacerlo. Seguramente cuando salga el SDK este tutorial quedara inutil, pero pienso que de momento es bueno saber como funcionan las cosas y empezar a trabajar con ellas.

AII. Añadiendo elecciones en los textos ya existentes.
Esta parte es una simple introduccion para añadir elecciones y tomar distintas direcciones en la conversacion. Asumo que estamos trabajando sobre archivos "virgenes", es decir, no modificados. Aunque supongo que con archivos modificados deberia funcionar igual.

Paso 1: Localiza y abre el archivo: config/text/esp/stable_dialogs_escape.xml

Paso 2: Localiza y abre el archivo: config/gameplay/dialogs_escape.xml
Para entender como funciona el sistema de relación entre los archivos creo que lo mejor es abrir ambos archivos para hacer una comparación. El archivo dialogs_escape.xml es la macro para la estructura de los dialogos, mientras que the stable_dialogs_escape muestra los textos reales en pantalla.

Paso 3: En stable_dialogs_escape.xml localiza la stringID "escape_trader_start_dialog_3"

Paso 4: En dialogs_escape.xml busca por "escape_trader_start_dialog_3" El archivo dialogs_escape.xml no es tan facil de navegar como navegar por stable_dialogs_escape.xml. Dialogs_escape esta agrupado de manera que sea un arbol de dialogos. El que necesitamos encontrar es "escape_trader_start_dialog" que incluye un MONTON de arboles de dialogo con informacion relacionada con las otras misiones que te da el comerciante. Es tan facil de buscar en el documento y encontrar la referencia en el archivo stable_dialogs.

Paso 5: Examina la relacion entre los archivos.
Asumo que en dialogs_escape.xml la phraseID 3 empieza con el Dialogo "escape_trader_start_dialog", como puedes ver:

---------------------------------------------------------------------------------------
<phrase>
<text>escape_trader_start_dialog_3</text>
<next>31</next>
<next>32</next>
</phrase>

---------------------------------------------------------------------------------------

Cuando la frase 3 es activada tiene que hacer 3 cosas. Mostrar el texto que se encuentra bajo la ID "escape_trader_start_dialog_3" y mostrar las frases (phrases) con la ID's 31, 32 como opciones.

ID 31 es la frase "Tratame como a un novato"/activa la opcion del tutorial, y ID 32 es la frase "Dame una mision"/la opcion de empezar un nuevo juego. Ahora vamos a ir mas despacio. En este momento la complejidad es mayor y hay que ir mas despacio si no quieres acabar con un dolor de cabeza por la longitud del asunto.

Paso 6: Despues de <Next>32</next> añade la linea <Next>322</Next>
Esto hara que el juego llame a la PhraseID 322 pero que en este momento no existe.

Paso 7: Copia y duplica la PhraseID 32
Copia de PhraseID 32 hasta </phrase> unas cuantas lineas mas abajo, y pegarlo debajo de la original. Ahora tendremos 2 frases PhraseID 32.

Paso 8: Cambia la ID de la duplicada de 32 a 322.
Esto dará a DialogID 3 la identidad de la frase a la que esta llamando.

Paso 9: Guardar e iniciar el juego.
Voila.

Notas: Aqui es donde las cosas se pueden complicar rapidamente. Este metodo no es el mejor y hace que el arbol de dialogo llame a frases que deberian estar mucho mas abajo o arriba de la frase actual. No es agradable a la vista si no es linear. Si consigues hacer lo puesto anteriormente lo que puedes hacer es mirar mas abjo y ver como esta todo ordenado, asi te darias cuenta de como ponerlo sin que al final y con muchas frases consiga frustrarte el archivo . La mayor parte de este tutorial se basa en enseñar como interactuan las llamadas de los dialogos con otros archivos. Espero que lo demas puedas conseguirlo tu solo.

AIII. Añadir una tercera eleccion con su propio texto
Para esta parte del tutorial asumo que habeis hecho el paso anterior (AII). Los primeros pasos de esta parte es simplemente repetir lo de la anterior explicacion.

Paso 1: Haz y sigue la parte previa a esta denominada con las siglas AII, con esto conseguiremos tener un clon de la tercera opcion en el dialogo del Comerciante.
Pienso que lo que deberia decir es que tienes que hacer el anterior tutorial (AII) mas de 2 veces.

Paso 2: En tu archivo dialogs_escape.xml localiza la frase (Phrase) 322 debajo del Dialogo "escape_trader_start_dialog"
Ves a lo ultimo que pusiste alli.

Paso 3: Modifica "<text>escape_trader_start_dialog_32</text>"para leer "<text>escape_trader_start_dialog_322</text>"
Esto hara que la Phrase 322 haga que el texto asignado stringID 322 aparezca en pantalla, pero de momento no existe.

Paso 4: Abre stable_dialogs_escape.xml y localiza la stringID "escape_trader_start_dialog_32"

Paso 5: Debajo de esta secuencia (string) crea una nueva. Deberia ser algo parecido a esto:

---------------------------------------------------------------------------------------
[pre]<string>
<text>Sabes que? Creo que le estas pillando el truco a esto.</text>
</string>[/pre]

---------------------------------------------------------------------------------------

Esto habilitara al arbol de dialogo llamar al texto y mostrarlo en pantalla si elegimos la tercera opcion en la conversacion.

Paso 6: Guarda y pruebalo.
Cojonudo!

Notas: En el paso 4 te hablo de encontrar una string (secuencia) importante, que no lo es en cierto sentido. Tecnicamente la nueva string podría ir donde quieras en el archivo, pero para el motivo de la organización, yo te sugiero guardarlo cerca de asuntos importantes.

Espero que le estes pillando el truco a esto, de ser asi ya estas aprendiendo bastante bien de como me lo esperaba. No es demasiado dificil pillar lo basico, y esto abre ahora un monton de posibilidades. Aunque de momento solo hemos cambiado el texto. En la proxima seccion explicare como hacer que las acciones afecten al mundo que te rodean, aunque seran acciones muy leves.

AVANZADO

BI: Haciendo que las elecciones tengan su efecto en el mundo
Esta parte consistira en explicar como la tercera opcion que creamos en las explicaciones anteriores pueda hacer un efecto en el juego. Me imagino que lo que estas pensado ahora es que esto es alucinante, y es verdad, ahora las cosas van a ser mas interesantes. En este caso vamos a hacer un efecto muy sencillo, y es que nuestra 3ª opcion la conversacion del principio con el Comerciante haga que no recibamos la mision de "Encuentra a Nimble", para asi poder ir por el mundo de Stalker sin seguir la trama principal.

Paso 1: Completa los tutoriales anteriores (BASICO) y abre los ficheros dialogs_escape.xml y stable_dialogs_escape.xml

Paso 2: Para hacer que la opcion tenga mas sentido he cambiado la stringID "escape_trader_start_dialog_322"para leer "VETE A TOMAR POR CULO!!!"
Asi conseguiremos que la contestacion tenga sentido con el efecto.

Paso 3: Ampliar el diálogo.
Este paso es un poquito mas largo y para no perderte lo he divido en subpasos

Paso3a: Añade "<next>3222</next>" a la phraseID 322.

Paso3b: Crea la String "escape_trader_start_dialog_3222" en stable_dialogs_escape, con el texto, "Esta bien. Tu eliges tu camino, fuera de aqui Marcado."

Paso 3c: Crea la phraseID 3222. Marca la referencia de la secuencia "escape_trader_start_dialog_3222" como texto.

Paso 3c: Añade "<next>32222</next>" a la phraseID 3222.

Paso 3b: Crea la String "escape_trader_start_dialog_32222" en stable_dialogs_escape, con el texto, "¡Muy bien!"

Paso 3d: Crea la phraseID 32222. Marca la referencia de la secuencia "escape_trader_start_dialog_32222" como texto.

Paso 3c: Añade <action>dialogs.break_dialog</action> a la phraseID 32222 Este es el comando para terminar una conversacion. Si quieres saber mas solo tienes que mirar el arbol de conversaciones, como es el tipo de funciones con <action> y mirar que tipo de efecto hacen.

Ahora tenemos un dialogo funcional con el Comerciante. Un poco angustioso pero funciona. Ahora tenemos que hacer que la puerta se desbloquee y poder salir al exterior para hacer lo que queramos.

Paso 4: Encuentra el tipo de funciones del estilo de actions y/o infos.
Observando en el dialogs_escape puedes ver que muchas frases contienen la funcion<action> o <give_info>. Algunas son del estilo de dar/quitar cosas al jugador. Pero lo que nosotros queremos hacer es que la puerta se abra al terminar la conversacion.

Paso 5: Busca la opcion que desbloquea la puerta.
Quiero que lo busques y hagas tu y no dartela yo. Es una funcion con <give_info>. Sigue el arbol de dialogo hasta phraseID 30 seguramente la encuentres ahi. Tienes que elegir entre una lista de causas que contiene.

Paso 6: Copia el apropiado comando <give_info> y pegalo en la frase phraseID 32222.
Esto hara que la puerta se abra al terminar la conversacion y siguiendo nuestra nueva opcion.

Paso 7: Guardalo y comprueba.
Hurra!

Notas: Si os parece demasiado dificil de seguir mi explicacion decidmelo. He intentado que la clase no fuera demasiado dificil de seguir, pero si crees que hay algo que cambiar y/o arreglar dimelo.

BII: Los personajes hablan.

Paso 1: Graba tu voz diciendo, "Hola. ¿Qué haces aquí?"
IMPORTANTE: Siguiendo el siguiente tutorial o el archivo no funcionara: ::GRABACIÓN DE VOZ PARA USARLA EN EL JUEGO::

Paso 2: Localiza la linea de stringID para la pregunta.
El dialogo de esta pregunta es el de Wolf que aparece en la primera linea cuando hablas sobre Nimble. La StringID es "escape_lager_volk_talk_11"

Paso 3: Guarda el archivo de audio como "(StringID).ogg"
En este caso "escape_lager_volk_talk_11.ogg"

Paso 4: Coloca el archivo en gamedata/sounds/characters_voice/dialogs
Aquí es donde el juego buscara si es un archivo de sonido de diálogo.

Paso 5: Inicia el juego.
Cuenta.

Notas: Este motor es muy bueno ya que permite facilmente hacer modificaciones rapidas y relativamente sencillas, como el juego que hace de llamadas entre secuencias (Strings). Trabaja casi autonomo. No tengo ninguna queja sobre el.


By JossiRossi y traducido por Danidomen.
::Link hilo en el foro::