SP Native Minimod: Companion Export & Banner Edit (respec companions) updated 4/24

Users who are viewing this thread

Knil

Knight
This minimod allows you to export and import companions just like you can do for your own character and also edit your banner at any time all within the camp menu.
(credit: to rubik for providing the source code I just build the module in python and added the flag edit)

>>NEW v1.113v2<<
>>OLD v1.113<<
>>OLD v1.112<<
>>OLD v1.111<<

INSTALL:   

1. Navigate to "c/program files/mount and blade warband/modules/native.
2. In the native folder backup your Menus.txt file and replace it with the one provided. YOU WILL NEED A BACKUP.
3. Load up the game as usual, now you can go to your camp -> take action menu and change your banner and export/import your characters.
4. After you are done doing this close your game and replace the backup of your menus.txt to put eveything back to normal.
(The reason for this is the outdated module system causes a lot of errors when trying to use it with these recent versions)

HOW TO EDIT EXPORTED DATA (IE. Change the stats of your character/companion):

1. Export your character (done by going to character screen then statistics) or your companion (done going to camp screen then take action).
2. Navigate to "c/<user>/my documents/Mount&Blade Warband Characters" and in this folder you can edit any of the exported character/companions stats with notepad.
3. Then just simply import that character back into the game and your character/companion stats will relfect your changes.
 
bigtoebubby said:
what version is this compatible with? 1.112 just came out a few minutes ago :smile:

Lol did it? Well I tested it for 1.111, but it probably will still work in 1.112 I'm not sure though. I have to wait for steam to update me to test it out.
 
LittleJP said:
Mind telling us what no to change?

I'd rather not have to redo a bunch of my other tweaks again.

This was done in python, I can upload the module_game_menus.py file I edited or you can check out the thread where I found the source code for the export/import.

For the flag edit change go into the module_game_menus.py and change this:
Code:
("action_modify_banner",[(eq, "$cheat_mode", 1)],"Cheat: Modify your banner.",
       [
           (start_presentation, "prsnt_banner_selection"),
           #(start_presentation, "prsnt_custom_banner"),
        ]
       ),

to

Code:
  ("action_modify_banner",[],"Modify your banner.",
       [
           (start_presentation, "prsnt_banner_selection"),
           #(start_presentation, "prsnt_custom_banner"),
        ]
       ),
 
This is really appreciated. I have wanted to be able to do this forever.

Longsword +1 for you, Sir.
 
My game crashes to desktop whenever I try to go to the character screen with this mod on. I'm on version 1.112. Any help?
 
Silvard said:
My game crashes to desktop whenever I try to go to the character screen with this mod on. I'm on version 1.112. Any help?

Yes this does not seem to be working correctly with 1.112, I might have to wait until we get an update module system to get this functioning for the latest patch. I'll see if I can get this working though still with what I have.

And I just got it working for 1.111 :sad:
 
:sad: Is there any way to roll back to 1.111? I really want to use this mod, I could roll back, respec, save and patch. I'm using the steam version.
 
In a comparison with what's different in menus.txt for 1.112 and the one for your character export, I've found what has txt has been added. Do you really need to edit quick_strings.txt and scripts.txt for this? or are those two files changed for the banner repicker?

edit: sweet!!! ive found a temp way for it to work in 1.112 as well. it's all in menus.txt but i moved things around. will post in a sec

WARNING: This text change is not ready-playable as you won't be able to enter towns. You can use it temporarily to export/import your companions as necessary but be sure to restore your menus.txt file to ithe original once you're done.

Change these values for menus.txt
First Add 2 to the number at the top of this file. So if it's 217, change it to 219

Search for menu_camp_action
Add 1 to the last number in this short line. So if it is 6, change it to 7

Search for mno_action_rename_kingdom
Paste this right before it. Be mindful of spacing so that it's even like the other strings in the same line
mno_action_export_import  0  Export/import_NPCs.  1 2060 1 864691128455135260  . 

It should look something like this:
menu_camp_action 0 Choose_an_action: none 0 7
mno_camp_recruit_prisoners  10 105 1 1 2270 1 1224979098644774912 2106 2 1224979098644774912 24 32 2 1224979098644774912 144115188075856187 4 0 32 2 144115188075856187 0 2133 2 144115188075856185 0 2133 2 144115188075856186 0 2133 2 144115188075856187 0 3 0  Recruit_some_of_your_prisoners_to_your_party.  1 2060 1 864691128455135262  .  mno_action_read_book  0  Select_a_book_to_read.  1 2060 1 864691128455135264  .  mno_action_export_import  0  Export/import_NPCs.  1 2060 1 864691128455135260  .  mno_action_rename_kingdom  1 31 2 144115188075856576 1  Rename_your_kingdom.  1 900 1 1513209474796486683  .  mno_action_modify_banner  1 31 2 144115188075856163 1  {!}Cheat:_Modify_your_banner.  1 900 1 1513209474796486684  .  mno_action_retire  0  Retire_from_adventuring.  1 2060 1 864691128455135266  .  mno_camp_action_4  0  Back_to_camp_menu.  1 2060 1 864691128455135255  .
Blue is the first change we did
Green is what you need to add
Red: Replace this with "0" to unlock modifying banner (already scripted in the game via cheat menu, but now freely accessible)
Orange: Delete this if you so desire :smile:


Finally paste this code above the line for menu_camp_recruit_prisoners
Code:
menu_export_import_npcs 256 Please_choose_an_NPC,_then_press_key_C_to_view_and_export/import_this_character.^^You_choose_{reg0?{s0}:none}. none 2 2133 2 72057594037927936 144115188075856169 2322 2 0 144115188075856169 10
 mno_export_import_back  0  Go_back  3 2133 2 144115188075856169 360287970189639680 47 1 144115188075856169 2060 1 864691128455135259  .  mno_export_import_npc1  2 2120 3 1224979098644774912 360287970189639874 0 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 0 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc2  2 2120 3 1224979098644774912 360287970189639874 1 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 1 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc3  2 2120 3 1224979098644774912 360287970189639874 2 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 2 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc4  2 2120 3 1224979098644774912 360287970189639874 3 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 3 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc5  2 2120 3 1224979098644774912 360287970189639874 4 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 4 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc6  2 2120 3 1224979098644774912 360287970189639874 5 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 5 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc7  2 2120 3 1224979098644774912 360287970189639874 6 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 6 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc8  2 2120 3 1224979098644774912 360287970189639874 7 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 7 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_next  0  Next_page  1 2060 1 864691128455135261  . 
menu_export_import_npcs_2 256 Please_choose_an_NPC,_then_press_key_C_to_view_and_export/import_this_character.^^You_choose_{reg0?{s0}:none}. none 2 2133 2 72057594037927936 144115188075856169 2322 2 0 144115188075856169 9
 mno_export_import_prev  0  Previous_page  1 2060 1 864691128455135260  .  mno_export_import_npc9  2 2120 3 1224979098644774912 360287970189639874 8 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 8 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc10  2 2120 3 1224979098644774912 360287970189639874 9 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 9 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc11  2 2120 3 1224979098644774912 360287970189639874 10 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 10 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc12  2 2120 3 1224979098644774912 360287970189639874 11 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 11 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc13  2 2120 3 1224979098644774912 360287970189639874 12 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 12 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc14  2 2120 3 1224979098644774912 360287970189639874 13 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 13 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc15  2 2120 3 1224979098644774912 360287970189639874 14 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 14 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc16  2 2120 3 1224979098644774912 360287970189639874 15 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 15 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .
 
Okay, I got it working without any crashes so far, I think it's stable on 1.112:

Here's what I did, I ran a diff between 1.112 vanilla menus.txt and Knil's modded menus.txt, as inspired by bigtoebubby. There are a lot of differences, I wish I had a vanilla 1.111 to compare with but alas, I do not. Anyway, if you want it to work just replace

Code:
menu_camp_action 0 Choose_an_action: none 0 6
 mno_camp_recruit_prisoners  10 105 1 1 2270 1 1224979098644774912 2106 2 1224979098644774912 24 32 2 1224979098644774912 144115188075856187 4 0 32 2 144115188075856187 0 2133 2 144115188075856185 0 2133 2 144115188075856186 0 2133 2 144115188075856187 0 3 0  Recruit_some_of_your_prisoners_to_your_party.  1 2060 1 864691128455135260  .  mno_action_read_book  0  Select_a_book_to_read.  1 2060 1 864691128455135262  .  mno_action_rename_kingdom  1 31 2 144115188075856576 1  Rename_your_kingdom.  1 900 1 1513209474796486683  .  mno_action_modify_banner  1 31 2 144115188075856163 1  {!}Cheat:_Modify_your_banner.  1 900 1 1513209474796486684  .  mno_action_retire  0  Retire_from_adventuring.  1 2060 1 864691128455135264  .  mno_camp_action_4  0  Back_to_camp_menu.  1 2060 1 864691128455135255  . 
menu_camp_recruit_prisoners 0 You_offer_your_prisoners_freedom_if_they_agree_to_join_you_as_soldiers._{s18} none 57 2133 2 1224979098644774912 0 1651 2 1224979098644774913 648518346341351424 6 3 1224979098644774914 0 1224979098644774913 1656 3 1224979098644774915 648518346341351424 1224979098644774914 2147485155 1 1224979098644774915 2105 2 1224979098644774912 1 3 0 4 0 31 2 1224979098644774912 0 2060 1 864691128455135261 5 0 31 2 144115188075856185 0 2270 1 144115188075856187 2136 3 1224979098644774916 0 100 2170 3 1224979098644774917 1369094286720630791 360287970189639680 2121 3 1224979098644774918 15 1224979098644774917 2107 2 1224979098644774918 4 4 0 2147483678 2 1224979098644774916 1224979098644774918 2133 2 144115188075856185 -7 5 0 2133 2 1224979098644774912 0 1651 2 1224979098644774913 648518346341351424 6 3 1224979098644774914 0 1224979098644774913 1656 3 1224979098644774915 648518346341351424 1224979098644774914 2147485155 1 1224979098644774915 2105 2 1224979098644774912 1 3 0 2136 3 1224979098644774919 0 1224979098644774912 6 3 1224979098644774914 0 1224979098644774913 1656 3 1224979098644774915 648518346341351424 1224979098644774914 2147485155 1 1224979098644774915 2106 2 1224979098644774919 1 2147483678 2 1224979098644774919 0 2133 2 1224979098644774913 0 2133 2 144115188075856185 1224979098644774915 1657 3 144115188075856186 648518346341351424 1224979098644774914 3 0 3 0 4 0 32 2 144115188075856185 0 1633 2 1224979098644774920 648518346341351424 2110 2 144115188075856186 1224979098644774920 2133 2 72057594037927937 144115188075856186 32 2 144115188075856186 0 4 0 32 2 144115188075856186 1 2133 2 72057594037927938 1 5 0 2133 2 72057594037927938 0 3 0 2324 3 1 144115188075856185 144115188075856186 2320 2 18 1585267068834414990 5 0 2320 2 18 1585267068834414991 3 0 3 0 3
 mno_camp_recruit_prisoners_accept  1 32 2 144115188075856185 0  Take_them.  5 1216 2 144115188075856185 144115188075856186 1610 3 648518346341351424 144115188075856185 144115188075856186 2122 3 1224979098644774912 -3 144115188075856186 1 2 936748722493063430 1224979098644774912 2060 1 864691128455135255  .  mno_camp_recruit_prisoners_reject  1 32 2 144115188075856185 0  Reject_them.  3 2060 1 864691128455135255 2133 2 144115188075856185 0 2133 2 144115188075856186 0  .  mno_continue  1 2147483680 2 144115188075856185 0  Go_back.  1 2060 1 864691128455135255  . 
menu_camp_no_prisoners 0 You_have_no_prisoners_to_recruit_from. none 0 1

with:

Code:
menu_camp_action 0 Choose_an_action: none 0 7
 mno_camp_recruit_prisoners  10 105 1 1 2270 1 1224979098644774912 2106 2 1224979098644774912 24 32 2 1224979098644774912 144115188075856187 4 0 32 2 144115188075856187 0 2133 2 144115188075856185 0 2133 2 144115188075856186 0 2133 2 144115188075856187 0 3 0  Recruit_some_of_your_prisoners_to_your_party.  1 2060 1 864691128455135262  .  mno_action_read_book  0  Select_a_book_to_read.  1 2060 1 864691128455135264  .  mno_action_export_import  0  Export/import_NPCs.  1 2060 1 864691128455135260  .  mno_action_rename_kingdom  1 31 2 144115188075856576 1  Rename_your_kingdom.  1 900 1 1513209474796486683  .  mno_action_modify_banner  0  Modify_your_banner.  1 900 1 1513209474796486684  .  mno_action_retire  0  Retire_from_adventuring.  1 2060 1 864691128455135266  .  mno_camp_action_4  0  Back_to_camp_menu.  1 2060 1 864691128455135255  . 
menu_export_import_npcs 256 Please_choose_an_NPC,_then_press_key_C_to_view_and_export/import_this_character.^^You_choose_{reg0?{s0}:none}. none 2 2133 2 72057594037927936 144115188075856169 2322 2 0 144115188075856169 10
 mno_export_import_back  0  Go_back  3 2133 2 144115188075856169 360287970189639680 47 1 144115188075856169 2060 1 864691128455135259  .  mno_export_import_npc1  2 2120 3 1224979098644774912 360287970189639874 0 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 0 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc2  2 2120 3 1224979098644774912 360287970189639874 1 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 1 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc3  2 2120 3 1224979098644774912 360287970189639874 2 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 2 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc4  2 2120 3 1224979098644774912 360287970189639874 3 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 3 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc5  2 2120 3 1224979098644774912 360287970189639874 4 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 4 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc6  2 2120 3 1224979098644774912 360287970189639874 5 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 5 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc7  2 2120 3 1224979098644774912 360287970189639874 6 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 6 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc8  2 2120 3 1224979098644774912 360287970189639874 7 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 7 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_next  0  Next_page  1 2060 1 864691128455135261  . 
menu_export_import_npcs_2 256 Please_choose_an_NPC,_then_press_key_C_to_view_and_export/import_this_character.^^You_choose_{reg0?{s0}:none}. none 2 2133 2 72057594037927936 144115188075856169 2322 2 0 144115188075856169 9
 mno_export_import_prev  0  Previous_page  1 2060 1 864691128455135260  .  mno_export_import_npc9  2 2120 3 1224979098644774912 360287970189639874 8 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 8 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc10  2 2120 3 1224979098644774912 360287970189639874 9 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 9 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc11  2 2120 3 1224979098644774912 360287970189639874 10 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 10 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc12  2 2120 3 1224979098644774912 360287970189639874 11 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 11 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc13  2 2120 3 1224979098644774912 360287970189639874 12 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 12 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc14  2 2120 3 1224979098644774912 360287970189639874 13 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 13 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc15  2 2120 3 1224979098644774912 360287970189639874 14 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 14 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  .  mno_export_import_npc16  2 2120 3 1224979098644774912 360287970189639874 15 2322 2 0 1224979098644774912  {s0}  3 2120 3 1224979098644774912 360287970189639874 15 2133 2 144115188075856169 1224979098644774912 47 1 144115188075856169  . 
menu_camp_recruit_prisoners 0 You_offer_your_prisoners_freedom_if_they_agree_to_join_you_as_soldiers._{s18} none 57 2133 2 1224979098644774912 0 1651 2 1224979098644774913 648518346341351424 6 3 1224979098644774914 0 1224979098644774913 1656 3 1224979098644774915 648518346341351424 1224979098644774914 2147485155 1 1224979098644774915 2105 2 1224979098644774912 1 3 0 4 0 31 2 1224979098644774912 0 2060 1 864691128455135263 5 0 31 2 144115188075856185 0 2270 1 144115188075856187 2136 3 1224979098644774916 0 100 2170 3 1224979098644774917 1369094286720630791 360287970189639680 2121 3 1224979098644774918 15 1224979098644774917 2107 2 1224979098644774918 4 4 0 2147483678 2 1224979098644774916 1224979098644774918 2133 2 144115188075856185 -7 5 0 2133 2 1224979098644774912 0 1651 2 1224979098644774913 648518346341351424 6 3 1224979098644774914 0 1224979098644774913 1656 3 1224979098644774915 648518346341351424 1224979098644774914 2147485155 1 1224979098644774915 2105 2 1224979098644774912 1 3 0 2136 3 1224979098644774919 0 1224979098644774912 6 3 1224979098644774914 0 1224979098644774913 1656 3 1224979098644774915 648518346341351424 1224979098644774914 2147485155 1 1224979098644774915 2106 2 1224979098644774919 1 2147483678 2 1224979098644774919 0 2133 2 1224979098644774913 0 2133 2 144115188075856185 1224979098644774915 1657 3 144115188075856186 648518346341351424 1224979098644774914 3 0 3 0 4 0 32 2 144115188075856185 0 1633 2 1224979098644774920 648518346341351424 2110 2 144115188075856186 1224979098644774920 2133 2 72057594037927937 144115188075856186 32 2 144115188075856186 0 4 0 32 2 144115188075856186 1 2133 2 72057594037927938 1 5 0 2133 2 72057594037927938 0 3 0 2324 3 1 144115188075856185 144115188075856186 2320 2 18 1585267068834414991 5 0 2320 2 18 1585267068834414992 3 0 3 0 3
 mno_camp_recruit_prisoners_accept  1 32 2 144115188075856185 0  Take_them.  5 1216 2 144115188075856185 144115188075856186 1610 3 648518346341351424 144115188075856185 144115188075856186 2122 3 1224979098644774912 -3 144115188075856186 1 2 936748722493063429 1224979098644774912 2060 1 864691128455135255  .  mno_camp_recruit_prisoners_reject  1 32 2 144115188075856185 0  Reject_them.  3 2060 1 864691128455135255 2133 2 144115188075856185 0 2133 2 144115188075856186 0  .  mno_continue  1 2147483680 2 144115188075856185 0  Go_back.  1 2060 1 864691128455135255  . 
menu_camp_no_prisoners 0 You_have_no_prisoners_to_recruit_from. none 0 1

Surely there's a more elegant way but this works pretty well, you can export/import all the companions in the game (whether you have them or not) as well as change your banner, and all changes are reflected right away. Also 1.112 changes the location where exports/imports are saved to/read from so take note of that.
 
Nice work guys! I can't stand editing in notepad, so I stick to python :razz:

I'll give it a try now~
 
Back
Top Bottom