reyhew 发表于 2006-5-31 13:31

[转帖]在H5中实现自定义快捷键的任意设定--

<P>修改目的:

由于游戏的原Option界面中无法实现自定义快捷键的设定,限制了玩家的操作自由。最不能容忍的是,游戏原战斗界面中没有“等待”(Wait)的按键,玩家不得不依靠键盘的“W”键来操作,这样使玩家一手喝咖啡、一手用鼠标玩《英雄世界》系列的美好经历成为回忆。

不,我们要改。

经实测,现在已经可以实现用鼠标中键来操作“等待”。

实现方法见下文。


作者说明:

1.本人并非专业人士,此帖是讨论贴,旨在抛砖引玉,希望大家补充、更正、完善。
2.在C:Documents and Settings用户名My DocumentsMy GamesHeroes of Might and Magic V中找到input.cfg文件,用记事本打开。
3.警告:修改此文件有可能造成多种无法预知的错误。此帖为学习、研究之用,作者在此免责。修改前请务必备份原文件。
4.修改后,save后退出。
5.本文中所提鼠标按键是指:

MOUSE_BUTTON0是鼠标左键
MOUSE_BUTTON1是鼠标右键
MOUSE_BUTTON2是鼠标中键

6.本文中的任何快捷键都可按玩家自己的喜好修改。注意:修改后的自定义快捷键字母不要重复,以免发生错误。
7.本文中部分内容经实测证实可行,如有错误欢迎指出。


//===========================================================================
// Common section (always active)
//===========================================================================

// Mouse
bind +cursor_x                'MOUSE_AXIS_X'
bind +cursor_y                'MOUSE_AXIS_Y'

bindconfigure                MOUSE_AXIS_X 1.2
bindconfigure                MOUSE_AXIS_Y 1.2
bindconfigure                MOUSE_AXIS_Z 160

// Camera镜头控制
// !!! DO NOT CHANGE ANY OF THESE !!!
bind +camera_zoom      'PG_DOWN'
bind -camera_zoom      'PG_UP'
bind +camera_forward      'UP'
bind -camera_forward      'DOWN'                                    
bind +camera_strafe         'RIGHT'                        
bind -camera_strafe                'LEFT'                                 
bind -camera_pitch      'CTRL' + 'UP'
bind +camera_pitch      'CTRL' + 'DOWN'
bind +camera_rotate      'CTRL' + 'RIGHT'
bind -camera_rotate      'CTRL' + 'LEFT'

bind +camera_fps_rotate                'MOUSE_AXIS_X' + 'MOUSE_BUTTON1'
bind +camera_fps_pitch                'MOUSE_AXIS_Y' + 'MOUSE_BUTTON1'

bind -camera_zoom_mouse                        'MOUSE_AXIS_Z'
bind +camera_rotate_mouse                'MOUSE_BUTTON1' + 'MOUSE_AXIS_X'
bind -camera_pitch_mouse                'MOUSE_BUTTON1' + 'MOUSE_AXIS_Y'
bind -camera_strafe_mouse                'MOUSE_BUTTON2' + 'MOUSE_AXIS_X'
bind -camera_strafe_mouse                'CTRL' + 'MOUSE_BUTTON1' + 'MOUSE_AXIS_X'
bind +camera_forward_mouse      'MOUSE_BUTTON2' + 'MOUSE_AXIS_Y'
bind +camera_forward_mouse      'CTRL' + 'MOUSE_BUTTON1' + 'MOUSE_AXIS_Y'
//END Camera

// console   手柄控制
bind console_run_cmd 'ENTER'
bind console_run_cmd 'NUM_ENTER'
bind console_next_cmd 'DOWN'
bind console_prev_cmd 'UP'
bind console_next_string 'HOME'
bind console_prev_string 'END'
bind console_first_string 'LCTRL' + 'HOME'
bind console_last_string 'LCTRL' + 'END'

// general
bind jd_button_0 'ESC'
bind jd_button_0 'ENTER'
bind jd_button_0 'NUM_ENTER'
bind jd_button_0 'E'
bind esc_pressed 'ESC'
bind enter_pressed 'ENTER'
bind enter_pressed 'NUM_ENTER'

bind pause      'PAUSE'
bind screenshot 'SYSRQ'

bind -mouse_wheel_scroll 'MOUSE_AXIS_Z'

bind ctrl 'CTRL'
bind shift 'SHIFT'
bind alt 'ALT'

// don't treat system key combinations as 'ESC' or 'TAB'
bind none      'CTRL' + 'ESC'
bind none      'ALT' + 'TAB'

// obsolete, but strictly need for compability with some interfaces
bind close_window 'ESC'
bind confirm_action      'ENTER'
bind confirm_action      'NUM_ENTER'

//debug keys
bind show_console                '`'
bind +right_mouse_button      'MOUSE_BUTTON1'
//END debug keys

//===========================================================================
// Interface-specific sections
//===========================================================================

// adventure                                 大地图控制
bindsection adventure_screen
bind input_game_options 'F4'(选项键。你当然可以设为F1或其他键,以下同。)
bind input_esc_menu 'ESC'退出键
bind input_esc_menu 'F10'   退出键
bind save 'F6'                         存盘键
bind load 'F7'                        载入键
bind quicksave 'F5'               快速存盘键
bind quickload 'F8'               快速载入键
bind MB_Move_Hero 'M'    移动英雄
bind MB_Move_Hero 'SPACE'   移动英雄
bind MB_Next_Hero 'N'          下一个英雄
bind MB_Next_Hero 'TAB'      下一个英雄
bind input_select_hero_01 '1'选择英雄1
bind input_select_hero_02 '2'
bind input_select_hero_03 '3'
bind input_select_hero_04 '4'
bind input_select_hero_05 '5'
bind input_select_hero_06 '6'
bind input_select_hero_07 '7'
bind input_select_hero_08 '8'
bind adv_dig 'G'   挖宝
bind adv_dig 'D'    挖宝
bind SpellBookWindow 'C'   魔法书
bind JogDialButton 'ENTER'
bind JogDialButton 'NUM_ENTER'
bind JogDialButton 'E'
bind hero_attributes 'A'       英雄属性
bind hero_equipment 'I'       英雄装备
bind hero_skills 'K'             英雄技能
bind hero_abilities 'V'         英雄能力
bind hero_biography 'H'       英雄自传
bind adv_show_town 'T'         显示城镇
bind input_adv_show_objectives 'O'       显示任务目标
bind input_adv_show_objectives 'Q'          显示任务目标
bind input_adv_show_objectives_log 'L'
bind input_open_puzzle_map 'P'            打开藏宝图
bind set_camera_default_pos 'HOME'      恢复默认视角(此处可改为MOUSE_BUTTON2。在大地图中转晕了,就用鼠标中键恢复默认视角)
bind +camera_rotate      'DELETE'    镜头旋转
bind -camera_rotate      'INSERT'                镜头旋转
bind enter_chat 'BACKSPACE'          聊天窗口
bind enter_chat 'CTRL' + 'ENTER'
bind enter_chat 'CTRL' + 'NUM_ENTER'
bind chat_to_all 'CTRL' + 'A'
bind chat_to_team 'CTRL' + 'T'
bind chat_to_race 'CTRL' + 'R'
bind open_puzzle_map 'P'
bind flip_floor 'U'
bind flip_floor 'T'

bindsection editbox
bind esc 'ESC'
bind enter 'ENTER'
bind enter 'NUM_ENTER'
bind enter 'E'

// ghost information
bindsection ghost_info
bind close 'ESC'

bindsection mpcreate
bind back 'ESC'
bind container_up 'UP'
bind container_down 'DOWN'

// hero英雄界面
bindsection hero_screen
bind hero_attributes 'A'
bind hero_equipment 'I'
bind hero_skills 'K'
bind hero_abilities 'V'
bind hero_biography 'H'
bind input_hero_page_up 'W'
bind input_hero_page_down 'S'
bind +mouse_left_button 'MOUSE_BUTTON0'

//garrison
bindsection garrison_screen
bind confirm 'ESC'
bind confirm 'ENTER'
bind confirm 'NUM_ENTER'
bind confirm 'E'


// town城镇界面
bindsection town_screen
bind save 'F6'
bind load 'F7'
bind quicksave 'F5'
bind quickload 'F8'
bind enter_hall 'B'
bind enter_fort 'R'
bind enter_magic_guild 'G'
bind enter_tavern 'T'
bind enter_market 'M'
bind input_enter_special 'Q'
bind enter_blacksmith 'X'
bind buy_artifacts 'Y'
bind enter_shipyard 'Z'
bind show_town_info 'F'
bind close_town 'ESC'
bind close_town 'ENTER'
bind close_town 'NUM_ENTER'
bind close_town 'E'
bind close_flyby 'SPACE'
bind SpellBookWindow 'C'
bind hero_attributes 'A'
bind hero_equipment 'I'
bind hero_skills 'K'
bind hero_abilities 'V'
bind hero_biography 'H'
bind next_town 'N'
bind prev_town 'P'
bind input_upgrade_creatures 'U'
bind set_camera_default_pos 'HOME'
bind +mouse_left_button 'MOUSE_BUTTON0'
bind +shift 'SHIFT'
bind input_swap_heroes 'SPACE'

//saveload
bindsection saveload
bind close 'ESC'
bind save_load_enter 'ENTER'
bind save_load_enter 'NUM_ENTER'
bind save_load_esc 'ESC'

// marketplace
bindsection market_screen
bind jd_button_2 'SPACE'
bind close 'M'

// hall
bindsection town_build
bind jd_button_0 'B'
bind jd_button_1 'S'
bind jd_button_2 'SPACE'
bind jd_button_3 'A'

// fort
bindsection fort_screen
bind close 'R'
bind close 'ESC'

//mage_guild
bindsection mage_guild_screen
bind close 'G'
bind close 'ESC'

// inferno sacrifice
bindsection inferno_sacrifice_screen
bind inferno_sacrifice_close 'ESC'
bind inferno_sacrifice_close 'ENTER'
bind inferno_sacrifice_close 'NUM_ENTER'
bind inferno_sacrifice_close 'E'


// dungeon sacrifice
bindsection dungeon_sacrifice_screen
bind dungeon_sacrifice_close 'ESC'
bind dungeon_sacrifice_close 'ENTER'
bind dungeon_sacrifice_close 'NUM_ENTER'
bind dungeon_sacrifice_close 'E'


//CombatResults
bindsection combat_results
bind confirm 'ESC'
bind confirm 'ENTER'
bind confirm 'NUM_ENTER'
bind confirm 'E'

// transform_creature_base
bindsection transform_creature_base
bind close 'ESC'
bind close 'ENTER'
bind close 'NUM_ENTER'
bind close 'E'
bind +shift 'SHIFT'

// buy_war_machine_screen
bindsection buy_war_machine_screen
bind close 'ESC'
bind close 'ENTER'
bind close 'NUM_ENTER'
bind close 'E'

// Tavern screen
bindsection tavern_screen
bind close 'ESC'
bind close 'T'
bind close 'E'
bind input_page_up 'W'
bind input_page_down 'S'
bind jd_button_2 'SPACE'

// Puzzle map screen
bindsection puzzle_map
bind close_puzzle_map 'ESC'
bind close_puzzle_map 'P'
bind close_puzzle_map 'E'

// MP Profile screen
bindsection mp_profile_screen
bind close 'ESC'
bind close 'E'

// MP Register screen
bindsection mp_register_screen
bind close 'ESC'
bind close 'E'
bind return 'ENTER'
bind return 'NUM_ENTER'


// combat - fight mode   战斗界面
bindsection combat_screen
bind input_combat_options 'ESC'   选项键
bind input_combat_options 'F4'       选项键
bind input_combat_options 'F10'       选项键
bind input_Combat_Defend 'NUM_ENTER'防御键
bind input_Combat_Defend 'SPACE'      防御键
bind input_Combat_Defend 'D'               防御键
bind input_Combat_Wait 'W' 等待键(此处把W改为MOUSE_BUTTON2即可实现在战斗中用鼠标中键来控制“等待”。)
bind input_Combat_AutoCombat 'A' 自动战斗键
bind input_Combat_AutoCombat 'V'自动战斗键
bind input_Combat_Retreat 'R'         撤退键
bind input_Combat_Retreat_Close 'R'
bind input_Combat_Cast 'C'施放魔法键
bind input_Combat_Cast 'S'施放魔法键
bind -camera_lift      'DELETE'镜头控制
bind +camera_lift      'INSERT'
bind enter_chat 'BACKSPACE'聊天键
bind enter_chat 'CTRL' + 'ENTER'
bind enter_chat 'CTRL' + 'NUM_ENTER'
bind chat_to_all 'CTRL' + 'A'
bind chat_to_team 'CTRL' + 'T'
bind chat_to_race 'CTRL' + 'R'
bind input_switch_atb_log 'TAB'

// combat - tactic mode   战斗前的兵种布阵界面
bindsection combat_screen_tactic
bind input_combat_options 'ESC'
bind input_combat_options 'F4'
bind input_combat_options 'F10'
bind input_start_combat 'ENTER'
bind input_start_combat 'NUM_ENTER'
bind input_start_combat 'SPACE'
bind input_autoplace_army 'A'
bind input_autoplace_army 'V'
bind -camera_lift      'DELETE'
bind +camera_lift      'INSERT'
bind enter_chat 'BACKSPACE'
bind enter_chat 'CTRL' + 'ENTER'
bind enter_chat 'CTRL' + 'NUM_ENTER'
bind chat_to_all 'CTRL' + 'A'
bind chat_to_team 'CTRL' + 'T'
bind chat_to_race 'CTRL' + 'R'


// MAYA camera
bind -camera_strafe         'LALT' + 'MOUSE_BUTTON2' + 'MOUSE_AXIS_X'
//bind +camera_forward         'LALT' + 'MOUSE_BUTTON2' + 'MOUSE_AXIS_Y'
bind +camera_upward         'LALT' + 'MOUSE_BUTTON2' + 'MOUSE_AXIS_Y'
bind +camera_rotate         'LALT' + 'MOUSE_BUTTON0' + 'MOUSE_AXIS_X'
bind -camera_pitch         'LALT' + 'MOUSE_BUTTON0' + 'MOUSE_AXIS_Y'
bind -camera_zoom         'LALT' + 'MOUSE_BUTTON0' + 'MOUSE_BUTTON2' + 'MOUSE_AXIS_X'
bind +maya_camera_stub         'LALT' + 'MOUSE_BUTTON0' + 'MOUSE_BUTTON2' + 'MOUSE_AXIS_Y'
bind +camera_rotate         'RALT' + 'MOUSE_BUTTON0' + 'MOUSE_AXIS_X'
bind -camera_pitch         'RALT' + 'MOUSE_BUTTON0' + 'MOUSE_AXIS_Y'
bind -camera_strafe         'RALT' + 'MOUSE_BUTTON2' + 'MOUSE_AXIS_X'
//bind +camera_forward         'RALT' + 'MOUSE_BUTTON2' + 'MOUSE_AXIS_Y'
bind +camera_upward         'RALT' + 'MOUSE_BUTTON2' + 'MOUSE_AXIS_Y'
bind -camera_zoom         'RALT' + 'MOUSE_BUTTON0' + 'MOUSE_BUTTON2' + 'MOUSE_AXIS_X'
bind +maya_camera_stub         'RALT' + 'MOUSE_BUTTON0' + 'MOUSE_BUTTON2' + 'MOUSE_AXIS_Y'
//bind -camera_zoom         'LALT' + 'MOUSE_BUTTON1' + 'MOUSE_AXIS_X'
//bind -camera_zoom         'RALT' + 'MOUSE_BUTTON1' + 'MOUSE_AXIS_X'
//bind -camera_zoom         'LALT' + 'MOUSE_BUTTON1' + 'MOUSE_AXIS_Y'
//bind -camera_zoom         'RALT' + 'MOUSE_BUTTON1' + 'MOUSE_AXIS_Y'
bind +camera_roll       'LALT' + 'MOUSE_BUTTON1' + 'MOUSE_AXIS_X'
bind +camera_roll       'RALT' + 'MOUSE_BUTTON1' + 'MOUSE_AXIS_X'
bind -camera_roll       'LALT' + 'MOUSE_BUTTON1' + 'MOUSE_AXIS_Y'
bind -camera_roll       'RALT' + 'MOUSE_BUTTON1' + 'MOUSE_AXIS_Y'

// cutscene    剧情画面
bindsection cutscene_screen
bind cutscene_skip 'ESC'   跳过键 , 以下同
bind cutscene_skip 'ENTER'
bind cutscene_skip 'NUM_ENTER'
bind cutscene_skip 'SPACE'
bind cutscene_skip 'E'
bind cutscene_skip_forward       'CTRL' + 'RIGHT'   播放快进键
bind cutscene_skip_forward_more'RIGHT'
bind cutscene_skip_backward      'CTRL' + 'LEFT'回放键
bind cutscene_skip_backward_more 'LEFT'
bind cutscene_switch_cameras   'T'         此处可以切换镜头
bind cutscene_speedup            '='
bind cutscene_slowdown         '-'
bind cutscene_resetspeed         '0'
bind cutscene_speedup            'NUM_PLUS'
bind cutscene_slowdown         'NUM_MINUS'
bind cutscene_resetspeed         'NUM_MULTIPLY'
......</P>
<P>转自游侠网</P>
页: [1]
查看完整版本: [转帖]在H5中实现自定义快捷键的任意设定--