I think it would be very interesting if the gamemode changes depending on the current scene. So I tried my luck and started scripting in my ignorance
:
In module_mission_templates (around line 615):
I thought that before the server starts the new map it wants to find out the game type and changes it. But when I change in module_scripts this:
to this:
and this:
to this:
nothing happens. The gamemode just changes if i manually start the specified map. I don't know very much about that stuff so I tried to draw logical conclusions, which has failed
. I hope that somebody has a great idea to get this to work.
Thanks in advance!
In module_mission_templates (around line 615):
(eq, ":end_map", 1),
(call_script, "script_game_multiplayer_get_game_type_mission_template", "$g_multiplayer_game_type"),
(start_multiplayer_mission, reg0, "$g_multiplayer_selected_map", 0),
(call_script, "script_game_set_multiplayer_mission_end"),
(call_script, "script_game_multiplayer_get_game_type_mission_template", "$g_multiplayer_game_type"),
(start_multiplayer_mission, reg0, "$g_multiplayer_selected_map", 0),
(call_script, "script_game_set_multiplayer_mission_end"),
("game_multiplayer_get_game_type_mission_template",
[
(assign, ":selected_mt", -1),
(store_script_param, ":game_type", 1),
(try_begin),
(eq, ":game_type", multiplayer_game_type_deathmatch),
(assign, ":selected_mt", "mt_multiplayer_dm"),
(else_try),
(eq, ":game_type", multiplayer_game_type_team_deathmatch),
(assign, ":selected_mt", "mt_multiplayer_tdm"),
(else_try),
(eq, ":game_type", multiplayer_game_type_battle),
(assign, ":selected_mt", "mt_multiplayer_bt"),
(else_try),
(eq, ":game_type", multiplayer_game_type_destroy),
(assign, ":selected_mt", "mt_multiplayer_fd"),
(else_try),
(eq, ":game_type", multiplayer_game_type_capture_the_flag),
(assign, ":selected_mt", "mt_multiplayer_cf"),
(else_try),
(eq, ":game_type", multiplayer_game_type_headquarters),
(assign, ":selected_mt", "mt_multiplayer_hq"),
(else_try),
(eq, ":game_type", multiplayer_game_type_siege),
(assign, ":selected_mt", "mt_multiplayer_sg"),
(else_try),
(eq, ":game_type", multiplayer_game_type_duel),
(assign, ":selected_mt", "mt_multiplayer_duel"),
(try_end),
(assign, reg0, ":selected_mt"),
]),
[
(assign, ":selected_mt", -1),
(store_script_param, ":game_type", 1),
(try_begin),
(eq, ":game_type", multiplayer_game_type_deathmatch),
(assign, ":selected_mt", "mt_multiplayer_dm"),
(else_try),
(eq, ":game_type", multiplayer_game_type_team_deathmatch),
(assign, ":selected_mt", "mt_multiplayer_tdm"),
(else_try),
(eq, ":game_type", multiplayer_game_type_battle),
(assign, ":selected_mt", "mt_multiplayer_bt"),
(else_try),
(eq, ":game_type", multiplayer_game_type_destroy),
(assign, ":selected_mt", "mt_multiplayer_fd"),
(else_try),
(eq, ":game_type", multiplayer_game_type_capture_the_flag),
(assign, ":selected_mt", "mt_multiplayer_cf"),
(else_try),
(eq, ":game_type", multiplayer_game_type_headquarters),
(assign, ":selected_mt", "mt_multiplayer_hq"),
(else_try),
(eq, ":game_type", multiplayer_game_type_siege),
(assign, ":selected_mt", "mt_multiplayer_sg"),
(else_try),
(eq, ":game_type", multiplayer_game_type_duel),
(assign, ":selected_mt", "mt_multiplayer_duel"),
(try_end),
(assign, reg0, ":selected_mt"),
]),
("game_multiplayer_get_game_type_mission_template",
[
(assign, ":selected_mt", -1),
(store_script_param, ":game_type", 1),
(store_current_scene, ":cur_scene"),
(try_begin),
(eq, ":cur_scene", "scn_multi_scene_custom_1"),
(assign, "selected_mt", "mt_multiplayer_bt"),
(else_try),
(eq, ":game_type", multiplayer_game_type_deathmatch),
(assign, ":selected_mt", "mt_multiplayer_dm"),
(else_try),
(eq, ":game_type", multiplayer_game_type_team_deathmatch),
(assign, ":selected_mt", "mt_multiplayer_tdm"),
(else_try),
(eq, ":game_type", multiplayer_game_type_battle),
(assign, ":selected_mt", "mt_multiplayer_bt"),
(else_try),
(eq, ":game_type", multiplayer_game_type_destroy),
(assign, ":selected_mt", "mt_multiplayer_fd"),
(else_try),
(eq, ":game_type", multiplayer_game_type_capture_the_flag),
(assign, ":selected_mt", "mt_multiplayer_cf"),
(else_try),
(eq, ":game_type", multiplayer_game_type_headquarters),
(assign, ":selected_mt", "mt_multiplayer_hq"),
(else_try),
(eq, ":game_type", multiplayer_game_type_siege),
(assign, ":selected_mt", "mt_multiplayer_sg"),
(else_try),
(eq, ":game_type", multiplayer_game_type_duel),
(assign, ":selected_mt", "mt_multiplayer_duel"),
(try_end),
(assign, reg0, ":selected_mt"),
]),
[
(assign, ":selected_mt", -1),
(store_script_param, ":game_type", 1),
(store_current_scene, ":cur_scene"),
(try_begin),
(eq, ":cur_scene", "scn_multi_scene_custom_1"),
(assign, "selected_mt", "mt_multiplayer_bt"),
(else_try),
(eq, ":game_type", multiplayer_game_type_deathmatch),
(assign, ":selected_mt", "mt_multiplayer_dm"),
(else_try),
(eq, ":game_type", multiplayer_game_type_team_deathmatch),
(assign, ":selected_mt", "mt_multiplayer_tdm"),
(else_try),
(eq, ":game_type", multiplayer_game_type_battle),
(assign, ":selected_mt", "mt_multiplayer_bt"),
(else_try),
(eq, ":game_type", multiplayer_game_type_destroy),
(assign, ":selected_mt", "mt_multiplayer_fd"),
(else_try),
(eq, ":game_type", multiplayer_game_type_capture_the_flag),
(assign, ":selected_mt", "mt_multiplayer_cf"),
(else_try),
(eq, ":game_type", multiplayer_game_type_headquarters),
(assign, ":selected_mt", "mt_multiplayer_hq"),
(else_try),
(eq, ":game_type", multiplayer_game_type_siege),
(assign, ":selected_mt", "mt_multiplayer_sg"),
(else_try),
(eq, ":game_type", multiplayer_game_type_duel),
(assign, ":selected_mt", "mt_multiplayer_duel"),
(try_end),
(assign, reg0, ":selected_mt"),
]),
("multiplayer_get_mission_template_game_type",
[
(store_script_param, ":mission_template_no", 1),
(assign, ":game_type", -1),
(try_begin),
(eq, ":mission_template_no", "mt_multiplayer_dm"),
(assign, ":game_type", multiplayer_game_type_deathmatch),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_tdm"),
(assign, ":game_type", multiplayer_game_type_team_deathmatch),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_bt"),
(assign, ":game_type", multiplayer_game_type_battle),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_fd"),
(assign, ":game_type", multiplayer_game_type_destroy),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_cf"),
(assign, ":game_type", multiplayer_game_type_capture_the_flag),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_hq"),
(assign, ":game_type", multiplayer_game_type_headquarters),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_sg"),
(assign, ":game_type", multiplayer_game_type_siege),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_duel"),
(assign, ":game_type", multiplayer_game_type_duel),
(try_end),
(assign, reg0, ":game_type"),
]),
[
(store_script_param, ":mission_template_no", 1),
(assign, ":game_type", -1),
(try_begin),
(eq, ":mission_template_no", "mt_multiplayer_dm"),
(assign, ":game_type", multiplayer_game_type_deathmatch),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_tdm"),
(assign, ":game_type", multiplayer_game_type_team_deathmatch),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_bt"),
(assign, ":game_type", multiplayer_game_type_battle),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_fd"),
(assign, ":game_type", multiplayer_game_type_destroy),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_cf"),
(assign, ":game_type", multiplayer_game_type_capture_the_flag),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_hq"),
(assign, ":game_type", multiplayer_game_type_headquarters),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_sg"),
(assign, ":game_type", multiplayer_game_type_siege),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_duel"),
(assign, ":game_type", multiplayer_game_type_duel),
(try_end),
(assign, reg0, ":game_type"),
]),
("multiplayer_get_mission_template_game_type",
[
(store_script_param, ":mission_template_no", 1),
(assign, ":game_type", -1),
(store_current_scene, ":cur_scene"),
(try_begin),
(eq, ":cur_scene", "scn_multi_scene_custom_1"),
(assign, ":game_type", multiplayer_game_battle),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_dm"),
(assign, ":game_type", multiplayer_game_type_deathmatch),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_tdm"),
(assign, ":game_type", multiplayer_game_type_team_deathmatch),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_bt"),
(assign, ":game_type", multiplayer_game_type_battle),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_fd"),
(assign, ":game_type", multiplayer_game_type_destroy),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_cf"),
(assign, ":game_type", multiplayer_game_type_capture_the_flag),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_hq"),
(assign, ":game_type", multiplayer_game_type_headquarters),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_sg"),
(assign, ":game_type", multiplayer_game_type_siege),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_duel"),
(assign, ":game_type", multiplayer_game_type_duel),
(try_end),
(assign, reg0, ":game_type"),
]),
[
(store_script_param, ":mission_template_no", 1),
(assign, ":game_type", -1),
(store_current_scene, ":cur_scene"),
(try_begin),
(eq, ":cur_scene", "scn_multi_scene_custom_1"),
(assign, ":game_type", multiplayer_game_battle),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_dm"),
(assign, ":game_type", multiplayer_game_type_deathmatch),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_tdm"),
(assign, ":game_type", multiplayer_game_type_team_deathmatch),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_bt"),
(assign, ":game_type", multiplayer_game_type_battle),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_fd"),
(assign, ":game_type", multiplayer_game_type_destroy),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_cf"),
(assign, ":game_type", multiplayer_game_type_capture_the_flag),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_hq"),
(assign, ":game_type", multiplayer_game_type_headquarters),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_sg"),
(assign, ":game_type", multiplayer_game_type_siege),
(else_try),
(eq, ":mission_template_no", "mt_multiplayer_duel"),
(assign, ":game_type", multiplayer_game_type_duel),
(try_end),
(assign, reg0, ":game_type"),
]),
Thanks in advance!

