一.进入场景
(store_current_hours,"$training_fight_time"),
(assign, "$g_mt_mode", abm_training),
(modify_visitors_at_site,"scn_god_punch_arena"),
(reset_visitors),
(set_visitor, 35, "trp_player"),
(set_jump_mission,"mt_arena_melee_fight"),
(jump_to_scene, "scn_god_punch_arena"),
(change_screen_mission),
二.界面
("god_punch_vs_display", prsntf_read_only, 0, [
(ti_on_presentation_load, [
(set_fixed_point_multiplier, 1000),
##create round text
(create_text_box_overlay, "$g_presentation_obj_round_text"),
(position_set_x, pos2, 500),
(position_set_y, pos2, 700),
(overlay_set_position, "$g_presentation_obj_round_text", pos2),
##create score text
(create_text_overlay, "$g_presentation_obj_score_text", "str_score_text"),
(position_set_x, pos2, 435),
(position_set_y, pos2, 650),
(overlay_set_position, "$g_presentation_obj_score_text", pos2),
(position_set_x, pos2, 2400),
(position_set_y, pos2, 2400),
(overlay_set_size, "$g_presentation_obj_score_text", pos2),
(overlay_set_color, "$g_presentation_obj_score_text", 0xd1cf9a),
##create player head icon
(create_mesh_overlay_with_tableau_material, "$g_presentation_obj_player_head_icon", -1, "tableau_punch_tournament_status_mesh", "trp_player"),
(position_set_x, pos2, 0),
(position_set_y, pos2, 600),
(overlay_set_position, "$g_presentation_obj_player_head_icon", pos2),
##create player name text
(str_store_troop_name, s1, "trp_player"),
(create_text_overlay, "$g_presentation_obj_player_name", s1, tf_center_justify),
(position_set_x, pos2, 120),
(position_set_y, pos2, 570),
(overlay_set_position, "$g_presentation_obj_player_name", pos2),
(position_set_x, pos2, 1200),
(position_set_y, pos2, 1200),
(overlay_set_size, "$g_presentation_obj_player_name", pos2),
(overlay_set_color, "$g_presentation_obj_player_name", 0x000099),
(overlay_set_text, "$g_presentation_obj_player_name", s1),
##create player health progress bar
(create_mesh_overlay, "$g_presentation_obj_player_health_progress_bar_border", "mesh_god_progressbar"),
(position_set_x, pos2, 100),
(position_set_y, pos2, 620),
(overlay_set_position, "$g_presentation_obj_player_health_progress_bar_border", pos2),
(position_set_x, pos2, 600),
(position_set_y, pos2, 1200),
(overlay_set_size, "$g_presentation_obj_player_health_progress_bar_border", pos2),
(create_mesh_overlay, "$g_presentation_obj_player_health_progress_bar", "mesh_god_progressbar_handle"),
(position_set_x, pos2, 95),
(position_set_y, pos2, 620),
(overlay_set_position, "$g_presentation_obj_player_health_progress_bar", pos2),
(position_set_x, pos2, 610),
(position_set_y, pos2, 1300),
(overlay_set_size, "$g_presentation_obj_player_health_progress_bar", pos2),
##create player HP text
(create_text_overlay, "$g_presentation_obj_player_health_text", "str_agent_health", tf_center_justify),
(position_set_x, pos2, 120),
(position_set_y, pos2, 630),
(overlay_set_position, "$g_presentation_obj_player_health_text", pos2),
(position_set_x, pos2, 800),
(position_set_y, pos2, 800),
(overlay_set_size, "$g_presentation_obj_player_health_text", pos2),
(overlay_set_color, "$g_presentation_obj_player_health_text", 0xFFFF00),
##create rival head icon
(create_mesh_overlay_with_tableau_material, "$g_presentation_obj_rival_head_icon", -1, "tableau_punch_tournament_status_mesh", "$g_rival_trp_no"),
(position_set_x, pos2, 900),
(position_set_y, pos2, 600),
(overlay_set_position, "$g_presentation_obj_rival_head_icon", pos2),
##create rival name
(str_store_troop_name, s1, "$g_rival_trp_no"),
(create_text_overlay, "$g_presentation_obj_rival_name", s1),
(position_set_x, pos2, 820),
(position_set_y, pos2, 570),
(overlay_set_position, "$g_presentation_obj_rival_name", pos2),
(position_set_x, pos2, 1200),
(position_set_y, pos2, 1200),
(overlay_set_size, "$g_presentation_obj_rival_name", pos2),
(overlay_set_color, "$g_presentation_obj_rival_name", 0x000099),
##create rival healthprogress bar border
(create_mesh_overlay, "$g_presentation_obj_rival_health_progress_bar_border", "mesh_god_progressbar"),
(position_set_x, pos2, 510),
(position_set_y, pos2, 620),
(overlay_set_position, "$g_presentation_obj_rival_health_progress_bar_border", pos2),
(position_set_x, pos2, 600),
(position_set_y, pos2, 1200),
(overlay_set_size, "$g_presentation_obj_rival_health_progress_bar_border", pos2),
##create rival health progress bar
(create_mesh_overlay, "$g_presentation_obj_rival_health_progress_bar", "mesh_god_progressbar_handle"),
(position_set_x, pos2, 505),
(position_set_y, pos2, 620),
(overlay_set_position, "$g_presentation_obj_rival_health_progress_bar", pos2),
##create rival HP text
(create_text_overlay, "$g_presentation_obj_rival_health_text", "str_agent_health"),
(position_set_x, pos2, 850),
(position_set_y, pos2, 630),
(overlay_set_position, "$g_presentation_obj_rival_health_text", pos2),
(position_set_x, pos2, 800),
(position_set_y, pos2, 800),
(overlay_set_size, "$g_presentation_obj_rival_health_text", pos2),
(overlay_set_color, "$g_presentation_obj_rival_health_text", 0xFFFF00),
(presentation_set_duration, 9999999999999),
]),
(ti_on_presentation_run, [
(set_fixed_point_multiplier, 1000),
##dynamic set round text
(assign, reg1, "$g_round_val"),
(overlay_set_text, "$g_presentation_obj_round_text", "str_round_text"),
##dynamic set score text
(assign, reg1, "$g_player_punch_score"),
(assign, reg2, "$g_rival_punch_score"),
(overlay_set_text, "$g_presentation_obj_score_text", "str_score_text"),
##dynamic set player health
(assign, reg1, "$g_player_abs_health_point"),
(overlay_set_text, "$g_presentation_obj_player_health_text", "str_agent_health"),
(assign, ":player_health_point_x_offset", 610),
(val_mul, ":player_health_point_x_offset", "$g_player_rel_health_point"),
(val_div, ":player_health_point_x_offset", 100),
(position_set_x, pos2, ":player_health_point_x_offset"),
(position_set_y, pos2, 1300),
(overlay_set_size, "$g_presentation_obj_player_health_progress_bar", pos2),
##dynamic set rival name
(str_store_troop_name, s1, "$g_rival_trp_no"),
(overlay_set_text, "$g_presentation_obj_rival_name", s1),
##dynamic set rival health progress bar
(assign, ":rival_health_point_x_offset", 610),
(val_mul, ":rival_health_point_x_offset", "$g_rival_rel_health_point"),
(val_div, ":rival_health_point_x_offset", 100),
(position_set_x, pos2, ":rival_health_point_x_offset"),
(position_set_y, pos2, 1300),
(overlay_set_size, "$g_presentation_obj_rival_health_progress_bar", pos2),
(assign, ":rival_health_point_x_position", 395),
(store_sub, ":rival_health_rel_sub", 100, "$g_rival_rel_health_point"),
(val_mul, ":rival_health_point_x_position", ":rival_health_rel_sub"),
(val_div, ":rival_health_point_x_position", 100),
(val_add, ":rival_health_point_x_position", 505),
(position_set_x, pos2, ":rival_health_point_x_position"),
(position_set_y, pos2, 620),
(overlay_set_position, "$g_presentation_obj_rival_health_progress_bar", pos2),
##dynamic set rival health text
(assign, reg1, "$g_rival_abs_health_point"),
(overlay_set_text, "$g_presentation_obj_rival_health_text", "str_agent_health"),
]),
]),
三.闯关任务
(
"arena_punch_fight",mtf_arena_fight,-1,
"You enter a punch fight in the arena.",
[
(0,mtef_visitor_source|mtef_team_0,af_override_all,aif_start_alarmed,1,[itm_practice_bow,itm_practice_arrows,itm_practice_horse,itm_arena_tunic_red, itm_red_tourney_helmet]),
(1,mtef_visitor_source|mtef_team_0,af_override_all,aif_start_alarmed,1,[itm_heavy_practice_sword, itm_arena_tunic_red]),
(2,mtef_visitor_source|mtef_team_0,af_override_all,aif_start_alarmed,1,[itm_heavy_practice_sword,itm_practice_horse,itm_arena_tunic_red, itm_red_tourney_helmet]),
(3,mtef_visitor_source|mtef_team_0,af_override_all,aif_start_alarmed,1,[itm_practice_lance,itm_practice_shield,itm_practice_horse,itm_arena_tunic_red, itm_red_tourney_helmet]),
(4,mtef_visitor_source|mtef_team_0,af_override_all,aif_start_alarmed,1,[itm_practice_bow,itm_practice_arrows, itm_practice_dagger, itm_arena_tunic_red]),
(5,mtef_visitor_source|mtef_team_0,af_override_all,aif_start_alarmed,1,[itm_practice_sword,itm_practice_shield,itm_arena_tunic_red]),
(6,mtef_visitor_source|mtef_team_0,af_override_all,aif_start_alarmed,1,[itm_heavy_practice_sword,itm_practice_horse,itm_arena_tunic_red]),
(7,mtef_visitor_source|mtef_team_0,af_override_all,aif_start_alarmed,1,[itm_practice_lance,itm_practice_shield,itm_practice_horse,itm_arena_tunic_red, itm_red_tourney_helmet]),
(8,mtef_visitor_source|mtef_team_1,af_override_all,aif_start_alarmed,1,[itm_practice_bow,itm_practice_arrows,itm_practice_dagger, itm_arena_tunic_blue]),
(9,mtef_visitor_source|mtef_team_1,af_override_all,aif_start_alarmed,1,[itm_practice_lance,itm_practice_shield,itm_practice_horse,itm_arena_tunic_blue,itm_blue_tourney_helmet]),
(10,mtef_visitor_source|mtef_team_1,af_override_all,aif_start_alarmed,1,[itm_heavy_practice_sword,itm_arena_tunic_blue]),
(11,mtef_visitor_source|mtef_team_1,af_override_all,aif_start_alarmed,1,[itm_practice_sword,itm_practice_shield,itm_arena_tunic_blue, itm_blue_tourney_helmet]),
(12,mtef_visitor_source|mtef_team_1,af_override_all,aif_start_alarmed,1,[itm_practice_bow,itm_practice_arrows,itm_practice_horse,itm_arena_tunic_blue]),
(13,mtef_visitor_source|mtef_team_1,af_override_all,aif_start_alarmed,1,[itm_practice_lance,itm_practice_shield,itm_practice_horse,itm_arena_tunic_blue,itm_blue_tourney_helmet]),
(14,mtef_visitor_source|mtef_team_1,af_override_all,aif_start_alarmed,1,[itm_heavy_practice_sword,itm_arena_tunic_blue]),
(15,mtef_visitor_source|mtef_team_1,af_override_all,aif_start_alarmed,1,[itm_practice_sword,itm_practice_shield,itm_arena_tunic_blue]),
(16,mtef_visitor_source|mtef_team_2,af_override_all,aif_start_alarmed,1,[itm_practice_bow,itm_practice_arrows,itm_practice_horse,itm_arena_tunic_green, itm_green_tourney_helmet]),
(17,mtef_visitor_source|mtef_team_2,af_override_all,aif_start_alarmed,1,[itm_heavy_practice_sword,itm_arena_tunic_green, itm_green_tourney_helmet]),
(18,mtef_visitor_source|mtef_team_2,af_override_all,aif_start_alarmed,1,[itm_heavy_practice_sword,itm_practice_horse,itm_arena_tunic_green, itm_green_tourney_helmet]),
(19,mtef_visitor_source|mtef_team_2,af_override_all,aif_start_alarmed,1,[itm_practice_lance,itm_practice_shield,itm_practice_horse,itm_arena_tunic_green, itm_green_tourney_helmet]),
(20,mtef_visitor_source|mtef_team_2,af_override_all,aif_start_alarmed,1,[itm_practice_bow,itm_practice_arrows,itm_practice_dagger, itm_arena_tunic_green, itm_green_tourney_helmet]),
(21,mtef_visitor_source|mtef_team_2,af_override_all,aif_start_alarmed,1,[itm_practice_sword,itm_practice_shield,itm_arena_tunic_green]),
(22,mtef_visitor_source|mtef_team_2,af_override_all,aif_start_alarmed,1,[itm_heavy_practice_sword,itm_practice_horse,itm_arena_tunic_green]),
(23,mtef_visitor_source|mtef_team_2,af_override_all,aif_start_alarmed,1,[itm_practice_lance,itm_practice_shield,itm_practice_horse,itm_arena_tunic_green, itm_green_tourney_helmet]),
(24,mtef_visitor_source|mtef_team_3,af_override_all,aif_start_alarmed,1,[itm_practice_bow,itm_practice_arrows,itm_practice_horse,itm_arena_tunic_yellow, itm_gold_tourney_helmet]),
(25,mtef_visitor_source|mtef_team_3,af_override_all,aif_start_alarmed,1,[itm_heavy_practice_sword,itm_arena_tunic_yellow, itm_gold_tourney_helmet]),
(26,mtef_visitor_source|mtef_team_3,af_override_all,aif_start_alarmed,1,[itm_heavy_practice_sword,itm_practice_horse,itm_arena_tunic_yellow, itm_gold_tourney_helmet]),
(27,mtef_visitor_source|mtef_team_3,af_override_all,aif_start_alarmed,1,[itm_practice_lance,itm_practice_shield,itm_practice_horse,itm_arena_tunic_yellow, itm_gold_tourney_helmet]),
(28,mtef_visitor_source|mtef_team_3,af_override_all,aif_start_alarmed,1,[itm_practice_bow,itm_practice_arrows,itm_practice_dagger, itm_arena_tunic_yellow, itm_gold_tourney_helmet]),
(29,mtef_visitor_source|mtef_team_3,af_override_all,aif_start_alarmed,1,[itm_practice_sword,itm_practice_shield,itm_arena_tunic_yellow]),
(30,mtef_visitor_source|mtef_team_3,af_override_all,aif_start_alarmed,1,[itm_heavy_practice_sword,itm_practice_horse,itm_arena_tunic_yellow]),
(31,mtef_visitor_source|mtef_team_3,af_override_all,aif_start_alarmed,1,[itm_practice_lance,itm_practice_shield,itm_practice_horse,itm_arena_tunic_yellow, itm_gold_tourney_helmet]),
#32
(32,mtef_visitor_source|mtef_team_1,af_override_all,aif_start_alarmed,1,[itm_power_gloves]),
(33,mtef_visitor_source|mtef_team_2,af_override_all,aif_start_alarmed,1,[itm_practice_staff]),
(34,mtef_visitor_source|mtef_team_3,af_override_all,aif_start_alarmed,1,[itm_practice_sword, itm_practice_shield]),
(35,mtef_visitor_source|mtef_team_4,af_override_all,aif_start_alarmed,1,[itm_song_god_gloves]),
(36, mtef_visitor_source|mtef_team_1,af_override_all,aif_start_alarmed,1,[itm_practice_bow,itm_practice_arrows, itm_practice_dagger]),
(37,mtef_visitor_source|mtef_team_2,af_override_all,aif_start_alarmed,1,[itm_practice_sword, itm_practice_shield]),
(38,mtef_visitor_source|mtef_team_3,af_override_all,aif_start_alarmed,1,[itm_heavy_practice_sword]),
(39,mtef_visitor_source|mtef_team_4,af_override_all,aif_start_alarmed,1,[itm_practice_staff]),
#40-49 not used yet
(24,mtef_visitor_source|mtef_team_3,af_override_all,aif_start_alarmed,1,[itm_practice_bow,itm_practice_arrows,itm_practice_horse,itm_arena_tunic_yellow, itm_gold_tourney_helmet]),
(24,mtef_visitor_source|mtef_team_3,af_override_all,aif_start_alarmed,1,[itm_heavy_practice_sword,itm_arena_tunic_yellow, itm_gold_tourney_helmet]),
(24,mtef_visitor_source|mtef_team_3,af_override_all,aif_start_alarmed,1,[itm_heavy_practice_sword,itm_practice_horse,itm_arena_tunic_yellow, itm_gold_tourney_helmet]),
(24,mtef_visitor_source|mtef_team_3,af_override_all,aif_start_alarmed,1,[itm_practice_lance,itm_practice_shield,itm_practice_horse,itm_arena_tunic_yellow, itm_gold_tourney_helmet]),
(24,mtef_visitor_source|mtef_team_3,af_override_all,aif_start_alarmed,1,[itm_practice_bow,itm_practice_arrows,itm_practice_dagger, itm_arena_tunic_yellow, itm_gold_tourney_helmet]),
(24,mtef_visitor_source|mtef_team_3,af_override_all,aif_start_alarmed,1,[itm_practice_sword,itm_practice_shield,itm_arena_tunic_yellow]),
(24,mtef_visitor_source|mtef_team_3,af_override_all,aif_start_alarmed,1,[itm_heavy_practice_sword,itm_practice_horse,itm_arena_tunic_yellow]),
(24,mtef_visitor_source|mtef_team_3,af_override_all,aif_start_alarmed,1,[itm_practice_lance,itm_practice_shield,itm_practice_horse,itm_arena_tunic_yellow, itm_gold_tourney_helmet]),
(24,mtef_visitor_source|mtef_team_3,af_override_all,aif_start_alarmed,1,[itm_practice_bow,itm_practice_arrows,itm_practice_horse,itm_arena_tunic_yellow, itm_gold_tourney_helmet]),
(24,mtef_visitor_source|mtef_team_3,af_override_all,aif_start_alarmed,1,[itm_practice_bow,itm_practice_arrows,itm_practice_horse,itm_arena_tunic_yellow, itm_gold_tourney_helmet]),
(50, mtef_scene_source,af_override_horse|af_override_weapons|af_override_head,0,1,[]),
(51, mtef_visitor_source,af_override_horse|af_override_weapons|af_override_head,0,1,[]),
(52, mtef_scene_source,af_override_horse,0,1,[]),
#not used yet:
(53, mtef_scene_source,af_override_horse,0,1,[]),(54, mtef_scene_source,af_override_horse,0,1,[]),(55, mtef_scene_source,af_override_horse,0,1,[]),
#used for torunament master scene
(56, mtef_visitor_source|mtef_team_0, af_override_all, aif_start_alarmed, 1, [itm_practice_sword, itm_practice_shield, itm_padded_cloth, itm_segmented_helmet]),
(57, mtef_visitor_source|mtef_team_0, af_override_all, aif_start_alarmed, 1, [itm_practice_sword, itm_practice_shield, itm_padded_cloth, itm_segmented_helmet]),
],
[
(0.0, 0, 0.1, [(key_is_down,key_numpad_5)],[
(assign, "$g_rival_trp_no", "trp_player"),
]),
(ti_on_agent_spawn, 0, 0, [],[
(store_trigger_param_1, ":agent_no"),
(get_player_agent_no, ":player_agent"),
(agent_get_troop_id, ":agent_troop_no",":agent_no"),
(try_begin),
(eq, ":agent_no", ":player_agent"),
(store_agent_hit_points, "$g_player_abs_health_point", ":agent_no", 1),
(store_agent_hit_points, "$g_player_abs_full_health_point", ":agent_no", 1),
(store_agent_hit_points, "$g_player_rel_health_point", ":agent_no", 0),
(else_try),
(store_agent_hit_points, "$g_rival_abs_health_point", ":agent_no", 1),
(store_agent_hit_points, "$g_rival_abs_full_health_point", ":agent_no", 1),
(store_agent_hit_points, "$g_rival_rel_health_point", ":agent_no", 0),
(try_end),
]),
(ti_on_agent_knocked_down, 0, 0, [],[
(store_trigger_param_1, ":agent_no"),
(store_trigger_param_2, ":enemy_agent_no"),
(display_message, "str_cannot_leave_now"),
]),
(ti_on_agent_hit, 0, 0, [],[
(store_trigger_param_1, ":agent_no"),
(store_trigger_param_2, ":attacker_no"),
(store_trigger_param_3, ":damage"),
(get_player_agent_no, ":player_agent"),
(try_begin),
(eq, ":agent_no", ":player_agent"),
(store_agent_hit_points, "$g_player_abs_health_point", ":agent_no", 1),
(val_sub, "$g_player_abs_health_point", ":damage"),
(store_agent_hit_points, "$g_player_rel_health_point", ":agent_no", 0),
(val_mul, ":damage", 100),
(store_div, ":rel_damage", ":damage", "$g_player_abs_full_health_point"),
(val_sub, "$g_player_rel_health_point", ":rel_damage"),
(else_try),
(store_agent_hit_points, "$g_rival_abs_health_point", ":agent_no", 1),
(val_sub, "$g_rival_abs_health_point", ":damage"),
(store_agent_hit_points, "$g_rival_rel_health_point", ":agent_no", 0),
(val_mul, ":damage", 100),
(store_div, ":rel_damage", ":damage", "$g_rival_abs_full_health_point"),
(val_sub, "$g_rival_rel_health_point", ":rel_damage"),
(try_end),
]),
(ti_on_agent_killed_or_wounded, 0, 0, [],[
(store_trigger_param_1, ":dead_agent_no"),
(store_trigger_param_2, ":killer_agent_no"),
(store_trigger_param_3, ":is_wounded"),
(get_player_agent_no, ":player_agent"),
(try_begin),
(eq, ":dead_agent_no", ":player_agent"),
(set_visitor, 35, "trp_player"),
(val_add, "$g_rival_punch_score", 1),
(else_try),
(val_add, "$g_rival_val", 1),
(val_add, "$g_player_punch_score", 1),
(agent_play_sound, ":player_agent", "snd_mw_myjh"),
(try_begin),
(eq, "$g_rival_val", 2),
(assign, "$g_rival_trp_no", "trp_kingdom_2_lord"),
(set_visitor, 32, "$g_rival_trp_no"),
(else_try),
(eq, "$g_rival_val", 3),
(assign, "$g_rival_trp_no", "trp_kingdom_3_lord"),
(set_visitor, 32, "$g_rival_trp_no"),
(else_try),
(eq, "$g_rival_val", 4),
(assign, "$g_rival_trp_no", "trp_kingdom_4_lord"),
(set_visitor, 32, "$g_rival_trp_no"),
(else_try),
(eq, "$g_rival_val", 5),
(assign, "$g_rival_trp_no", "trp_kingdom_5_lord"),
(set_visitor, 32, "$g_rival_trp_no"),
(else_try),
(eq, "$g_rival_val", 6),
(assign, "$g_rival_trp_no", "trp_kingdom_1_lord"),
(assign, "$g_rival_val", 1),
(set_visitor, 32, "$g_rival_trp_no"),
(try_end),
(try_end),
(val_add, "$g_round_val", 1),
(presentation_set_duration, 0),
(start_presentation, "prsnt_god_punch_vs_display"),
]),
(ti_before_mission_start, 0, 0, [], [
(call_script, "script_change_banners_and_chest"),
(assign, "$g_round_val", 1),
(assign, "$g_rival_val", 1),
(assign, "$g_rival_trp_no", "trp_kingdom_1_lord"),
(assign, "$g_player_punch_score", 0),
(assign, "$g_rival_punch_score", 0),
(set_visitor, 32, "trp_kingdom_1_lord"),
(set_visitor, 35, "trp_player"),
]),
(ti_inventory_key_pressed, 0, 0, [(display_message,"str_cant_use_inventory_arena")], [
]),
(ti_tab_pressed, 0, 0, [], [
(question_box,"str_give_up_fight"),
]),
(ti_question_answered, 0, 0, [],[
(store_trigger_param_1,":answer"),
(eq,":answer",0),
(finish_mission, 0),
(change_screen_map),
(presentation_set_duration, 0),
]),
(0, 0, ti_once, [],[
(play_track, "track_zhw_er", 2),
]),
(1, 4, ti_once, [(this_or_next|main_hero_fallen),(num_active_teams_le, 1)],[
# (try_begin),
# (neg|main_hero_fallen),
# (call_script, "script_end_tournament_fight", 1),
# (call_script, "script_play_victorious_sound"),
# (finish_mission),
# (else_try),
# (call_script, "script_end_tournament_fight", 0),
# (finish_mission),
# (try_end),
]),
(ti_battle_window_opened, 0, 0, [], [
(start_presentation, "prsnt_god_punch_vs_display"),
]),
]),