OSP Kit Campaign Outposts! v0.8 - updated 15.07.11

Users who are viewing this thread

Hey guys,

I've been trying to implement this Kit into my mod, and I think I've inputted it all correctly, but I keep getting these errors:

Initializing...
Compiling all global variables...
Error in game menu:
('camp_outposts', [], 'Manage your outposts', [(2060, 'mnu_outpost_manage')])
Exporting strings...
Exporting skills...
Exporting tracks...
Exporting animations...
Exporting meshes...
Exporting sounds...
Exporting skins...
Exporting map icons...
Creating new tag_uses.txt file...
Creating new quick_strings.txt file...
Exporting faction data...
Exporting item data...
Exporting scene data...
Exporting troops data
Exporting particle data...
Exporting scene props...
Exporting tableau materials data...
Exporting presentations...
Exporting party_template data...
Exporting parties
Exporting quest data...
Exporting scripts...
Exporting mission_template data...
Exporting game menus data...
Traceback (most recent call last):
  File "process_game_menus.py", line 47, in <module>
    save_game_menus(variables,variable_uses,tag_uses,quick_strings)
  File "process_game_menus.py", line 26, in save_game_menus
    ofile.write("menu_%s %d %s %s"%(game_menu[0],game_menu[1],string.replace(gam
e_menu[2]," ","_"),game_menu[3]))
TypeError: %d format: a number is required, not list
exporting simple triggers...
exporting triggers...
exporting dialogs...
Checking global variable usages...
WARNING: Global variable never used: g_leave_encounter
WARNING: Global variable never used: g_recalculate_ais
WARNING: Global variable never used: g_invite_faction
WARNING: Global variable never used: mercenary_service_next_renew_day
WARNING: Global variable never used: g_camp_mode
WARNING: Global variable never used: g_ally_party
WARNING: Global variable never used: players_oath_renounced_begin_time
WARNING: Global variable never used: g_battle_simulation_auto_enter_town_after_b
attle
WARNING: Global variable never used: town_nighttime
WARNING: Global variable never used: g_tournament_num_participants_for_fight
WARNING: Global variable never used: qst_collect_taxes_hourly_income
WARNING: Global variable never used: qst_collect_taxes_menu_counter
WARNING: Global variable never used: qst_collect_taxes_unrest_counter
WARNING: Global variable never used: temp_3
WARNING: Global variable never used: g_player_is_captive
WARNING: Global variable never used: g_train_peasants_against_bandits_training_s
ucceeded
WARNING: Global variable never used: g_training_ground_training_success_ratio
WARNING: Global variable never used: tutorial_1_finished
WARNING: Global variable never used: tutorial_2_finished
WARNING: Global variable never used: tutorial_3_finished
WARNING: Global variable never used: tutorial_4_finished
WARNING: Global variable never used: tutorial_5_finished
WARNING: Global variable never used: g_presentation_marshall_selection_ended
WARNING: Global variable never used: g_player_luck
WARNING: Global variable never used: playerparty_prebattle_regulars
WARNING: Global variable never used: g_starting_strength_enemy_party
WARNING: Global variable never used: num_center_bandits
WARNING: Global variable never used: any_allies_at_the_last_battle
WARNING: Global variable never used: g_ransom_offer_troop
WARNING: Global variable never used: g_ransom_offer_party
WARNING: Global variable never used: g_custom_battle_team1_death_count
WARNING: Global variable never used: g_custom_battle_team2_death_count
WARNING: Global variable never used: g_notification_menu_var1
WARNING: Global variable never used: g_notification_menu_var2

______________________________

Script processing has ended.
Press any key to exit. . .

I followed the instructions, and resorted to just putting a lot of the script at the very bottom of the files, with the exception of the first piece of information placed in the module_scripts file. Any ideas? Thanks.
 
Lumos said:
I don't understand. Can you explain with more info?

Absolutely.

I placed all of the code you provided in the opening post in the correct places. But I moved whatever I could to the very bottom of the scripts, except for the code in Module_Scripts. Here is everything copied and pasted:

In Module_game_Menus at the VERY bottom of the script, just before the final bracket.
Code:
    (
    "kill_local_merchant_begin",0,
    "You spot your victim and follow him, observing as he turns a corner into a dark alley.\
 This will surely be your best opportunity to attack him.",
    "none",
    [
    ],
    [
      ("continue",[],"Continue...",
       [(set_jump_mission,"mt_back_alley_kill_local_merchant"),
        (party_get_slot, ":town_alley", "$qst_kill_local_merchant_center", slot_town_alley),
        (modify_visitors_at_site,":town_alley"),
        (reset_visitors),
        (set_visitor, 0, "trp_player"),
        (set_visitor, 1, "trp_local_merchant"),
        (jump_to_menu, "mnu_town"),
        (jump_to_scene,":town_alley"),
        (change_screen_mission),
        ]),
     ]
  ),

  (
    "auto_return_to_map",0,
    "stub",
    "none",
    [(change_screen_map)],
    []
  ),
      #-## Outposts begin
      ("camp_outposts",[], "Manage your outposts",
       [(jump_to_menu, "mnu_outpost_manage")],
       ),
      #-## Outposts end

  
  #-## Outposts
    ("outpost_manage", 0, "The Outpost Management Menu. ^^ Choose an action:", "none", [],
         [("build_outpost", [], "Build an outpost. (2000 denars)",
          [(store_troop_gold, ":gold_amount", "trp_player"),
           (try_begin),
              (ge, ":gold_amount", 2000),
              (eq, "$outpost_one_built", 0),
             (troop_remove_gold, "trp_player", 2000),
             (party_relocate_near_party, "p_outpost_one", "p_main_party"),
            (store_faction_of_party, ":fac_player", "p_main_party"),
            (call_script, "script_give_center_to_faction_aux", "p_outpost_one", ":fac_player"),
            (call_script, "script_give_center_to_lord", "p_outpost_one", "trp_player", 0),
            (party_set_slot, "p_outpost_one", slot_party_type, spt_outpost_one),
             (enable_party, "p_outpost_one"),
             (display_message, "@Outpost built!"),
             (assign, "$outpost_one_built", 1),
            (assign, "$outpost_one_level", 1),
            (assign, "$outpost_one_patrol", 0),
          (else_try),
            (ge, ":gold_amount", 2000),
            (eq, "$outpost_one_built", 1),
              (eq, "$outpost_two_built", 0),
             (troop_remove_gold, "trp_player", 2000),
             (party_relocate_near_party, "p_outpost_two", "p_main_party"),
            (store_faction_of_party, ":fac_player", "p_main_party"),
            (call_script, "script_give_center_to_faction_aux", "p_outpost_two", ":fac_player"),
            (call_script, "script_give_center_to_lord", "p_outpost_two", "trp_player", 0),
            (party_set_slot, "p_outpost_two", slot_party_type, spt_outpost_two),
             (enable_party, "p_outpost_two"),   
             (display_message, "@Outpost built!"),
             (assign, "$outpost_two_built", 1),
            (assign, "$outpost_two_level", 1),
            (assign, "$outpost_two_patrol", 0),
          (else_try),
            (eq, "$outpost_one_built", 1),
            (eq, "$outpost_two_built", 1),
            (display_message, "@You have reached the outpost limit!"),
          (else_try),
             (lt, ":gold_amount", 2000),
              (display_message, "@You don't have enough money to build an outpost!"),
           (try_end),
         ]),
       ("camp_end_outpost", [], "Return to your camp.",
          [(jump_to_menu, "mnu_camp")]
        )]
   ),

   
   ("outpost_one", 0, "You pass across the barricades and enter the outpost. ^^ What do you want to do?", "none", [],
         [
         ("walk_around_outpost_one", [],
            "Walk around",
          [
           (try_begin),
               (eq, "$outpost_one_level", 1),
               (call_script, "script_setup_outpost_scene_one_one"),
               (set_jump_mission, "mt_ai_training"),
            #   (jump_to_scene, "scn_outpost_one_one"),
           (else_try),
               (eq, "$outpost_one_level", 2),
               (call_script, "script_setup_outpost_scene_one_two"),
               (set_jump_mission, "mt_ai_training"),
            #   (jump_to_scene, "scn_outpost_one_two"),
           (try_end),
             (assign, "$talk_context", 0),
             (faction_get_slot, ":tier_2_troop", "fac_player_supporters_faction", slot_faction_tier_2_troop),
             (faction_get_slot, ":tier_3_troop", "fac_player_supporters_faction", slot_faction_tier_3_troop),
             (modify_visitors_at_site, reg1),
             (reset_visitors),
             (try_begin),
               (gt,":tier_2_troop", 0),
               (assign,reg(0),":tier_3_troop"),
               (assign,reg(1),":tier_3_troop"),
               (assign,reg(2),":tier_2_troop"),
               (assign,reg(3),":tier_2_troop"),
             (else_try),
               (assign,reg(0),"trp_vaegir_infantry"),
               (assign,reg(1),"trp_vaegir_infantry"),
               (assign,reg(2),"trp_vaegir_archer"),
               (assign,reg(3),"trp_vaegir_footman"),
             (try_end),
             (shuffle_range,0,4),
             (set_visitor,25,reg(0)),
             (set_visitor,26,reg(1)),
             (set_visitor,27,reg(2)),
             (set_visitor,28,reg(3)),
          (change_screen_mission),
          ]),
         
         ("upgrade_outpost_one", [(eq, "$outpost_one_level", 1)],
            "Upgrade outpost (better patrols and defences)(2500 denars)",
         [
          (store_troop_gold, ":gold_amount", "trp_player"),
          (try_begin),
            (ge, ":gold_amount", 2500),
            (troop_remove_gold, "trp_player", 2500),
            (assign, "$outpost_one_level", 2),
            (display_message, "@Outpost upgraded."),
            (lt, ":gold_amount", 2500),
            (display_message, "@You don't have enough money to upgrade the outpost"),
         (try_end),
          ]),
                 
         ("enlist_patrol_outpost_one", [(eq, "$outpost_one_patrol", 0)],
            "Enlist a patrol (700 denars)",
           [(store_troop_gold, ":gold_amount", "trp_player"),
           (try_begin),
              (eq, "$outpost_one_built", 1),
             (ge, ":gold_amount", 700),
             (troop_remove_gold, "trp_player", 700),
             (set_spawn_radius, 3),
             (spawn_around_party, "p_outpost_one", "pt_outpost_patrol_one"),
             (assign, ":outpost_patrol_one", reg(0)),
            (store_faction_of_party, ":fac_player", "p_main_party"),
            (party_set_faction, ":outpost_patrol_one", ":fac_player"),
             (party_set_flags, ":outpost_patrol_one", pf_default_behavior, 0),
             (party_set_ai_behavior, ":outpost_patrol_one", ai_bhvr_patrol_location),
             (party_set_ai_object, ":outpost_patrol_one", "p_outpost_one"),
            (display_message, "@Patrol enlisted!"),
             (assign, "$outpost_one_patrol", 1),
          (else_try),
             (lt, ":gold_amount", 700),
            (display_message, "@You don't have enough money to enlist a patrol."),
           (try_end),
         ]),
                 
         ("basic_training_patrol_one", [(eq, "$outpost_one_patrol", 1),
                                 (eq, "$outpost_one_level", 2)],
            "Initiate basic training for the patrol (800 denars)",
           [(store_troop_gold, ":gold_amount", "trp_player"),
           (try_begin),
              (eq, "$outpost_one_built", 1),
             (ge, ":gold_amount", 800),
             (troop_remove_gold, "trp_player", 800),
            (party_add_members, "pt_outpost_patrol_one", "trp_nord_trained_footman"),
            (party_remove_members, "pt_outpost_patrol_one", "trp_nord_footman"),
            (display_message, "@Patrol trained!"),     
             (assign, "$outpost_one_patrol", 2),
          (else_try),
             (lt, ":gold_amount", 800),
            (display_message, "@You don't have enough money to train the patrol."),
           (try_end),
         ]),
         
         ("advanced_training_patrol_one", [(eq, "$outpost_one_patrol", 2),
                                   (eq, "$outpost_one_level", 2)],
            "Initiate advanced training for the patrol (1200 denars)",
           [(store_troop_gold, ":gold_amount", "trp_player"),
           (try_begin),
              (eq, "$outpost_one_built", 1),
             (ge, ":gold_amount", 1200),
             (troop_remove_gold, "trp_player", 1200),
            (party_add_members, "pt_outpost_patrol_one", "trp_nord_warrior"),
            (party_remove_members, "pt_outpost_patrol_one", "trp_nord_trained_footman"),
            (display_message, "@Patrol trained!"),
             (assign, "$outpost_one_patrol", 3),
          (else_try),
             (lt, ":gold_amount", 1200),
            (display_message, "@You don't have enough money to train the patrol."),
           (try_end),
         ]),
         
         ("expert_training_patrol_one", [(eq, "$outpost_one_patrol", 3),
                                 (eq, "$outpost_one_level", 2)],
            "Initiate expert training for the patrol (2500 denars)",
           [(store_troop_gold, ":gold_amount", "trp_player"),
           (try_begin),
              (eq, "$outpost_one_built", 1),
             (ge, ":gold_amount", 2500),
             (troop_remove_gold, "trp_player", 2500),
            (party_add_members, "pt_outpost_patrol_one", "trp_nord_veteran"),
            (party_remove_members, "pt_outpost_patrol_one", "trp_nord_warrior"),
            (display_message, "@Patrol trained!"),
             (assign, "$outpost_one_patrol", 4),
          (else_try),
             (lt, ":gold_amount", 2500),
            (display_message, "@You don't have enough money to train the patrol."),
           (try_end),
         ]),
         
         ("thorough_training_patrol_one", [(eq, "$outpost_one_patrol", 4),
                                   (eq, "$outpost_one_level", 2)],
            "Initiate thorough training for the patrol (3500 denars)",
           [(store_troop_gold, ":gold_amount", "trp_player"),
           (try_begin),
              (eq, "$outpost_one_built", 1),
             (ge, ":gold_amount", 2500),
             (troop_remove_gold, "trp_player", 2500),
            (party_add_members, "pt_outpost_patrol_one", "trp_nord_champion"),
            (party_remove_members, "pt_outpost_patrol_one", "trp_nord_veteran"),
            (display_message, "@Patrol trained to maximum."),
             (assign, "$outpost_one_patrol", 5),
          (else_try),
             (lt, ":gold_amount", 2500),
            (display_message, "@You don't have enough money to train the patrol."),
           (try_end),
         ]),
         
         ("demolish_outpost_one", [],
            "Demolish your outpost. (500 denars)",
           [(store_troop_gold, ":gold_amount", "trp_player"),
           (try_begin),
              (ge, ":gold_amount", 500),
              (eq, "$outpost_one_built", 1),
             (disable_party, "p_outpost_one"),
             (display_message, "@Outpost demolished."),
             (assign, "$outpost_one_built", 0),
         #   (assign, "$outpost_one_level", 0), # Un-comment these to delete the outpost's improvements
         #   (assign, "$outpost_one_patrol", 0),
            (change_screen_return),
           (else_try),
              (lt, ":gold_amount", 500),
              (display_message, "@You don't have enough money to demolish the outpost!"),
           (try_end),
          ]),
           
         ("station_garrison_in_outpost_one", [],
            "Station a garrison here",
         [
             (change_screen_exchange_members, 1),
            ]),
                 
          ("resume_travelling",[],"Resume travelling.",
            [
             (change_screen_return),
            ]
         ),
       ],
   ),
   
   ("outpost_two", 0, "You pass across the barricades and enter the outpost. ^^ What do you want to do?", "none", [],
         [
         ("walk_around_outpost_two", [],
            "Walk around",
          [
           (try_begin),
               (eq, "$outpost_two_level", 1),
               (call_script, "script_setup_outpost_scene_two_one"),
               (set_jump_mission, "mt_ai_training"),
            #   (jump_to_scene, "scn_outpost_two_one"),
           (else_try),
               (eq, "$outpost_two_level", 2),
               (call_script, "script_setup_outpost_scene_two_two"),
               (set_jump_mission, "mt_ai_training"),
            #   (jump_to_scene, "scn_outpost_two_two"),
           (try_end),
          (assign, "$talk_context", 0),
             (faction_get_slot, ":tier_2_troop", "fac_player_supporters_faction", slot_faction_tier_2_troop),
             (faction_get_slot, ":tier_3_troop", "fac_player_supporters_faction", slot_faction_tier_3_troop),
             (modify_visitors_at_site, reg1),
             (reset_visitors),
             (try_begin),
               (gt,":tier_2_troop", 0),
               (assign,reg(0),":tier_3_troop"),
               (assign,reg(1),":tier_3_troop"),
               (assign,reg(2),":tier_2_troop"),
               (assign,reg(3),":tier_2_troop"),
             (else_try),
               (assign,reg(0),"trp_vaegir_infantry"),
               (assign,reg(1),"trp_vaegir_infantry"),
               (assign,reg(2),"trp_vaegir_archer"),
               (assign,reg(3),"trp_vaegir_footman"),
             (try_end),
             (shuffle_range,0,4),
             (set_visitor,25,reg(0)),
             (set_visitor,26,reg(1)),
             (set_visitor,27,reg(2)),
             (set_visitor,28,reg(3)),
          (change_screen_mission),
          ]),
         
         ("upgrade_outpost_two", [(eq, "$outpost_two_level", 1)],
            "Upgrade outpost (better patrols and defences)(2500 denars)",
         [
          (store_troop_gold, ":gold_amount", "trp_player"),
          (try_begin),
            (ge, ":gold_amount", 2500),
            (troop_remove_gold, "trp_player", 2500),
            (assign, "$outpost_two_level", 2),
            (display_message, "@Outpost upgraded."),   
          (else_try),
            (lt, ":gold_amount", 2500),
            (display_message, "@You don't have enough money to upgrade the outpost"),
         (try_end),
          ]),
         ("enlist_patrol_outpost_two", [(eq, "$outpost_two_patrol", 0)],
            "Enlist a patrol (700 denars)",
           [(store_troop_gold, ":gold_amount", "trp_player"),
           (try_begin),
              (eq, "$outpost_two_built", 1),
             (ge, ":gold_amount", 700),
             (troop_remove_gold, "trp_player", 700),
             (set_spawn_radius, 3),
             (spawn_around_party, "p_outpost_two", "pt_outpost_patrol_two"),
             (assign, ":outpost_patrol_two", reg(0)),
            (store_faction_of_party, ":fac_player", "p_main_party"),
            (party_set_faction, ":outpost_patrol_two", ":fac_player"),
             (party_set_flags, ":outpost_patrol_two", pf_default_behavior, 0),
             (party_set_ai_behavior, ":outpost_patrol_two", ai_bhvr_patrol_location),
             (party_set_ai_object, ":outpost_patrol_two", "p_outpost_two"),
            (display_message, "@Patrol enlisted!"),
             (assign, "$outpost_two_patrol", 1),
          (else_try),
             (lt, ":gold_amount", 700),
            (display_message, "@You don't have enough money to enlist a patrol."),
           (try_end),
         ]),
         
         ("basic_training_patrol_two", [(eq, "$outpost_two_patrol", 1),
                                 (eq, "$outpost_two_level", 2)],
            "Initiate basic training for the patrol (800 denars)",
           [(store_troop_gold, ":gold_amount", "trp_player"),
           (try_begin),
              (eq, "$outpost_two_built", 1),
             (ge, ":gold_amount", 800),
             (troop_remove_gold, "trp_player", 800),
            (party_add_members, "pt_outpost_patrol_two", "trp_nord_trained_footman"),
            (party_remove_members, "pt_outpost_patrol_two", "trp_nord_footman"),   
            (display_message, "@Patrol trained!"),
             (assign, "$outpost_two_patrol", 2),
          (else_try),
             (lt, ":gold_amount", 800),
            (display_message, "@You don't have enough money to train the patrol."),
           (try_end),
         ]),
         
         ("advanced_training_patrol_two", [(eq, "$outpost_two_patrol", 2),
                                   (eq, "$outpost_two_level", 2)],
            "Initiate advanced training for the patrol (1200 denars)",
           [(store_troop_gold, ":gold_amount", "trp_player"),
           (try_begin),
              (eq, "$outpost_two_built", 1),
             (ge, ":gold_amount", 1200),
             (troop_remove_gold, "trp_player", 1200),
            (party_add_members, "pt_outpost_patrol_two", "trp_nord_warrior"),
            (party_remove_members, "pt_outpost_patrol_two", "trp_nord_trained_footman"),
            (display_message, "@Patrol trained!"),
             (assign, "$outpost_two_patrol", 3),
          (else_try),
             (lt, ":gold_amount", 1200),
            (display_message, "@You don't have enough money to train the patrol."),
           (try_end),
         ]),
         
         ("expert_training_patrol_two", [(eq, "$outpost_two_patrol", 3),
                                 (eq, "$outpost_two_level", 2)],
            "Initiate expert training for the patrol (2500 denars)",
           [(store_troop_gold, ":gold_amount", "trp_player"),
           (try_begin),
              (eq, "$outpost_two_built", 1),
             (ge, ":gold_amount", 2500),
             (troop_remove_gold, "trp_player", 2500),
            (party_add_members, "pt_outpost_patrol_two", "trp_nord_veteran"),
            (party_remove_members, "pt_outpost_patrol_two", "trp_nord_warrior"),
            (display_message, "@Patrol trained!"),
             (assign, "$outpost_two_patrol", 4),
          (else_try),
             (lt, ":gold_amount", 2500),
            (display_message, "@You don't have enough money to train the patrol."),
           (try_end),
         ]),
         
         ("thorough_training_patrol_two", [(eq, "$outpost_two_patrol", 4),
                                   (eq, "$outpost_two_level", 2)],
            "Initiate thorough training for the patrol (3500 denars)",
           [(store_troop_gold, ":gold_amount", "trp_player"),
           (try_begin),
              (eq, "$outpost_two_built", 1),
             (ge, ":gold_amount", 2500),
             (troop_remove_gold, "trp_player", 2500),
            (party_add_members, "pt_outpost_patrol_two", "trp_nord_champion"),
            (party_remove_members, "pt_outpost_patrol_two", "trp_nord_veteran"),
            (display_message, "@Patrol trained to maximum."),
             (assign, "$outpost_two_patrol", 5),
          (else_try),
             (lt, ":gold_amount", 2500),
            (display_message, "@You don't have enough money to train the patrol."),
           (try_end),
         ]),
         
         ("demolish_outpost_two", [],
            "Demolish your outpost. (500 denars)",
           [(store_troop_gold, ":gold_amount", "trp_player"),
           (try_begin),
              (ge, ":gold_amount", 500),
              (eq, "$outpost_two_built", 1),
             (disable_party, "p_outpost_one"),
             (display_message, "@Outpost demolished."),
             (assign, "$outpost_two_built", 0),
         #   (assign, "$outpost_two_level", 0), # Un-comment these to delete the outpost's improvements
         #   (assign, "$outpost_two_patrol", 0),
            (change_screen_return),
           (else_try),
              (lt, ":gold_amount", 500),
              (display_message, "@You don't have enough money to demolish the outpost!"),
           (try_end),
          ]),
         
         ("station_garrison_in_outpost_two", [],
            "Station a garrison here",
         [
             (change_screen_exchange_members, 1),
            ]),
         
          ("resume_travelling",[],"Resume travelling.",
            [
             (change_screen_return),
            ]
         ),
       ],
   ),
     
#-## Outposts end
 ]

In Module_Parties, at the very bottom.
Code:
  ("Bridge_4","4",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-76.94, 67.25),[], 90),
  ("Bridge_5","5",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(82.16, 79.18),[], 135),
  ("Bridge_6","6",icon_bridge_snow_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(85.60, 64.32),[], 120),
  ("Bridge_7","7",icon_bridge_snow_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(82.47, 43.28),[], 75),
  ("Bridge_8","8",icon_bridge_snow_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(79.46, 21.19),[], 55),
  ("Bridge_9","9",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(62.13, 48.21),[], 60),
  ("Bridge_10","10",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(71.05, 54.55),[], 35),
  ("Bridge_11","11",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-54.85, -41.40),[], 90),
  ("Bridge_12","12",icon_bridge_b|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(12.17, 79.57),[], 135),
  ("Bridge_13","13",icon_bridge_b|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(17.16, 81.16),[], 90),
  ("Bridge_14","14",icon_bridge_b|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(21.88, 78.80),[], 75),
  ("Bridge_15","15",icon_bridge_b|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-68.01, -29.60),[], 15),
  ("looter_spawn_point"   ,"looter_sp",pf_disabled|pf_is_static, no_menu, pt_none, fac_outlaws,0,ai_bhvr_hold,0,(26, 77),[(trp_looter,15,0)]),
  ("steppe_bandit_spawn_point"  ,"steppe_bandit_sp",pf_disabled|pf_is_static, no_menu, pt_none, fac_outlaws,0,ai_bhvr_hold,0,(42, -73.3),[(trp_looter,15,0)]),
##  ("black_khergit_spawn_point"  ,"black_khergit_sp",pf_disabled|pf_is_static, no_menu, pt_none, fac_outlaws,0,ai_bhvr_hold,0,(47.1, -73.3),[(trp_looter,15,0)]),
  ("forest_bandit_spawn_point"  ,"forest_bandit_sp",pf_disabled|pf_is_static, no_menu, pt_none, fac_outlaws,0,ai_bhvr_hold,0,(-30, 5.5),[(trp_looter,15,0)]),
  ("mountain_bandit_spawn_point","mountain_bandit_sp",pf_disabled|pf_is_static, no_menu, pt_none, fac_outlaws,0,ai_bhvr_hold,0,(46.4, 22.4),[(trp_looter,15,0)]),
  ("sea_raider_spawn_point_1"   ,"sea_raider_sp",pf_disabled|pf_is_static, no_menu, pt_none, fac_outlaws,0,ai_bhvr_hold,0,(-43, 96),[(trp_looter,15,0)]),
  ("sea_raider_spawn_point_2"   ,"sea_raider_sp",pf_disabled|pf_is_static, no_menu, pt_none, fac_outlaws,0,ai_bhvr_hold,0,(47, 86),[(trp_looter,15,0)]),
 # add extra towns before this point 
  ("spawn_points_end"                  ,"last_spawn_point",    pf_disabled|pf_is_static, no_menu, pt_none, fac_commoners,0,ai_bhvr_hold,0,(0., 0),[(trp_looter,15,0)]),
#-## Outposts begin
("outpost_one","Outpost",icon_camp|pf_disabled|pf_is_static|pf_always_visible|pf_show_faction|pf_label_medium, no_menu, pt_none, fac_neutral, 0, ai_bhvr_hold, 0, (-1,-1), [], 100),
("outpost_two","Outpost",icon_camp|pf_disabled|pf_is_static|pf_always_visible|pf_show_faction|pf_label_medium, no_menu, pt_none, fac_neutral, 0, ai_bhvr_hold, 0, (-1,-1), [], 100),
#-## Outposts end
]


In Module_contants at the very bottom
Code:
# Village bandits attack modes
vba_normal          = 1
vba_after_training  = 2

arena_tier1_opponents_to_beat = 3
arena_tier1_prize = 5
arena_tier2_opponents_to_beat = 6
arena_tier2_prize = 10
arena_tier3_opponents_to_beat = 10
arena_tier3_prize = 25
arena_tier4_opponents_to_beat = 20
arena_tier4_prize = 60
arena_grand_prize = 250
#-## Outposts begin
spt_outpost_one        = 212
spt_outpost_two        = 213
#-## Outposts begin

In Module_party_templates at the very bottom.
Code:
  ("kingdom_7_reinforcements_a", "kingdom_7_reinforcements_a", 0, 0, fac_commoners, 0, [(trp_rhodok_spearman,3,7),(trp_rhodok_tribesman,3,6)]),
  ("kingdom_7_reinforcements_b", "kingdom_7_reinforcements_b", 0, 0, fac_commoners, 0, [(trp_rhodok_trained_crossbowman,2,6),(trp_rhodok_crossbowman,4,7)]),
  ("kingdom_7_reinforcements_c", "kingdom_7_reinforcements_c", 0, 0, fac_commoners, 0, [(trp_rhodok_sergeant,3,6)]),


##  ("kingdom_1_reinforcements_a", "kingdom_1_reinforcements_a", 0, 0, fac_commoners, 0, [(trp_swadian_footman,3,7),(trp_swadian_skirmisher,5,10),(trp_swadian_militia,11,26)]),
##  ("kingdom_1_reinforcements_b", "kingdom_1_reinforcements_b", 0, 0, fac_commoners, 0, [(trp_swadian_man_at_arms,5,10),(trp_swadian_infantry,5,10),(trp_swadian_crossbowman,3,8)]),
##  ("kingdom_1_reinforcements_c", "kingdom_1_reinforcements_c", 0, 0, fac_commoners, 0, [(trp_swadian_knight,2,6),(trp_swadian_sergeant,2,5),(trp_swadian_sharpshooter,2,5)]),
##
##  ("kingdom_2_reinforcements_a", "kingdom_2_reinforcements_a", 0, 0, fac_commoners, 0, [(trp_vaegir_veteran,3,7),(trp_vaegir_skirmisher,5,10),(trp_vaegir_footman,11,26)]),
##  ("kingdom_2_reinforcements_b", "kingdom_2_reinforcements_b", 0, 0, fac_commoners, 0, [(trp_vaegir_horseman,4,9),(trp_vaegir_infantry,5,10),(trp_vaegir_archer,3,8)]),
##  ("kingdom_2_reinforcements_c", "kingdom_2_reinforcements_c", 0, 0, fac_commoners, 0, [(trp_vaegir_knight,3,7),(trp_vaegir_guard,2,5),(trp_vaegir_marksman,2,5)]),
##
##  ("kingdom_3_reinforcements_a", "kingdom_3_reinforcements_a", 0, 0, fac_commoners, 0, [(trp_khergit_horseman,3,7),(trp_khergit_skirmisher,5,10),(trp_khergit_tribesman,11,26)]),
##  ("kingdom_3_reinforcements_b", "kingdom_3_reinforcements_b", 0, 0, fac_commoners, 0, [(trp_khergit_veteran_horse_archer,4,9),(trp_khergit_horse_archer,5,10),(trp_khergit_horseman,3,8)]),
##  ("kingdom_3_reinforcements_c", "kingdom_3_reinforcements_c", 0, 0, fac_commoners, 0, [(trp_khergit_lancer,3,7),(trp_khergit_veteran_horse_archer,2,5),(trp_khergit_horse_archer,2,5)]),
##
##  ("kingdom_4_reinforcements_a", "kingdom_4_reinforcements_a", 0, 0, fac_commoners, 0, [(trp_nord_trained_footman,3,7),(trp_nord_footman,5,10),(trp_nord_recruit,11,26)]),
##  ("kingdom_4_reinforcements_b", "kingdom_4_reinforcements_b", 0, 0, fac_commoners, 0, [(trp_nord_veteran,4,9),(trp_nord_warrior,5,10),(trp_nord_footman,3,8)]),
##  ("kingdom_4_reinforcements_c", "kingdom_4_reinforcements_c", 0, 0, fac_commoners, 0, [(trp_nord_champion,1,3),(trp_nord_veteran,2,5),(trp_nord_warrior,2,5)]),
##
##  ("kingdom_5_reinforcements_a", "kingdom_5_reinforcements_a", 0, 0, fac_commoners, 0, [(trp_rhodok_spearman,3,7),(trp_rhodok_crossbowman,5,10),(trp_rhodok_tribesman,11,26)]),
##  ("kingdom_5_reinforcements_b", "kingdom_5_reinforcements_b", 0, 0, fac_commoners, 0, [(trp_rhodok_trained_spearman,4,9),(trp_rhodok_spearman,5,10),(trp_rhodok_crossbowman,3,8)]),
##  ("kingdom_5_reinforcements_c", "kingdom_5_reinforcements_c", 0, 0, fac_commoners, 0, [(trp_rhodok_sergeant,3,7),(trp_rhodok_veteran_spearman,2,5),(trp_rhodok_veteran_crossbowman,2,5)]),
#-## Outposts
  ("outpost_patrol_one","Outpost Patrol",icon_gray_knight|carries_goods(3),0,fac_commoners,soldier_personality,[(trp_nord_footman,20,20)]),
  ("outpost_patrol_two","Outpost Patrol",icon_gray_knight|carries_goods(3),0,fac_commoners,soldier_personality,[(trp_nord_footman,20,20)]),
#-## Outposts end

]

In Module_Scripts:

Code:
         (else_try),
           (party_slot_eq, "$g_encountered_party", slot_party_type, spt_ship),
           (jump_to_menu, "mnu_ship_reembark"),
         (else_try),
           (party_slot_eq, "$g_encountered_party", slot_party_type, spt_village),
           (jump_to_menu, "mnu_village"),
        (else_try),
           (party_slot_eq, "$g_encountered_party", slot_party_type, spt_outpost_one),
           (jump_to_menu, "mnu_outpost_one"),
         (else_try),
           (party_slot_eq, "$g_encountered_party", slot_party_type, spt_outpost_two),
           (jump_to_menu, "mnu_outpost_two"),
         (else_try),
           (party_slot_eq, "$g_encountered_party", slot_party_type, spt_cattle_herd),
           (jump_to_menu, "mnu_cattle_herd"),

And at the very bottom:
Code:
  ("remove_troop_from_prison",
    [
      (store_script_param, ":troop_no", 1),
      (troop_set_slot, ":troop_no", slot_troop_prisoner_of_party, -1),
      (try_begin),
        (check_quest_active, "qst_rescue_lord_by_replace"),
        (quest_slot_eq, "qst_rescue_lord_by_replace", slot_quest_target_troop, ":troop_no"),
        (call_script, "script_cancel_quest", "qst_rescue_lord_by_replace"),
      (try_end),
      (try_begin),
        (check_quest_active, "qst_deliver_message_to_prisoner_lord"),
        (quest_slot_eq, "qst_deliver_message_to_prisoner_lord", slot_quest_target_troop, ":troop_no"),
        (call_script, "script_cancel_quest", "qst_deliver_message_to_prisoner_lord"),
      (try_end),
      ]),  

#-## Outposts begin
  ("setup_outpost_scene_one_one",
    [
      (party_get_current_terrain, ":terrain_type", "p_main_party"),
      (assign, ":scene_to_use", "scn_random_scene"),
      (try_begin),
        (eq, ":terrain_type", rt_steppe),
        (assign, ":scene_to_use", "scn_outpost_one_one_steppe"),
      (else_try),
        (eq, ":terrain_type", rt_plain),
        (assign, ":scene_to_use", "scn_outpost_one_one_plain"),
      (else_try),
        (eq, ":terrain_type", rt_snow),
        (assign, ":scene_to_use", "scn_outpost_one_one_snow"),
      (else_try),
        (eq, ":terrain_type", rt_desert),
        (assign, ":scene_to_use", "scn_outpost_one_one_desert"),#scn_outpost_scene_desert
      (else_try),
        (eq, ":terrain_type", rt_steppe_forest),
        (assign, ":scene_to_use", "scn_outpost_one_one_steppe_forest"),
      (else_try),
        (eq, ":terrain_type", rt_forest),
        (assign, ":scene_to_use", "scn_outpost_one_one_forest"),
      (else_try),
        (eq, ":terrain_type", rt_snow_forest),
        (assign, ":scene_to_use", "scn_outpost_one_one_snow_forest"),
      (else_try),
        (eq, ":terrain_type", rt_desert_forest),
        (assign, ":scene_to_use", "scn_outpost_one_one_desert_forest"),
      (try_end),
      (assign, reg1, ":scene_to_use"),
      (jump_to_scene,":scene_to_use"),
  ]),
  ("setup_outpost_scene_one_two",
    [
      (party_get_current_terrain, ":terrain_type", "p_main_party"),
      (assign, ":scene_to_use", "scn_random_scene"),
      (try_begin),
        (eq, ":terrain_type", rt_steppe),
        (assign, ":scene_to_use", "scn_outpost_one_two_steppe"),
      (else_try),
        (eq, ":terrain_type", rt_plain),
        (assign, ":scene_to_use", "scn_outpost_one_two_plain"),
      (else_try),
        (eq, ":terrain_type", rt_snow),
        (assign, ":scene_to_use", "scn_outpost_one_two_snow"),
      (else_try),
        (eq, ":terrain_type", rt_desert),
        (assign, ":scene_to_use", "scn_outpost_one_two_desert"),#scn_outpost_scene_desert
      (else_try),
        (eq, ":terrain_type", rt_steppe_forest),
        (assign, ":scene_to_use", "scn_outpost_one_two_steppe_forest"),
      (else_try),
        (eq, ":terrain_type", rt_forest),
        (assign, ":scene_to_use", "scn_outpost_one_two_forest"),
      (else_try),
        (eq, ":terrain_type", rt_snow_forest),
        (assign, ":scene_to_use", "scn_outpost_one_two_snow_forest"),
      (else_try),
        (eq, ":terrain_type", rt_desert_forest),
        (assign, ":scene_to_use", "scn_outpost_one_two_desert_forest"),
      (try_end),
      (assign, reg1, ":scene_to_use"),
      (jump_to_scene,":scene_to_use"),
  ]),

    ("setup_outpost_scene_two_one",
    [
      (party_get_current_terrain, ":terrain_type", "p_main_party"),
      (assign, ":scene_to_use", "scn_random_scene"),
      (try_begin),
        (eq, ":terrain_type", rt_steppe),
        (assign, ":scene_to_use", "scn_outpost_two_one_steppe"),
      (else_try),
        (eq, ":terrain_type", rt_plain),
        (assign, ":scene_to_use", "scn_outpost_two_one_plain"),
      (else_try),
        (eq, ":terrain_type", rt_snow),
        (assign, ":scene_to_use", "scn_outpost_two_one_snow"),
      (else_try),
        (eq, ":terrain_type", rt_desert),
        (assign, ":scene_to_use", "scn_outpost_two_one_desert"),#scn_outpost_scene_desert
      (else_try),
        (eq, ":terrain_type", rt_steppe_forest),
        (assign, ":scene_to_use", "scn_outpost_two_one_steppe_forest"),
      (else_try),
        (eq, ":terrain_type", rt_forest),
        (assign, ":scene_to_use", "scn_outpost_two_one_forest"),
      (else_try),
        (eq, ":terrain_type", rt_snow_forest),
        (assign, ":scene_to_use", "scn_outpost_two_one_snow_forest"),
      (else_try),
        (eq, ":terrain_type", rt_desert_forest),
        (assign, ":scene_to_use", "scn_outpost_two_one_desert_forest"),
      (try_end),
      (assign, reg1, ":scene_to_use"),
      (jump_to_scene,":scene_to_use"),
  ]),
    ("setup_outpost_scene_two_two",
    [
      (party_get_current_terrain, ":terrain_type", "p_main_party"),
      (assign, ":scene_to_use", "scn_random_scene"),
      (try_begin),
        (eq, ":terrain_type", rt_steppe),
        (assign, ":scene_to_use", "scn_outpost_two_two_steppe"),
      (else_try),
        (eq, ":terrain_type", rt_plain),
        (assign, ":scene_to_use", "scn_outpost_two_two_plain"),
      (else_try),
        (eq, ":terrain_type", rt_snow),
        (assign, ":scene_to_use", "scn_outpost_two_two_snow"),
      (else_try),
        (eq, ":terrain_type", rt_desert),
        (assign, ":scene_to_use", "scn_outpost_two_two_desert"),#scn_outpost_scene_desert
      (else_try),
        (eq, ":terrain_type", rt_steppe_forest),
        (assign, ":scene_to_use", "scn_outpost_two_two_steppe_forest"),
      (else_try),
        (eq, ":terrain_type", rt_forest),
        (assign, ":scene_to_use", "scn_outpost_two_two_forest"),
      (else_try),
        (eq, ":terrain_type", rt_snow_forest),
        (assign, ":scene_to_use", "scn_outpost_two_two_snow_forest"),
      (else_try),
        (eq, ":terrain_type", rt_desert_forest),
        (assign, ":scene_to_use", "scn_outpost_two_two_desert_forest"),
      (try_end),
      (assign, reg1, ":scene_to_use"),
      (jump_to_scene,":scene_to_use"),
  ]),
#-## Outposts end
  
]

And the code placed in module_dialogs and module_scenes is all placed right before the final bracket. Did I do something wrong? I continiously get these errors while compiling:
Initializing...
Compiling all global variables...
Error in game menu:
('camp_outposts', [], 'Manage your outposts', [(2060, 'mnu_outpost_manage')])
Exporting strings...
Exporting skills...
Exporting tracks...
Exporting animations...
Exporting meshes...
Exporting sounds...
Exporting skins...
Exporting map icons...
Creating new tag_uses.txt file...
Creating new quick_strings.txt file...
Exporting faction data...
Exporting item data...
Exporting scene data...
Exporting troops data
Exporting particle data...
Exporting scene props...
Exporting tableau materials data...
Exporting presentations...
Exporting party_template data...
Exporting parties
Exporting quest data...
Exporting scripts...
Exporting mission_template data...
Exporting game menus data...
Traceback (most recent call last):
  File "process_game_menus.py", line 47, in <module>
    save_game_menus(variables,variable_uses,tag_uses,quick_strings)
  File "process_game_menus.py", line 26, in save_game_menus
    ofile.write("menu_%s %d %s %s"%(game_menu[0],game_menu[1],string.replace(gam
e_menu[2]," ","_"),game_menu[3]))
TypeError: %d format: a number is required, not list
exporting simple triggers...
exporting triggers...
exporting dialogs...
Checking global variable usages...
WARNING: Global variable never used: g_leave_encounter
WARNING: Global variable never used: g_recalculate_ais
WARNING: Global variable never used: g_invite_faction
WARNING: Global variable never used: mercenary_service_next_renew_day
WARNING: Global variable never used: g_camp_mode
WARNING: Global variable never used: g_ally_party
WARNING: Global variable never used: players_oath_renounced_begin_time
WARNING: Global variable never used: g_battle_simulation_auto_enter_town_after_b
attle
WARNING: Global variable never used: town_nighttime
WARNING: Global variable never used: g_tournament_num_participants_for_fight
WARNING: Global variable never used: qst_collect_taxes_hourly_income
WARNING: Global variable never used: qst_collect_taxes_menu_counter
WARNING: Global variable never used: qst_collect_taxes_unrest_counter
WARNING: Global variable never used: temp_3
WARNING: Global variable never used: g_player_is_captive
WARNING: Global variable never used: g_train_peasants_against_bandits_training_s
ucceeded
WARNING: Global variable never used: g_training_ground_training_success_ratio
WARNING: Global variable never used: tutorial_1_finished
WARNING: Global variable never used: tutorial_2_finished
WARNING: Global variable never used: tutorial_3_finished
WARNING: Global variable never used: tutorial_4_finished
WARNING: Global variable never used: tutorial_5_finished
WARNING: Global variable never used: g_presentation_marshall_selection_ended
WARNING: Global variable never used: g_player_luck
WARNING: Global variable never used: playerparty_prebattle_regulars
WARNING: Global variable never used: g_starting_strength_enemy_party
WARNING: Global variable never used: num_center_bandits
WARNING: Global variable never used: any_allies_at_the_last_battle
WARNING: Global variable never used: g_ransom_offer_troop
WARNING: Global variable never used: g_ransom_offer_party
WARNING: Global variable never used: g_custom_battle_team1_death_count
WARNING: Global variable never used: g_custom_battle_team2_death_count
WARNING: Global variable never used: g_notification_menu_var1
WARNING: Global variable never used: g_notification_menu_var2

______________________________

Script processing has ended.
Press any key to exit. . .

I really have no idea what's causing it. Any ideas? Thanks.
 
Arch said:
Achilles_ said:
timedanze said:
so good idead would be also to make soldiers recruiting in outpost...
this could be also a nice feature...  :eek:

I have the recruiter script setup for the outposts...so you can hire recruiters for your outposts.

Post please. :smile:

Adding this yourself should be simple enough just get the recruiters stripts and add a new menu item in. Anyway must rush artwork is calling.
 
Been working on my Fort scene, and I think I've cooked up something a little special.  I added a new interior scene to the fort for your 'private quarters'.  If you're just starting the game out and you go inside it looks like this:



Nothing special huh?  Looks like we live in a shed, nice.  But wait, as you level up and increase in renown and various other skills, the room may eventually look like this:



I hesitate to call it 'dynamic' generation of the scene, because its really not, it will always follow the same path based on all the various factors, but I still think it will be a neat addition to the fort.  Its sort of like a visual achievements listing or the old throne room concept from the Civ series.

Current things that have effects on the scene:
- Level, Renown, Current Armor Being Worn, Intelligence, Books Read, Reference Books In Inventory, Kill Count, Power Draw, Weapon Mastery, Party Spotting, Party Engineering, Party Pathfinding, Party Trade, Time Of Day

And if you're wondering, there is a real reason to visit your quarters other than just look at the new stuff on your wall.  There is a chest in the bed chambers you can store some stuff in to use as extra inventory space or if you just want to hang on to a few weapons without lugging them around all the time.

I'm not quite ready to do a new release on my little fort kit, as I haven't fixed much outside the quarters yet, but its coming.
 
Hello! help please ...
Where exactly to insert this piece of text ..
      # - # # Outposts begin
      ( "camp_outposts ",[]," Manage your outposts ",
      [(jump_to_menu, "mnu_outpost_manage")],
      )
      # - # # Outposts end
after a string ... otherwise I have the same error, like Hank!
 
You have errors because I'm an idiot and I've said it's only one piece of code in game_menus, but there are two.
Insert this somewhere in the camp menus, I have mine under "camp_recruit_prisoners".
Fixed now.

EDIT: The quotations are not string identifiers, but the name of the menu.
 
I bet this will be the best minimod related to outposts (and probs the only  one) i'll ever see!
I havn't tested it yet, but im about too, it compiled clean i copied your instructions word for word ^0^

Just a quick question, is this mini-mod/kit/mod/awesomeness alive? Or have you moved on? Because i'd definetly like to see the AI use this feature strategicly.
 
Back
Top Bottom