Делаю квест суть которого такова. ГГ встречает в замке NPC-а, которого уличает во лжи и вызывает на дуэль. В случае победы игрок получает 100 очков известности и +5 к рейтингу чести, но - 30 в отношениях с фракцией непися. При этом непись навсегда исчезает из игры.Составил диалог:
[trp_npc10,"start", [(neg|check_quest_active,"qst_duel_crusader"),(neg|check_quest_finished,"qst_duel_crusader")], "I came here not as an ambassador, but as a witness and a knight of the Order, ready to the last breath to defend his honor! .. If anyone, despite the words of the Yuranda, dare accuse us that we are involved in the abduction of his daughter, though this will raise the knightly gauntlet and destroy ourselves in God's hands.", "npc10_talk",[]], [trp_npc10|plyr,"npc10_talk", [], "I call God to witness velmozhnogo Knyazia and all the knights of this land glorious and I tell you, crusader, that you lie like a dog, contrary to truth and justice, and I challenge you to a fight at the stadium, foot or horse, on the spears, axes, short or long swords and not in captivity, and until our last breath, to the death!", "npc10_talk_2",[(setup_quest_text,"qst_duel_crusader"),(start_quest,"qst_duel_crusader")]], [trp_npc10|plyr,"npc10_talk", [], "The truth on your side.", "close_window",[]], [trp_npc10,"npc10_talk_2", [], "If will be in agreement, then on foot, in a race, to ax.", "npc10_talk_3",[]], [trp_npc10|plyr,"npc10_talk_3", [], "I you so called earlier.", "close_window",[(call_script, "script_set_up_duel_with_troop", "$g_talk_troop")]],
В module_game_menus добавил
(modify_visitors_at_site, ":duel_scene"), (reset_visitors), (set_visitor, 0, "trp_player"), (set_visitor, 1, "$g_duel_troop"), (set_jump_mission, "mt_arena_duel_crusader"), (jump_to_scene, ":duel_scene"), (jump_to_menu, "mnu_arena_duel_conclusion"), (change_screen_mission),
и
(quest_slot_eq, "qst_duel_crusader", slot_quest_target_troop, "$g_duel_troop"), (check_quest_failed, "qst_duel_crusader"), (str_store_string, s11, "str_you_lie_stunned_for_several_minutes_then_stagger_to_your_feet_to_find_your_s10_standing_over_you_you_have_lost_the_duel"), (else_try), (quest_slot_eq, "qst_duel_crusader", slot_quest_target_troop, "$g_duel_troop"), (check_quest_succeeded, "qst_duel_crusader"), (str_store_string, s11, "str_s10_lies_in_the_arenas_dust_for_several_minutes_then_staggers_to_his_feet_you_have_won_the_duel"), (else_try),
В module_mission_templates
( "arena_duel_crusader",mtf_commit_casualties,-1, "You enter a melee fight in the arena.", [ (56, mtef_visitor_source|mtef_team_0, 0, aif_start_alarmed, 1, []), (58, mtef_visitor_source|mtef_team_2, 0, aif_start_alarmed, 1, []), ], [ common_inventory_not_available, (ti_tab_pressed, 0, 0, [(display_message, "str_cannot_leave_now")], []), (ti_before_mission_start, 0, 0, [], [(call_script, "script_change_banners_and_chest")]), (0, 0, ti_once, [], [ (call_script, "script_music_set_situation_with_culture", mtf_sit_arena), ]), #NOTE -- THIS IS A VESTIGIAL SCRIPT. FOR LORD DUELS, USE THE NEXT SCRIPT DOWN (1, 4, ti_once, [ (this_or_next|main_hero_fallen), (num_active_teams_le,1)], [ (try_begin), (main_hero_fallen), (check_quest_active, "qst_duel_crusader"), (quest_slot_eq, "qst_duel_crusader", slot_quest_target_troop, "$g_duel_troop"), (call_script, "script_fail_quest", "qst_duel_crusader"), (else_try), (check_quest_active, "qst_duel_crusader"), (quest_slot_eq, "qst_duel_crusader", slot_quest_target_troop, "$g_duel_troop"), (call_script, "script_succeed_quest", "qst_duel_crusader"), (call_script, "script_change_troop_renown","trp_player", 100), (call_script, "script_change_player_honor",5), (call_script, "script_change_player_relation_with_faction", "$g_talk_troop_faction", -30),(troop_set_slot,"$g_talk_troop", slot_troop_occupation, slto_retirement), (change_screen_map), (try_end), (finish_mission), ]), ], ),
На выходе имею: игрок получает квест у npc-a, далее идет дуэль. Если игрок побеждает, то появляется окошко "no relation" с кнопкой continue, после нажатия на которую возникает диалог с уже побежденным NPC! И так по кругу, поскольку у игрока в начале игры нет 200 динар, что бы его нанять.Как сделать, чтобы выполнялась последняя часть сценария т.е. квест засчитывался завершенным, непись исчезал из игры, ГГ шли бонусы? Ведь все это я прописал в mission_templates.В чем проблема и что надо исправить?