So I created a single screen character creation kit. Like the one from floris, but more native compatible.
Downloads:
http://www.nexusmods.com/mountandblade/mods/5939/?
Pictures are also there, as well as a proof of concept video.
Description:
It's a single screen character creation. Rather than going through the list of different questions, all of them are listed on one page. The same page includes a stat block that shows you how your current choices will affect your stats, as well as a biography giving your background story. Like Floris, but not as nice looking. Items are based on your starting region and the choice for your adult life. They are relatively limited.
Planned Features:
Due to my excessivly short attention span I'm not going to plan any further features. However, adding different starting equipment/stat changes should be possible simply by looking at what I've already done, so go nuts. If there is enough demand for an explanation on how to add simple features like that I may post it but only then.
Known Issues:
As of the last update (8/21/2016) none! Let me know if you find some though and I'll see what I can do about fixing them.
Installation:
1) Set up the module system and python. I used the 1.166 MS, so I'd recomend using that or higher for saftey's sake.
2) Download and install the modmerger framework: https://forums.taleworlds.com/index.php/topic,128890.0.html
3) Put all of the mcc_* files from the archive into whatever folder your module system is in.
4) Declare the mod in modmerger_options, like so:
mods_active = [
# insert the active mod names here
"mcc",
5) Compile. You may have to compile twice. If you get a bunch of unassigned variable or illegal identifier errors the first time, compile again. Sometimes it needs a warm up run.
If you want to add it manually, without the modmerger framework, do this:
1) All of the files except for the game_menus file are independent. You should be able to take the code from them, copy it into the respective module_* files, and have it work properly. Except for anything that says "modmerge" or something similar. This should all be at the bottom of the files, so stop before that when you copy and paste.
2) For the game_menus, its a little different. Look in the spoilers. Anything in blue should be added in, and anything in red should be commented out. Or deleted, but I prefer commenting things out for later use. This will go in module_game_menus.
Credit:
I would like to thank Windyplains for allowing me to modify his code from Floris.
Permissions:
This is an OSP. You don't have to ask my permission to use it in your mod, but please credit myself and Windyplains, and send me a link to the mod you've included it in! I like to see who I've helped out
This can be added to an existing mod if, and only if you have the source code. That is the module system. This does not work with .txt files.
That should be everything. Let me know if you have any questions.
Downloads:
http://www.nexusmods.com/mountandblade/mods/5939/?
Pictures are also there, as well as a proof of concept video.
Description:
It's a single screen character creation. Rather than going through the list of different questions, all of them are listed on one page. The same page includes a stat block that shows you how your current choices will affect your stats, as well as a biography giving your background story. Like Floris, but not as nice looking. Items are based on your starting region and the choice for your adult life. They are relatively limited.
Planned Features:
Due to my excessivly short attention span I'm not going to plan any further features. However, adding different starting equipment/stat changes should be possible simply by looking at what I've already done, so go nuts. If there is enough demand for an explanation on how to add simple features like that I may post it but only then.
Known Issues:
As of the last update (8/21/2016) none! Let me know if you find some though and I'll see what I can do about fixing them.
Installation:
1) Set up the module system and python. I used the 1.166 MS, so I'd recomend using that or higher for saftey's sake.
2) Download and install the modmerger framework: https://forums.taleworlds.com/index.php/topic,128890.0.html
3) Put all of the mcc_* files from the archive into whatever folder your module system is in.
4) Declare the mod in modmerger_options, like so:
mods_active = [
# insert the active mod names here
"mcc",
5) Compile. You may have to compile twice. If you get a bunch of unassigned variable or illegal identifier errors the first time, compile again. Sometimes it needs a warm up run.
If you want to add it manually, without the modmerger framework, do this:
1) All of the files except for the game_menus file are independent. You should be able to take the code from them, copy it into the respective module_* files, and have it work properly. Except for anything that says "modmerge" or something similar. This should all be at the bottom of the files, so stop before that when you copy and paste.
2) For the game_menus, its a little different. Look in the spoilers. Anything in blue should be added in, and anything in red should be commented out. Or deleted, but I prefer commenting things out for later use. This will go in module_game_menus.
("start_game_0",menu_text_color(0xFF000000)|mnf_disable_all_keys,
"Welcome, adventurer, to Mount and Blade: Warband. Before beginning the game you must create your character. Remember that in the traditional medieval society depicted in the game, war and politics are usually dominated by male members of the nobility. That does not however mean that you should not choose to play a female character, or one who is not of noble birth. Male nobles may have a somewhat easier start, but women and commoners can attain all of the same goals -- and in fact may have a much more interesting if more challenging early game.",
"none",
[],
[
("continue",[],"Continue...",
[(start_presentation, "prsnt_mcc_character_creation"),
]
),
("continue",[],"Continue...",
[(jump_to_menu, "mnu_start_game_1"),
]
),
("go_back",[],"Go back",
[
(change_screen_quit),
]),
]
),
"Welcome, adventurer, to Mount and Blade: Warband. Before beginning the game you must create your character. Remember that in the traditional medieval society depicted in the game, war and politics are usually dominated by male members of the nobility. That does not however mean that you should not choose to play a female character, or one who is not of noble birth. Male nobles may have a somewhat easier start, but women and commoners can attain all of the same goals -- and in fact may have a much more interesting if more challenging early game.",
"none",
[],
[
("continue",[],"Continue...",
[(start_presentation, "prsnt_mcc_character_creation"),
]
),
("continue",[],"Continue...",
[(jump_to_menu, "mnu_start_game_1"),
]
),
("go_back",[],"Go back",
[
(change_screen_quit),
]),
]
),
("start_phase_2",mnf_disable_all_keys, #start_phase_2_5
"{!}{s16}",
"none",
[
(str_store_party_name, s1, "$g_starting_town"),
(str_store_string, s16, "$g_journey_string"),
],
[
("continue",[], "Continue...",
[
(jump_to_menu, "mnu_start_phase_3"),
]),
]
),
("start_phase_2",mnf_disable_all_keys,
"You hear about Calradia, a land torn between rival kingdoms battling each other for supremacy,\
a haven for knights and mercenaries, cutthroats and adventurers, all willing to risk their lives in pursuit of fortune, power, or glory...\
In this land which holds great dangers and even greater opportunities, you believe you may leave your past behind and start a new life.\
You feel that finally, you hold the key of your destiny in your hands, free to choose as you will,\
and that whatever course you take, great adventures will await you. Drawn by the stories you hear about Calradia and its kingdoms, you...",
"none",
[],
[
("town_1",[(eq, "$current_startup_quest_phase", 0),],"join a caravan to Praven, in the Kingdom of Swadia.",
[
(assign, "$current_town", "p_town_6"),
(assign, "$g_starting_town", "$current_town"),
(assign, "$g_journey_string", "str_journey_to_praven"),
(jump_to_menu, "mnu_start_phase_2_5"),
# (party_relocate_near_party, "p_main_party", "$g_starting_town", 2),
# (change_screen_return),
]),
("town_2",[(eq, "$current_startup_quest_phase", 0),],"join a caravan to Reyvadin, in the Kingdom of the Vaegirs.",
[
(assign, "$current_town", "p_town_8"),
(assign, "$g_starting_town", "$current_town"),
(assign, "$g_journey_string", "str_journey_to_reyvadin"),
(jump_to_menu, "mnu_start_phase_2_5"),
# (party_relocate_near_party, "p_main_party", "$g_starting_town", 2),
# (change_screen_return),
]),
("town_3",[(eq, "$current_startup_quest_phase", 0),],"join a caravan to Tulga, in the Khergit Khanate.",
[
(assign, "$current_town", "p_town_10"),
(assign, "$g_starting_town", "$current_town"),
(assign, "$g_journey_string", "str_journey_to_tulga"),
(jump_to_menu, "mnu_start_phase_2_5"),
# (party_relocate_near_party, "p_main_party", "$g_starting_town", 2),
# (change_screen_return),
]),
("town_4",[(eq, "$current_startup_quest_phase", 0),],"take a ship to Sargoth, in the Kingdom of the Nords.",
[
(assign, "$current_town", "p_town_1"),
(assign, "$g_starting_town", "$current_town"),
(assign, "$g_journey_string", "str_journey_to_sargoth"),
(jump_to_menu, "mnu_start_phase_2_5"),
# (party_relocate_near_party, "p_main_party", "$g_starting_town", 2),
# (change_screen_return),
]),
("town_5",[(eq, "$current_startup_quest_phase", 0),],"take a ship to Jelkala, in the Kingdom of the Rhodoks.",
[
(assign, "$current_town", "p_town_5"),
(assign, "$g_starting_town", "$current_town"),
(assign, "$g_journey_string", "str_journey_to_jelkala"),
(jump_to_menu, "mnu_start_phase_2_5"),
# (party_relocate_near_party, "p_main_party", "$g_starting_town", 2),
# (change_screen_return),
]),
("town_6",[(eq, "$current_startup_quest_phase", 0),],"join a caravan to Shariz, in the Sarranid Sultanate.",
[
(assign, "$current_town", "p_town_19"),
(assign, "$g_starting_town", "$current_town"),
(assign, "$g_journey_string", "str_journey_to_shariz"),
(jump_to_menu, "mnu_start_phase_2_5"),
# (party_relocate_near_party, "p_main_party", "$g_starting_town", 2),
# (change_screen_return),
]),
"{!}{s16}",
"none",
[
(str_store_party_name, s1, "$g_starting_town"),
(str_store_string, s16, "$g_journey_string"),
],
[
("continue",[], "Continue...",
[
(jump_to_menu, "mnu_start_phase_3"),
]),
]
),
("start_phase_2",mnf_disable_all_keys,
"You hear about Calradia, a land torn between rival kingdoms battling each other for supremacy,\
a haven for knights and mercenaries, cutthroats and adventurers, all willing to risk their lives in pursuit of fortune, power, or glory...\
In this land which holds great dangers and even greater opportunities, you believe you may leave your past behind and start a new life.\
You feel that finally, you hold the key of your destiny in your hands, free to choose as you will,\
and that whatever course you take, great adventures will await you. Drawn by the stories you hear about Calradia and its kingdoms, you...",
"none",
[],
[
("town_1",[(eq, "$current_startup_quest_phase", 0),],"join a caravan to Praven, in the Kingdom of Swadia.",
[
(assign, "$current_town", "p_town_6"),
(assign, "$g_starting_town", "$current_town"),
(assign, "$g_journey_string", "str_journey_to_praven"),
(jump_to_menu, "mnu_start_phase_2_5"),
# (party_relocate_near_party, "p_main_party", "$g_starting_town", 2),
# (change_screen_return),
]),
("town_2",[(eq, "$current_startup_quest_phase", 0),],"join a caravan to Reyvadin, in the Kingdom of the Vaegirs.",
[
(assign, "$current_town", "p_town_8"),
(assign, "$g_starting_town", "$current_town"),
(assign, "$g_journey_string", "str_journey_to_reyvadin"),
(jump_to_menu, "mnu_start_phase_2_5"),
# (party_relocate_near_party, "p_main_party", "$g_starting_town", 2),
# (change_screen_return),
]),
("town_3",[(eq, "$current_startup_quest_phase", 0),],"join a caravan to Tulga, in the Khergit Khanate.",
[
(assign, "$current_town", "p_town_10"),
(assign, "$g_starting_town", "$current_town"),
(assign, "$g_journey_string", "str_journey_to_tulga"),
(jump_to_menu, "mnu_start_phase_2_5"),
# (party_relocate_near_party, "p_main_party", "$g_starting_town", 2),
# (change_screen_return),
]),
("town_4",[(eq, "$current_startup_quest_phase", 0),],"take a ship to Sargoth, in the Kingdom of the Nords.",
[
(assign, "$current_town", "p_town_1"),
(assign, "$g_starting_town", "$current_town"),
(assign, "$g_journey_string", "str_journey_to_sargoth"),
(jump_to_menu, "mnu_start_phase_2_5"),
# (party_relocate_near_party, "p_main_party", "$g_starting_town", 2),
# (change_screen_return),
]),
("town_5",[(eq, "$current_startup_quest_phase", 0),],"take a ship to Jelkala, in the Kingdom of the Rhodoks.",
[
(assign, "$current_town", "p_town_5"),
(assign, "$g_starting_town", "$current_town"),
(assign, "$g_journey_string", "str_journey_to_jelkala"),
(jump_to_menu, "mnu_start_phase_2_5"),
# (party_relocate_near_party, "p_main_party", "$g_starting_town", 2),
# (change_screen_return),
]),
("town_6",[(eq, "$current_startup_quest_phase", 0),],"join a caravan to Shariz, in the Sarranid Sultanate.",
[
(assign, "$current_town", "p_town_19"),
(assign, "$g_starting_town", "$current_town"),
(assign, "$g_journey_string", "str_journey_to_shariz"),
(jump_to_menu, "mnu_start_phase_2_5"),
# (party_relocate_near_party, "p_main_party", "$g_starting_town", 2),
# (change_screen_return),
]),
Credit:
I would like to thank Windyplains for allowing me to modify his code from Floris.
Permissions:
This is an OSP. You don't have to ask my permission to use it in your mod, but please credit myself and Windyplains, and send me a link to the mod you've included it in! I like to see who I've helped out
This can be added to an existing mod if, and only if you have the source code. That is the module system. This does not work with .txt files.
That should be everything. Let me know if you have any questions.