2. Editando con Module System

    Comparte

    Mikeboix
    Emperador
    Emperador

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

    2. Editando con Module System

    Mensaje por Mikeboix el Mar Nov 13, 2012 9:02 pm

    Bueno caballeros, os traigo la segunda parte de los tutoriales del gran Lope de Rojas.

    PARTE 2: EDITANDO EL MODULE SYSTEM

    Como hemos mencionado en el capitulo anterior, trabajaremos con el MS de la siguiente forma:
    Editamos uno o más archivos del mod (aquellos que empiezan por module_ y terminan por .py), haciendo los cambios que queramos.
    Después de eso, ejecutamos build_module.bat . Esto generará los archivos *.txt de nuestro mod. En caso de que haya errores, aparecerán en la consola.
    Si no hay errores, podrás ejecutar tu mod y comprobar los cambios que has realizado. La mayoría de las veces necesitarás comenzar una partida nueva para que los cambios tengan efecto.

    2.1.- Personalizando tu mod


    Antes de comenzar, vamos a personalizar un poco nuestro mod, para darle un aspecto diferente. Para ello cambiaremos la imagen del mod. Esto se puede hacer con el MS Paint, o con cualquier programa que edite archivos BMP. El archivo en cuestión se llama main.bmp, y se encuentra en la carpeta de tu mod (C:\Archivos de Programa\Mount&Blade\Modules\MiMod). Editando este archivo cambiaremos la imagen que se muestra en el launcher del juego cuando seleccionemos nuestro mod.
    También podemos cambiar las imágenes DDS del juego (copiamos la carpeta C:\Archivos de Programa\Mount&Blade\Textures en C:\Archivos de Programa\Mount&Blade\MiMod\Textures). Si las cambiamos podremos ver imágenes distintas cuando juguemos con nuestro mod. El archivo bg2.dds es el fondo estándar de la mayoría de imágenes y el archivo pic_mercenary.dds es el dibujo que aparece en el menú principal del juego. No es algo muy importante, pero así ya sabes que puedes hacer tu mod totalmente distinto a los demás y que tenga imágenes totalmente distintas a las originales…

    2.2.- Editando los archivos del Module System


    El MS utiliza listas de Python para almacenar el conjunto de códigos del juego (Estas listas comienzan siempre con [, después se incluyen los códigos, separados por comas, y finalmente la lista termina con otro ] ). Abriendo cualquiera de los archivos del MS podrás ver estas listas.
    Veamos por ejemplo el archivo module_map_icons.py:
    Código:



        map_icons = [
          ("player",0,"player", avatar_scale, snd_footstep_grass, 0.15, 0.173, 0),
          ("player_horseman",0,"player_horseman", avatar_scale, snd_gallop, 0.15, 0.173, 0),
          ("gray_knight",0,"knight_a", avatar_scale, snd_gallop, 0.15, 0.173, 0),
          ("vaegir_knight",0,"knight_b", avatar_scale, snd_gallop, 0.15, 0.173, 0),
          ("flagbearer_a",0,"flagbearer_a", avatar_scale, snd_gallop, 0.15, 0.173, 0),
          ("flagbearer_b",0,"flagbearer_b", avatar_scale, snd_gallop, 0.15, 0.173, 0),
          ("peasant",0,"peasant_a", avatar_scale,snd_footstep_grass, 0.15, 0.173, 0),
          ("khergit",0,"khergit_horseman", avatar_scale,snd_gallop, 0.15, 0.173, 0),
        #### El archivo continua, pero no copiaremos más.


    Aquí vemos como map_icons está declarado como una lista Python, y que cada elemento de esta lista hace referencia a un icono especifico del mapa. En este ejemplo, (“player”,0,”player”,avatar_scale, snd_footstep_grass, 0.15, 0.173, 0), es un objeto. A estos objetos los llamaremos “tuples”. Estos contienen, al igual que las listas, elementos separados por comas (aunque estos empiezan y terminan con paréntesis). La estructura de cada “tuple” esta explicada al comienzo del archivo. Para map_icons, cada “tuple” contiene lo siguiente:
    1. Id del icono. Se utiliza para llamarlo desde otros archivos. El prefijo icon_ se añade automáticamente antes de cada id.
    2. Flags del icono. Las flags disponibles se encuentran en header_map_icons.py
    3. Nombre del mesh utilizado (las meshes se encuentran en la carpeta resources del mod, en formato *.brf
    4. Escala.
    5. Id del sonido asociado al icono.
    6. Posición en el eje x de la bandera.
    7. Posición en el eje y de la bandera.
    8. Posición en el eje z de la bandera.

    Para el primer “tuple”:

    Código:

        ("player",0,"player",avatar_scale, snd_footstep_grass, 0.15, 0.173, 0),



    1. Id del icono = “player”
    2. Flags del icono = 0
    3. Nombre del mesh utilizado = “player”
    4. Escala = 0.2
    5. Id del sonido asociado al icono = snd_footstep_grass
    6. Posición en el eje x de la bandera = 0.15
    7. Posición en el eje y de la bandera = 0.173
    8. Posición en el eje z de la bandera = 0
    Podemos aprender cómo está construida cada “tuple” del MS viendo únicamente las explicaciones del principio del archivo, y haciéndolas coincidir con cada elemento de las listas.



    2.3.- Editando los archivos del Module System


    Conociendo la estructura de los “tuples”, podemos empezar añadiendo nuestro propio icono para el mapa. Echemos otro vistazo a la lista

    Código:

        map_icons = [
          ("player",0,"player", avatar_scale, snd_footstep_grass, 0.15, 0.173, 0),
          ("player_horseman",0,"player_horseman", avatar_scale, snd_gallop, 0.15, 0.173, 0),
          ("gray_knight",0,"knight_a", avatar_scale, snd_gallop, 0.15, 0.173, 0),
          ("vaegir_knight",0,"knight_b", avatar_scale, snd_gallop, 0.15, 0.173, 0),
          ("flagbearer_a",0,"flagbearer_a", avatar_scale, snd_gallop, 0.15, 0.173, 0),
          ("flagbearer_b",0,"flagbearer_b", avatar_scale, snd_gallop, 0.15, 0.173, 0),
          ("peasant",0,"peasant_a", avatar_scale,snd_footstep_grass, 0.15, 0.173, 0),
        ...
          ("banner_125",0,"map_flag_f20", banner_scale,0),
          ("banner_126",0,"map_flag_15", banner_scale,0),
        ]


    Cualquier nuevo objeto debe ser añadido dentro de la lista. Como podemos ver, esta lista termina justo debajo de

    Código:

        ("banner_126",0,"map_flag_15", banner_scale,0),
        ]


    A fin de hacer un hueco para nuestro icono, moveremos nuestro corchete una línea hacia abajo. Una vez hecho esto, podemos comenzar a añadir un nuevo objeto. La manera más fácil de hacer esto es copiando y pegando un objeto ya existente y después editar su contenido. Por ejemplo, copiaremos “town” justo debajo de “banner_126”:


    Código:
     ("banner_126",0,"map_flag_15", banner_scale,0),
        ("town",mcn_no_shadow,"map_town_a", 0.35,0),
        ]


    En este ejemplo, hemos copiado ("town",mcn_no_shadow,"map_town_a", 0.35,0).
    Ahora demos un nuevo nombre al icono; “new_icon”. Este icono tiene una flag. Estas flags son características que pueden ser activadas y desactivadas incluyéndolas o quitándolas en los lugares adecuados. Por ejemplo, mcn_no_shadow significa que nuestro icono no proyectará ninguna sombra en el suelo.
    Quitamos esa flag de nuestro icono. Para ello la sustituimos por un 0, lo que el MS interpretará como que no hay flags asignadas a este icono.

    Código:

        ("banner_126",0,"map_flag_15", banner_scale,0),
        ("new_icon",0,"map_town_a", 0.35,0),
        ]



    Tanto el objeto “town” como “new_icon” utilizan la mesh “map_town_a”, lo que significa que utilizan el modelo denominado map_town_a (recogido en un archivo brf en la carpeta resources del mod). Cambiando este campo, el icono puede ser cualquier elemento 3d de la carpeta de resources. Por eso, aunque los iconos se llamen de forma distinta, al aparecer nuestro “new_icon” en el juego, tendrá la misma apariencia que “town”.
    Démosle entonces un aspecto distinto a nuestro nuevo icono. Para ello cambiemos “map_town_a” por “city”. Esta mesh no se utiliza en el native, por lo que nuestro icono tendrá una mejor presencia en nuestro mod.

    Código:

        ("banner_126",0,"map_flag_15", banner_scale,0),
        ("new_icon",0,"city", 2,0),
        ]


    En este ejemplo, también hemos cambiado la escala del icono, de 0.35 a 2. Eso significa que aparecerá dos veces más grande de lo normal. Esto nos ayudara a seleccionarla cuando la introduzcamos en el juego.

    Lo siguiente que haremos será crear un nuevo grupo en module_parties.py que utilice nuestro recién creado icono.
    Para hacer esto, tendremos que referenciar el icono desde el archivo module_parties.py.
    Antes de continuar, ejecutaremos build_module.bat. Esto nos permitirá saber si la sintaxis es correcta. Es un buen hábito compilar de vez en cuando el MS para evitar que haya errores que luego sean más difíciles de encontrar.

    2.4.- Referenciando objetos del juego


    Abrimos el archivo module_parties.py de la carpeta del MS. Como en el caso anterior, vemos que también está formado por una lista Python: parties = [ Justo después, se encuentra la declaración de una constante:
    (pf_town = pf_is_static|pf_always_visible|pf_show_faction|pf_label_large).
    Como podemos ver, la estructura de los “tuples” de module_parties.py es ligeramente diferente a la de module_icons.

    Lo primero de todo es que nos quede claro que “parties” engloba a cualquier elemento con el que nos podamos encontrar en un mapa, pueden ser ejércitos o pueblos, ciudades u otras localizaciones que hayamos diseñado. Una de las características de las “parties” es que cuando dos o más de ellas se encuentran se ejecuta un desencadenante (“trigger”).

    Veamos un ejemplo de una de estas “parties”:
    Código:

    ("town_1","Sargoth",icon_town|pf_town,no_menu,pt_none,fac_neutral,0, ai_bhvr_hold,0,(-1.55,66.45),[],170)


    Este “tuple” se encarga de localizar la ciudad de Sargoth en el mapa. Todas sus cualidades se encuentran en los campos apropiados del “tuple” (de forma similar a los campos que hemos visto en module_map_icons.py).

    Analizándolo a fondo:
    1) Id de la party. Se utiliza para referenciarla desde otros archivos
    2) Nombre de la party. Esto será el texto que se muestra en el juego. No tiene por qué ser igual que el Id.
    3) Flags. La primera flag deberá ser siempre el icono que se utilizará para representarla en el mapa.
    4) Menú. Esto no se utiliza en el juego desde la versión v.0.730, por lo que siempre será “no_menu”
    5) Party-template. Id de la party template a la que pertenece este objeto. Por defecto utilizaremos pt_none.
    6) Facción. Esta puede ser cualquiera de las entradas del archivo module_factions.py
    7) Personalidad. Ver en header_parties.py una explicación de este elemento.
    8 ) Comportamiento de la IA. Cómo actuará esta party en el mapa.
    9) IA-target party. (no estoy seguro de que es)
    10) Coordenadas Iniciales. Las coordenadas XY en las que comienza este objeto en el mapa.
    11) Lista de tropas acantonadas. Esta lista se divide en tres campos:
    11.1) Id de la tropa. Puede ser tanto un héroe como cualquier otro soldado de module_troops.py.
    11.2) Numero de tropas acantonadas. Este no varía, el número que pongamos será el número de tropas que tendrá la ciudad.
    11.3) Flags. Opcional, podemos usar pmf_is_prisioner para hacer que ese miembro es un prisionero.
    12) Orientación de la “party”. Es opcional.

    Analizamos ahora la ciudad de Sargoth:
    Código:

    ("town_1","Sargoth",icon_town|pf_town,no_menu,pt_none,fac_neutral,0, ai_bhvr_hold,0,(-1.55,66.45),[],170)



    1) Id de la party. “town_1”
    2) Nombre de la party. “Sargoth”
    3) Flags. icon_town|pf_town
    4) Menú. no_menu
    5) Party-template. pt_none
    6) Facción. fac_neutral
    7) Personalidad. 0
    8 ) Comportamiento de la IA. ai_bhvr_hold
    9) IA-target party. 0
    10) Coordenadas Iniciales. (-1.55,66.45)
    11) Lista de tropas acantonadas. [] (none)
    12) Orientación de la “party”. 170

    Observando el campo 3, podemos ver que Sargoth referencia el icono “town” desde module_icons.py añadiéndole el prefijo icon_. Este prefijo indica al sistema donde tiene que buscar dicha referencia. Para referenciar el archivo module_icons, utilizamos el prefijo icon_, para module_factions, utilizamos fac_, para module_parties, p_... Hay un prefijo para cada archivo del MS (encontrarás la lista al final de este capítulo).

    Ahora que sabemos cómo se estructuran las parties, vamos a añadir una nueva hecha por nosotros. Pero antes de hacerlo, debes tener en cuenta un aspecto importante de module_parties.py (y de ciertos archivos más). No debes añadir nuevas ciudades al final de la lista. Normalmente suele haber notas en esos archivos que indican esta peculiaridad, porque si no se modifican correctamente pueden aparecer errores. En module_parties.py, es recomendable que cualquier ciudad que añadas la incluyas entre “town_1” y “castle_1”. Esto está definido en module_constants.py.

    Copiamos la entrada "town_1" y la pegamos justo despues de "town_18", pero antes de "castle_1"

    Código:

        ("town_18","Narra",  icon_town_steppe|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-22.6, -82),[], 135),
        ## Nueva ciudad
        ("town_1","Sargoth",  icon_town|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-1.55, 66.45),[], 170),
        ## Fin Nueva ciudad

        #  Aztaq_Castle   
        #  Malabadi_Castle
        ("castle_1","Culmarr_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-69.2, 31.3),[],50),



    Aprovecho para explicar las anotaciones antes del tuple de "town_1". Estas anotaciones, precedidas del símbolo # permiten encontrar más fácilmente las lineas con las que estamos trabajando, haciendo más fácil la búsqueda. También sirven para explicar lo que hemos hecho, permitiendo a otros modders entender los pasos que hemos llevado a cabo.
    Lo que hace el símbolo # es evitar que el MS lea más allá en la linea en la que se encuentra: todo el texto que se encuentre a su derecha no será compilado, por lo que es muy útil para llevar a cabo lo que he dicho anteriormente.

    En este ejemplo, cambiaremos "town_1" por "mod_town" y "Sargoth" por "Mod_Town".

    Analizamos la nueva ciudad:
    1) La nueva ciudad aparecerá en el juego con el nombre de Mod Town.
    2) La ciudad utiliza el icono "town", referenciado en el "tuple" como "icon_town", y tiene asignado el flag pf_town, que le otorga las mismas caracteristicas que otras ciudades del juego.
    3) Esta ciudad no pertenece a ninguna faccion (Neutral).
    4) Si no cambiamos nada, la ciudad aparecerá en la misma posicion que Sargoth, para ello cambiaremos sus coordenadas y algun aspecto más:

    Código:
    ## Nueva ciudad
    ("mod_town","Mod_Town", icon_new_icon|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-1, -1),[], 45),
    ## Fin Nueva ciudad

    Hemos cambiado su posición a las coordenadas [-1,-1], ademas de haberla dado una nueva orientación (45 grados). Además, al cambiar "icon_town" por "icon_new_icon", "Mod Town" tendrá una nueva apariencia.

    Guardamos los cambios y compilamos el MS (doble click en build_module.bat). Si hemos hecho todo bien, podremos iniciar nuestro mod y encontraremos la ciudad que hemos creado en el medio del mapa. Hacemos click sobre ella para entrar en la ciudad.

    Si no hemos seguido correctamente los pasos, aparecerán errores al compilar. Revisamos de nuevo todos los cambios, y nos aseguramos de que hemos colocado todos los paréntesis y corchetes en el lugar correcto. Estos fallos, las comas mal situadas y algunos errores al escribir los tuples son los fallos más comunes que ocurren cuando trabajamos con el MS, por eso debemos revisar siempre nuestro trabajo.

    Cuando entramos en la ciudad vemos que aparece el menú de ciudad, que nos indica que podemos ir a la taberna, al castillo... pero sin embargo, si intentamos cualquiera de esas acciones, apareceremos en lugares que nada tienen que ver con lo que esperábamos. Esto se debe a que no hemos definido completamente todos los aspectos de la ciudad, sino que únicamente la hemos colocado en el mapa. Esta tarea la realizaremos mas tarde, cuando creemos una taberna para una quest. Todo a su debido tiempo.

    Como hemos visto, todos los archivos están interrelacionados entre si. Muchos cambios no afectan solamente al archivo que modificamos, si no que cambian aspectos de otros archivos del modulo. Por suerte, la mayoría de los cambios que llevemos a cabo se realizarán modificando 2 o tres archivos como mucho.

    Ahora que ya hemos visto por encima como funciona el MS, podremos analizar mas profundamente los demás archivos. Por ello es importante que aprendamos los prefijos necesarios para referenciar los objetos de un archivo desde otro archivo. Estos prefijos están recogidos en los textos de la cabecera de los module_xxx.py.

    Lista de Prefijos:
    - fac_ module_factions.py
    - icon_ module_icons.py
    - itm_ module_items.py
    - mnu_ module_game_menus.py
    - mt_ module_mission_templates.py
    - psys_ module_particle_systems.py
    - p_ module_parties.py
    - pt_ module_party_templates.py
    - qst_ module_quests.py
    - script_ module_scripts.py
    - scn_ module_scenes.py
    - spr_ module_scene_props.py
    - str_ module_strings.py
    - trp_ module_troops.py
    - skl_ module_skills.py

    Nunca se hacen referencias a module_dialogs.py, por lo que no tiene prefijo propio.


    Última edición por Mikeboix el Jue Nov 29, 2012 2:14 am, editado 1 vez


    _________________
    ~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!

    Valan
    Usuario VIP
    Usuario VIP

    : : I have to push the pram a lot
    Mensajes : 1228
    Edad : 29

    Re: 2. Editando con Module System

    Mensaje por Valan el Mar Nov 13, 2012 9:38 pm

    Estos tutoriales hacen ver lo difícil que es realmente hacer un mod y el trabajo y horas que le dedicáis.

    Gracias por el aporte Mike! Ojalá Lope de Rojas vuelva de nuevo por aquí...


    _________________
    ¡Hola Invitado! ¿Tienes alguna duda? Pregunta a nuestros moderadores.


    Contacto:
    Youtube Canal de gameplays
    Twitter @elreylechon
    Blogger Blog de lechonadas
    Facebook Rey Valan
    Facebook Caballeros de Calradia

    blancire
    Sargento a pie
    Sargento a pie

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

    Re: 2. Editando con Module System

    Mensaje por blancire el Dom Mar 03, 2013 6:07 am

    Tengo una duda respecto a este tutorial, si añadimos el icono nuevo con la mesh city, que como pone no se encuentra en el native, que es del que hemos copiado los archivos, como va a verse en nuestro mod si no existe? A mi me da este error, get_object failed for mesh: city. Y efectivamente en el mapa solo sale una bandera, no sale el icono de la ciudad.


    _________________
    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 : 11286
    Facción : Imperio de Calradia

    Re: 2. Editando con Module System

    Mensaje por Mikeboix el Dom Mar 03, 2013 6:35 am

    La verdad es que esto no lo he probado nunca. En el foro, los que más saben de MS son Lope de Rojas y Xabeo de la Cova. Veremos si se pasan por aquí y saben resolverte la duda.


    _________________
    ~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: 2. Editando con Module System

    Mensaje por blancire el Dom Mar 03, 2013 6:59 am

    Vale, gracias. Los invocaremos entonces a ver si aparecen por estos lares :adorar:


    _________________
    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.

    KKKE
    Miliciano
    Miliciano

    Mensajes : 1

    Re: 2. Editando con Module System

    Mensaje por KKKE el Vie Mar 15, 2013 7:00 am

    Pues a mi no me sale la ciudad en el mapa, he seguido todo paso a paso y lo he vuelto a repasar y nada, el compliador no da errores y pues no se que he hecho mal. Solo he notado una diferencia, en el module_map_icons.py el banner ese 126 no es ultimo sino penúltimo en mi caso pero supongo que no tendra nada que ver. Entonces tengo:

    ("map_flag_kingdom_a",0,"map_flag_kingdom_a", banner_scale,0),
    ("map_flag_kingdom_b",0,"map_flag_kingdom_b", banner_scale,0),
    ("map_flag_kingdom_c",0,"map_flag_kingdom_c", banner_scale,0),
    ("map_flag_kingdom_d",0,"map_flag_kingdom_d", banner_scale,0),
    ("map_flag_kingdom_e",0,"map_flag_kingdom_e", banner_scale,0),
    ("map_flag_kingdom_f",0,"map_flag_kingdom_f", banner_scale,0),
    ("banner_126",0,"map_flag_15", banner_scale,0),
    ("new_icon",0,"city", 2,0),
    ("bandit_lair",mcn_no_shadow,"map_bandit_lair", 0.45, 0),
    ]


    Y en module_parties.py:

    ("town_17","Ichamur", icon_town_steppe|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(121.8, 8.6),[], 90),
    ("town_18","Narra", icon_town_steppe|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(88, -26.5),[], 135),
    ## Nueva ciudad
    ("mod_town","Mod_Town", icon_new_icon|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-1,-1),[], 45),
    ## Fin Nueva ciudad


    ("town_19","Shariz", icon_town_desert|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(15, -107),[], 45),
    ("town_20","Durquba", icon_town_desert|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(90, -95.1),[], 270),
    ("town_21","Ahmerrad", icon_town_desert|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(130.5, -78.5),[], 330),
    ("town_22","Bariyye", icon_town_desert|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(165, -106.7),[], 225),

    # Aztaq_Castle
    # Malabadi_Castle
    ("castle_1","Culmarr_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-101.3, -21),[],50),

    Podría alguien guiarme?

    grimbol
    Miliciano
    Miliciano

    Mensajes : 62
    Edad : 41
    Facción : Llegando a Veluca

    Re: 2. Editando con Module System

    Mensaje por grimbol el Vie Mar 15, 2013 2:16 pm

    mi opinion personal es que esta frase esta mal...

    Para ello cambiemos “map_town_a” por “city”. Esta mesh no se utiliza en el native, por lo que nuestro icono tendrá una mejor presencia en nuestro mod.

    creo que no existe tal mesh,por eso no sale nada...prueba a pone "map_town_a" pero con el icono mas grande si sale, el script esta bien,pero la mesh city no existe...

    es mi opinion.

    saludos


    Jarl
    Caballero
    Caballero

    : : =)
    Mensajes : 1673
    Facción : Rugby Argentino

    Re: 2. Editando con Module System

    Mensaje por Jarl el Sáb Mar 16, 2013 6:40 am

    Valla Trabajazo hacer un mod!!! Sagrada paciencia tienen ...

    + r e p y gracias por compartir :good:


    _________________
    "Los proletarios no pueden perder más que sus cadenas. Tienen, en cambio, un mundo por ganar. ¡PROLETARIOS DE TODOS LOS PAÍSES, UNÍOS"

    Neodrako
    Usuario VIP
    Usuario VIP

    Mensajes : 4406
    Edad : 33
    Facción : Gran Polonia

    Re: 2. Editando con Module System

    Mensaje por Neodrako el Sáb Mar 16, 2013 8:16 am

    yo hace tiempo lo use para meter rollos en el juego. equipo mercenarios, unidades, modificar el arbol de las unidades. y cosas asi pero un dia medi cuenta de que pasaba mas tiempo creando y metiendo cosas en el juego que jugandolo y deje de hacerlo.

    el que crea casi no juega, y el que juega casi no crea. es asi xd

    una de las cosas que hacia era destripar mobs y coger lo que me gustava jajajaja. perdia horas asi,

    me pregunto si aun sabre usar el MODULE SYSTEM. yo creo que me olvide ya xd

    aunque con estos tutoriales supongo que recordaria rapido.

    buen aporte gracias

    edito: saben que yo y otro creamos una copia de la perla negra y la pusimos en descarga en 3djuegos?. era para el age of pirates 2. cree muchas guias para ese juego y termine haciendo otras cosas jajajaja.


    _________________
    Prefiero vivir un dia como lechón que 100 años como cordero

    Guias de los Mount and Blade
    Spoiler:

    SirSowort99
    Caballero
    Caballero

    : : "die Sonne, Sie ist der hellste Stern von Allen"
    Mensajes : 1563
    Facción : Reino de Swadia

    Re: 2. Editando con Module System

    Mensaje por SirSowort99 el Sáb Mar 16, 2013 8:51 am

    sobre la duda de KKKE, es casi lo mismo que dice grimbol, a lo que se refiere con "city" no es nada mas que un ejemplo para poner las meshs, tu puedes agregarlas por el nombre segun este los tengas, para verlos usa el open brf y mira su nombre, el brf de los iconos de ciudades es el map_icons_b si mal no me acuerdo Razz

    hay vez los mehs y los agregas :good:


    _________________
    Visita la Comunidad Oficial Chilena: http://www.caballerosdecalradia.net/t601-mount-and-blade-warband-chile-comunidad-oficial#7434


    Cualquier irregularidad, Falta, Doble post, o Problema en el foro, Puedes recurrir al admin del foro o a cualquiera de los moderadores y sera arreglado cuanto antes.

    john_maal
    Huscarl
    Huscarl

    Mensajes : 621
    Edad : 26

    Re: 2. Editando con Module System

    Mensaje por john_maal el Dom Jul 20, 2014 9:25 am

    Yo hasta ahora he entendido todo y el programa compila sin ningún problemas (me me dice lo mismo que en la imagen del primer tutorial), pero en la practica cuando ejecuto el juego no se da ninguno de los cambios, todo queda exactamente como antes.

    Otra cosa que he notado es que al compilar el programa me salen un montón de archivos de texto afuera de la carpeta del mod, y me imagino que serán los que contienen los cambios y se parecen a los que tiene el mod en su carpeta, pero con un nombre diferente como por ejeplo: MiModitem_kinds1.txt ¿que hago con todos estos archivos? No me digan que debo cambiarles el nombre y pegarlos dentro de la carpeta Sad

    Mikeboix
    Emperador
    Emperador

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

    Re: 2. Editando con Module System

    Mensaje por Mikeboix el Dom Jul 20, 2014 9:26 am

    john_maal escribió:Otra cosa que he notado es que al compilar el programa me salen un montón de archivos de texto afuera de la carpeta del mod, y me imagino que serán los que contienen los cambios y se parecen a los que tiene el mod en su carpeta, pero con un nombre diferente como por ejeplo: MiModitem_kinds1.txt ¿que hago con todos estos archivos? No me digan que debo cambiarles el nombre y pegarlos dentro de la carpeta Sad

    Es exactamente eso lo que debes hacer. Básicamente el MS lo que hace es generar nuevos archivos de texto para sustituir los originales Smile


    _________________
    ~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!

    john_maal
    Huscarl
    Huscarl

    Mensajes : 621
    Edad : 26

    Re: 2. Editando con Module System

    Mensaje por john_maal el Dom Jul 20, 2014 9:35 am

    Mikeboix escribió:
    john_maal escribió:Otra cosa que he notado es que al compilar el programa me salen un montón de archivos de texto afuera de la carpeta del mod, y me imagino que serán los que contienen los cambios y se parecen a los que tiene el mod en su carpeta, pero con un nombre diferente como por ejeplo: MiModitem_kinds1.txt ¿que hago con todos estos archivos? No me digan que debo cambiarles el nombre y pegarlos dentro de la carpeta Sad

    Es exactamente eso lo que debes hacer. Básicamente el MS lo que hace es generar nuevos archivos de texto para sustituir los originales Smile

    lol pero entonces debo cambiarle el nombre a todos cada vez que compilo el programa? no es una herramienta muy inteligente :/

    Voy a intentar hacer un programa que le cambia el nombre a todos los archivos de texto automaticamente, así evitamos hacerlo manualmnete.

    periko1990
    Miliciano
    Miliciano

    Mensajes : 1

    Re: 2. Editando con Module System

    Mensaje por periko1990 el Vie Ene 30, 2015 6:44 am

    john_maal escribió:
    Mikeboix escribió:
    john_maal escribió:Otra cosa que he notado es que al compilar el programa me salen un montón de archivos de texto afuera de la carpeta del mod, y me imagino que serán los que contienen los cambios y se parecen a los que tiene el mod en su carpeta, pero con un nombre diferente como por ejeplo: MiModitem_kinds1.txt ¿que hago con todos estos archivos? No me digan que debo cambiarles el nombre y pegarlos dentro de la carpeta Sad

    Es exactamente eso lo que debes hacer. Básicamente el MS lo que hace es generar nuevos archivos de texto para sustituir los originales Smile

    lol pero entonces debo cambiarle el nombre a todos cada vez que compilo el programa? no es una herramienta muy inteligente :/

    Voy a intentar hacer un programa que le cambia el nombre a todos los archivos de texto automaticamente, así evitamos hacerlo manualmnete.

    Llego algo tarde, pero por si alguien mas le surge el mismo problem. Es debido a un error al modificar la ruta en el archivo module_info.py:
      - La que viene de ejemplo :
    Código:
    #export_dir = "C:/Program Files/Mount&Blade/Modules/Native/"
    Si te fijas, al final de la ruta, debes añadir una ultima barra "/", seguramente no la hayas puesto. Te quedaría parecido a esto:
    Código:
    export_dir = "C:/Program Files/Mount&Blade/Modules/MiMod/"

    Resumen : No olvidarse de la barra "/" al final de la direccion, para que así introduzca los .txt en esa carpeta directamente

    john_maal
    Huscarl
    Huscarl

    Mensajes : 621
    Edad : 26

    Re: 2. Editando con Module System

    Mensaje por john_maal el Lun Feb 09, 2015 6:11 am

    Amigos tengo una pregunta, es posible eliminar las ciudades base del native como por ejemplo Sargoth? y como se les cambia el nombre? yo ya le he cambiado el aspecto y la posición a Sargoth, pero no logro cambiarle el nombre a pesar de que lo hago en el archivo module_parties.py, y si intento eliminar esta ciudad o cualquier otra de las que vienen por defecto me da error de compilación.

    Quisiera intentar tener el mapa de Calradia completamente limpio de ciudades y grupos para tener las ideas más claras.7

    Otra última pregunta por ahora, ¿no hay un mapa o una matriz del mapa con las coordenadas? es dificil clocar las coordenadas de una ciudad si no se conocen las coordenadas del mapa :/

    Editado:

    Se me había olvidado, en la flag de la party, justamente en esto: icon_town|pf_town... Que es esto? "pf_town"... Dentro del juego me sale un error y creo que viene porque no he modificado eso.

    JBJ
    Modder
    Modder

    Mensajes : 524
    Edad : 24
    Facción : Sultanato Sarránido

    Re: 2. Editando con Module System

    Mensaje por JBJ el Lun Feb 09, 2015 7:03 am

    Hola Jhon.
    Efectivamente el nombre se cambia en module_parties.py, si en el juego no te aparece seguramente es porque lo tienes en español y la traducción sigue considerando que la ciudad se llamaba como antes. Prueba a ponerlo en inglés y verás como la ciudad cambia de nombre.

    Muchos de los archivos .py tienen códigos que usan la definición de, por ejemplo, Sargoth. Por ello si eliminas la definición de module_parties.py el resto de archivos que la necesitan reportan errores.
    La mejor forma de colocar las ciudades es mediante mediante esta herramienta:
    http://www.caballerosdecalradia.net/t238-editor-de-mapas-de-thorgrim
    http://www.caballerosdecalradia.net/t239-tutorial-para-el-editor-de-mapas-de-thorgrim
    Yo no se usarla, así que no te puedo dar detalles. Puedes modificar la ubicación de las ciudades de forma gráfica sin tener en cuenta las coordenadas. Y luego generas el archivo map.txt.
    No lo recuerdo bien y que me corrija alguien si me equivoco. Pero creo que no es necesario poner las coordenadas correctas en module_parties.py  porque las coordenadas que están en map.txt, que fue generado por Thorrim, tienen prioridad.

    Al principio de module_parties.py se define:
    pf_town = pf_is_static|pf_always_visible|pf_show_faction|pf_label_large
    Esas banderas a las que se hace referencia estan definidas en header_parties.py.
    Por sus nombres y la forma en la que se usa en parties puedas suponer que hacen cada una.


    _________________

    john_maal
    Huscarl
    Huscarl

    Mensajes : 621
    Edad : 26

    Re: 2. Editando con Module System

    Mensaje por john_maal el Lun Feb 09, 2015 7:13 am

    JBJ escribió:Hola Jhon.
    Al principio de module_parties.py se define:
    pf_town = pf_is_static|pf_always_visible|pf_show_faction|pf_label_large
    Esas banderas a las que se hace referencia estan definidas en header_parties.py.
    Por sus nombres y la forma en la que se usa en parties puedas suponer que hacen cada una.

    Efectivamente, lo noté cuando vi la ciudad de Zendar que tiene pf_is_static Razz

    Otra pregunta, iconos como este: ("bandit_lair",mcn_no_shadow,"map_bandit_lair", 0.45, 0), tienen solo 2 valores en las coirdenadas, los he cambiado de muchas formas, pero en el juego sigue siendo igual, entonces ¿para que sirven esos valores?

    JBJ
    Modder
    Modder

    Mensajes : 524
    Edad : 24
    Facción : Sultanato Sarránido

    Re: 2. Editando con Module System

    Mensaje por JBJ el Lun Feb 09, 2015 7:42 am

    john_maal escribió:Otra pregunta, iconos como este: ("bandit_lair",mcn_no_shadow,"map_bandit_lair", 0.45, 0), tienen solo 2 valores en las coirdenadas, los he cambiado de muchas formas, pero en el juego sigue siendo igual, entonces ¿para que sirven esos valores?

    Nunca lo use, no se para que sirven.
    Pero al principio de module_maps_icons.py, donde explica el contenido de las tuplas, aparece esto:
    #  6) Offset x position for the flag icon.
    #  7) Offset y position for the flag icon.
    #  Cool Offset z position for the flag icon.

    Yo diría que aquí 'flag' quiere decir 'estandarte'. Creo que es para establecer la posición del estandarte respecto al icono. Fíjate que solo lo usan los iconos para los lores.
    En las ciudades y las guaridas se pone un 0 indicando 0 para todas las coordenadas.
    Ten cuidado con la cantidad de datos en las tuplas, no los mezcles.

    ("bandit_lair",mcn_no_shadow,"map_bandit_lair", 0.45, 0),
    En las guaridas el 0.45 hace referencia a la 'escala' del icono y el 0 indica 0 para las tres coordenadas.


    _________________

    john_maal
    Huscarl
    Huscarl

    Mensajes : 621
    Edad : 26

    Re: 2. Editando con Module System

    Mensaje por john_maal el Lun Feb 09, 2015 7:23 pm

    Yo pensaba que flag era para otra cosa, ya que en programación uno se refiere muy comunmente a flag como a una señal de estado Razz

    Gracias compañero.

    Por cierto, es posible cambiar el icono de una ciudad dependiendo de su riqueza o de algún otro factor como los edificios construidos?

    JBJ
    Modder
    Modder

    Mensajes : 524
    Edad : 24
    Facción : Sultanato Sarránido

    Re: 2. Editando con Module System

    Mensaje por JBJ el Lun Feb 09, 2015 8:56 pm

    Este script process_village_raids contiene el código que cambia el aspecto de las aldeas cuando son saqueadas.
    Podría ser adaptado para que contemple castillos y ciudades.
    Y se podría programar una estructura condicional que coloque ciertos iconos según el valor de ciertas variables como la riqueza o los edificios construidos.

    PD: Hay que diferenciar las 'flags' informáticas (pf_is_static, pf_always_visible...) de las 'flags' como concepto físico de bandera. En el MS, mayormente, se usa la palabra 'banner' para el segundo concepto, pero parece que en ese comentario el programador uso la otra palabra.


    _________________

    john_maal
    Huscarl
    Huscarl

    Mensajes : 621
    Edad : 26

    Re: 2. Editando con Module System

    Mensaje por john_maal el Mar Feb 10, 2015 1:06 am

    JBJ escribió:Este script process_village_raids contiene el código que cambia el aspecto de las aldeas cuando son saqueadas.
    Podría ser adaptado para que contemple castillos y ciudades.
    Y se podría programar una estructura condicional que coloque ciertos iconos según el valor de ciertas variables como la riqueza o los edificios construidos.

    PD: Hay que diferenciar las 'flags' informáticas (pf_is_static, pf_always_visible...) de las 'flags' como concepto físico de bandera. En el MS, mayormente, se usa la palabra 'banner' para el segundo concepto, pero parece que en ese comentario el programador uso la otra palabra.

    modificar ese archivo para cambiar los iconos puede ser un tanto complicado, creo que lo mejor por el momento es seguir estudiandome los tutoriales más simples y seguir haciendo modificaciones simples para seguir aprendiendo, y luego cuando tenga más experiencia lo intento.

    Gracias por la ayuda amigo :good:

    Contenido patrocinado

    Re: 2. Editando con Module System

    Mensaje por Contenido patrocinado Hoy a las 4:33 am


      Fecha y hora actual: Dom Dic 11, 2016 4:33 am