Explicacion de las constantes By Swyter

    Comparte
    avatar
    Neodrako
    Usuario VIP
    Usuario VIP

    Mensajes : 4408
    Edad : 34
    Facción : Gran Polonia

    Explicacion de las constantes By Swyter

    Mensaje por Neodrako el Miér Ago 20, 2014 2:28 pm

    Bueno amigos pregunte a  Swyter una duda sobre las constantes del module_constants   y me dio una explicación de su funcionamiento y me sugirió compartirla ya que puede servir a mas gente.

    Las constantes no se guardan en un archivo separado (ejemplo los Archivos txt), sino que son palabras descriptivas que hacen referencia a valores que en teoría no se cambian en otros archivos. Por ejemplo si en module_scripts.py quieres listar todas las tropas que sean héroes en vez de mirar cada vez module_troops.py, y contar que hasta el primer rey en el listado la tropas es el numero 122. En vez de eso creas una constante que dice heroes_begin = 122, o lo que es lo mismo heroes_begin = trp_primer_rey, para señalar el final normalmente creas otra constante llamada heroes_end = trp_ultimo_noble.

    Por lo que en vez de modificar el primer rey en tropecientos archivos cada vez que cambias la primera tropa que sea un héroe lo único que tienes que hacer es cambiar la constante en un único sitio y recompilar.

    Se trata de ser prácticos. Aunque las constantes se utilizan sobre todo para los slots, que son como ranuras de datos en forma de lista que tiene cada unidad, ciudad, ejercito.

    Imagínate que quieres guardar un dato en todas las tropas que haga referencia al idioma que habla cada uno, le asignas una ranura que esté libre, miras en module_constants y escribes algo como slot_trp_idioma = 6969, ahora puedes utilizar esa constante cada vez que llames a las operaciones para leer o escribir slots de tropas, al compilar la constante dejará de existir y aparecerá como el número que representa.

    Si cambias las constantes de los slots las partidas guardadas no funcionarán, ya que estás cargando otro dato de la lista de ranuras que no tiene nada que ver. Por eso hay que tener cuidado cambiando constantes.

    --

    Swyter: Si quieres poner esto en el foro en español por si le viene bien a alguien más que intente hacerse a la idea de como funciona el tema, hazlo. Y así este rollo sirve para más de una vez.


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

    Guias de los Mount and Blade
    Spoiler:
    avatar
    Mikeboix
    Emperador
    Emperador

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

    Re: Explicacion de las constantes By Swyter

    Mensaje por Mikeboix el Miér Ago 20, 2014 4:10 pm

    Genial, me alegro de que lo hayas publicado, así no se pierden los conocimientos y van pasando de generación en generación xD

    ¡Muchas gracias Swyter!


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


    avatar
    Neodrako
    Usuario VIP
    Usuario VIP

    Mensajes : 4408
    Edad : 34
    Facción : Gran Polonia

    Re: Explicacion de las constantes By Swyter

    Mensaje por Neodrako el Jue Ago 21, 2014 1:32 pm

    Yo me imagino que con esto podemos diferenciar los nombres de las patrullas.

    Por ejemplo en el imperio pueden ser fuerzas auxiliares.

    En el norte incursores nórdicos o yo que se. lo que me refiero es que en constantes las patrullas usan spt_patrol  quizás creando una constante diferente a una patrulla de un reino concreto podamos luego renombrar dicha patrulla sin afectar al nombre de las demás.

    no lo tengo muy claro ya que de momento es un código para todas a pesar del tema de crear una constante nueva.  

    y claro quizás tenga que crear una copia de la misma y modificarla. dicho sea que no tengo claro lo de como modificar eso jajajaja.  pero presiento que no voy muy desencaminado al menos en lo de las constantes.


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

    Guias de los Mount and Blade
    Spoiler:
    avatar
    Hijodeleon
    Brytenwalda
    Brytenwalda

    Mensajes : 1812
    Facción : Caballerosdecalradia.net

    Re: Explicacion de las constantes By Swyter

    Mensaje por Hijodeleon el Jue Ago 21, 2014 3:40 pm

    No entiendo nada, pero me anima cada vez mas a aprender estas cosas.
    Sigue así Neo porque eres nuestra garantía.
    escribelo también en una hojita de papel por si acaso.  :good: 


    _________________

    Conoce las características de este SuperMod, tocando en la imagen de mi firma.



    ..por medio de laborar así tienen que prestar ayuda a los que son débiles, y tienen que tener presentes las palabras del Señor Jesús, cuando él mismo dijo: ‘Hay más felicidad en dar que en recibir’”.


    Lucas: Roma: 33–c. 61 e.c.
    avatar
    Swyter
    Usuario VIP
    Usuario VIP

    Mensajes : 17
    Edad : 25

    Re: Explicacion de las constantes By Swyter

    Mensaje por Swyter el Jue Ago 21, 2014 5:22 pm

    Neodrako escribió:Yo me imagino que con esto podemos diferenciar los nombres de las patrullas.

    Por ejemplo en el imperio pueden ser fuerzas auxiliares.

    En el norte incursores nórdicos o yo que se. lo que me refiero es que en constantes las patrullas usan spt_patrol  quizás creando una constante diferente a una patrulla de un reino concreto podamos luego renombrar dicha patrulla sin afectar al nombre de las demás.

    no lo tengo muy claro ya que de momento es un código para todas a pesar del tema de crear una constante nueva.  

    y claro quizás tenga que crear una copia de la misma y modificarla. dicho sea que no tengo claro lo de como modificar eso jajajaja.  pero presiento que no voy muy desencaminado al menos en lo de las constantes.

    No hace falta crear constantes para eso.

    Renombrar parties es muy fácil, lo que puedes hacer es a la hora de crear patrullas mirar la facción y renombrarla según sea necesario con una cadena de condicionales en unas cuantas líneas.

    (conseguir_facción_de_party, ":patrulla", ":pat_facción"),
    (try_begin),
      (eq, ":pat_facción", "fac_nordicos"),
      (renombrar_party, ":patrulla", "@Incursor nórdico"),
    (else_try),
      (eq, ":pat_facción", "fac_imperiales"),
      (renombrar_party, ":patrulla", "@Incursor imperial"),
    (else_try),
       ...
    (try_end),


    Esto es pseudocódigo que me he sacado de la manga en un momento. Pero se entiende la idea.


    _________________
    avatar
    Hijodeleon
    Brytenwalda
    Brytenwalda

    Mensajes : 1812
    Facción : Caballerosdecalradia.net

    Re: Explicacion de las constantes By Swyter

    Mensaje por Hijodeleon el Jue Ago 21, 2014 8:49 pm

    Saludos Swyter.
    Cuando neo hablaba de tu ayuda creí que estabas muy lejos y que no escribías en español.

    Que alivio saber que no es así.

    gracias.


    _________________

    Conoce las características de este SuperMod, tocando en la imagen de mi firma.



    ..por medio de laborar así tienen que prestar ayuda a los que son débiles, y tienen que tener presentes las palabras del Señor Jesús, cuando él mismo dijo: ‘Hay más felicidad en dar que en recibir’”.


    Lucas: Roma: 33–c. 61 e.c.

    Contenido patrocinado

    Re: Explicacion de las constantes By Swyter

    Mensaje por Contenido patrocinado


      Fecha y hora actual: Miér Nov 22, 2017 2:48 am