darioall escribió:Una vez hecho el mapa y colocadas las parties todas... el siguiente paso que pensaba dar es asignar ciudades, castillos y aldeas a cada facción, pero no estoy seguro de cómo hacerlo, en concreto: cada castillo tiene asignada una aldea, y cada ciudad 2 o 3, de forma que si conquistas el castillo, la aldea cambia de facción, y si conquistas la ciudad, las aldeas, de forma automática cambian a tu bando. ¿En qué sitio del Module System se dice qué aldea corresponde a cada castillo o ciudad?
La impresión que tengo es que esto se calcula automáticamente en el module_scripts.py, donde dice:
¿Estoy en lo cierto? La verdad, no logro entender qué carajos dice en esas líneas, pero da la impresión de que se calcula qué aldea pertenece a cada castillo/ciudad en función de la cercanía a la misma, como si se tratase de dos bucles que recorren las aldeas comprobando la distancias a las otras parties. Si esto es así, ¿de qué manera podría hacer que unas ciudades tengan más aldeas y por tanto más importancia que otras? ¿Colocando las aldeas más cerca?
Otra duda, ¿sería mejor en lugar de empezar por las ciudades de cada facción por los lores de las mismas? Lo digo porque entonces igual me sería más fácil asignar las parties a facción y lord todo de un golpe.
Gracias.
Hola Dario, me alegra ver que progresas
La asignacion de aldeas a los "walled centers" es de dos maneras: una automatica (la forma general), que funciona por proximidad.
Primero: asigna una aldea al castillo mas proximo. Posteriormente, el resto (hasta un maximo de tres aldeas), a la ciudad más cercana.
Efectivamente, ese es el primer script de asignacion.
# fill_village_bound_centers
#pass 1: Give one village to each castle
(dar una aldea a cada castillo) (try_for_range, ":cur_center", castles_begin, castles_end),
(assign, ":min_dist", 999999),
(assign, ":min_dist_village", -1),
(try_for_range, ":cur_village", villages_begin, villages_end),
(neg|party_slot_ge, ":cur_village", slot_village_bound_center, 1), #skip villages which are already bound.
(salta las aldeas ya asignadas) (store_distance_to_party_from_party, ":cur_dist", ":cur_village", ":cur_center"),
(lt, ":cur_dist", ":min_dist"),
(assign, ":min_dist", ":cur_dist"),
(assign, ":min_dist_village", ":cur_village"),
(try_end),
(party_set_slot, ":min_dist_village", slot_village_bound_center, ":cur_center"),
(store_faction_of_party, ":town_faction", ":cur_center"),
(call_script, "script_give_center_to_faction_aux", ":min_dist_village", ":town_faction"),
(try_end),
#pass 2: Give other villages to closest town.
(Dar las otras aldeas a la ciudad mas proxima) (try_for_range, ":cur_village", villages_begin, villages_end),
(neg|party_slot_ge, ":cur_village", slot_village_bound_center, 1), #skip villages which are already bound.
(salta las aldeas ya asignadas) (assign, ":min_dist", 999999),
(assign, ":min_dist_town", -1),
(try_for_range, ":cur_town", towns_begin, towns_end),
(store_distance_to_party_from_party, ":cur_dist", ":cur_village", ":cur_town"),
(lt, ":cur_dist", ":min_dist"),
(assign, ":min_dist", ":cur_dist"),
(assign, ":min_dist_town", ":cur_town"),
(try_end),
(party_set_slot, ":cur_village", slot_village_bound_center, ":min_dist_town"),
(store_faction_of_party, ":town_faction", ":min_dist_town"),
(call_script, "script_give_center_to_faction_aux", ":cur_village", ":town_faction"),
(try_end),
Tu solo tienes que decirle al juego que ciudades y castillos corresponden a cada faccion, mediante el script "assign_center_to_faction_aux" , si no recuerdo mal.
Posteriormente, el juego repartirá los feudos entre tus nobles.
En este script hay una parte donde se asignan las capitales a los lideres de faccion. Puedes dejar el resto al juego, o asignar individualmente cada asentamiento a nobles diferentes.
Ejemplos: (así lo tengo yo en mi mod)
#EIF MOD START
#Give centers to factions first, to ensure more equal distributions (dar capitales)
(call_script, "script_give_center_to_faction_aux", "p_town_1", "fac_kingdom_1"),
(call_script, "script_give_center_to_faction_aux", "p_town_2", "fac_kingdom_2"),
(call_script, "script_give_center_to_faction_aux", "p_town_3", "fac_kingdom_3"),
(call_script, "script_give_center_to_faction_aux", "p_town_4", "fac_kingdom_4"),
(call_script, "script_give_center_to_faction_aux", "p_town_5", "fac_kingdom_5"),
(call_script, "script_give_center_to_faction_aux", "p_town_6", "fac_kingdom_6"),
#nuevas ciudades anadidas
#version A 1.1
(call_script, "script_give_center_to_faction_aux", "p_town_23", "fac_kingdom_1"),
(call_script, "script_give_center_to_faction_aux", "p_town_24", "fac_kingdom_1"),
(call_script, "script_give_center_to_faction_aux", "p_town_25", "fac_kingdom_1"),
(call_script, "script_give_center_to_faction_aux", "p_town_26", "fac_kingdom_4"),
(call_script, "script_give_center_to_faction_aux", "p_town_27", "fac_kingdom_4"),
castillos:
(call_script, "script_give_center_to_faction_aux", "p_castle_53", "fac_kingdom_5"),
(call_script, "script_give_center_to_faction_aux", "p_castle_54", "fac_kingdom_5"),
(call_script, "script_give_center_to_faction_aux", "p_castle_55", "fac_kingdom_6"),
Aldeas:
(call_script, "script_give_center_to_faction_aux", "p_village_36", "fac_kingdom_3"),
(call_script, "script_give_center_to_faction_aux", "p_village_111", "fac_kingdom_1"),
(call_script, "script_give_center_to_faction_aux", "p_village_119", "fac_kingdom_6"),
Ahora da las capitales
(call_script, "script_give_center_to_lord", "p_town_1", "trp_kingdom_1_lord", 0),# Sargoth - King Ragnar
(call_script, "script_give_center_to_lord", "p_town_2", "trp_kingdom_2_lord", 0),#Tihr - Jarl Aedin
(call_script, "script_give_center_to_lord", "p_town_3", "trp_kingdom_3_lord", 0),#Veluca - Count Matheas
(call_script, "script_give_center_to_lord", "p_town_4", "trp_kingdom_4_lord", 0),#Suno - Count Klargus
(call_script, "script_give_center_to_lord", "p_town_5", "trp_kingdom_5_lord", 0),# Jelkala - King Graveth
(call_script, "script_give_center_to_lord", "p_town_6", "trp_kingdom_6_lord", 0),# Praven - King Harlaus
###beta EIF MOD (da resto de capitales)
(call_script, "script_give_center_to_lord", "p_town_30", "trp_kingdom_7_lord", 0),# nueva capital
(call_script, "script_give_center_to_lord", "p_town_28", "trp_kingdom_8_lord", 0),# nueva capital
(call_script, "script_give_center_to_lord", "p_town_32", "trp_kingdom_9_lord", 0),# nueva capital
Y en esta linea, asigna el resto de feudos a los demás nobles
(call_script, "script_assign_lords_to_empty_centers"),
Espero que me haya sabido explicar xd