搜索结果: *

  • 用户:bob123
  • 按日期排序
  1. -- Official Unofficial 'Ask Questions About Warband Singleplayer Here' Thread --

    How to mod fief income when it comes to prosperity. I'd like 'very poor' villages to give half the rent 'very rich' villages give
  2. Dev Blog 20/09/18

    a bit off topic and maybe too late anyway, but would you guys consider making some characters a little skinnier and less like burly thugs.

  3. Modding Q&A [For Quick Questions and Answers]

    Hey

    I'm having some trouble using modmerger

    [list type=decimal]
    [*]I make a new folder with native module_system files
    [*]Extract modmerger files into folder
    [*]Unhash "mod1", under active mods in modmerger_options
    [*]Add version 1171 in modmerger_options
    [*]Install modmerger
    [*]Build module, works fine
    [*]Extract Freelancer modmerger into folder
    [*]Add "freelancer", under "mod1", in active mods in modmerger_options
    [*]Build module, get loads of errors
    [/list]

    build_module errors
    D:\Warband workshop\Freelancer testing\util_scripts.py:84: UserWarning: Error injecting code into: party_give_xp_and_gold
      warnings.warn("Error injecting code into: %s" % (cur_directive[1]) )
    Injecton 4 failed: global name 'GameMenuOptionWrapper' is not defined
    Traceback (most recent call last):
      File "process_init.py", line 2, in <module>
        from process_operations import *
      File "D:\Warband workshop\Freelancer testing\process_operations.py", line 22, in <module>
        from module_game_menus import *
      File "D:\Warband workshop\Freelancer testing\module_game_menus.py", line 14518, in <module>
        modmerge(var_set)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 297, in modmerge
        modmerge__(modcomp_name,var_dict)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 239, in modmerge__
        _temp.__dict__[mergefn_name](var_dict)
      File "D:\Warband workshop\Freelancer testing\freelancer_game_menus.py", line 446, in modmerge
        modmerge_game_menus(orig_game_menus)
      File "D:\Warband workshop\Freelancer testing\freelancer_game_menus.py", line 407, in modmerge_game_menus
        menuID = GameMenuOptionWrapper(menulist).GetId()
    NameError: global name 'GameMenuOptionWrapper' is not defined
    Traceback (most recent call last):
      File "process_global_variables.py", line 6, in <module>
        from module_dialogs import *
      File "D:\Warband workshop\Freelancer testing\module_dialogs.py", line 26293, in <module>
        modmerge(var_set)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 297, in modmerge
        modmerge__(modcomp_name,var_dict)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 239, in modmerge__
        _temp.__dict__[mergefn_name](var_dict)
      File "D:\Warband workshop\Freelancer testing\freelancer_dialogs.py", line 197, in modmerge
        pos = FindDialog_i(orig_dialogs, anyone|plyr, "lord_talk", "lord_leave_prison")
    NameError: global name 'FindDialog_i' is not defined
    Exporting strings...
    Exporting skills...
    Exporting tracks...
    Exporting animations...
    Exporting meshes...
    Exporting sounds...
    Exporting skins...
    D:\Warband workshop\Freelancer testing\util_scripts.py:84: UserWarning: Error injecting code into: party_give_xp_and_gold
      warnings.warn("Error injecting code into: %s" % (cur_directive[1]) )
    Injecton 4 failed: global name 'GameMenuOptionWrapper' is not defined
    Traceback (most recent call last):
      File "process_map_icons.py", line 6, in <module>
        from process_operations import *
      File "D:\Warband workshop\Freelancer testing\process_operations.py", line 22, in <module>
        from module_game_menus import *
      File "D:\Warband workshop\Freelancer testing\module_game_menus.py", line 14518, in <module>
        modmerge(var_set)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 297, in modmerge
        modmerge__(modcomp_name,var_dict)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 239, in modmerge__
        _temp.__dict__[mergefn_name](var_dict)
      File "D:\Warband workshop\Freelancer testing\freelancer_game_menus.py", line 446, in modmerge
        modmerge_game_menus(orig_game_menus)
      File "D:\Warband workshop\Freelancer testing\freelancer_game_menus.py", line 407, in modmerge_game_menus
        menuID = GameMenuOptionWrapper(menulist).GetId()
    NameError: global name 'GameMenuOptionWrapper' is not defined
    Exporting faction data...
    Exporting item data...
    D:\Warband workshop\Freelancer testing\util_scripts.py:84: UserWarning: Error injecting code into: party_give_xp_and_gold
      warnings.warn("Error injecting code into: %s" % (cur_directive[1]) )
    Injecton 4 failed: global name 'GameMenuOptionWrapper' is not defined
    Traceback (most recent call last):
      File "process_items.py", line 66, in <module>
        from process_operations import *
      File "D:\Warband workshop\Freelancer testing\process_operations.py", line 22, in <module>
        from module_game_menus import *
      File "D:\Warband workshop\Freelancer testing\module_game_menus.py", line 14518, in <module>
        modmerge(var_set)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 297, in modmerge
        modmerge__(modcomp_name,var_dict)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 239, in modmerge__
        _temp.__dict__[mergefn_name](var_dict)
      File "D:\Warband workshop\Freelancer testing\freelancer_game_menus.py", line 446, in modmerge
        modmerge_game_menus(orig_game_menus)
      File "D:\Warband workshop\Freelancer testing\freelancer_game_menus.py", line 407, in modmerge_game_menus
        menuID = GameMenuOptionWrapper(menulist).GetId()
    NameError: global name 'GameMenuOptionWrapper' is not defined
    Exporting scene data...
    D:\Warband workshop\Freelancer testing\util_scripts.py:84: UserWarning: Error injecting code into: party_give_xp_and_gold
      warnings.warn("Error injecting code into: %s" % (cur_directive[1]) )
    Injecton 4 failed: global name 'GameMenuOptionWrapper' is not defined
    Traceback (most recent call last):
      File "process_scenes.py", line 15, in <module>
        from process_operations import *
      File "D:\Warband workshop\Freelancer testing\process_operations.py", line 22, in <module>
        from module_game_menus import *
      File "D:\Warband workshop\Freelancer testing\module_game_menus.py", line 14518, in <module>
        modmerge(var_set)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 297, in modmerge
        modmerge__(modcomp_name,var_dict)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 239, in modmerge__
        _temp.__dict__[mergefn_name](var_dict)
      File "D:\Warband workshop\Freelancer testing\freelancer_game_menus.py", line 446, in modmerge
        modmerge_game_menus(orig_game_menus)
      File "D:\Warband workshop\Freelancer testing\freelancer_game_menus.py", line 407, in modmerge_game_menus
        menuID = GameMenuOptionWrapper(menulist).GetId()
    NameError: global name 'GameMenuOptionWrapper' is not defined
    Exporting troops data
    Exporting particle data...
    D:\Warband workshop\Freelancer testing\util_scripts.py:84: UserWarning: Error injecting code into: party_give_xp_and_gold
      warnings.warn("Error injecting code into: %s" % (cur_directive[1]) )
    Injecton 4 failed: global name 'GameMenuOptionWrapper' is not defined
    Traceback (most recent call last):
      File "process_scene_props.py", line 7, in <module>
        from process_operations import *
      File "D:\Warband workshop\Freelancer testing\process_operations.py", line 22, in <module>
        from module_game_menus import *
      File "D:\Warband workshop\Freelancer testing\module_game_menus.py", line 14518, in <module>
        modmerge(var_set)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 297, in modmerge
        modmerge__(modcomp_name,var_dict)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 239, in modmerge__
        _temp.__dict__[mergefn_name](var_dict)
      File "D:\Warband workshop\Freelancer testing\freelancer_game_menus.py", line 446, in modmerge
        modmerge_game_menus(orig_game_menus)
      File "D:\Warband workshop\Freelancer testing\freelancer_game_menus.py", line 407, in modmerge_game_menus
        menuID = GameMenuOptionWrapper(menulist).GetId()
    NameError: global name 'GameMenuOptionWrapper' is not defined
    D:\Warband workshop\Freelancer testing\util_scripts.py:84: UserWarning: Error injecting code into: party_give_xp_and_gold
      warnings.warn("Error injecting code into: %s" % (cur_directive[1]) )
    Injecton 4 failed: global name 'GameMenuOptionWrapper' is not defined
    Traceback (most recent call last):
      File "process_tableau_materials.py", line 8, in <module>
        from process_operations import *
      File "D:\Warband workshop\Freelancer testing\process_operations.py", line 22, in <module>
        from module_game_menus import *
      File "D:\Warband workshop\Freelancer testing\module_game_menus.py", line 14518, in <module>
        modmerge(var_set)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 297, in modmerge
        modmerge__(modcomp_name,var_dict)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 239, in modmerge__
        _temp.__dict__[mergefn_name](var_dict)
      File "D:\Warband workshop\Freelancer testing\freelancer_game_menus.py", line 446, in modmerge
        modmerge_game_menus(orig_game_menus)
      File "D:\Warband workshop\Freelancer testing\freelancer_game_menus.py", line 407, in modmerge_game_menus
        menuID = GameMenuOptionWrapper(menulist).GetId()
    NameError: global name 'GameMenuOptionWrapper' is not defined
    D:\Warband workshop\Freelancer testing\util_scripts.py:84: UserWarning: Error injecting code into: party_give_xp_and_gold
      warnings.warn("Error injecting code into: %s" % (cur_directive[1]) )
    Injecton 4 failed: global name 'GameMenuOptionWrapper' is not defined
    Traceback (most recent call last):
      File "process_presentations.py", line 8, in <module>
        from process_operations import *
      File "D:\Warband workshop\Freelancer testing\process_operations.py", line 22, in <module>
        from module_game_menus import *
      File "D:\Warband workshop\Freelancer testing\module_game_menus.py", line 14518, in <module>
        modmerge(var_set)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 297, in modmerge
        modmerge__(modcomp_name,var_dict)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 239, in modmerge__
        _temp.__dict__[mergefn_name](var_dict)
      File "D:\Warband workshop\Freelancer testing\freelancer_game_menus.py", line 446, in modmerge
        modmerge_game_menus(orig_game_menus)
      File "D:\Warband workshop\Freelancer testing\freelancer_game_menus.py", line 407, in modmerge_game_menus
        menuID = GameMenuOptionWrapper(menulist).GetId()
    NameError: global name 'GameMenuOptionWrapper' is not defined
    Exporting party_template data...
    Injecton 4 failed: global name 'GameMenuOptionWrapper' is not defined
    Traceback (most recent call last):
      File "process_parties.py", line 4, in <module>
        from module_game_menus import *
      File "D:\Warband workshop\Freelancer testing\module_game_menus.py", line 14518, in <module>
        modmerge(var_set)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 297, in modmerge
        modmerge__(modcomp_name,var_dict)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 239, in modmerge__
        _temp.__dict__[mergefn_name](var_dict)
      File "D:\Warband workshop\Freelancer testing\freelancer_game_menus.py", line 446, in modmerge
        modmerge_game_menus(orig_game_menus)
      File "D:\Warband workshop\Freelancer testing\freelancer_game_menus.py", line 407, in modmerge_game_menus
        menuID = GameMenuOptionWrapper(menulist).GetId()
    NameError: global name 'GameMenuOptionWrapper' is not defined
    Exporting quest data...
    Exporting info_page data...
    D:\Warband workshop\Freelancer testing\util_scripts.py:84: UserWarning: Error injecting code into: party_give_xp_and_gold
      warnings.warn("Error injecting code into: %s" % (cur_directive[1]) )
    Injecton 4 failed: global name 'GameMenuOptionWrapper' is not defined
    Traceback (most recent call last):
      File "process_scripts.py", line 7, in <module>
        from process_operations import *
      File "D:\Warband workshop\Freelancer testing\process_operations.py", line 22, in <module>
        from module_game_menus import *
      File "D:\Warband workshop\Freelancer testing\module_game_menus.py", line 14518, in <module>
        modmerge(var_set)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 297, in modmerge
        modmerge__(modcomp_name,var_dict)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 239, in modmerge__
        _temp.__dict__[mergefn_name](var_dict)
      File "D:\Warband workshop\Freelancer testing\freelancer_game_menus.py", line 446, in modmerge
        modmerge_game_menus(orig_game_menus)
      File "D:\Warband workshop\Freelancer testing\freelancer_game_menus.py", line 407, in modmerge_game_menus
        menuID = GameMenuOptionWrapper(menulist).GetId()
    NameError: global name 'GameMenuOptionWrapper' is not defined
    D:\Warband workshop\Freelancer testing\util_scripts.py:84: UserWarning: Error injecting code into: party_give_xp_and_gold
      warnings.warn("Error injecting code into: %s" % (cur_directive[1]) )
    Injecton 4 failed: global name 'GameMenuOptionWrapper' is not defined
    Traceback (most recent call last):
      File "process_mission_tmps.py", line 8, in <module>
        from process_operations import *
      File "D:\Warband workshop\Freelancer testing\process_operations.py", line 22, in <module>
        from module_game_menus import *
      File "D:\Warband workshop\Freelancer testing\module_game_menus.py", line 14518, in <module>
        modmerge(var_set)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 297, in modmerge
        modmerge__(modcomp_name,var_dict)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 239, in modmerge__
        _temp.__dict__[mergefn_name](var_dict)
      File "D:\Warband workshop\Freelancer testing\freelancer_game_menus.py", line 446, in modmerge
        modmerge_game_menus(orig_game_menus)
      File "D:\Warband workshop\Freelancer testing\freelancer_game_menus.py", line 407, in modmerge_game_menus
        menuID = GameMenuOptionWrapper(menulist).GetId()
    NameError: global name 'GameMenuOptionWrapper' is not defined
    Injecton 4 failed: global name 'GameMenuOptionWrapper' is not defined
    Traceback (most recent call last):
      File "process_game_menus.py", line 5, in <module>
        from module_game_menus import *
      File "D:\Warband workshop\Freelancer testing\module_game_menus.py", line 14518, in <module>
        modmerge(var_set)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 297, in modmerge
        modmerge__(modcomp_name,var_dict)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 239, in modmerge__
        _temp.__dict__[mergefn_name](var_dict)
      File "D:\Warband workshop\Freelancer testing\freelancer_game_menus.py", line 446, in modmerge
        modmerge_game_menus(orig_game_menus)
      File "D:\Warband workshop\Freelancer testing\freelancer_game_menus.py", line 407, in modmerge_game_menus
        menuID = GameMenuOptionWrapper(menulist).GetId()
    NameError: global name 'GameMenuOptionWrapper' is not defined
    D:\Warband workshop\Freelancer testing\util_scripts.py:84: UserWarning: Error injecting code into: party_give_xp_and_gold
      warnings.warn("Error injecting code into: %s" % (cur_directive[1]) )
    Injecton 4 failed: global name 'GameMenuOptionWrapper' is not defined
    Traceback (most recent call last):
      File "process_simple_triggers.py", line 5, in <module>
        from process_operations import *
      File "D:\Warband workshop\Freelancer testing\process_operations.py", line 22, in <module>
        from module_game_menus import *
      File "D:\Warband workshop\Freelancer testing\module_game_menus.py", line 14518, in <module>
        modmerge(var_set)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 297, in modmerge
        modmerge__(modcomp_name,var_dict)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 239, in modmerge__
        _temp.__dict__[mergefn_name](var_dict)
      File "D:\Warband workshop\Freelancer testing\freelancer_game_menus.py", line 446, in modmerge
        modmerge_game_menus(orig_game_menus)
      File "D:\Warband workshop\Freelancer testing\freelancer_game_menus.py", line 407, in modmerge_game_menus
        menuID = GameMenuOptionWrapper(menulist).GetId()
    NameError: global name 'GameMenuOptionWrapper' is not defined
    Traceback (most recent call last):
      File "process_dialogs.py", line 6, in <module>
        from module_dialogs import *
      File "D:\Warband workshop\Freelancer testing\module_dialogs.py", line 26293, in <module>
        modmerge(var_set)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 297, in modmerge
        modmerge__(modcomp_name,var_dict)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 239, in modmerge__
        _temp.__dict__[mergefn_name](var_dict)
      File "D:\Warband workshop\Freelancer testing\freelancer_dialogs.py", line 197, in modmerge
        pos = FindDialog_i(orig_dialogs, anyone|plyr, "lord_talk", "lord_leave_prison")
    NameError: global name 'FindDialog_i' is not defined
    D:\Warband workshop\Freelancer testing\util_scripts.py:84: UserWarning: Error injecting code into: party_give_xp_and_gold
      warnings.warn("Error injecting code into: %s" % (cur_directive[1]) )
    Injecton 4 failed: global name 'GameMenuOptionWrapper' is not defined
    Traceback (most recent call last):
      File "process_global_variables_unused.py", line 3, in <module>
        from process_operations import *
      File "D:\Warband workshop\Freelancer testing\process_operations.py", line 22, in <module>
        from module_game_menus import *
      File "D:\Warband workshop\Freelancer testing\module_game_menus.py", line 14518, in <module>
        modmerge(var_set)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 297, in modmerge
        modmerge__(modcomp_name,var_dict)
      File "D:\Warband workshop\Freelancer testing\modmerger.py", line 239, in modmerge__
        _temp.__dict__[mergefn_name](var_dict)
      File "D:\Warband workshop\Freelancer testing\freelancer_game_menus.py", line 446, in modmerge
        modmerge_game_menus(orig_game_menus)
      File "D:\Warband workshop\Freelancer testing\freelancer_game_menus.py", line 407, in modmerge_game_menus
        menuID = GameMenuOptionWrapper(menulist).GetId()
    NameError: global name 'GameMenuOptionWrapper' is not defined
    Exporting postfx_params...

    ______________________________

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



    modmerger_options
    # master options for modmerger framework
    # by sphere

    # -2 : print error only
    # -1 : print errors and warnings
    # 0 : print errors, warnings and info
    # 1 : print all
    DEBUG_MODE = -1

    # fill this in yourself with the module system you are using, so that some mods can make smarter decisions on how to merge with your source.
    module_sys_info = {
            "engine" : "warband", # only "warband" or "vanilla" for now. (unused)
            "version": 1171,      # version number * 1000
    }

    options={

        "process_scripts_show_script_name": 0,    # for debugging. checked by modified process_scripts.py to show name of script being processed   
    }

    # List of active mod code names.
    # This is also the default order during bulk processing
    # The specific mod source files must be in the format "{modname}_????.py". 
    # for example, the mod content corresponding to "items", for mod "fc" should be in the file "fc_items.py"

    mods_active = [
    # insert the active mod names here
        "mod1",
        "freelancer",
    #    "mymod",
    #    "anothermod",
    ]


    # Alternate process order for certain modules components
    # Only need to be defined if order/combination is different from mods_active
    # Each element in is is a tuple with the following elements
    #
    # 1) mod component name (less the "module_" prefix), e.g. for "module_items", it will be "items"
    # 2) list of mod names in the order to be processed.  The mod names should be
    #      the ones used in mods_active, and will only be processed if they are in
    #      mods_active.
    #

    mods_process_order=[
    #    ("{component_name}", [{list of mod names}]),

    ]


    # check and fill in defaults for certain required variables
    try:
        module_sys_info["version"]
    except KeyError:
        # assume version to be latest version that modmerger was tested on
        module_sys_info["version"] = 1171

    Am i missing something obvious? I also tried with "mod1", still hashtagged in modmerger_options, same result.

    I used these for help https://forums.taleworlds.com/index.php?topic=346821.0
                                  https://forums.taleworlds.com/index.php?topic=320834.0

    There is some code that needs adding/changing, but according to the first link, i'm not even at that stage yet.
  4. AI lords not reinforcing properly

    NPC99 说:
    bob123 说:
    ...... the faction leaders became trapped in small parties. The problem affects every faction leader (and many lords), i used the Tzar's 7 as the lowest example. I don't think it's attrition since even if they stay at a fortress or town for a long time it doesn't increase. All 3 of my different characters over 200 days have the reinforce problem, so it's probably not corruption. I'll see how editing the save file goes, but i'm really hoping for a permanent fix. 

    Permanent fix.

    add to the bottom of module_scripts.py:

    ("reset_kings_type",#unbugs kingdom_lord's slot_party_type
    [
      (try_for_parties, ":cur_party"),
          (party_is_active, ":cur_party"),
          (party_stack_get_troop_id, ":leader_troop", ":cur_party",0),
          (this_or_next|eq,":leader_troop","trp_kingdom_1_lord"),
          (this_or_next|eq,":leader_troop","trp_kingdom_2_lord"),
          (this_or_next|eq,":leader_troop","trp_kingdom_3_lord"),
          (this_or_next|eq,":leader_troop","trp_kingdom_4_lord"),
          (eq,":leader_troop","trp_kingdom_5_lord"),
          (party_set_slot, ":cur_party", slot_party_type, spt_kingdom_hero_party),
      (try_end),
    ]),

    Then in module_triggers.py change this trigger:

    (0, 0,  9, [], [ #was 4*24
      (call_script, "script_ms_fill_ai_officer_troops"),

      ]),

    to:

    (0, 0,  9, [], [ #was 4*24
                      (call_script, "script_reset_kings_type"),
                      (call_script, "script_ms_fill_ai_officer_troops"),

      ]),

    For anyone interested, this kind person solved my problem. Some lords get affected also so i expanded his module_script code.

    ("reset_kings_type",#unbugs kingdom_lord's slot_party_type     
    [
      (try_for_parties, ":cur_party"),
          (party_is_active, ":cur_party"),
          (party_stack_get_troop_id, ":leader_troop", ":cur_party",0),
          (this_or_next|eq,":leader_troop","trp_kingdom_1_lord"),
          (this_or_next|eq,":leader_troop","trp_kingdom_2_lord"),
          (this_or_next|eq,":leader_troop","trp_kingdom_3_lord"),
          (this_or_next|eq,":leader_troop","trp_kingdom_4_lord"),
          (this_or_next|eq,":leader_troop","trp_kingdom_5_lord"),  
      (this_or_next|eq,":leader_troop","trp_knight_1_1"),
      (this_or_next|eq,":leader_troop","trp_knight_1_1"),
      (this_or_next|eq,":leader_troop","trp_knight_1_2"),
      (this_or_next|eq,":leader_troop","trp_knight_1_3"),
      (this_or_next|eq,":leader_troop","trp_knight_1_4"),
      (this_or_next|eq,":leader_troop","trp_knight_1_5"),
      (this_or_next|eq,":leader_troop","trp_knight_1_6"),
      (this_or_next|eq,":leader_troop","trp_knight_1_7"),
      (this_or_next|eq,":leader_troop","trp_knight_1_8"),
      (this_or_next|eq,":leader_troop","trp_knight_1_9"),
      (this_or_next|eq,":leader_troop","trp_knight_1_10"),
      (this_or_next|eq,":leader_troop","trp_knight_1_11"),
      (this_or_next|eq,":leader_troop","trp_knight_1_12"),
      (this_or_next|eq,":leader_troop","trp_knight_1_13"),
      (this_or_next|eq,":leader_troop","trp_knight_1_14"),
      (this_or_next|eq,":leader_troop","trp_knight_1_15"),
      (this_or_next|eq,":leader_troop","trp_knight_1_16"),
      (this_or_next|eq,":leader_troop","trp_knight_1_17"),
      (this_or_next|eq,":leader_troop","trp_knight_1_18"),
      (this_or_next|eq,":leader_troop","trp_knight_1_19"),
      (this_or_next|eq,":leader_troop","trp_knight_1_20"),
      (this_or_next|eq,":leader_troop","trp_knight_2_1"),
      (this_or_next|eq,":leader_troop","trp_knight_2_2"),
      (this_or_next|eq,":leader_troop","trp_knight_2_3"),
      (this_or_next|eq,":leader_troop","trp_knight_2_4"),
      (this_or_next|eq,":leader_troop","trp_knight_2_5"),
      (this_or_next|eq,":leader_troop","trp_knight_2_6"),
      (this_or_next|eq,":leader_troop","trp_knight_2_7"),
      (this_or_next|eq,":leader_troop","trp_knight_2_8"),
      (this_or_next|eq,":leader_troop","trp_knight_2_9"),
      (this_or_next|eq,":leader_troop","trp_knight_2_10"),
      (this_or_next|eq,":leader_troop","trp_knight_2_11"),
      (this_or_next|eq,":leader_troop","trp_knight_2_12"),
      (this_or_next|eq,":leader_troop","trp_knight_2_13"),
      (this_or_next|eq,":leader_troop","trp_knight_2_14"),
      (this_or_next|eq,":leader_troop","trp_knight_2_15"),
      (this_or_next|eq,":leader_troop","trp_knight_2_16"),
      (this_or_next|eq,":leader_troop","trp_knight_2_17"),
      (this_or_next|eq,":leader_troop","trp_knight_2_18"),
      (this_or_next|eq,":leader_troop","trp_knight_2_19"),
      (this_or_next|eq,":leader_troop","trp_knight_2_20"),
      (this_or_next|eq,":leader_troop","trp_knight_3_1"),
      (this_or_next|eq,":leader_troop","trp_knight_3_2"),
      (this_or_next|eq,":leader_troop","trp_knight_3_3"),
      (this_or_next|eq,":leader_troop","trp_knight_3_4"),
      (this_or_next|eq,":leader_troop","trp_knight_3_5"),
      (this_or_next|eq,":leader_troop","trp_knight_3_6"),
      (this_or_next|eq,":leader_troop","trp_knight_3_7"),
      (this_or_next|eq,":leader_troop","trp_knight_3_8"),
      (this_or_next|eq,":leader_troop","trp_knight_3_9"),
      (this_or_next|eq,":leader_troop","trp_knight_3_10"),
      (this_or_next|eq,":leader_troop","trp_knight_3_11"),
      (this_or_next|eq,":leader_troop","trp_knight_3_12"),
      (this_or_next|eq,":leader_troop","trp_knight_3_13"),
      (this_or_next|eq,":leader_troop","trp_knight_3_14"),
      (this_or_next|eq,":leader_troop","trp_knight_3_15"),
      (this_or_next|eq,":leader_troop","trp_knight_3_16"),
      (this_or_next|eq,":leader_troop","trp_knight_3_17"),
      (this_or_next|eq,":leader_troop","trp_knight_3_18"),
      (this_or_next|eq,":leader_troop","trp_knight_3_19"),
      (this_or_next|eq,":leader_troop","trp_knight_3_20"),
      (this_or_next|eq,":leader_troop","trp_knight_4_1"),
      (this_or_next|eq,":leader_troop","trp_knight_4_2"),
      (this_or_next|eq,":leader_troop","trp_knight_4_3"),
      (this_or_next|eq,":leader_troop","trp_knight_4_4"),
      (this_or_next|eq,":leader_troop","trp_knight_4_5"),
      (this_or_next|eq,":leader_troop","trp_knight_4_6"),
      (this_or_next|eq,":leader_troop","trp_knight_4_7"),
      (this_or_next|eq,":leader_troop","trp_knight_4_8"),
      (this_or_next|eq,":leader_troop","trp_knight_4_9"),
      (this_or_next|eq,":leader_troop","trp_knight_4_10"),
      (this_or_next|eq,":leader_troop","trp_knight_4_11"),
      (this_or_next|eq,":leader_troop","trp_knight_4_12"),
      (this_or_next|eq,":leader_troop","trp_knight_4_13"),
      (this_or_next|eq,":leader_troop","trp_knight_4_14"),
      (this_or_next|eq,":leader_troop","trp_knight_4_15"),
      (this_or_next|eq,":leader_troop","trp_knight_4_16"),
      (this_or_next|eq,":leader_troop","trp_knight_4_17"),
      (this_or_next|eq,":leader_troop","trp_knight_4_18"),
      (this_or_next|eq,":leader_troop","trp_knight_4_19"),
      (this_or_next|eq,":leader_troop","trp_knight_4_20"),
      (this_or_next|eq,":leader_troop","trp_knight_5_1"),
      (this_or_next|eq,":leader_troop","trp_knight_5_2"),
      (this_or_next|eq,":leader_troop","trp_knight_5_3"),
      (this_or_next|eq,":leader_troop","trp_knight_5_4"),
      (this_or_next|eq,":leader_troop","trp_knight_5_5"),
      (this_or_next|eq,":leader_troop","trp_knight_5_6"),
      (this_or_next|eq,":leader_troop","trp_knight_5_7"),
      (this_or_next|eq,":leader_troop","trp_knight_5_8"),
      (this_or_next|eq,":leader_troop","trp_knight_5_9"),
      (this_or_next|eq,":leader_troop","trp_knight_5_10"),
      (this_or_next|eq,":leader_troop","trp_knight_5_11"),
      (this_or_next|eq,":leader_troop","trp_knight_5_12"),
      (this_or_next|eq,":leader_troop","trp_knight_5_13"),
      (this_or_next|eq,":leader_troop","trp_knight_5_14"),
      (this_or_next|eq,":leader_troop","trp_knight_5_15"),
      (this_or_next|eq,":leader_troop","trp_knight_5_16"),
      (this_or_next|eq,":leader_troop","trp_knight_5_17"),
      (this_or_next|eq,":leader_troop","trp_knight_5_18"),
      (this_or_next|eq,":leader_troop","trp_knight_5_19"),
      (eq,":leader_troop","trp_knight_5_20"),
      (party_set_slot, ":cur_party", slot_party_type, spt_kingdom_hero_party),
      (try_end),
    ]),
    There is probably a more concise way to write it.
  5. With Fire & Sword: Questions and Answers

    Thank you so much, it didn't take long to see it in action. I added knight_1_1 to knight_5_20 because some vassals were affected also. There are a few other bugs i'd like fixed but they are minor compared to this, so i'll have an effort at them myself and ask later if i can't do it.
  6. With Fire & Sword: Questions and Answers

    Sorry i wasn't very clear. I tried your fix on one of my longer saves with the reinforce problem. The cell count change i just used on a new game, before the faction leaders became trapped in small parties. The problem affects every faction leader (and many lords), i used the Tzar's 7 as the lowest example. I don't think it's attrition since even if they stay at a fortress or town for a long time it doesn't increase. All 3 of my different characters over 200 days have the reinforce problem, so it's probably not corruption. I'll see how editing the save file goes, but i'm really hoping for a permanent fix. 

    Thanks for correction, it does only affect players.
  7. With Fire & Sword: Questions and Answers

    Thank you for your suggestion.

    I tried 0 and 1, still no success unfortunately. I'm assuming they go to a center every 3 days, since they reinforce troops in just a few seconds when inside.

    I noticed something strange about AI party sizes
    - Changing the limit doesn't increase it, AI recruitment is determined by how many cells
    - I increased the cells of fac leaders from 8 to 18, noticed they all had around 520-550 where as the Tzar had only 470. I would expect the opposite to be true since he is wearing a Tzar hat that gives him +50. Also considering faction leaders all end up with small party problems, maybe in some way party size limit is actually having a negative affect.

    I could be completely wrong, but i'm open to anything that might solve this.

  8. With Fire & Sword: Questions and Answers

    Modding question - AI reinforce problem

    After around 200 days in my games, many AI lords stop reinforcing parties properly. They stop at varying numbers well below their potential, like the Tzar who is stuck with only 7 in his party. I've had a long look in module system with no success. If anyone has a suggestion please share.
  9. AI lords not reinforcing properly

    In all of my games after around 200 days, several lords and every faction leader stop properly reinforcing their party. For example the Khan will stop recruiting with no more than 70 men, and the Tzar will stop at just 7. I've also had a long look through module system.
  10. Modding Q&A [For Quick Questions and Answers]

    kalarhan 说:
    bob123 说:
    WFAS: Giving vassals fortress fiefs also gives them the village with it. Unlike towns which have their villages broken up.

    How can i fix it for fortresses?

    Start from what you know and follow the code from there.

    Example: use the menu text (something similar to "give fief to lord") you see in the game to locate the code inside module_game_menus.py. Then check the menu option and what process is used (like calling a script similar to "give_center_to_lord". Then open that script(s) and study the code for towns, villages and castles. Finally include your changes for your new ruleset

    Remember to verify what happens when the AI gives centers to vassals, or you could end up with empty villages.
    Thanks for the tips. I found the cause in Module_scripts

    插入代码块:
    	(try_begin),
            (party_slot_eq, ":center_no", slot_party_type, spt_castle),
            (try_for_range, ":cur_village", villages_begin, villages_end),
    			(party_slot_eq, ":cur_village", slot_village_bound_center, ":center_no"),
    			(call_script, "script_give_center_to_lord", ":cur_village", ":lord_troop_id", 0),
            (try_end),
        (try_end),

    After hash-tagging, it seems to work fine, i verified AI lords too.

  11. Modding Q&A [For Quick Questions and Answers]

    WFAS: Giving vassals fortress fiefs also gives them the village with it. Unlike towns which have their villages broken up.

    How can i fix it for fortresses?

  12. Disable lords leaving factions?

    litdum 说:
    If you havent found the solution yet. This may be helpful:  https://forums.taleworlds.com/index.php/topic,6575.msg8523468.html#msg8523468

    Thank you, so simple yet clever. I will test it out.
  13. Disable lords leaving factions?

    Thank you so much for replying. I had a look, unfortunately the only instance of auto-indictment is in the script above which i invalidated. Although there is an instance of auto-defection. And plenty of instances of indictment and defection by themselves, so i guess i'll start hash-tagging them.

    I'd like to keep relationship modifiers the same wherever possible. So i will try that afterwards.
  14. Disable lords leaving factions?

    This is unresolved, I had another look at Module_system, and i have no idea what is causing this. Can someone please give a suggestion
  15. Disable lords leaving factions?

    I used this piece of script, it has been helpful, although it did not stop lords from changing factions. Eventually after several hundred days a few lords start appearing in other factions. Usually leaving a faction with only a few castles. I'm pretty sure there was no notification of treason or...
  16. Disable Lord defecting

    Caba`drin 说:
    If any are interested, to actually disable lord defections in game, the best way is to use the module system source:
    Caba`drin 说:
    To start disabling defection/indictment you want to be in module_simple_triggers.
    Find this comment:  #Auto-indictment or defection


    To disable both auto-defection and auto-indictment completely, immediately after the first
    (try_begin),

    add:
    (eq, 1, 0),


    To only disable auto-indictment, add a hash mark # at the beginning of the line:
    (call_script, "script_indict_lord_for_treason", ":troop_no", ":faction"),


    To only disable auto-defection, before the line:
    (neq, ":who_moves_first", 0),

    add:
    (eq, 1, 0),

    Sorry to dig up an old thread. I used this script (disabled both), it did work to a point. Eventually in my games after about 400-600 days, a few Lords start appearing in other factions. I'm pretty sure there isn't any notification either. It usually happens to a faction with only 1 or 2 castles left, they lose some of their lords after a while. Is there something in the script causing this? how could i stop it.
  17. Mount & Blade II: Bannerlord Old Discussion Thread

    If you type in Va.egir it comes out Volkswagen. And Swa.dia, Skoda.
    Kher.git, Kia.
    Sarra.nid, Suzuki.
    Rho.dok, Renault.
    No.rd, Ford.

    Excellent April first prank  :grin:



    edit: Swa.dian not swadia
  18. Mount & Blade II: Bannerlord Developer Blog 11 - Some Context

    Sorry if this seems pedantic. To me some of those characters seem too big and broad compared to their head size, and some seem to have huge muscles.


    It looks amazing though, you guys have made great progress, the new game play features and graphics are excellent.
  19. Mount&Blade II: Bannerlord Developer Blog 4 - Flexible Entries

    i dont care about graphics, just awesome addicting gameplay!!  :grin: you guys rock!


    (my dream: 2 player campaign)
后退
顶部 底部