6. Module_Constants, Module_Factions, Module_Strings & Module_Quests

    Comparte

    blancire
    Sargento a pie
    Sargento a pie

    Mensajes : 356
    Edad : 24
    Facción : 3/4

    6. Module_Constants, Module_Factions, Module_Strings & Module_Quests

    Mensaje por blancire el Lun Feb 11, 2013 2:40 pm

    Traducción del tutorial de winter
    http://forums.taleworlds.com/index.php/topic,12620.0.html

    Espero haberlo hecho todo bien ya que soy nuevo en el foro, si he incumplido algo lo siento, informarme y lo corregire, cualquier sugerencia en la traduccion se agradecera.
    Gracias por estos tutoriales que me estan ayudando mucho.
    En los ratos que tenga libre seguire traduciendo el resto de tutoriales.

    En esta parte del tutorial, examinaremos los archivos “module” mas pequeños del sistema, archivos con menor impacto general. Sin embargo, estos archivos son muy útiles en muchos aspectos. Al final de este capítulo sabrás como sacar el máximo partido de cada uno de ellos.

    6.1 -- Module_Constants

    Module_constants.py es un archivo muy simple. Este archivo esta constituido de constantes – ya deberías saber como funcionan de la lectura de la parte 3 de este tutorial. Las constantes en module_constants son exactamente iguales que las de cualquier otro archivo, pero las constantes que son usadas con varios archivos “module” deberían ser definidas en module_constants para que de esta manera el “module system” sepa siempre donde encontrarlas.

    Module_constants también sirve como un organizador, una lista de fácil acceso donde puedes cambiar el valor de una constante siempre que lo necesites. Cualquier cambio afectara inmediatamente a todas las operaciones que utilizan la constante, por lo tanto no necesitas buscar/reemplazar manualmente.

    Por ejemplo, cambiando marnid_inn_entry = 2 a marnid_inn_entry = 4 cambiaria inmediatamente cualquier operación que utilice marnid_inn_entry, tratando la constante como el valor 4 en lugar del valor 2.

    6.2 -- Module_Factions

    module_factions.py contiene todas las facciones usadas por el “module system” y por la inteligencia artificial de M&B. Un pequeño archivo gobierna varios ajustes importantes que abordaremos aquí.
    El archivo inmediatamente comienza con una lista Python: factions =[ como la mayoría de los archivos “module”, los primeros “tuples” están enraizados en el juego y no deberían ser editados.

    Ejemplo de una facción:

    ("innocents","Innocents", 0, 0.5,[("outlaws",-0.05)]),


    Esto es un “tuple” corto y sencillo. Esto gobierna la facción “innocents”, de los que su mayor enemigo es la facción “outlaws”. Si la relación de una facción con “innocents” no esta definida en module_constants, esta automáticamente tomara el valor 0, por lo que las dos facciones serán absolutamente neutrales entre si.

    Desglose de los campos del “tuple”:

    1 ) ID de la facción. Usada para referenciar facciones en otros archivos.
    2 ) Nombre de la facción.
    3 ) Flags de la facción.
    4 ) Coherencia(relación) de la facción. La relación entre diferentes miembros de esta facción.
    5 ) Relaciones entre facciones.
    5.1 ) Facción. La otra facción a la que esta referida esta relación
    5.2 ) Relación. El estado de las relaciones entre las dos facciones. Valores entre -1 y 1.

    Análisis del “tuple” “innocents”:

    1 ) ID de la facción = “innocents”
    2 ) Nombre de la facción = “innocents”
    3 ) Flags de la facción = 0
    4 ) Coherencia de la facción = 0.5
    5 ) Relaciones entre facciones:
    5.1 ) Facción = “outlaws”
    5.2 ) Relación = -0.05

    Esta facción no tiene flags, una coherencia de facción neutral y no mas enemigos que “outlaws” definidos en este “tuple”. Sin embargo, si miramos en otro sitio, podemos encontrar que(por ejemplo) “dark_knights” tienen una relación de -0.9 con “innocents”, como se define en el “tuple” de “dark_knights”. Esto es porque una relación funciona de dos maneras – solo debe establecerse una vez y el valor contara para ambas facciones.

    Ahora, creamos una nueva facción copiando el “tuple” “innocents” y pegándolo al final de la lista, antes del ultimo corchete “]” como es habitual. Cambia el nombre y la ID de la facción a “Geoffrey” y entonces sustituye “outlaws” in la lista de relaciones por “player_faction”.

    Guarda lo que has hecho hasta ahora. Una vez hecho esto, abre el module_party_templates.py y module_troops.py y cambia la facción del template “new_template” y la facción del troop “Geoffrey” a “fac_geoffrey”. Guarda y cierra los archivos. Ejecuta build_module.bat. Si todo ha ido bien las parties de “new_template” mostraran “Geoffrey” como su facción y serán hostiles hacia el player(jugador).

    6.3 -- Module_Strings

    module_strings.py es sin duda el archivo mas sencillo en el “module system”. Contiene strings – cadenas de texto que pueden ser mostradas de varias maneras. Los strings son usadas a lo largo de todo el “module system”, desde module_dialogs hasta module_quests; siempre que una cadena de texto necesita ser mostrada por pantalla.

    Module_strings, sin embargo, es un repositorio(almacén) para strings independientes, las cuales no están vinculadas a un único archivo. Por lo tanto pueden ser llamadas por operaciones desde cualquier archivo del “module system”.

    Puedes ver estas strings usadas en varios lugares del juego, como mensajes desplazándose en la parte inferior izquierda de la pantalla, o en un recuadro del tutorial, o incluso insertada en el menú del juego o una secuencia de dialogo.

    Al igual que module_factions, este archivo comienza inmediatamente con una lista Python: strings = [color=darkred] primeros “tuples” están enraizados en el juego y no deben ser editados.

    Ejemplo de un string:

    ("door_locked","The door is locked."),

    Desglose del ”tuple”:
    1 ) Id de la string. Usada para referenciar las strings en otros archivos.
    2 ) texto de la string.

    Una característica notable de las strings es la capacidad de poner un valor de registro o incluso otra string dentro de ella. Puedes hacer esto añadiendo por ejemplo, {reg0}en la string. Esto mostrara el valor actual de reg(0). {reg10}mostrara el valor actual de reg(10), etc.

    Para strings adicionales, debes usar un registro de string en lugar de una registro normal; esto es porque las strings están almacenadas separadas de los registros. Por ejemplo, {s2} mostrara el contenido de string register 2 – no el contenido de reg(2). Tu eres libre de usar string register 2 y reg(2) al mismo tiempo para cosas diferentes, ellas no se solaparan o interferirán una con otra.

    En un dialogo, es posible también mostrar partes(o todo) del contenido de una string de forma diferente dependiendo del genero de la persona a la que va dirigida. Por ejemplo, insertando {sir/madam} en una string hara que la palabra “sir” sea mostrada cuando este dirigida a un hombre y “madam” si la persona es una mujer.

    Todas estas opciones(exceptuando la alternación de genero) funcionaran perfectamente en cualquier tipo de campo de string. La alternación de genero solo funcionara en un dialogo.

    Para el propósito de la operación “display_message”, es posible mostrar una string en varios colores, añadiendo un código de color hexadecimal en la operación. Por ejemplo, (display_message,<string_id>,[hex_colour_code]),

    Aquí teneis una lista de los códigos hexadecimales
    utilizables para display_message:

    azul = 0xFFAAAAFF
    azul claro = 0xFFAAD8FF
    rojo = 0xFFFFAAAA
    amarillo = 0xFFFFFFAA
    rosa = 0xFFFFAAFF
    morado = 0xFF6AAA89
    negro = 0xFFAAAAAA
    blanco = 0xFFFFFFFF
    verde = 0xFFAAFFAA
    marrón = 0xFF7A4800

    6.4 -- Module_Quests

    module_quests.py es el ultimo de nuestro pequeños y sencillos archivos. Este contiene las quests(misiones) incluyendo todo el texto relacionado con estas quests. Poniendo nuevas quests aquí nos permite activarlas a través del module system, por lo tanto operaciones que pueden leer el estado actual de la quest y usar ese estado como una condición de operación.

    Ejemplo de una quest:

    ("hunt_down_river_pirates", "hunt down river pirates", qf_show_progression,
    "Constable Hareck asked you to hunt down the river pirates that plague the country around Zendar.\
    He promised to pay you 5 denars for each river pirate party you eliminate."
    ),


    Esta quest no necesita introducción. Tenemos que dar caza a todos los piratas del rio en un momento u otro. Estos interesantes puntos son el flag qf_show_progression, y usa la barra invertida --\-- para permitir un salto de línea en esta string(un intro). Observa, sin embargo, que usando una barra invertida no se pone un salto de línea en el texto de juego. Esto es usado aquí solo por elegancia.

    Desglose del “tuple”:

    1 ) ID de la quest. Usada para referenciar quest en otros archivos.
    2 ) Nombre de quest. El nombre de la quest como es mostrado en la lista de quest a la derecha de la pantalla.
    3 ) Flags de quest
    4 ) Descripción de la quest. La descripción larga de la quest, como es mostrada en el gran recuadro de texto en la parte superior izquierda de la pantalla de quests.

    Analisis del “tuple” de los piratas:

    1 ) ID de la quest = “hunt_down_river_pirates”
    2 ) Nombre de quest = “hunt down river pirates”
    3 ) Flags de quest = “qf_show_progression”
    4 ) Descripción de la quest = "Constable Hareck asked you to hunt down the river pirates that plague the country around Zendar.\
    He promised to pay you 5 denars for each river pirate party you eliminate."

    qf_show_progression es lo que da a esta quests el porcentaje que has completado, mirando a la derecha de la lista de quests. La lista de quest puede ser encontrada en la derecha de tu pantalla de quests. Este porcentaje no incrementa automáticamente; tu tendras que establecer mediante operaciones si quieres hacer uso de ella.

    Si deseas hacer una quest sin ningún flags, simplemente pon 0 en el campo de flags.

    En este punto, haremos el primer paso en la creación de nuestra propia quest. Copia el siguiente “tuple” de quest y pegalo al final de la lista Python:

    ("speak_with_troublemakers", "Parley with the troublemakers", 0,
    "Constable Hareck asked you to deal with a bunch of young nobles making trouble around town. How you want to tackle the problem is up to you; Hareck has promised a purse of silver if you succeed."
    ),

    Observa la construcción de este “tuple”. Como puedes ver la solo son necesarios unos poco cambios para hacer una nueva quest, pero incorporarla al juego requiere bastante mas trabajo. Por esta razón nuestro próximo objetivo será module_dialogs.py – donde colocaremos nuestra nueva quest, tropas y party templates.

    Guarda tu progreso, cierra el archivo y ejecuta build_module.bat. Si todo ha ido bien estaras preparado para ir a la parte 7 de este tutorial.

    Mikeboix
    Emperador
    Emperador

    : : wyrd bi∂ ful ārǣd
    Mensajes : 11281
    Facción : Imperio de Calradia

    Re: 6. Module_Constants, Module_Factions, Module_Strings & Module_Quests

    Mensaje por Mikeboix el Lun Feb 11, 2013 4:17 pm

    ¡Genial, Blancire! ¡Grandísimo aporte! ¡No hay botón que de suficiente reputación para agradecerte este esfuerzo!

    Un saludo y a seguir así :good:


    _________________
    ~No olvides leer las normas. No resuelvo dudas de los juegos por mensaje privado.~




    Last Breath of Calradian Empire: Mod sobre el glorioso pasado de Calradia. ¡Apoya el desarrollo!

    blancire
    Sargento a pie
    Sargento a pie

    Mensajes : 356
    Edad : 24
    Facción : 3/4

    Re: 6. Module_Constants, Module_Factions, Module_Strings & Module_Quests

    Mensaje por blancire el Mar Feb 12, 2013 2:11 pm

    Gracias! de nada intentare seguir traduciendo el resto cuando tenga tiempo, y si necesitais ayuda para traducir alguna otra cosa no dudeis en decirmelo y vere que puedo hacer.

    Rusete46
    Espadachín
    Espadachín

    : : Rome: R'n'F. Estado: CERRADO ::
    Mensajes : 181
    Edad : 23
    Facción : Reino de Swadia

    Re: 6. Module_Constants, Module_Factions, Module_Strings & Module_Quests

    Mensaje por Rusete46 el Miér Mayo 21, 2014 2:11 pm

    Para qué te puede servir cambiar las constantes?


    _________________
    ROME: R'N'F HA SIDO CERRADO EL DESARROLLO.

    Rome: Rise and Fall: un mod ambientado en Britania durante el siglo V d.C. cuando los romanos están a punto de ser expulsados de ésta.

    blancire
    Sargento a pie
    Sargento a pie

    Mensajes : 356
    Edad : 24
    Facción : 3/4

    Re: 6. Module_Constants, Module_Factions, Module_Strings & Module_Quests

    Mensaje por blancire el Miér Mayo 21, 2014 4:32 pm

    Rusete46 escribió:Para qué te puede servir cambiar las constantes?

    Puede servir, por ejemplo, si añades nuevos objetos con nuevas texturas para decirle donde empiezan esas nuevas texturas y así el module system sepa donde encontrarlas y no de error de que "mesh_..." no fue encontrada, es como una especie de índice.
    Te pongo un ejemplo del archivo donde se ve perfectamente esta función:
    Código:
    banner_meshes_begin = "mesh_banner_a01"
    banner_meshes_end_minus_one = "mesh_banner_g21"

    Aquí mediante estas constantes el archivo le dice al module system que las texturas de los estandartes empiezan en "mesh_banner_a01"
    y acaban en "mesh_banner_g21", donde "mesh" indica el archivo el "module_meshes" y "banner_..." la textura concreta dentro de ese archivo.

    Con este ejemplo si añades nuevos estandartes con nuevas texturas deberas introducir sus texturas entre la línea del module_meshes.py donde pone "banner_a01" y la que pone "banner_g21", o bien ponerla fuera de ese rango y cambiar el archivo module_constants y poner que el final de las texturas esta en la última textura que tu añadas.


    _________________
    Traducciones de mods
    La culpa no la tiene la inmigración, ni seras tu quien frene la corrupción, nunca vas a parar, el corrupto eres tu, no te rías de mi.
    Solo tenemos libertad de soportar esta violencia matan la vida y por demás…, la inteligencia.
    La policía es unidireccional no la disfruta toda la población, nunca vamos a ver que te hostien a ti, no te rías de mi.

    Prefiriyo
    Espadachín
    Espadachín

    Mensajes : 130

    Re: 6. Module_Constants, Module_Factions, Module_Strings & Module_Quests

    Mensaje por Prefiriyo el Lun Jun 09, 2014 12:21 am

    de casualidad no hay algun video tutorial sobre como agregar las facciones, por que tan solo entendi la mitad de lo que hay aca y no me animo a meter mano sin alguna seguridad

    blancire
    Sargento a pie
    Sargento a pie

    Mensajes : 356
    Edad : 24
    Facción : 3/4

    Re: 6. Module_Constants, Module_Factions, Module_Strings & Module_Quests

    Mensaje por blancire el Lun Jun 09, 2014 12:06 pm

    Prefiriyo escribió:de casualidad no hay algun video tutorial sobre como agregar las facciones, por que tan solo entendi la mitad de lo que hay aca y no me animo a meter mano sin alguna seguridad

    Desconozco si hay algún video tutorial, pero creo que no, para empezar para añadir facciones debes añadir tantas culturas como facciones vayas a crear, en este caso he añadido dos mas de las que trae el native:
    Código:
    ("culture_1",  "{!}culture_1", 0, 0.9, [], []),
      ("culture_2",  "{!}culture_2", 0, 0.9, [], []),
      ("culture_3",  "{!}culture_3", 0, 0.9, [], []),
      ("culture_4",  "{!}culture_4", 0, 0.9, [], []),
      ("culture_5",  "{!}culture_5", 0, 0.9, [], []),
      ("culture_6",  "{!}culture_6", 0, 0.9, [], []),
      ("culture_7",  "{!}culture_7", 0, 0.9, [], []),
      ("culture_8",  "{!}culture_8", 0, 0.9, [], []),

    y a continuación copias y pegas una línea de kingdom de las que ya hay y le cambias el número y el nombre el resto de las opciones de momento dejalas igual hasta que te manejes mejor, puedes cambiar el color de la facción con los últimos digitos 0xFFFFFF, sustituyendo el FFFFFF por el código hexadecimal de color que quieras 000000 sería negro y FFFFFF seria blanco:

    Código:
    ("kingdom_1",  "Kingdom of Swadia", 0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0xEE7744),
      ("kingdom_2",  "Kingdom of Vaegirs",    0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0xCCBB99),
      ("kingdom_3",  "Khergit Khanate", 0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0xCC99FF),
      ("kingdom_4",  "Kingdom of Nords",    0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0x33DDDD),
      ("kingdom_5",  "Kingdom of Rhodoks",  0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0x33DD33),
      ("kingdom_6",  "Sarranid Sultanate",  0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0xDDDD33),
     ("kingdom_7",  "Nueva facción",  0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0xFF6688),
     ("kingdom_8",  "Otra nueva facción",  0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0x76GGVV),


    _________________
    Traducciones de mods
    La culpa no la tiene la inmigración, ni seras tu quien frene la corrupción, nunca vas a parar, el corrupto eres tu, no te rías de mi.
    Solo tenemos libertad de soportar esta violencia matan la vida y por demás…, la inteligencia.
    La policía es unidireccional no la disfruta toda la población, nunca vamos a ver que te hostien a ti, no te rías de mi.

    Mikeboix
    Emperador
    Emperador

    : : wyrd bi∂ ful ārǣd
    Mensajes : 11281
    Facción : Imperio de Calradia

    Re: 6. Module_Constants, Module_Factions, Module_Strings & Module_Quests

    Mensaje por Mikeboix el Lun Jun 09, 2014 2:05 pm



    _________________
    ~No olvides leer las normas. No resuelvo dudas de los juegos por mensaje privado.~




    Last Breath of Calradian Empire: Mod sobre el glorioso pasado de Calradia. ¡Apoya el desarrollo!

    Prefiriyo
    Espadachín
    Espadachín

    Mensajes : 130

    Re: 6. Module_Constants, Module_Factions, Module_Strings & Module_Quests

    Mensaje por Prefiriyo el Lun Jun 09, 2014 6:16 pm

    blancire escribió:
    Prefiriyo escribió:de casualidad no hay algun video tutorial sobre como agregar las facciones, por que tan solo entendi la mitad de lo que hay aca y no me animo a meter mano sin alguna seguridad

    Desconozco si hay algún video tutorial, pero creo que no, para empezar para añadir facciones debes añadir tantas culturas como facciones vayas a crear, en este caso he añadido dos mas de las que trae el native:
    Código:
    ("culture_1",  "{!}culture_1", 0, 0.9, [], []),
      ("culture_2",  "{!}culture_2", 0, 0.9, [], []),
      ("culture_3",  "{!}culture_3", 0, 0.9, [], []),
      ("culture_4",  "{!}culture_4", 0, 0.9, [], []),
      ("culture_5",  "{!}culture_5", 0, 0.9, [], []),
      ("culture_6",  "{!}culture_6", 0, 0.9, [], []),
      ("culture_7",  "{!}culture_7", 0, 0.9, [], []),
      ("culture_8",  "{!}culture_8", 0, 0.9, [], []),

    y a continuación copias y pegas una línea de kingdom de las que ya hay y le cambias el número y el nombre el resto de las opciones de momento dejalas igual hasta que te manejes mejor, puedes cambiar el color de la facción con los últimos digitos 0xFFFFFF, sustituyendo el FFFFFF por el código hexadecimal de color que quieras 000000 sería negro y FFFFFF seria blanco:

    Código:
    ("kingdom_1",  "Kingdom of Swadia", 0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0xEE7744),
      ("kingdom_2",  "Kingdom of Vaegirs",    0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0xCCBB99),
      ("kingdom_3",  "Khergit Khanate", 0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0xCC99FF),
      ("kingdom_4",  "Kingdom of Nords",    0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0x33DDDD),
      ("kingdom_5",  "Kingdom of Rhodoks",  0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0x33DD33),
      ("kingdom_6",  "Sarranid Sultanate",  0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0xDDDD33),
     ("kingdom_7",  "Nueva facción",  0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0xFF6688),
     ("kingdom_8",  "Otra nueva facción",  0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0x76GGVV),

     scratch bueno gracias tio, lo intentare...una ves que me saque la inseguridad veo que pasa.

    Mikeboix esos ya los lei y es igual con todos, solo entiendo la mitad thanks!

    blancire
    Sargento a pie
    Sargento a pie

    Mensajes : 356
    Edad : 24
    Facción : 3/4

    Re: 6. Module_Constants, Module_Factions, Module_Strings & Module_Quests

    Mensaje por blancire el Mar Jun 10, 2014 9:19 am

    Prefiriyo escribió:
     scratch bueno gracias tio, lo intentare...una ves que me saque la inseguridad veo que pasa.

    Mikeboix esos ya los lei y es igual con todos, solo entiendo la mitad thanks!

    Haz una copia de seguridad por si acaso y empieza a modificar sin miedo, no tienes que tener inseguridad. En cuanto empieces a modificar y veas lo que sucede lo entenderas todo mucho mejor.


    _________________
    Traducciones de mods
    La culpa no la tiene la inmigración, ni seras tu quien frene la corrupción, nunca vas a parar, el corrupto eres tu, no te rías de mi.
    Solo tenemos libertad de soportar esta violencia matan la vida y por demás…, la inteligencia.
    La policía es unidireccional no la disfruta toda la población, nunca vamos a ver que te hostien a ti, no te rías de mi.

    Contenido patrocinado

    Re: 6. Module_Constants, Module_Factions, Module_Strings & Module_Quests

    Mensaje por Contenido patrocinado Hoy a las 6:43 am


      Fecha y hora actual: Vie Dic 09, 2016 6:43 am