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