This is an alternative way to create a new game, with less clicks and randomizeable option.
ScreenShot :
Here you are, the code :
on module_presentations.py
EDIT :
add main_party constants to module_constants.py
ScreenShot :
Here you are, the code :
Code:
# Dunde's Background
nationality_init = "str_story"
parent_init = "str_rhodok"
childhood_init = "str_parent_priest"
job_init = "str_childhood_acolyte"
reason_init = "str_job_preacher"
story_nationality_init = "str_story_all"
story_parent_init = "str_story_rhodok"
story_childhood_init = "str_story_parent_priest"
story_job_init = "str_story_childhood_acolyte"
story_reason_init = "str_story_job_preacher"
player = "trp_player"
main_party = "p_main_party"
Code:
#This needs to be the first window!!!
(
"start_game_1",menu_text_color(0xFF000000)|mnf_disable_all_keys,
"Welcome, adventurer, to Mount&Blade. Before you can start playing the game you must create a character.",
"none",
[(try_begin),
(neq, "$creation_canceled", 999),
(call_script, "script_randomize_background", 0),
(start_presentation, "prsnt_player_background"),
(try_end),],
[("start",[],"Create Character",[(start_presentation, "prsnt_player_background"),]),
("quit",[],"Cancel",[(change_screen_quit),]),]),
on module_presentations.py
Code:
("player_background", 0, mesh_load_window,
[(ti_on_presentation_load,
[(presentation_set_duration, 999999),
(set_fixed_point_multiplier, 1000),
# Init Values
(str_clear, s11),(str_clear, s12),(str_clear, s13),(str_clear, s14),(str_clear, s15),(str_clear, s16),(str_clear, s17),
(store_mul, reg11, "$character_gender", 100),
(store_mul, reg12, "$character_nationality", 100),
(store_mul, reg13, "$background_parent", 100),
(store_mul, reg14, "$background_childhood", 100),
(store_mul, reg15, "$background_job", 100),
(store_mul, reg16, "$background_reason", 100),
# Create Objects
(create_text_overlay, "$g_presentation_obj_1", "str_gender", tf_left_align),
(create_text_overlay, "$g_presentation_obj_2", "str_nationality", tf_left_align),
(create_text_overlay, "$g_presentation_obj_3", "str_parent", tf_left_align),
(create_text_overlay, "$g_presentation_obj_4", "str_childhood", tf_left_align),
(create_text_overlay, "$g_presentation_obj_5", "str_jobs", tf_left_align),
(create_text_overlay, "$g_presentation_obj_6", "str_reason", tf_left_align),
(create_text_overlay, "$g_presentation_obj_7", "str_story", tf_double_space|tf_scrollable),
(create_text_overlay, "$g_presentation_obj_11", "str_long_string", tf_left_align),
(create_text_overlay, "$g_presentation_obj_12", "str_long_string", tf_left_align),
(create_text_overlay, "$g_presentation_obj_13", "str_long_string", tf_left_align),
(create_text_overlay, "$g_presentation_obj_14", "str_long_string", tf_left_align),
(create_text_overlay, "$g_presentation_obj_15", "str_long_string", tf_left_align),
(create_text_overlay, "$g_presentation_obj_16", "str_long_string", tf_left_align),
(create_text_overlay, "$g_presentation_obj_17", "str_background_label_1", tf_center_justify),
(create_text_overlay, "$g_presentation_obj_18", "str_background_label_2", tf_left_align),
(create_slider_overlay, "$g_presentation_obj_21", 0, 100), # Gender : Male/Female
(create_slider_overlay, "$g_presentation_obj_22", 100, 500), # Nationality : Swadian, Vaegir, Kherghit, Nord, Rhodhok
(create_slider_overlay, "$g_presentation_obj_23", 100, 700), # Parent : Noble, Merchant, Guard, Forester, Nomad, Thief, Priest
(create_slider_overlay, "$g_presentation_obj_24", 100, 900), # Childhood : Page, Apprentice, Stockboy, Urchin, Nomad, Mummer, Cortier, Noble, Acolyte
(create_slider_overlay, "$g_presentation_obj_25", 100, 900), # Job : bravo, merch, squire/lady, traubador, student, peddler, craftsman, poacher, preacher
(create_slider_overlay, "$g_presentation_obj_26", 100, 600), # Reason : revenge, death, wanderlust, disown, greed
(create_game_button_overlay, "$g_presentation_obj_31", "str_cancel", tf_center_justify),
(create_game_button_overlay, "$g_presentation_obj_32", "str_continue", tf_center_justify),
(create_game_button_overlay, "$g_presentation_obj_33", "str_random", tf_center_justify),
# Reposition Objects
(position_set_y, pos1, 25), (position_set_x, pos3, 120), (position_set_y, pos3, 35),
(position_set_x, pos1, 750), (overlay_set_position, "$g_presentation_obj_31" , pos1), (overlay_set_size, "$g_presentation_obj_31", pos3),
(position_set_x, pos1, 900), (overlay_set_position, "$g_presentation_obj_32", pos1), (overlay_set_size, "$g_presentation_obj_32", pos3),
(position_set_x, pos1, 600), (overlay_set_position, "$g_presentation_obj_33", pos1), (overlay_set_size, "$g_presentation_obj_33", pos3),
(position_set_x, pos1, 500), (position_set_y, pos1, 650), (position_set_x, pos3, 2000), (position_set_y, pos3, 2000),
(overlay_set_position, "$g_presentation_obj_17", pos1), (overlay_set_size, "$g_presentation_obj_17", pos3),
(position_set_x, pos1, 50), (position_set_x, pos3, 1000), (position_set_y, pos3, 1000),
(position_set_y, pos1, 550), (overlay_set_position, "$g_presentation_obj_1", pos1), (overlay_set_size, "$g_presentation_obj_1", pos3),
(position_set_y, pos1, 550-1*40), (overlay_set_position, "$g_presentation_obj_2", pos1), (overlay_set_size, "$g_presentation_obj_2", pos3),
(position_set_y, pos1, 550-2*40), (overlay_set_position, "$g_presentation_obj_3", pos1), (overlay_set_size, "$g_presentation_obj_3", pos3),
(position_set_y, pos1, 550-3*40), (overlay_set_position, "$g_presentation_obj_4", pos1), (overlay_set_size, "$g_presentation_obj_4", pos3),
(position_set_y, pos1, 550-4*40), (overlay_set_position, "$g_presentation_obj_5", pos1), (overlay_set_size, "$g_presentation_obj_5", pos3),
(position_set_y, pos1, 550-5*40), (overlay_set_position, "$g_presentation_obj_6", pos1), (overlay_set_size, "$g_presentation_obj_6", pos3),
(position_set_x, pos1, 500), (position_set_y, pos1, 550),
(overlay_set_position, "$g_presentation_obj_18", pos1), (overlay_set_size, "$g_presentation_obj_18", pos3),
(position_set_x, pos1, 150), (position_set_x, pos3, 1000), (position_set_y, pos3, 1000),
(position_set_y, pos1, 550), (overlay_set_position, "$g_presentation_obj_11", pos1), (overlay_set_size, "$g_presentation_obj_11", pos3),
(position_set_y, pos1, 550-1*40), (overlay_set_position, "$g_presentation_obj_12", pos1), (overlay_set_size, "$g_presentation_obj_12", pos3),
(position_set_y, pos1, 550-2*40), (overlay_set_position, "$g_presentation_obj_13", pos1), (overlay_set_size, "$g_presentation_obj_13", pos3),
(position_set_y, pos1, 550-3*40), (overlay_set_position, "$g_presentation_obj_14", pos1), (overlay_set_size, "$g_presentation_obj_14", pos3),
(position_set_y, pos1, 550-4*40), (overlay_set_position, "$g_presentation_obj_15", pos1), (overlay_set_size, "$g_presentation_obj_15", pos3),
(position_set_y, pos1, 550-5*40), (overlay_set_position, "$g_presentation_obj_16", pos1), (overlay_set_size, "$g_presentation_obj_16", pos3),
(position_set_x, pos1, 300), (position_set_x, pos3, 1000), (position_set_y, pos3, 200),
(position_set_y, pos1, 545), (overlay_set_position, "$g_presentation_obj_21", pos1), (overlay_set_size, "$g_presentation_obj_21", pos3),
(position_set_y, pos1, 545-1*40), (overlay_set_position, "$g_presentation_obj_22", pos1), (overlay_set_size, "$g_presentation_obj_22", pos3),
(position_set_y, pos1, 545-2*40), (overlay_set_position, "$g_presentation_obj_23", pos1), (overlay_set_size, "$g_presentation_obj_23", pos3),
(position_set_y, pos1, 545-3*40), (overlay_set_position, "$g_presentation_obj_24", pos1), (overlay_set_size, "$g_presentation_obj_24", pos3),
(position_set_y, pos1, 545-4*40), (overlay_set_position, "$g_presentation_obj_25", pos1), (overlay_set_size, "$g_presentation_obj_25", pos3),
(position_set_y, pos1, 545-5*40), (overlay_set_position, "$g_presentation_obj_26", pos1), (overlay_set_size, "$g_presentation_obj_26", pos3),
(position_set_x, pos1, 500), (position_set_y, pos1, 120),
(overlay_set_position, "$g_presentation_obj_7", pos1),
(position_set_x, pos1, 450), (position_set_y, pos1, 425),
(overlay_set_area_size, "$g_presentation_obj_7", pos1),
(position_set_x, pos1, 800), (position_set_y, pos1, 800),
(overlay_set_size, "$g_presentation_obj_7", pos1),
# Initial States
(overlay_set_val, "$g_presentation_obj_21", reg11),
(overlay_set_val, "$g_presentation_obj_22", reg12),
(overlay_set_val, "$g_presentation_obj_23", reg13),
(overlay_set_val, "$g_presentation_obj_24", reg14),
(overlay_set_val, "$g_presentation_obj_25", reg15),
(overlay_set_val, "$g_presentation_obj_26", reg16),
(call_script, "script_update_strings"), ]),
(ti_on_presentation_event_state_change,
[(store_trigger_param_1, ":object"),
(store_trigger_param_2, ":value"),
(set_fixed_point_multiplier, 1000),
(assign, ":story_changed", 0),
(try_begin),
(eq, ":object", "$g_presentation_obj_21"),
(store_mod, ":state", ":value", 100), (store_div, ":new_value", ":value", 100),
(val_mul, ":new_value", 100),
(try_begin),
(ge, ":state", 50),
(val_add, ":new_value", 100),
(try_end),
(assign, reg11, ":new_value"),
(overlay_set_val, "$g_presentation_obj_21", reg11),
(assign, ":story_changed", 1),
(else_try),
(eq, ":object", "$g_presentation_obj_22"),
(store_mod, ":state", ":value", 100), (store_div, ":new_value", ":value", 100),
(val_mul, ":new_value", 100),
(try_begin),
(ge, ":state", 50),
(val_add, ":new_value", 100),
(try_end),
(assign, reg12, ":new_value"),
(overlay_set_val, "$g_presentation_obj_22", reg12),
(assign, ":story_changed", 1),
(else_try),
(eq, ":object", "$g_presentation_obj_23"),
(store_mod, ":state", ":value", 100), (store_div, ":new_value", ":value", 100),
(val_mul, ":new_value", 100),
(try_begin),
(ge, ":state", 50),
(val_add, ":new_value", 100),
(try_end),
(assign, reg13, ":new_value"),
(overlay_set_val, "$g_presentation_obj_23", reg13),
(assign, ":story_changed", 1),
(else_try),
(eq, ":object", "$g_presentation_obj_24"),
(store_mod, ":state", ":value", 100), (store_div, ":new_value", ":value", 100),
(val_mul, ":new_value", 100),
(try_begin),
(ge, ":state", 50),
(val_add, ":new_value", 100),
(try_end),
(assign, reg14, ":new_value"),
(overlay_set_val, "$g_presentation_obj_24", reg14),
(assign, ":story_changed", 1),
(else_try),
(eq, ":object", "$g_presentation_obj_25"),
(store_mod, ":state", ":value", 100), (store_div, ":new_value", ":value", 100),
(val_mul, ":new_value", 100),
(try_begin),
(ge, ":state", 50),
(val_add, ":new_value", 100),
(try_end),
(assign, reg15, ":new_value"),
(overlay_set_val, "$g_presentation_obj_25", reg15),
(assign, ":story_changed", 1),
(else_try),
(eq, ":object", "$g_presentation_obj_26"),
(store_mod, ":state", ":value", 100), (store_div, ":new_value", ":value", 100),
(val_mul, ":new_value", 100),
(try_begin),
(ge, ":state", 50),
(val_add, ":new_value", 100),
(try_end),
(assign, reg16, ":new_value"),
(overlay_set_val, "$g_presentation_obj_26", reg16),
(assign, ":story_changed", 1),
(else_try),
(eq, ":object", "$g_presentation_obj_31"),
(assign, "$creation_canceled", 999),
(jump_to_menu, "mnu_start_game_1"),
(presentation_set_duration, 0),
(else_try),
(eq, ":object", "$g_presentation_obj_32"),
(assign, "$creation_canceled", 0),
(call_script, "script_init_char_stat"),
(try_begin),
(eq, "$background_parent", 1),
(start_presentation, "prsnt_banner_selection"),
(else_try),
(jump_to_menu, "mnu_auto_return"),
(presentation_set_duration, 0),
(try_end),
(else_try),
(eq, ":object", "$g_presentation_obj_33"),
(call_script, "script_randomize_background", 1),
(assign, ":story_changed", 1),
(try_end),
(try_begin),
(eq, ":story_changed", 1),
(store_div, "$character_gender", reg11, 100),
(store_div, "$character_nationality", reg12, 100),
(store_div, "$background_parent", reg13, 100),
(store_div, "$background_childhood", reg14, 100),
(store_div, "$background_job", reg15, 100),
(store_div, "$background_reason", reg16, 100),
(call_script, "script_update_strings"),
(try_end), ]), ]),
Code:
("banner_selection",0,mesh_load_window,[
(ti_on_presentation_load,
[(set_fixed_point_multiplier, 1000),
(str_store_string, s1, "str_banner_selection_text"),
(create_text_overlay, reg1, s1, tf_center_justify),
(position_set_x, pos1, 500),
(position_set_y, pos1, 600),
(overlay_set_position, reg1, pos1),
(overlay_set_text, reg1, s1),
(create_button_overlay, "$g_presentation_obj_1", "@Next Page", tf_center_justify),
(position_set_x, pos1, 500),
(position_set_y, pos1, 50),
(overlay_set_position, "$g_presentation_obj_1", pos1),
(assign, ":x_pos", 150),
(assign, ":y_pos", 575),
(assign, ":try_end", banner_meshes_end_minus_one),
(store_mul, ":begin_mesh", 16, "$g_presentation_page_no"),
(val_add, ":begin_mesh", banner_meshes_begin),
(store_add, ":try_end_2", ":begin_mesh", 16),
(val_min, ":try_end", ":try_end_2"),
(store_add, "$g_presentation_banner_start", "$g_presentation_obj_1", 1),
(try_for_range, ":cur_banner_mesh", ":begin_mesh", ":try_end"),
(create_image_button_overlay, reg1, ":cur_banner_mesh", ":cur_banner_mesh"),
(position_set_x, pos1, ":x_pos"),
(position_set_y, pos1, ":y_pos"),
(overlay_set_position, reg1, pos1),
(position_set_x, pos1, 100),
(position_set_y, pos1, 100),
(overlay_set_size, reg1, pos1),
(val_add, ":x_pos", 100),
(ge, ":x_pos", 900),
(assign, ":x_pos", 150),
(val_sub, ":y_pos", 250),
(try_end),
(presentation_set_duration, 999999),
]),
(ti_on_presentation_event_state_change,
[(store_trigger_param_1, ":object"),
(try_begin),
(eq, ":object", "$g_presentation_obj_1"),
(val_add, "$g_presentation_page_no", 1),
(val_mod, "$g_presentation_page_no", 8),
(start_presentation, "prsnt_banner_selection"),
(else_try),
(store_sub, ":selected_banner", ":object", "$g_presentation_banner_start"),
(store_mul, ":page_adder", 16, "$g_presentation_page_no"),
(val_add, ":selected_banner", ":page_adder"),
(store_add, ":selected_banner_map_icon", ":selected_banner", banner_map_icons_begin),
(party_set_banner_icon, main_party, ":selected_banner_map_icon"),
(store_add, ":selected_banner_spr", ":selected_banner", banner_scene_props_begin),
(troop_set_slot, player, slot_troop_banner_scene_prop, ":selected_banner_spr"),
## Dunde's BEGIN
(jump_to_menu, "mnu_auto_return"),
## Dunde's END
(presentation_set_duration, 0),
(assign, ":troop_to_change", 0),
(assign, ":end_cond", kingdom_heroes_end),
(try_for_range, ":cur_troop", kingdom_heroes_begin, ":end_cond"),
(troop_slot_eq, ":cur_troop", slot_troop_banner_scene_prop, ":selected_banner_spr"),
(assign, ":troop_to_change", ":cur_troop"),
(assign, ":end_cond", 0),
(troop_set_slot, ":cur_troop", slot_troop_banner_scene_prop, banner_scene_props_end_minus_one),
(troop_get_slot, ":cur_party", ":cur_troop", slot_troop_leaded_party),
(gt, ":cur_party", 0),
(party_set_banner_icon, ":cur_party", banner_map_icons_end_minus_one),
(try_end),
(try_for_range, ":cur_center", walled_centers_begin, walled_centers_end),
(try_begin),
(party_slot_eq, ":cur_center", slot_town_lord, player),
(party_set_banner_icon, ":cur_center", ":selected_banner_map_icon"),
(else_try),
(party_slot_eq, ":cur_center", slot_town_lord, ":troop_to_change"),
(party_set_banner_icon, ":cur_center", banner_map_icons_end_minus_one),
(try_end),
(try_end),
(try_end),
]),
(ti_on_presentation_run,
[(try_begin),
(this_or_next|key_clicked, key_space),
(this_or_next|key_clicked, key_enter),
(this_or_next|key_clicked, key_escape),
(key_clicked, key_back_space),
## Dunde's BEGIN
(jump_to_menu, "mnu_auto_return"),
## Dunde's END
(presentation_set_duration, 0),
(try_end),
]),
]),
EDIT :
add main_party constants to module_constants.py