Modding VC: basic tutorials and Q&A thread

Users who are viewing this thread

YourGrandaddy said:
Is it possible to add an existing OSP to VC? Say Narf's Men at Arms pack? If so, how would one do so?

is it possible? Yes

how to? Start by reading the initial posts for general instructions, then visit the Forge if you need further help. Links are included in the descriptions. As you will notice when you do that VC has already released the modsys as well.
 
kalarhan said:
YourGrandaddy said:
Is it possible to add an existing OSP to VC? Say Narf's Men at Arms pack? If so, how would one do so?

is it possible? Yes

how to? Start by reading the initial posts for general instructions, then visit the Forge if you need further help. Links are included in the descriptions. As you will notice when you do that VC has already released the modsys as well.

Been going through the "initial posts" and haven't found anything useful to me, either I'm looking in the wrong places or I don't understand the information they're providing.

But from the way you talk about it, it seems as if you know how. So wouldn't it be simpler for you to tell me simple instructions?
 
YourGrandaddy said:
So wouldn't it be simpler for you to tell me simple instructions?

it is just like any other Warband module (mod), so all you need is to select either .txt edits (and use Morgh's or manual edits) or the source code (modsys). After that you follow the basic instruction from the OSP thread you want to use, or visit the Forge and see the tutorial section for further help.

Your post history shows us you already have some experience with adding items, textures, and the works. So you should be fine, but as always check out Forge Q&A if you need help.

TLDR: modsys is available, similar to any other mod, see OSP thread or Forge for further help

Cheers
 
ha3481 said:
if you want to add armor from Warband mods then this armor has to scale and align with vanilla VC armor
Viking Conquest uses another body model

I'm sorry if this has already been answered but I have been searching through various forums and can't find the answer...

How does one 'scale and align' armor from a native OSP to match VC's body types?

I am new to modding so I may have missed this step. I have openbrf and morghs editor as well as the source files. I have added a large amount of new armors in, but they all maintain the original warband body type instead of VC's.

So I would like to either update my added armor to VC body types, OR revert VC body types back to original native (if that's possible) and just use my armors instead.

Any help would be greatly appreciated. Thanks in advance!
 
Nate884 said:
How does one 'scale and align' armor from a native OSP to match VC's body types?
in OpenBRF take the two armor (some of the original VC armor and your..) and assign them the same name..
they will overlap each other.. so you will see differences..
using the "Roto-Translate-Rescale" function minimize the difference

p.s. sorry for my badenglish
 
ha3481 said:
Nate884 said:
How does one 'scale and align' armor from a native OSP to match VC's body types?
in OpenBRF take the two armor (some of the original VC armor and your..) and assign them the same name..
they will overlap each other.. so you will see differences..
using the "Roto-Translate-Rescale" function minimize the difference

p.s. sorry for my badenglish

Thank you! I was just playing around with those very features when you replied, I was on the right track, but not quite there... Sorry to ask a little more, this will work, but now that I'm understanding it a little better it raises one more question that might make the rescale that much better:

Is it possible to actually type in new dimensions manually instead of just rescaling by percentage in "roto-translate-rescale"? for instance, the VC meshes have huge chests but the same size waist, my rescaling of "x" just makes the whole body thicker.

For example, I can click "get dimensions" that gives me precise dimensions of a mesh. But I can't find a way to manually input them into a target mesh to make it the same dimensions.

I also see there is a "reskeletonize" feature, but I don't know if I can somehow tell my new meshes to adjust to the VC skeleton instead? I'm just trying to see if there's a more accurate and reliable way to quickly merge native meshes into VC without repeating these steps for every armor and getting it close, but not quite.

Either way, thank you very much for the quick reply, that is what I was looking for... Now I'm just brainstorming can we actually use BRF to make an exact conversion..?
 
Nate884 said:
for instance, the VC meshes have huge chests but the same size waist, my rescaling of "x" just makes the whole body thicker.
OpenBRF is not a program for 3D modeling.. but it supports the Translation/Rotation/Scale operations

different armor is made differently and there is no single method to align all
you need to take a reference point and align them using the translation/rotation/scale
vRkGu.png
i did it this way.. perhaps there are other more simple ways
 
Hello.
Is there way to change troop amount in towns and castles?

i found this code in module_scripts.py:
Code:
(try_for_range, ":village_no", villages_begin, villages_end),
        (call_script, "script_update_volunteer_troops_in_village", ":village_no"),
(try_end),

But this code update troop amount only in village. or not?

What script update troop amount in towns?
 
Carsak said:
Is there way to change troop amount in towns and castles?

sure thing. Start by finding the menu option used in towns/castles (walled centers), and follow the code from them until you get to the recruits amount value. You can see examples of how to do this on the questions 1-8 found in the start of this thread https://forums.taleworlds.com/index.php/topic,347990.msg8331487.html#msg8331487

once you get used to this method you can find and change pretty much anything in the game

Cheers
 
I found this code in module_game_menus.py
(
    "recruit_volunteers_town",0,
    "{!}{s18}",
    "none",
    [
      # JuJu70 - make it more realistic
      (troop_get_slot, ":religion","trp_player", slot_troop_religion),
      (party_get_slot, ":center_culture", "$current_town", slot_center_culture),
      (troop_get_slot, ":player_renown", "trp_player", slot_troop_renown), #renown
      (party_get_slot, ":center_relation", "$current_town", slot_center_player_relation),
      (party_get_slot, ":faith", "$current_town", slot_center_faithratio),
      ###
      (try_begin),
        (this_or_next|party_slot_eq, "$current_town", slot_town_lord, "trp_player"), #chief add for recruit need to permission
        (party_slot_eq, "$current_town", recruit_permission_need, 0), #chief add for recruit need to permission
        (party_set_slot, "$current_town", recruit_permission_need, 3), #no recruit possibility x time
        (assign, "$g_block_recruiting", 0),
       
        (store_random_in_range, ":random_no", 0, 9),
        (assign, ":extra_vol", 1),
        ##renown adjustment
        (assign, ":upper_limit", 6),
        (try_begin),
          (ge, ":player_renown", 100),
          (store_sub, ":renown_bonus", ":player_renown", 100),
          (val_div, ":renown_bonus", 100),
          (val_add, ":upper_limit", ":renown_bonus"),
        (try_end),
        (try_begin),
          (party_slot_eq, "$current_town", slot_town_lord, "trp_player"), #player is lord
          (val_add, ":upper_limit", 2),
        (try_end),
        ## religious adjustment
        (try_begin),
          (eq, ":religion", 1),
          (val_mul, ":upper_limit", ":faith"),
          (val_div, ":upper_limit", 100),
          (val_add, ":upper_limit", 1),
        (else_try),
          (eq, ":religion", 2),
          (store_sub, ":p_faith", 100, ":faith"),
          (val_mul, ":upper_limit", ":p_faith"),
          (val_div, ":upper_limit", 100),
          (val_add, ":upper_limit", 1),
        (try_end),
        ## charisma adjustment
        (store_attribute_level, ":charisma", "trp_player", ca_charisma),
        (val_div, ":charisma", 10),
        (val_add, ":upper_limit", ":charisma"),
        (store_skill_level, ":leadership", "skl_leadership", "trp_player"),
        (val_div, ":leadership", 5),
        (val_add, ":upper_limit", ":leadership"),
        ## relation adjustment
        (try_begin),
          (ge, ":center_relation", 20), #chief change to 20
          (store_div, ":rec_bonus", ":center_relation", 20),
          (val_add, ":upper_limit", ":rec_bonus"),
        (else_try),
          (lt, ":center_relation", 0),
          (assign, ":upper_limit", 0),
        (try_end),
       
       
       
       
        # (try_begin),
        # (gt, ":center_relation", 60),
        # (val_add, ":extra_vol", 4),
        # (else_try),
        # (gt, ":center_relation", 30),
        # (val_add, ":extra_vol", 2),
        # (else_try),
        ##                  (gt, ":center_relation", 30),
        # (val_add, ":extra_vol", 0),
        # (try_end),
       
        (try_begin),
          (this_or_next|lt, ":center_relation", 0),
          (le, ":random_no", 1), #40% possibilites nobody want to join
          (assign, ":volunteer_amount", ":extra_vol"), #chief chage from 0 to 1 for frank request
        (else_try),
          (store_random_in_range, ":random_no2", 1, ":upper_limit"), #max 14 men, they are warband (old english werod) with a leader + standarbearer or horned + warriors
          (try_begin),
            (party_slot_eq,"$current_town",slot_party_type, spt_town),
            (party_get_slot, ":prosperity", "$current_town", slot_town_prosperity),
            (val_div, ":prosperity", 25),
            (val_add, ":random_no2", ":prosperity"),
          (try_end),
          (val_add, ":random_no2", ":extra_vol"),
         
          (assign, ":volunteer_amount", ":random_no2"),
        (try_end),
       
        (store_random_in_range, ":ram_troop", 0, 7),
        (try_begin),
          (gt, ":center_relation", 30),
          (eq, ":ram_troop", 1),
          (faction_get_slot, ":volunteer_troop", ":center_culture", slot_faction_tier_3_troop),
        (else_try),
          (gt, ":center_relation", 30),
          (eq, ":ram_troop", 2),
          (faction_get_slot, ":volunteer_troop", ":center_culture", slot_faction_tier_2_troop),
          (troop_get_upgrade_troop, ":upgrade_troop_no", ":volunteer_troop", 1),
          (try_begin),
            (le, ":upgrade_troop_no", 0),
            (troop_get_upgrade_troop, ":upgrade_troop_no", ":volunteer_troop", 0),
          (try_end),
          (gt, ":upgrade_troop_no", 0),
          (assign, ":volunteer_troop", ":upgrade_troop_no"),
        (else_try),
          (faction_get_slot, ":volunteer_troop", ":center_culture", slot_faction_tier_2_troop),
        (try_end),
      (try_end),
     
      (party_get_free_companions_capacity, ":free_capacity", "p_main_party"),
      (store_troop_gold, ":gold", "trp_player"),
      (store_character_level, ":troop_level", ":volunteer_troop"), #cost = level * 4 . Common: troop level 23 = 92 peningas, but player save time to upgrade and upgrade cost
      (val_mul, ":troop_level", 4),
      (assign, ":wage", ":troop_level"),
      #   (call_script, "script_cost_per_village_recruit"),  #MOTO variable cost
      #   (store_div, ":gold_capacity", ":gold", reg0),#10 peningas per man MOTO variable cost
      (store_div, ":gold_capacity", ":gold", ":wage"),
      (assign, ":party_capacity", ":free_capacity"),
      (val_min, ":party_capacity", ":gold_capacity"),

      (try_begin),
        (gt, ":party_capacity", 0),
        (val_min, ":volunteer_amount", ":party_capacity"),
      (try_end),
      (assign, reg5, ":volunteer_amount"),
      (assign, reg7, 0),
      (try_begin),
        (gt, ":volunteer_amount", ":gold_capacity"),
        (assign, reg7, 1), #not enough money
      (try_end),
      (try_begin),
        (eq, ":volunteer_amount", 0),
        (str_store_string, s18, "@No one here wants to join your party."),
        #(str_store_string, s19, "@But"),
      (else_try),
        (store_mul, reg6, ":volunteer_amount", ":wage"),
        (assign, "$temp", ":volunteer_amount"), #troop chief
        (assign, "$temp2", ":volunteer_troop"), #troop chief
        (str_store_troop_name_by_count, s3, ":volunteer_troop", ":volunteer_amount"),
        (try_begin),
          (eq, reg5, 1),
          (str_store_string, s18, "@One {s3} is willing to follow you."),
        (else_try),
          (str_store_string, s18, "@{reg5} {s3} are willing to follow you."),
        (try_end),
        #(str_store_string, s19, "@Also"),
        #(set_background_mesh, "mesh_pic_recruits"),
        # mnu_recruit_volunteers ends
      (else_try),
        (str_store_string, s18, "@You need to get the permission of the lord of this place to recruit here."),
        #(str_store_string, s19, "@But"),
        (party_get_slot, ":center_culture", "$current_town", slot_center_culture),
        (faction_get_slot, ":volunteer_troop", ":center_culture", slot_faction_tier_2_troop),
        (assign, ":volunteer_amount", 0),
        (assign, reg7, 0),#
        (assign, reg5, 1),#
        (assign, "$g_block_recruiting", 1),
      (end_try),
     
    ],
    [
      ("continue_not_enough_gold",
        [
          (eq, reg7, 1),
        ],
        "I don't have enough money.",
        [
          (jump_to_menu,"mnu_town"),
      ]),
     
      ("continue",
        [
          (eq, reg7, 0),
          (eq, reg5, 0),
        ], #noone willing to join
        "Continue...",
        [
          (jump_to_menu,"mnu_town"),
      ]),
     
      ("recruit_them",
        [
          (eq, reg7, 0),
          (gt, reg5, 0),
          (eq, "$g_block_recruiting", 0), #vc_submenu_recruits
        ],
        "Recruit them ({reg6} peningas).",
        [
          (assign, ":volunteer_troop", "$temp2"), #troop chief
          (assign, ":volunteer_amount", "$temp"), #troop chief
         
          (party_get_free_companions_capacity, ":free_capacity", "p_main_party"),
          (val_min, ":volunteer_amount", ":free_capacity"),
          (store_troop_gold, ":gold", "trp_player"),
          (store_character_level, ":troop_level", ":volunteer_troop"), #cost = level * 4 . Common: troop level 23 = 92 peningas, but player save time to upgrade and upgrade cost
          (val_mul, ":troop_level", 4),
          (assign, ":recruit_cost", ":troop_level"),
          (store_div, ":gold_capacity", ":gold", ":recruit_cost"),#
          (val_min, ":volunteer_amount", ":gold_capacity"),
          (party_add_members, "p_main_party", ":volunteer_troop", ":volunteer_amount"),
          (store_mul, ":cost", ":volunteer_amount", ":recruit_cost"),
          (troop_remove_gold, "trp_player", ":cost"),
         
          (jump_to_menu,"mnu_town"),
      ]),
     
      ("forget_it",
        [
          (eq, reg7, 0),
          (gt, reg5, 0),
        ],
        "Forget it.",
        [
          (jump_to_menu,"mnu_town"),
      ]),
    ],
  ),

I added some code before
  (try_begin),
        (gt, ":party_capacity", 0),
        (val_min, ":volunteer_amount", ":party_capacity"),
      (try_end),

My code:
    (val_add, ":volunteer_amount", 99),
    (display_message, "@{!}Added 99 recruit. Volunteer amount"),

      (try_begin),
        (gt, ":party_capacity", 0),
        (val_min, ":volunteer_amount", ":party_capacity"),
      (try_end),
After compiling and replacing menus.txt. I launch the game, go to the town Bebbanburh, recruit volunteers. But in the city about 1-14 volunteers.
Test message dont show in game.
I hoped, maybe message written in rgl_log.txt. I turn on edit_mode, but last message in rgl_log.txt is
//Processing Ini File Finished
Loading Music...
Loading Textures...
Finished Loading Textures...
L8 Format is  supported
WARNING: UNABLE TO MAP GAME PRESENTATION CODE:  prsnt_game_escape
WARNING: UNABLE TO MAP GAME SCRIPT CODE:  game_check_party_sees_party
WARNING: UNABLE TO MAP GAME SCRIPT CODE:  game_missile_launch
Loading Module...
Loading item kinds...
Loading dialogs...
Loading mission templates...
Loading party templates...
loading time:  37403
2.028 
Finished All...
Loading tracks
load_map_data complete.
Init_map complete.
init_meta_mission complete.
map mesh built.
get_ideal_sun_color.
get_ideal_fog_color.
1213 parties added.
launch complete.
Entry points for scene 80 : 26 25 0 1 37 36 35 33 32 34 12 10 9 11 24 23 28 27 7 5 4 2 3 39 38 52 59 60 58 51 8 70 18 57 56 55 54 53 17 16 15 14 13
Total entry points for scene 80 : 43
2.028 

Saving options...  OK!

Maybe, I found wrong piece of code(module_game_menus)? Where is the mistake?
 
I finally found this piece of code.

Change number of recruits in town and castle:
open module_presentation.py and find this:
####towns y castles
("vc_submenu_recruits2", 0, 0, #reclutar
  [
    (ti_on_presentation_load,
      [
        ### DELETE OLD VARIABLES
        (assign, "$vc_submenu_recruits_1", 0),
        (assign, "$vc_submenu_recruits_2", 0),
        (assign, "$vc_submenu_recruits_3", 0),
        (assign, "$vc_submenu_recruits_4", 0),
        #(assign, "$vc_submenu_recruits_mercs", 0),
        # JuJu70 - make it more realistic
        (troop_get_slot, ":religion","trp_player", slot_troop_religion),
        (party_get_slot, ":center_culture", "$current_town", slot_center_culture),
        (troop_get_slot, ":player_renown", "trp_player", slot_troop_renown), #renown
        (party_get_slot, ":center_relation", "$current_town", slot_center_player_relation),
        (party_get_slot, ":faith", "$current_town", slot_center_faithratio),
        ###
        (try_begin),
          (this_or_next|party_slot_eq, "$current_town", slot_town_lord, "trp_player"), #chief add for recruit need to permission
          (party_slot_eq, "$current_town", recruit_permission_need, 0), #chief add for recruit need to permission
          (assign, ":block_recruiting", 0),
         
          (store_random_in_range, ":random_no", 0, 9),
          (assign, ":extra_vol", 1),
          ##renown adjustment
          (assign, ":upper_limit", 6),
          (try_begin),
            (ge, ":player_renown", 100),
            (store_sub, ":renown_bonus", ":player_renown", 100),
            (val_div, ":renown_bonus", 100),
            (val_add, ":upper_limit", ":renown_bonus"),
          (try_end),
          (try_begin),
            (party_slot_eq, "$current_town", slot_town_lord, "trp_player"), #player is lord
            (val_add, ":upper_limit", 2),
          (try_end),
          ## religious adjustment
          (try_begin),
            (eq, ":religion", 1),
            (val_mul, ":upper_limit", ":faith"),
            (val_div, ":upper_limit", 100),
            (val_add, ":upper_limit", 1),
          (else_try),
            (eq, ":religion", 2),
            (store_sub, ":p_faith", 100, ":faith"),
            (val_mul, ":upper_limit", ":p_faith"),
            (val_div, ":upper_limit", 100),
            (val_add, ":upper_limit", 1),
          (try_end),
          ## charisma adjustment
          (store_attribute_level, ":charisma", "trp_player", ca_charisma),
          (val_div, ":charisma", 10),
          (val_add, ":upper_limit", ":charisma"),
          (store_skill_level, ":leadership", "skl_leadership", "trp_player"),
          (val_div, ":leadership", 5),
          (val_add, ":upper_limit", ":leadership"),
          ## relation adjustment
          (try_begin),
            (ge, ":center_relation", 20), #chief change to 20
            (store_div, ":rec_bonus", ":center_relation", 20),
            (val_add, ":upper_limit", ":rec_bonus"),
          (else_try),
            (lt, ":center_relation", 0),
            (assign, ":upper_limit", 0),
          (try_end),
         
         
         
         
          # (try_begin),
          # (gt, ":center_relation", 60),
          # (val_add, ":extra_vol", 4),
          # (else_try),
          # (gt, ":center_relation", 30),
          # (val_add, ":extra_vol", 2),
          # (else_try),
          ##                  (gt, ":center_relation", 30),
          # (val_add, ":extra_vol", 0),
          # (try_end),
         
          (try_begin),
            (this_or_next|lt, ":center_relation", 0),
            (le, ":random_no", 1), #40% possibilites nobody want to join
            (assign, ":volunteer_amount", ":extra_vol"), #chief chage from 0 to 1 for frank request
          (else_try),
            (store_random_in_range, ":random_no2", 1, ":upper_limit"), #max 14 men, they are warband (old english werod) with a leader + standarbearer or horned + warriors
            (try_begin),
              (party_slot_eq,"$current_town",slot_party_type, spt_town),
              (party_get_slot, ":prosperity", "$current_town", slot_town_prosperity),
              (val_div, ":prosperity", 25),
              (val_add, ":random_no2", ":prosperity"),
            (try_end),
            (val_add, ":random_no2", ":extra_vol"),
           
            (assign, ":volunteer_amount", ":random_no2"),
          (try_end),

          # Tweak
          (try_begin),
          (gt, ":center_relation", 2),
          (store_div, ":tweak_rel_bonus", ":center_relation", 2),
      (val_add, ":volunteer_amount", ":tweak_rel_bonus"),
        # (display_message, "@{!}Tweak_rel_bonus added and volunteer_amount"),
          (try_end),
         
          (store_random_in_range, ":ram_troop", 0, 7),
          (try_begin),
            (gt, ":center_relation", 30),
            (eq, ":ram_troop", 1),
            (faction_get_slot, ":volunteer_troop", ":center_culture", slot_faction_tier_3_troop),
          (else_try),
            (gt, ":center_relation", 30),
            (eq, ":ram_troop", 2),
            (faction_get_slot, ":volunteer_troop", ":center_culture", slot_faction_tier_2_troop),
            (troop_get_upgrade_troop, ":upgrade_troop_no", ":volunteer_troop", 1),
            (try_begin),
              (le, ":upgrade_troop_no", 0),
              (troop_get_upgrade_troop, ":upgrade_troop_no", ":volunteer_troop", 0),
            (try_end),
            (gt, ":upgrade_troop_no", 0),
            (assign, ":volunteer_troop", ":upgrade_troop_no"),
          (else_try),
            (faction_get_slot, ":volunteer_troop", ":center_culture", slot_faction_tier_2_troop),
          (try_end),
        (try_end),
       
        (party_get_free_companions_capacity, ":free_capacity", "p_main_party"),
        (store_troop_gold, ":gold", "trp_player"),
       
        (store_character_level, ":troop_level", ":volunteer_troop"), #cost = level * 4 . Common: troop level 23 = 92 peningas, but player save time to upgrade and upgrade cost
        (val_mul, ":troop_level", 4),
        (assign, ":wage", ":troop_level"),
        #   (call_script, "script_cost_per_village_recruit"),  #MOTO variable cost
        #   (store_div, ":gold_capacity", ":gold", reg0),#10 peningas per man MOTO variable cost
        (store_div, ":gold_capacity", ":gold", ":wage"),
        (assign, ":party_capacity", ":free_capacity"),
        (val_min, ":party_capacity", ":gold_capacity"),
        (try_begin),
          (gt, ":party_capacity", 0),
          (val_min, ":volunteer_amount", ":party_capacity"),
        (try_end),
        (assign, reg5, ":volunteer_amount"),
        (assign, reg7, 0),
        (try_begin),
          (gt, ":volunteer_amount", ":gold_capacity"),
          (assign, reg7, 1), #not enough money
        (try_end),
        (try_begin),
          (eq, ":volunteer_amount", 0),
          (str_store_string, s18, "@No one here wants to join your party."),
          #(str_store_string, s19, "@But"),
        (else_try),
          (store_mul, reg6, ":volunteer_amount", ":wage"),
          (assign, "$temp", ":volunteer_amount"), #troop chief
          (assign, "$temp2", ":volunteer_troop"), #troop chief
          (str_store_troop_name_by_count, s3, ":volunteer_troop", ":volunteer_amount"),
          (try_begin),
            (eq, reg5, 1),
            (str_store_string, s18, "@One {s3} is willing to follow you."),
          (else_try),
            (str_store_string, s18, "@{reg5} {s3} are willing to follow you."),
          (try_end),
 
Carsak said:
I finally found this piece of code.

when looking at the code always keep in mind there are some unused (trash) left-overs. Native, BW and VC were built upon each other and you may see some code that is not being used any more but wasn't deleted by the devs over the years.

I saw you are using logging to help test your changes. That will be a important tool to help you find the right spots and balance your changes.
 
kalarhan said:
note the tf_XXXX flag used on the companions. like "tf_alto", "tf_female", "tf_bajo"

as usual you should check the header_XXX.py for the file you are changing. For troops, that is header_troops.py

Code:
#body types implemented so far
tf_male              = 0
# tf_female            = 1  already speced
tf_alto              = tf_tall  #2
tf_alta              = tf_tall | tf_female  #3
tf_bajo              = tf_short #4
tf_baja              = tf_short | tf_female  #5
tf_nino              = tf_child #6
tf_nina              = tf_child | tf_female  #7
tf_oso               = tf_fat #8
tf_osa               = tf_fat | tf_female  #9
tf_undead         = 10

Wait... why is there a seperator | in in between some of the tfs, like tf_nina? What function does it do? And can that work in normal MB MS?
 
Sorry to bother here.

Im stucked with game menus
I want to make villages and castles to have some options of the town
village:
1.have mead/lord hall (the 2 in one).
2.Option to have your court moved to there
3.To be able to visit a lady option
4.Garrison troops like a castle/town
5.Change the wait option(only available when the manor is built) to the wait of town/castles

I have been messing with module_game_menus and module_scripts.
but just messed up the menus and somewho manage to have missing the option to leave the village.  :facepalm: :dead: :shock:
 
JurgenJuggernaut said:
Im stucked with game menus
I want to make villages and castles to have some options of the town

as you are new to modding start from the basics (simple stuff). Disable scenic menus and edit the good and old menus, as that has plenty of info from the tutorials in the Forge. Once you finish enabling all your features to that one you can decide if you want to also play with the custom presentation and add stuff to it.
 
I would like to change it so that troops of AI lords who defect changes to the culture of the faction they are defecting to (if it is a different culture)

I'm wondering which of these I should change (or maybe all of them?) and what I should change this line to "slot_troop_original_faction" (check spoiler)

      #Rebellion changes begin:
      (try_begin),
        (eq, ":party_type", spt_kingdom_hero_party),
        (party_stack_get_troop_id, ":leader", ":party_no"),
        (troop_get_slot, ":party_faction",  ":leader", slot_troop_original_faction),
      (try_end),
      #Rebellion changes end
     
      (try_begin),
        (eq, ":party_no", "p_main_party"),
        (try_begin),
          (is_between, "$players_kingdom", npc_kingdoms_begin, npc_kingdoms_end),
          (assign, ":party_faction", "$players_kingdom"),
        (else_try),
          (assign, ":party_faction", "fac_player_supporters_faction"),
        (try_end),
       
      (else_try),
        (eq, ":party_faction", "fac_player_supporters_faction"),
        (is_between, ":party_no", walled_centers_begin, walled_centers_end),
        (party_get_slot, ":town_lord", ":party_no", slot_town_lord),
        (try_begin),
          (gt, ":town_lord", 0),
          (troop_get_slot, ":party_faction", ":town_lord", slot_troop_original_faction),
        (else_try),
          (party_get_slot, ":party_faction", ":party_no", slot_center_original_faction),
        (try_end),
      (try_end),


Alternatively, would it be possible to make it so that AI lords will only defect to factions with the same culture?
 
Huh. I can't actually recall how to 'get' the current faction of a troop or party. There's no slot for it if I remember correctly. Hmmm, I'll try to dredge it up from memory.
 
Back
Top Bottom