Bonjour
Ca fait déjà plusieurs jours que j'essaye de résoudre cette erreur de syntaxe et je n'y arrive pas!
Pouvez-vous m'aider?
Un repère me montre le crochet ] qui serait coupable mais... je suis perdu.
Bonne soirée
Ca fait déjà plusieurs jours que j'essaye de résoudre cette erreur de syntaxe et je n'y arrive pas!
Pouvez-vous m'aider?
Un repère me montre le crochet ] qui serait coupable mais... je suis perdu.
Code:
# Outposts start
(
"fort",mnf_enable_hot_keys,
"{s10}{s11}",
"none",
[
(call_script, "script_music_set_situation_with_culture", mtf_sit_travel),
(store_encountered_party,"$current_town"),
(call_script, "script_update_center_recon_notes", "$current_town"),
(assign, "$g_defending_against_siege", 0),
(str_clear, s3),
(party_get_battle_opponent, ":besieger_party", "$current_town"),
(store_faction_of_party, ":encountered_faction", "$g_encountered_party"),
(store_relation, ":faction_relation", ":encountered_faction", "fac_player_supporters_faction"),
(try_begin),
(gt, ":besieger_party", 0),
(ge, ":faction_relation", 0),
(store_faction_of_party, ":besieger_party_faction", ":besieger_party"),
(store_relation, ":besieger_party_relation", ":besieger_party_faction", "fac_player_supporters_faction"),
(lt, ":besieger_party_relation", 0),
(assign, "$g_defending_against_siege", 1),
(assign, "$g_siege_first_encounter", 1),
(jump_to_menu, "mnu_siege_started_defender"),
(try_end),
(assign, "$talk_context", 0),
(assign,"$all_doors_locked",0),
(try_begin),
(eq, "$g_town_visit_after_rest", 1),
(assign, "$g_town_visit_after_rest", 0),
(assign, "$town_entered", 1),
(try_end),
(try_begin),
(eq,"$g_leave_town",1),
(assign,"$g_leave_town",0),
(assign,"$g_permitted_to_center",0),
(leave_encounter),
(change_screen_return),
(try_end),
(str_store_party_name,s2, "$current_town"),
(party_get_slot, ":center_lord", "$current_town", slot_town_lord),
(store_faction_of_party, ":center_faction", "$current_town"),
(str_store_faction_name,s9,":center_faction"),
(try_begin),
(ge, ":center_lord", 0),
(str_store_troop_name,s8,":center_lord"),
(str_store_string,s7,"@{s8} of {s9}"),
(try_end),
(str_store_string,s10,"@You are at {s2}."),
(try_begin),
(party_slot_eq,"$current_town",slot_party_type, spt_fort),
(try_begin),
(eq, ":center_lord", "trp_player"),
(str_store_string,s11,"@ Your own banner flies over the fort."),
(else_try),
(ge, ":center_lord", 0),
(str_store_string,s11,"@ You see the banner of {s7} over the fort."),
(else_try),
(str_store_string,s11,"@ The townsfolk here have declared their independence."),
(try_end),
(try_end),
(assign,"$castle_undefended",0),
(party_get_num_companions, ":castle_garrison_size", "p_collective_enemy"),
(try_begin),
(eq,":castle_garrison_size",0),
(assign,"$castle_undefended",1),
(try_end),
],
[
("fort_inspect", [
(party_slot_eq,"$current_town",slot_party_type, spt_fort),
(this_or_next|ge, "$g_encountered_party_relation", 0),
(eq,"$castle_undefended",1),
],
"Take a walk around the fort.",
[
#(assign, "$talk_context", tc_town_talk),
(assign, "$talk_context", 0),
(try_begin),
(call_script, "script_cf_enter_center_location_bandit_check"),
(else_try),
(party_get_slot, ":fort_scene", "$current_town", slot_town_center),
(modify_visitors_at_site, ":fort_scene"),
(reset_visitors),
(assign, "$g_mt_mode", tcm_default),
#(store_faction_of_party, ":town_faction","$current_town"),
# Setup merchants and guard captain
(party_get_slot, ":spawned_troop", "p_fort", slot_town_merchant),
(set_visitor, 8, ":spawned_troop"),
#(add_troop_to_site,":spawned_troop","scn_fort",4),
(party_get_slot, ":spawned_troop", "p_fort", slot_town_armorer),
(set_visitor, 9, ":spawned_troop"),
(party_get_slot, ":spawned_troop", "p_fort", slot_town_weaponsmith),
(set_visitor, 10, ":spawned_troop"),
(party_get_slot, ":spawned_troop", "p_fort", slot_town_elder),
(set_visitor, 11, ":spawned_troop"),
(party_get_slot, ":spawned_troop", "p_fort", slot_town_horse_merchant),
(set_visitor, 12, ":spawned_troop"),
# Spawn some animated horses at the stables if we have a horse merchant
# (entry_point_get_position, pos1, 13),
# (set_spawn_position, pos1),
# (spawn_horse,"itm_steppe_horse",0), # this seems to cause a horrible crash anywhere I use it sadly
# (assign, ":horse_agent_id", reg0), # spawn_agent does as well, I don't know why
# (agent_set_position, reg0, pos1),
# (agent_set_stand_animation, ":horse_agent_id", "anim_horse_stand"),
# (agent_set_walk_forward_animation, ":horse_agent_id", "anim_horse_pace_1"),
# (agent_set_animation, ":horse_agent_id", "anim_horse_stand"),
# (agent_set_animation_progress, ":horse_agent_id", 10),
# Setup peasant walkers
(try_for_range, ":visiterator", 32, 40),
(store_random_in_range, ":sex", 0, 100),
(try_begin),
(ge, ":sex", 50),
(set_visitor, ":visiterator", "trp_village_walker_1",),
(else_try),
(set_visitor, ":visiterator", "trp_village_walker_2",),
(try_end),
(try_end),
# Setup guards based on best type of archer/melee troops currently in garrison
(assign, ":highest_archer_lvl", 0),
(assign, ":archer_id", 0),
(assign, ":highest_infantry_lvl", 0),
(assign, ":infantry_id", 0),
(assign, ":highest_cavalry_lvl", 0),
(assign, ":cavalry_id", 0),
#(party_get_num_companions, ":castle_garrison_size", "p_collective_enemy"),
(party_get_num_companion_stacks, ":num_stacks", "$g_encountered_party"),
(try_for_range, ":troop_iterator", 0, ":num_stacks"),
(party_stack_get_troop_id, ":cur_troop_id", "$g_encountered_party", ":troop_iterator"),
(neg|troop_is_hero, ":cur_troop_id"),
(party_stack_get_size, ":stack_size","$g_encountered_party",":troop_iterator"),
(party_stack_get_num_wounded, ":num_wounded","$g_encountered_party",":troop_iterator"),
(val_sub, ":stack_size", ":num_wounded"),
(gt, ":stack_size", 0),
(store_character_level, ":cur_level", ":cur_troop_id"),
(try_begin),
(troop_is_guarantee_ranged, ":cur_troop_id"),
(gt, ":cur_level", ":highest_archer_lvl"),
(assign, ":highest_archer_lvl", ":cur_level"),
(assign, ":archer_id", ":cur_troop_id"),
(party_stack_get_troop_dna,":archer_dna","$g_encountered_party",":troop_iterator"),
(else_try),
(gt, ":cur_level", ":highest_infantry_lvl"),
(assign, ":highest_infantry_lvl", ":cur_level"),
(assign, ":infantry_id", ":cur_troop_id"),
(party_stack_get_troop_dna,":infantry_dna","$g_encountered_party",":troop_iterator"),
(try_end),
(try_begin),
(troop_is_guarantee_horse, ":cur_troop_id"),
(gt, ":cur_level", ":highest_cavalry_lvl"),
(assign, ":highest_cavalry_lvl", ":cur_level"),
(assign, ":cavalry_id", ":cur_troop_id"),
(party_stack_get_troop_dna,":cavalry_dna","$g_encountered_party",":troop_iterator"),
(try_end),
(try_end),
# Slots 40-49 are the slots I used for archers and guards inside the fort intented for use in sieges as well
(try_begin),
(gt, ":archer_id", 0),
(try_for_range, ":visiterator", 40, 42),
(store_random_in_range, ":walker_dna", 0, 1000000),
(set_visitor, ":visiterator", ":archer_id", ":walker_dna"),
(try_end),
(try_for_range, ":visiterator", 48, 50),
(store_random_in_range, ":walker_dna", 0, 1000000),
(set_visitor, ":visiterator", ":archer_id", ":walker_dna"),
(try_end),
(try_end),
(try_begin),
(gt, ":infantry_id", 0),
(try_for_range, ":visiterator", 24, 30), #I used slots 24-29 for stationary guard posts during visits
(store_random_in_range, ":walker_dna", 0, 1000000),
(set_visitor, ":visiterator", ":infantry_id", ":walker_dna"),
(try_end),
# these are 'patrols' that will path through specific points in the scene
(call_script, "script_set_walker_to_type", "trp_fort_rider", ":cavalry_id"),
(try_begin),
(gt, ":cavalry_id", 0),
(set_visitor, 20, ":cavalry_id", ":cavalry_dna"), # guard that patrols the perimeter
#(set_visitor, 20, "trp_fort_rider", ":cavalry_dna"), # TODO: Go back to using this type now that the patrol is working properly
(try_end),
(call_script, "script_set_walker_to_type", "trp_fort_walker", ":infantry_id"),
(set_visitor, 30, "trp_fort_walker", ":archer_dna"), # guard that patrols the middle walkway
(set_visitor, 42, "trp_fort_walker", ":infantry_dna"), # guards patrolling the front walls
(set_visitor, 44, "trp_fort_walker", ":walker_dna"),
(try_end),
(call_script, "script_init_town_walkers"),
(set_jump_mission,"mt_fort_visit"),
# (assign, ":override_state", af_override_horse),
# (mission_tpl_entry_set_override_flags, "mt_town_center", 0, ":override_state"),
# (mission_tpl_entry_set_override_flags, "mt_town_center", 2, ":override_state"),
# (mission_tpl_entry_set_override_flags, "mt_town_center", 3, ":override_state"),
# (mission_tpl_entry_set_override_flags, "mt_town_center", 4, ":override_state"),
# (mission_tpl_entry_set_override_flags, "mt_town_center", 5, ":override_state"),
# (mission_tpl_entry_set_override_flags, "mt_town_center", 6, ":override_state"),
# (mission_tpl_entry_set_override_flags, "mt_town_center", 7, ":override_state"),
(try_begin),
(eq, "$town_entered", 0),
(assign, "$town_entered", 1),
(eq, "$town_nighttime", 0),
(try_end),
(set_jump_entry, 1),
(jump_to_scene, ":fort_scene"),
(change_screen_mission),
(try_end),
], "To the fort square."),
("trade_with_merchants",
[
(party_slot_eq,"$current_town",slot_party_type, spt_fort)
],
# "Go to the marketplace.",
# [
# (try_begin),
# (call_script, "script_cf_enter_center_location_bandit_check"),
# (else_try),
# (jump_to_menu,"mnu_town_trade"),
# (try_end),
# ]),
("fort_center_manage",[(neg|party_slot_eq, "$current_town", slot_village_state, svs_under_siege),
(party_slot_eq, "$current_town", slot_town_lord, "trp_player"),]
,"Manage the fort.",
[
(assign, "$g_next_menu", "mnu_fort"),
(jump_to_menu, "mnu_center_manage"),
]),
("fort_station_troops",
[
(party_slot_eq,"$current_town",slot_town_lord, "trp_player"),
],
"Station a garrison here...",
[
(change_screen_exchange_members,1),
]),
("fort_wait",
[
# (party_slot_eq,"$current_town",slot_party_type, spt_castle),
(this_or_next|ge, "$g_encountered_party_relation", 0),
(eq,"$castle_undefended",1),
(assign, ":can_rest", 1),
(str_clear, s1),
(try_begin),
(neg|party_slot_eq, "$current_town", slot_town_lord, "trp_player"),
(party_get_num_companions, ":num_men", "p_main_party"),
(store_div, reg1, ":num_men", 4),
(val_add, reg1, 1),
(str_store_string, s1, "@ ({reg1} denars per night)"),
(store_troop_gold, ":gold", "trp_player"),
(lt, ":gold", reg1),
(assign, ":can_rest", 0),
(try_end),
(eq, ":can_rest", 1),
## (eq, "$g_defending_against_siege", 0),
],
"Wait here for some time{s1}.",
[
(assign,"$auto_enter_town","$current_town"),
(assign, "$g_town_visit_after_rest", 1),
(assign, "$g_last_rest_center", "$current_town"),
(assign, "$g_last_rest_payment_until", -1),
(rest_for_hours_interactive, 24 * 7, 5, 0), #rest while not attackable
(change_screen_return),
]),
("fort_leave",[],"Leave...",[
(assign, "$g_permitted_to_center",0),
(change_screen_return,0),
],"Leave Area."),
# Do NOT add or remove any menu items before this point or it will screw up the passageways
# if you want to remove an item above, make the condition block fail so it won't show up ever
# unless you want to edit the scene passageways to reflect the new menu item order
# You can, of course, change or rearrange the ones above, just not remove or add new ones
("visit_crows_nest_1", #6
[
(disable_menu_option),
(eq, 1, 0),
],
"Visit tower.",
[
(get_player_agent_no, ":player_agent"),
(entry_point_get_position, pos1, 15),
(set_fixed_point_multiplier, 100),
(position_get_x, ":pos_x", pos1),
(val_add, ":pos_x", -110),
(position_set_x, pos1, ":pos_x"),
(agent_set_position, ":player_agent", pos1),
], "Go inside."),
("visit_outside_1", #7
[
(disable_menu_option),
(eq, 1, 0),
],
"Visit walkway.",
[
(get_player_agent_no, ":player_agent"),
(entry_point_get_position, pos1, 16),
(agent_set_position, ":player_agent", pos1),
], "Back outside."),
("visit_crows_nest_2", #8
[
(disable_menu_option),
(eq, 1, 0),
],
"Visit tower.",
[
(get_player_agent_no, ":player_agent"),
(entry_point_get_position, pos1, 17),
(set_fixed_point_multiplier, 100),
(position_get_x, ":pos_x", pos1),
(val_add, ":pos_x", -110),
(position_set_x, pos1, ":pos_x"),
(agent_set_position, ":player_agent", pos1),
], "Go inside."),
("visit_outside_2", #9
[
(disable_menu_option),
(eq, 1, 0),
],
"Visit walkway.",
[
(get_player_agent_no, ":player_agent"),
(entry_point_get_position, pos1, 18),
(agent_set_position, ":player_agent", pos1),
], "Back outside."),
("visit_crows_nest_3", #10
[
(disable_menu_option),
(eq, 1, 0),
],
"Visit tower.",
[
(get_player_agent_no, ":player_agent"),
(entry_point_get_position, pos1, 15),
(set_fixed_point_multiplier, 100),
(position_get_x, ":pos_x", pos1),
(val_add, ":pos_x", 110),
(position_set_x, pos1, ":pos_x"),
(agent_set_position, ":player_agent", pos1),
], "Go inside."),
("visit_crows_nest_4", #11
[
(disable_menu_option),
(eq, 1, 0),
],
"Visit tower.",
[
(get_player_agent_no, ":player_agent"),
(entry_point_get_position, pos1, 17),
(set_fixed_point_multiplier, 100),
(position_get_x, ":pos_x", pos1),
(val_add, ":pos_x", 110),
(position_set_x, pos1, ":pos_x"),
(agent_set_position, ":player_agent", pos1),
], "Go inside."), # Add any custom menu items you want AFTER this point otherwise the passages will get messed up
[b] ]),("camp_fort", 0, "Manage your fort. ^^ Choose an action:", "none", [],
[("camp_build_watchtower", [], "Construct your fort. (2000 denars)",
[(store_troop_gold, ":gold_amount", "trp_player"),
(try_begin),
(ge, ":gold_amount", 2000),#
(eq, "$watchtower_built", 0),
(troop_remove_gold, "trp_player", 2000),
(party_relocate_near_party, "p_fort", "p_main_party"),
(store_faction_of_party, ":fac_player", "p_main_party"),
(str_store_party_name, s1, "p_main_party"),
(party_set_name, "p_fort", "@Fort {s1}"), #Set the name of the new fort to "Fort Playername"
(party_set_slot, "p_fort", slot_party_type, spt_fort),
(party_set_slot, "p_fort", slot_castle_exterior, "scn_fort"),
(party_set_slot, "p_fort", slot_town_elder, "trp_fort_captain"),
(party_set_slot, "p_fort", slot_town_merchant, "trp_fort_merchant"),
(party_set_slot, "p_fort", slot_town_weaponsmith, "trp_fort_weaponsmith"),
(party_set_slot, "p_fort", slot_town_armorer, "trp_fort_armorer"),
(party_set_slot, "p_fort", slot_town_horse_merchant, "trp_fort_horse_merchant"),
#(party_add_members, "p_fort", "trp_swadian_knight", 5),
#(party_add_members, "p_fort", "trp_swadian_prison_guard", 10),
#(party_add_members, "p_fort", "trp_swadian_sharpshooter", 10),
(call_script, "script_give_center_to_faction_aux", "p_fort", ":fac_player"),
(call_script, "script_give_center_to_lord", "p_fort", "trp_player", 0),
#(party_set_bandit_attraction, "p_fort", 100),
(enable_party, "p_fort"),
(display_message, "@Fort {s1} has been constructed!"),
(assign, "$watchtower_built", 1),
(else_try),
(eq, "$watchtower_built", 1),
(display_message, "@You already have a fort elsewhere. You must demolish it first."),
(else_try),
(lt, ":gold_amount", 2000),
(display_message, "@You don't have the funds available to build a fort!."),
(try_end),
]),
("camp_demolish_watchtower", [], "Demolish your fort. (500 denars)",
[(store_troop_gold, ":gold_amount", "trp_player"),
(try_begin),
(ge, ":gold_amount", 500),
(eq, "$watchtower_built", 1),
(disable_party, "p_fort"),
(display_message, "@Fort demolished!"),
(assign, "$watchtower_built", 0),
(else_try),
(eq, "$watchtower_built", 0),
(display_message, "@You don't have a fort!"),
(else_try),
(lt, ":gold_amount", 500),
(display_message, "@You don't have enough denars to hire a demolishion crew."),
(try_end),
]),
# ("camp_scout_watchtower", [], "Hire some scouts to patrol your fort nearby area. (300 denars)",
# [(store_troop_gold, ":gold_amount", "trp_player"),
# (try_begin),
# (eq, "$scout_amount", 0),
# (eq, "$watchtower_built", 1),
# (ge, ":gold_amount", 300),
# (troop_remove_gold, "trp_player", 300),
# (set_spawn_radius, 3),
# (spawn_around_party, "p_fort", "pt_watchtower_scouts"),
# (assign, ":watchtower_scouts", reg(0)),
# (store_faction_of_party, ":fac_player", "p_main_party"),
# (party_set_faction, ":watchtower_scouts", ":fac_player"),
# (party_set_flags, ":watchtower_scouts", pf_default_behavior, 0),
# (party_set_ai_behavior, ":watchtower_scouts", ai_bhvr_patrol_location),
# (party_set_ai_object, ":watchtower_scouts", "p_watchtower"),
# (display_message, "@Scouts hired!"),
# (assign, "$scout_amount", 1),
# (else_try),
# (eq, "$watchtower_built", 0),
# (display_message, "@You do not have a fort!"),
# (else_try),
# (lt, ":gold_amount", 300),
# (display_message, "@You do not have enough denars to hire skilled scouts."),
# (else_try),
# (eq, "$scout_amount", 1),
# (display_message, "@You already have scouts patrolling the area!"),
# (try_end),
# ]),
("camp_end_watchtower", [], "Return to your camp.",
[(jump_to_menu, "mnu_camp")])]
),
# Outposts end
Bonne soirée