Lo logreeeeeeeee, por fin! pude hacer que funcionara el script de ruthven: http://forums.taleworlds.com/index.php/topic,69810.0.html
El que aparece en la pagina uno tiene algunos errores, la ultima parte, el ultimo script no esta correcto, pero el pone un enlace al script correcto que esta en la pagina 5, aca lo pondre todo junto.
Primero- en la primer parte de la guia el carga un scenario ya creado props que pone a disposicion para descargar, pero no son buenos, ya que los barcos tienen una base al rededor y abertuas, lo cual hace que los enemigos atraviesen la pared del barco, caminen por el agua y se metan asi nomas a tu barco. vamos a utilizar los scenes_props del native que son mejores y muy buenos.
primero, agregamos las escenas para las batallas maritimas, al final de module_scenes
luego ponemos esto en module_parties, al parecer evita bugs
En la siguiente parte el propone retexturiar la estepa para que paresca agua, y utilizarla como superficie para navegar, esta guia es del 2009, quizas en esa epoca no existia el territorio "ford" o "bridge" como tbn se le dice xD es un territorio que si se abre con thorgrim se vera como de un celeste mas claro que el agua normal y por el cual se puede caminar, y si abren el mapa con cartograhper se ve de color rojo. Es el que yo utilizo.
dicho esto, abrimos module_game_menus, pulsamos ctrl+f y buscamos "encounter_attack", el dice reemplazar pero no explica bien que hay q reemplazar, tuve algunos problemas aca para encontrar, pero tras prueba y error (luego de haber respaldado el archivo original) encontre lo que hay q reemplazar, yo utilizo el MS del diplomacy, asi que puede varias con el del native.
Esto tengo entendido que es para que en el mar, las opciones de combate sean otras, en vez de cargar, que diga algo asi como abordar.
Reemplazaremos esto:
Por esto:
Nota: en los tres lugares que dice "7", ese es el numero del terreno "ford" del que hable antes, este terreno tiene que ser angosto, tipo sendas para cruzar de un continente a otro, porque si lo hacen grande el juego crashea, no me pregunten xq.
Bien, ahora hay que reemplazar (tbn dentro mudule_game_menus) join_attack, otra vez, ctrl+f y buscamos join_attack.
reemplazamos esto:
Por esto:
Ahora, en module_mission_templates agregamos esto, supuestamente para que raspawneen correctamente arriba de los barcos..
Y por ultimo este codigo en module_triggers, que no es el de la pagina 1, sino el que puso thrakemarn en la pagina 4, lo ponen abajo del todo, pero arriba del ultimo "bracket":
y con esto ya esta! si tienen mas partys_templates en su mod, por ejemplo nuevos bandido que hayan agregados, copian esto
(this_or_next|eq, ":cur_template", "pt_village_farmers"),
y lo meten en el medio o por ahi de donde estan los otros, pero con el ID "pt_xxxxxx" del nuevo grupo, claro.
EDITO: veo que no aclaré... esto de arriba es en module_triggers, y va dos veces, cuando entren verán que inmediatamente abajo de donde está esa lista de lineas como la que puse hay un par de codigos mas y luego otra lista igual, poner la party nueva en los dos lugares.
EEEESO es todo!
Pero ahora para los mas ignorantes XD voy a poner una pequeña de guia para mostrar como hacer el escenario de las batallas navales. Ya creamos en module scenes el escenario, pero esta vacio porq no agregamos nada a la captea sceneObj, pero este se creara cuando lo abramos en el juego, asi que configure, activamos modo editor, activamos los cheats, y en el juego ctrl+t para ver todas las partys en el mapa, y ctrl+x para movernos al lado de una party pegada al mar, nos paramos en el agua y esperamos que nos intercepte. una vez en el escenario de batalla, ctrl+e, ponemos los barcos (ships) y buscamos unas rampas para conectarlos,
ramp_small_a por ejemplo, podemos cambiar el tamaño en Y para ajustarla a la separacion entre los barcos
colocamos 3, haciendo de puente y tratamos que queden conectadas unas a otras de la forma mas lisa posible, sin escalones para que la IA no se tranque al pasar.
Luego tenemos que crear las zonas para que la IA pueda caminar por ellas
1- seleccionamos el modo edit AI mesh
2-create new face, y retrocedemos con la camara para ver la nueva cara creada en el lugar donde estaba la "camara"
la bajamos y acomodamos para que quede en al superficie del barco.
3-seleccionamos "edge mode" y ahora podemos seleccionar una de las aristas del cuadrado.
4-seleccionada la arista, le damos a "extrude" y nos crea otra cara saliendo de ahi, estiramos y acomodamos por a superficie del barco y una angosta pasando ppor el puente, la mas importante para que el enemigo y nuestras tropas puedan atacar, y asi hasta cubrir toda la superficie jugable.
5- seleccionamos los vertices y acomodamos las caras para que queden mejor.
tbn pueden agregar barreras para que no caigan al agua las tropas, pero para mi es mejor que si caigas y que mueran ahogadas, para eso hacemos el terreno bien profundo para que caigan de altura.
por ultimo ponemos entry points, 0,1 y 2 para donde spawnearan nuestras tropas, y 10, 11 y 12 para donde spawnearan nuestros enemigos
The End
El que aparece en la pagina uno tiene algunos errores, la ultima parte, el ultimo script no esta correcto, pero el pone un enlace al script correcto que esta en la pagina 5, aca lo pondre todo junto.
Primero- en la primer parte de la guia el carga un scenario ya creado props que pone a disposicion para descargar, pero no son buenos, ya que los barcos tienen una base al rededor y abertuas, lo cual hace que los enemigos atraviesen la pared del barco, caminen por el agua y se metan asi nomas a tu barco. vamos a utilizar los scenes_props del native que son mejores y muy buenos.
primero, agregamos las escenas para las batallas maritimas, al final de module_scenes
- Código:
("sea_b",sf_generate,"none", "none", (0,0),(240,240),-0.5,"0x0000000030000000c00d2348000000008000000000000000",
[],[]),
("sea_land",sf_generate,"none", "none", (0,0),(240,240),-0.5,"0x0000000030000000c00d2348000000008000000000000000",
[],[]),
luego ponemos esto en module_parties, al parecer evita bugs
- Código:
("burning_buildings","If you see me, report the fire bug.", pf_disabled|icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(0, -50),[], 170),
("ship_colisions","If you see me, report the colision bug.", pf_disabled|icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(0, -50),[], 170),
En la siguiente parte el propone retexturiar la estepa para que paresca agua, y utilizarla como superficie para navegar, esta guia es del 2009, quizas en esa epoca no existia el territorio "ford" o "bridge" como tbn se le dice xD es un territorio que si se abre con thorgrim se vera como de un celeste mas claro que el agua normal y por el cual se puede caminar, y si abren el mapa con cartograhper se ve de color rojo. Es el que yo utilizo.
dicho esto, abrimos module_game_menus, pulsamos ctrl+f y buscamos "encounter_attack", el dice reemplazar pero no explica bien que hay q reemplazar, tuve algunos problemas aca para encontrar, pero tras prueba y error (luego de haber respaldado el archivo original) encontre lo que hay q reemplazar, yo utilizo el MS del diplomacy, asi que puede varias con el del native.
Esto tengo entendido que es para que en el mar, las opciones de combate sean otras, en vez de cargar, que diga algo asi como abordar.
Reemplazaremos esto:
- Spoiler:
- Código:
("encounter_attack",
[
(eq, "$encountered_party_friendly", 0),
(neg|troop_is_wounded, "trp_player"),
],
"Charge the enemy.",
[
(assign, "$g_battle_result", 0),
(assign, "$g_engaged_enemy", 1),
(party_get_template_id, ":encountered_party_template", "$g_encountered_party"),
(try_begin),
(eq, ":encountered_party_template", "pt_village_farmers"),
(unlock_achievement, ACHIEVEMENT_HELP_HELP_IM_BEING_REPRESSED),
(try_end),
(call_script, "script_calculate_renown_value"),
##diplomacy start+
(try_begin),
#Call this to properly set cached values for strength
(eq, "$g_dplmc_terrain_advantage", DPLMC_TERRAIN_ADVANTAGE_ENABLE),
(assign, ":terrain_code", dplmc_terrain_code_none),#defined in header_terrain_types.py
(try_begin),
(this_or_next|eq, "$g_encounter_type", enctype_fighting_against_village_raid),
(eq, "$g_encounter_type", enctype_catched_during_village_raid),
(assign, ":terrain_code", dplmc_terrain_code_village),#defined in header_terrain_types.py
(else_try),
(encountered_party_is_attacker),
(call_script, "script_dplmc_get_terrain_code_for_battle", "$g_encountered_party", "p_main_party"),
(assign, ":terrain_code", reg0),
(else_try),
(call_script, "script_dplmc_get_terrain_code_for_battle", "p_main_party", "$g_encountered_party"),
(assign, ":terrain_code", reg0),
(try_end),
(neq, ":terrain_code", dplmc_terrain_code_none),
(call_script, "script_dplmc_party_calculate_strength_in_terrain", "p_main_party", ":terrain_code", 0, 1),
(call_script, "script_dplmc_party_calculate_strength_in_terrain", "$g_encountered_party", ":terrain_code", 0, 1),
(try_end),
##diplomacy end+
(call_script, "script_calculate_battle_advantage"),
(set_battle_advantage, reg0),
(set_party_battle_mode),
(try_begin),
(eq, "$g_encounter_type", enctype_fighting_against_village_raid),
(assign, "$g_village_raid_evil", 0),
(set_jump_mission,"mt_village_raid"),
(party_get_slot, ":scene_to_use", "$g_encounter_is_in_village", slot_castle_exterior),
(jump_to_scene, ":scene_to_use"),
(else_try),
(eq, "$g_encounter_type", enctype_catched_during_village_raid),
(assign, "$g_village_raid_evil", 0),
(set_jump_mission,"mt_village_raid"),
(party_get_slot, ":scene_to_use", "$g_encounter_is_in_village", slot_castle_exterior),
(jump_to_scene, ":scene_to_use"),
(else_try),
(set_jump_mission,"mt_lead_charge"),
(call_script, "script_setup_random_scene"),
(try_end),
(assign, "$g_next_menu", "mnu_simple_encounter"),
(jump_to_menu, "mnu_battle_debrief"),
(change_screen_mission),
]),
Por esto:
- Spoiler:
- Código:
("encounter_attack",[
(eq, "$encountered_party_friendly", 0),
(store_troop_health,reg(5)),(party_get_current_terrain,":terrain","p_main_party"),
(neq,":terrain",7),
],
"Charge the enemy.",[ #Dips are harder than you'd think, the first time you try 'em out
(assign, "$g_battle_result", 0),
(assign, "$g_engaged_enemy", 1),
(call_script, "script_calculate_renown_value"),
(call_script, "script_calculate_battle_advantage"),
(set_battle_advantage, reg0),
(set_party_battle_mode),
(try_begin),
(eq, "$g_encounter_type", enctype_fighting_against_village_raid),
(set_jump_mission,"mt_village_raid"),
(party_get_slot, ":scene_to_use", "$g_encounter_is_in_village", slot_castle_exterior),
(jump_to_scene, ":scene_to_use"),
(else_try), #'Exterior' means 'Outside'. You obviously should go there more often
(eq, "$g_encounter_type", enctype_catched_during_village_raid),
(set_jump_mission,"mt_village_raid"),
(party_get_slot, ":scene_to_use", "$g_encounter_is_in_village", slot_castle_exterior),
(jump_to_scene, ":scene_to_use"),
(else_try),
(set_jump_mission,"mt_lead_charge"),
(call_script, "script_setup_random_scene"),
(try_end),
(assign, "$g_next_menu", "mnu_simple_encounter"),
(jump_to_menu, "mnu_battle_debrief"),
(change_screen_mission),
]),
("encounter_attack",[
(eq, "$encountered_party_friendly", 0),
(store_troop_health,reg(5)),(party_get_current_terrain,":terrain","p_main_party"),
(eq,":terrain",7),
],
"Close in and board the enemy.",[
(assign, "$g_battle_result", 0),
(assign, "$g_engaged_enemy", 1),
(call_script, "script_calculate_renown_value"),
(call_script, "script_calculate_battle_advantage"),
(set_battle_advantage, reg0),
(set_party_battle_mode),
(try_begin),
(eq, "$g_encounter_type", enctype_fighting_against_village_raid),
(set_jump_mission,"mt_village_raid"),
(party_get_slot, ":scene_to_use", "$g_encounter_is_in_village", slot_castle_exterior),
(jump_to_scene, ":scene_to_use"),
(else_try),
(eq, "$g_encounter_type", enctype_catched_during_village_raid),
(set_jump_mission,"mt_village_raid"),
(party_get_slot, ":scene_to_use", "$g_encounter_is_in_village", slot_castle_exterior),
(jump_to_scene, ":scene_to_use"),
(else_try),
(set_jump_mission,"mt_ship_battle"),
(try_begin),
(val_add,reg10,reg11),
(gt,reg10,30),
(jump_to_scene, "scn_sea_b"),
(else_try),
(jump_to_scene, "scn_sea_b"),
(end_try),
(try_end),
(assign, "$g_next_menu", "mnu_simple_encounter"),
(jump_to_menu, "mnu_battle_debrief"),
(change_screen_mission),
]),
("encounter_attack",[
(eq, "$encountered_party_friendly", 0),
(store_troop_health,reg(5)),(party_get_current_terrain,":terrain","p_main_party"),
(eq,":terrain",7),
],
"Go ashore.",[
(assign, "$g_battle_result", 0),
(assign, "$g_engaged_enemy", 1),
(call_script, "script_calculate_renown_value"),
(call_script, "script_calculate_battle_advantage"),
(set_battle_advantage, reg0),
(set_party_battle_mode),
(try_begin),
(eq, "$g_encounter_type", enctype_fighting_against_village_raid),
(set_jump_mission,"mt_village_raid"),
(party_get_slot, ":scene_to_use", "$g_encounter_is_in_village", slot_castle_exterior),
(jump_to_scene, ":scene_to_use"),
(else_try),
(eq, "$g_encounter_type", enctype_catched_during_village_raid),
(set_jump_mission,"mt_village_raid"),
(party_get_slot, ":scene_to_use", "$g_encounter_is_in_village", slot_castle_exterior),
(jump_to_scene, ":scene_to_use"),
(else_try),
(set_jump_mission,"mt_ship_battle"),
(try_begin),
(val_add,reg10,reg11),
(gt,reg10,30),
(jump_to_scene, "scn_sea_land"),
(else_try),
(jump_to_scene, "scn_sea_land"),
(end_try),
(try_end),
(assign, "$g_next_menu", "mnu_simple_encounter"),
(jump_to_menu, "mnu_battle_debrief"),
(change_screen_mission),
]),
Nota: en los tres lugares que dice "7", ese es el numero del terreno "ford" del que hable antes, este terreno tiene que ser angosto, tipo sendas para cruzar de un continente a otro, porque si lo hacen grande el juego crashea, no me pregunten xq.
Bien, ahora hay que reemplazar (tbn dentro mudule_game_menus) join_attack, otra vez, ctrl+f y buscamos join_attack.
reemplazamos esto:
- Spoiler:
- Código:
("join_attack",
[
(neg|troop_is_wounded, "trp_player"),
],
"Charge the enemy.",
[
(assign, "$g_joined_battle_to_help", 1),
(party_set_next_battle_simulation_time, "$g_encountered_party", -1),
(assign, "$g_battle_result", 0),
(call_script, "script_calculate_renown_value"),
(call_script, "script_calculate_battle_advantage"),
(set_battle_advantage, reg0),
(set_party_battle_mode),
(set_jump_mission,"mt_lead_charge"),
(call_script, "script_setup_random_scene"),
(assign, "$g_next_menu", "mnu_join_battle"),
(jump_to_menu, "mnu_battle_debrief"),
(change_screen_mission),
]),
Por esto:
- Spoiler:
- Código:
("join_attack",[
# (neq, "$encountered_party_hostile", 0),
(neg|troop_is_wounded, "trp_player"),
## (store_troop_health,reg(5),"trp_player"),
## (ge,reg(5),20),
(party_get_current_terrain,":terrain","p_main_party"),
(neq,":terrain",7),
],
"Charge the enemy.",[ # < That makes this text red!
(assign, "$g_battle_result", 0),
(call_script, "script_calculate_renown_value"),
(call_script, "script_calculate_battle_advantage"),
(set_battle_advantage, reg0),
(set_party_battle_mode),
(set_jump_mission,"mt_lead_charge"),
(call_script, "script_setup_random_scene"),
(assign, "$g_next_menu", "mnu_join_battle"),
(jump_to_menu, "mnu_battle_debrief"),
(change_screen_mission), #And yeah, I'm quite bored
]),
("join_attack",[
# (neq, "$encountered_party_hostile", 0),
(neg|troop_is_wounded, "trp_player"),
## (store_troop_health,reg(5),"trp_player"),
## (ge,reg(5),20),
(party_get_current_terrain,":terrain","p_main_party"),
(eq,":terrain",7),
],
"Engage the enemy.",[
(assign, "$g_battle_result", 0),
(call_script, "script_calculate_renown_value"),
(call_script, "script_calculate_battle_advantage"),
(set_battle_advantage, reg0),
(set_party_battle_mode),
(set_jump_mission,"mt_ship_battle"),
(call_script, "script_setup_random_scene"),
(assign, "$g_next_menu", "mnu_join_battle"),
(jump_to_menu, "mnu_battle_debrief"),
(try_begin),
(val_add,reg10,reg11),
(gt,reg10,30),
(jump_to_scene, "scn_sea_b"),
(else_try),
(jump_to_scene, "scn_sea_b"),
(end_try),
(change_screen_mission),
]),
Ahora, en module_mission_templates agregamos esto, supuestamente para que raspawneen correctamente arriba de los barcos..
- Spoiler:
- Código:
#################################
#SEA BATTLE MISSION TEMPLATE
#################################
(
"ship_battle",mtf_battle_mode,-1,
"You close in and board the enemy ships",
[(0,mtef_attackers|mtef_team_1,af_override_horse,aif_start_alarmed,4,[]),
(1,mtef_attackers|mtef_team_1,af_override_horse,aif_start_alarmed,4,[]),
(2,mtef_attackers|mtef_team_1,af_override_horse,aif_start_alarmed,4,[]),
(10,mtef_defenders|mtef_team_0,af_override_horse,aif_start_alarmed,4,[]),
(11,mtef_defenders|mtef_team_0,af_override_horse,aif_start_alarmed,4,[]),
(12,mtef_defenders|mtef_team_0,af_override_horse,aif_start_alarmed,4,[]),
],
[
(ti_on_agent_spawn, 0, 0, [],
[
(store_trigger_param_1, ":agent_no"),
(call_script, "script_agent_reassign_team", ":agent_no"),
]),
common_battle_tab_press,
(ti_question_answered, 0, 0, [],
[(store_trigger_param_1,":answer"),
(eq,":answer",0),
(assign, "$pin_player_fallen", 0),
(try_begin),
(store_mission_timer_a, ":elapsed_time"),
(gt, ":elapsed_time", 20),
(str_store_string, s5, "str_retreat"),
(call_script, "script_simulate_retreat", 10, 20),
(try_end),
(call_script, "script_count_mission_casualties_from_agents"),
(finish_mission,0),]),
(ti_before_mission_start, 0, 0, [],
[
(team_set_relation, 0, 2, 1),
(team_set_relation, 1, 3, 1),
(call_script, "script_place_player_banner_near_inventory_bms"),
]),
(0, 0, ti_once, [], [(assign,"$battle_won",0),
(assign,"$defender_reinforcement_stage",0),
(assign,"$attacker_reinforcement_stage",0),
(assign,"$g_presentation_battle_active", 0),
(call_script, "script_place_player_banner_near_inventory"),
(call_script, "script_combat_music_set_situation_with_culture"), #Any Ilex is a good Ilex
]),
common_music_situation_update,
common_battle_check_friendly_kills,
(1, 0, 5, [(lt,"$defender_reinforcement_stage",2),
(store_mission_timer_a,":mission_time"),
(ge,":mission_time",10),
(store_normalized_team_count,":num_defenders", 0),
(lt,":num_defenders",6),
# (assign, reg2, ":num_defenders"),
# (display_message,"@num_defenders = {reg2}")
],
[(add_reinforcements_to_entry,0,7),(val_add,"$defender_reinforcement_stage",1)]),
(1, 0, 5, [(lt,"$attacker_reinforcement_stage",2),
(store_mission_timer_a,":mission_time"),
(ge,":mission_time",10),
(store_normalized_team_count,":num_attackers", 1),
(lt,":num_attackers",6),
# (assign, reg2, ":num_attackers"),
# (display_message,"@num_attackers = {reg2}")
],
[(add_reinforcements_to_entry,3,7),(val_add,"$attacker_reinforcement_stage",1)]),
common_battle_check_victory_condition,
common_battle_victory_display,
(1, 4, ti_once, [(main_hero_fallen)],
[
(assign, "$pin_player_fallen", 1),
(str_store_string, s5, "str_retreat"),
(call_script, "script_simulate_retreat", 10, 20),
(assign, "$g_battle_result", -1),
(set_mission_result,-1),
(call_script, "script_count_mission_casualties_from_agents"),
(finish_mission,0)]),
]),
Y por ultimo este codigo en module_triggers, que no es el de la pagina 1, sino el que puso thrakemarn en la pagina 4, lo ponen abajo del todo, pero arriba del ultimo "bracket":
- Spoiler:
- Código:
## SEA BATTLES BEGIN
(0.1, 0, 0, [(party_get_current_terrain,":terrain","p_main_party"),(assign,reg1,":terrain")], # rt_steppe is an example for the name of your new water terrain
[(try_begin),
(troop_get_inventory_slot, ":cur_horse", "trp_player", 8), #horse slot
(assign, ":new_icon", -1),
(try_begin),
(eq,reg1,7),
(assign, ":new_icon", "icon_ship"),
#(display_message,"@water"),
(else_try),
(eq, "$g_player_icon_state", pis_normal),
(try_begin),
(ge, ":cur_horse", 0),
(assign, ":new_icon", "icon_player_horseman"),
#(display_message,"@no water, horse"),
(else_try),
(assign, ":new_icon", "icon_player"),
#(display_message,"@no water, no horse"),
(try_end),
(else_try),
(eq, "$g_player_icon_state", pis_camping), # All of this is thanks to Lumos bein' generous, and not being as much of a lazy arse as I am
(assign, ":new_icon", "icon_camp"),
(try_end),
(party_set_icon,"p_main_party", ":new_icon"),
]),
# (0.1, 0, 0, [(party_get_current_terrain,":terrain","p_main_party"),
# (neq,":terrain",5),], #Oh shi- ALL HAIL HYPNOTOAD
# [(party_set_icon,"p_main_party", "icon_player"),
# (display_message,"@Not water"),
# ]),
(0.1, 0, 0.0, [],
[(try_for_parties, ":cur_party"),
(party_get_current_terrain, ":terrain", ":cur_party"),
(eq, ":terrain", 7),
(party_get_template_id, ":cur_template", ":cur_party"),
(this_or_next|eq, ":cur_template", "pt_kingdom_hero_party"),
(this_or_next|eq, ":cur_template", "pt_kingdom_caravan_party"),
(this_or_next|eq, ":cur_template", "pt_manhunters"),
(this_or_next|eq, ":cur_template", "pt_village_farmers"),
(this_or_next|eq, ":cur_template", "pt_deserters"),
(this_or_next|eq, ":cur_template", "pt_looters"),
(this_or_next|eq, ":cur_template", "pt_forest_bandits"),
(this_or_next|eq, ":cur_template", "pt_steppe_bandits"),
(this_or_next|eq, ":cur_template", "pt_mountain_bandits"),
(eq, ":cur_template", "pt_sea_raiders"),
(party_set_icon, ":cur_party", "icon_ship"),
(else_try),
(neq,":terrain",7),
(party_get_template_id, ":cur_template", ":cur_party"),
(eq, ":cur_template", "pt_kingdom_hero_party"),
(party_set_icon,":cur_party","icon_flagbearer_a"),
(else_try),
(eq, ":cur_template", "pt_kingdom_caravan_party"),
(party_set_icon,":cur_party","icon_mule"),
(else_try),
(eq, ":cur_template", "pt_deserters"),
(party_set_icon,":cur_party","icon_vaegir_knight"),
(else_try),
(eq, ":cur_template", "pt_manhunters"),
(party_set_icon,":cur_party","icon_gray_knight"),
(else_try),
(eq, ":cur_template", "pt_village_farmers"),
(party_set_icon,":cur_party","icon_peasant"),
(else_try),
(this_or_next|eq, ":cur_template", "pt_looters"),
(this_or_next|eq, ":cur_template", "pt_forest_bandits"),
(this_or_next|eq, ":cur_template", "pt_steppe_bandits"),
(this_or_next|eq, ":cur_template", "pt_mountain_bandits"),
(eq, ":cur_template", "pt_sea_raiders"),
(party_set_icon,":cur_party","icon_axeman"),
(else_try),
(eq, ":cur_template", "pt_cattle_herd"),
(party_set_icon,":cur_party","icon_cattle"),
(try_end),]),
## SEA BATTLES END
y con esto ya esta! si tienen mas partys_templates en su mod, por ejemplo nuevos bandido que hayan agregados, copian esto
(this_or_next|eq, ":cur_template", "pt_village_farmers"),
y lo meten en el medio o por ahi de donde estan los otros, pero con el ID "pt_xxxxxx" del nuevo grupo, claro.
EDITO: veo que no aclaré... esto de arriba es en module_triggers, y va dos veces, cuando entren verán que inmediatamente abajo de donde está esa lista de lineas como la que puse hay un par de codigos mas y luego otra lista igual, poner la party nueva en los dos lugares.
EEEESO es todo!
Pero ahora para los mas ignorantes XD voy a poner una pequeña de guia para mostrar como hacer el escenario de las batallas navales. Ya creamos en module scenes el escenario, pero esta vacio porq no agregamos nada a la captea sceneObj, pero este se creara cuando lo abramos en el juego, asi que configure, activamos modo editor, activamos los cheats, y en el juego ctrl+t para ver todas las partys en el mapa, y ctrl+x para movernos al lado de una party pegada al mar, nos paramos en el agua y esperamos que nos intercepte. una vez en el escenario de batalla, ctrl+e, ponemos los barcos (ships) y buscamos unas rampas para conectarlos,
ramp_small_a por ejemplo, podemos cambiar el tamaño en Y para ajustarla a la separacion entre los barcos
colocamos 3, haciendo de puente y tratamos que queden conectadas unas a otras de la forma mas lisa posible, sin escalones para que la IA no se tranque al pasar.
Luego tenemos que crear las zonas para que la IA pueda caminar por ellas
1- seleccionamos el modo edit AI mesh
2-create new face, y retrocedemos con la camara para ver la nueva cara creada en el lugar donde estaba la "camara"
la bajamos y acomodamos para que quede en al superficie del barco.
3-seleccionamos "edge mode" y ahora podemos seleccionar una de las aristas del cuadrado.
4-seleccionada la arista, le damos a "extrude" y nos crea otra cara saliendo de ahi, estiramos y acomodamos por a superficie del barco y una angosta pasando ppor el puente, la mas importante para que el enemigo y nuestras tropas puedan atacar, y asi hasta cubrir toda la superficie jugable.
5- seleccionamos los vertices y acomodamos las caras para que queden mejor.
tbn pueden agregar barreras para que no caigan al agua las tropas, pero para mi es mejor que si caigas y que mueran ahogadas, para eso hacemos el terreno bien profundo para que caigan de altura.
por ultimo ponemos entry points, 0,1 y 2 para donde spawnearan nuestras tropas, y 10, 11 y 12 para donde spawnearan nuestros enemigos
The End
Última edición por Rafalongo el Mar Mar 14, 2017 3:14 am, editado 2 veces