![Изображение](/board/style_images/plus.gif)
В этом туторе объясняется, как добавить новые сочетания клавиш.
Эти сочетания используются для скриптов, сами по себе они ничего не делают.
Нам нужны файлы
- text\descr_shortcuts.txt
- text\shortcut.txt
Чтобы назначить новые клавишы откроем descr_shortcuts.txt
Найдем "save_stratmap" и добавим новую метку для быстрого доступа, а также сочетание клавиш.
Например, "newShortcut":
Теперь нам нужно назначить отображение для нашего ключа, так чтобы движок знал, в какой части игры наша клавиша будет использоваться.
Идем в секцию KEY MAPPINGS и в подразделе strat , добавим наше сочетание:
Если вы хотите добавить описание для новых сочетаний, вы можете сделать это в shortcut.strings.bin. Это описание будет отображаться в меню F1, а также в главном меню опций.
Теперь campaign_script. Сейчас мы можем определить когда сработает наше сочетание клавиш
Практическое применение
Это, конечно, будет бесполезно, если мы не сможем делать интересные вещи!
Например, мы можем позволить нашим генералам "покупать" определенные анчи.
Эти сочетания используются для скриптов, сами по себе они ничего не делают.
Нам нужны файлы
- text\descr_shortcuts.txt
- text\shortcut.txt
Чтобы назначить новые клавишы откроем descr_shortcuts.txt
Найдем "save_stratmap" и добавим новую метку для быстрого доступа, а также сочетание клавиш.
Например, "newShortcut":
strat [color="#FF0000"]newShortcut F5[/color] save_stratmap S CTRL load_stratmap L CTRL speedup_ai SPACE stop_character BACKSPACE capital_zoom HOME H burdel F4 display_standards J toggle_character_labels N CTRL toggle_settlement_labels T CTRL diplomacy_overview_button D finances_button F construction_button B recruitment_button R faction_button O automerge_units M mission_button C zoom_in NUM_ADD repeating zoom_out NUM_SUBTRACT repeating reset_rally_point DEL disband D CTRL show_multi_turn_paths EQUALS select_next_selected CLOSE_BRACKET select_prev_selected OPEN_BRACKET endНе забудьте сделать то же самое для множества камер FPS.
Теперь нам нужно назначить отображение для нашего ключа, так чтобы движок знал, в какой части игры наша клавиша будет использоваться.
Идем в секцию KEY MAPPINGS и в подразделе strat , добавим наше сочетание:
strat [color="#FF0000"]newShortcut strat_ui[/color] save_stratmap strat_ui load_stratmap strat_ui speedup_ai strat_ui stop_character strat_ui capital_zoom strat_ui display_standards strat_ui toggle_character_labels strat_ui toggle_settlement_labels strat_ui quit strat_ui diplomacy_overview_button strat_ui finances_button strat_ui zoom_in strat_ui zoom_out strat_ui reset_rally_point strat_ui mission_button strat_ui disband card_manager show_multi_turn_paths strat_ui inc_scale radar dec_scale radar construction_button recruitment_button faction_button automerge_units campaign_hud step_l camera step_r camera step_fwd camera step_bck camera rot_l camera rot_r camera select_next_selected hud_select_next_item_cycle select_prev_selected hud_select_prev_item_cycle endЗатем удалите preferences\keys.dat, в противном случае m2tw не будет разбирать наши descr_shortcuts.txt!
Если вы хотите добавить описание для новых сочетаний, вы можете сделать это в shortcut.strings.bin. Это описание будет отображаться в меню F1, а также в главном меню опций.
Теперь campaign_script. Сейчас мы можем определить когда сработает наше сочетание клавиш
monitor_event ShortcutTriggered ShortcutTriggered strat_ui newShortcutend_monitor"newShortcut" был назначен на F5, так что теперь всякий раз, когда нажата F5 и игра на страткарте, событие срабатывает.
Практическое применение
Это, конечно, будет бесполезно, если мы не сможем делать интересные вещи!
Например, мы можем позволить нашим генералам "покупать" определенные анчи.
monitor_event ShortcutTriggered ShortcutTriggered strat_ui newShortcutand I_AgentSelected named character historic_event buying_ancillary trueend_monitormonitor_conditions I_EventCounter buying_ancillary_accepted = 1and console_command give_ancillary thisИли, мы можем создать "уменьшение населения" для города. Ведь мы можем уничтожить половину населения города во время захвата города, но не можем делать это когда уже правим городом.set_event_counter buying_ancillary_accepted = 0end_monitor
monitor_event ShortcutTriggered ShortcutTriggered strat_ui newShortcutand I_ScrollOpen own_settlement_info_scroll historic_event kill_citizens trueend_monitormonitor_conditions I_EventCounter kill_citizens_accepted = 1 if I_SettlementSelected]]> Оригинал тутора на всяк случай ]]>console_command add_population -500 end_if if I_SettlementSelected console_command add_population -500 end_if ... set_event_counter kill_citizens_accepted = 0end_monitor
Сообщение отредактировал Master_TW_DAR: 10 Октябрь 2014 - 08:49