注册 | 登录

游侠NETSHOW论坛





查看: 12915|回复: 10
打印 上一主题 下一主题

[原创] 在H5中实现自定义快捷键的任意设定--研究input.cfg文件 [复制链接]

帖子
2858
精华
12
积分
4829
金钱
6955
荣誉
100
人气
0
评议
0
跳转到指定楼层
楼主
发表于 2006-5-25 22:42:55 |只看该作者 |倒序浏览
修改目的:

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

不,我们要改。

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

实现方法见下文。



作者说明:

1.本人并非专业人士,此帖是讨论贴,旨在抛砖引玉,希望大家补充、更正、完善。
2.在C:\Documents and Settings\用户名\My Documents\My Games\Heroes 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'

//adventure_flyby_screen
bindsection adventure_flyby_screen
bind flyby_skip 'ESC'
bind flyby_skip 'ENTER'
bind flyby_skip 'NUM_ENTER'
bind flyby_skip 'SPACE'
bind flyby_skip 'E'

// creature tutorial screen
bindsection combat_flyby_screen
bind combat_flyby_play_shot 'ENTER'
bind combat_flyby_play_shot 'NUM_ENTER'
bind combat_flyby_play_shot 'E'
bind combat_tutorial_toggle_dev_tooltip 'CTRL' + 'X'

// esc menu
bindsection esc_menu
bind close_menu 'ESC'
bind close_menu 'E'

// video screen
bindsection video_screen
bind skip_movie 'MOUSE_BUTTON0'
bind skip_movie 'MOUSE_BUTTON1'
bind skip_movie 'MOUSE_BUTTON2'
bind skip_movie 'SPACE'
bind skip_movie 'E'
bind skip_movie 'ENTER'
bind skip_movie 'NUM_ENTER'
bind skip_sequence 'ESC'

// single player menu
bindsection single_player_menu
bind prev_menu 'ESC'

// multi player menu
bindsection multi_player_menu
bind prev_menu 'ESC'

// options menu
bindsection options_menu

// spellbook_screen
bindsection spellbook_screen
bind input_previous_page 'A'
bind input_next_page 'D'
bind input_bookmark_up 'W'
bind input_bookmark_down 'S'

// hire_screen
bindsection hire_screen
bind jd_button_0 'R'
bind jd_button_2 'SPACE'
bind jd_button_4 'A'
bind add_creatures 'NUM_PLUS'
bind remove_creatures 'NUM_MINUS'

// town_info_screen
bindsection town_info_screen
bind close 'F'
bind close 'E'

[ 本帖最后由 KENTSHAW 于 2006-5-25 23:12 编辑 ]
人生就是一场不能S/L的RPG游戏。
主角你自己演,故事你自己编,BOSS你自己打:升学、择业、婚姻、升职、家庭危机、疾病、衰老,然后是孩子的升学、择业、婚姻...
打不过BOSS也要继续玩下去,因为你不能S/L...

使用道具 举报

游侠元老版主

元老版主勋章精华勋章版主勋章资深版主勋章

帖子
5660
精华
20
积分
7484
金钱
49193
荣誉
65
人气
35
评议
7
沙发
发表于 2006-5-25 22:48:28 |只看该作者
恩...虽然之前某E已经在游家帖过了..但还是支持楼主的研究精神^^加精鼓励一下

使用道具 举报

帖子
2858
精华
12
积分
4829
金钱
6955
荣誉
100
人气
0
评议
0
板凳
发表于 2006-5-25 22:50:40 |只看该作者
原帖由 unicornxp 于 2006-5-25 22:48 发表
恩...虽然之前某E已经在游家帖过了..但还是支持楼主的研究精神^^加精鼓励一下


晚了一步??呵呵




[ 本帖最后由 KENTSHAW 于 2007-1-6 13:19 编辑 ]
人生就是一场不能S/L的RPG游戏。
主角你自己演,故事你自己编,BOSS你自己打:升学、择业、婚姻、升职、家庭危机、疾病、衰老,然后是孩子的升学、择业、婚姻...
打不过BOSS也要继续玩下去,因为你不能S/L...

使用道具 举报

杀死 叛乱者

帖子
1131
精华
1
积分
766
金钱
773
荣誉
0
人气
0
评议
0
地板
发表于 2006-5-25 22:57:02 |只看该作者
顶的就是这种技术帖.....我最佩服的就是技术强人,话不多,发的帖子就说在点子上....支持~~!

使用道具 举报

帖子
1
精华
0
积分
1
金钱
1
荣誉
0
人气
0
评议
0
5#
发表于 2006-5-25 22:57:24 |只看该作者
楼主,怎么没有快、慢速战斗的键?每次切换快慢战斗都要点几层菜单,烦琐死了。麻烦帮忙解决一下~

使用道具 举报

帖子
2858
精华
12
积分
4829
金钱
6955
荣誉
100
人气
0
评议
0
6#
发表于 2006-5-26 01:01:48 |只看该作者
原帖由 gto_s 于 2006-5-25 22:57 发表
楼主,怎么没有快、慢速战斗的键?每次切换快慢战斗都要点几层菜单,烦琐死了。麻烦帮忙解决一下~


这个没有快捷键,只能手动设定。
人生就是一场不能S/L的RPG游戏。
主角你自己演,故事你自己编,BOSS你自己打:升学、择业、婚姻、升职、家庭危机、疾病、衰老,然后是孩子的升学、择业、婚姻...
打不过BOSS也要继续玩下去,因为你不能S/L...

使用道具 举报

帖子
82
精华
0
积分
41
金钱
67
荣誉
0
人气
0
评议
0
7#
发表于 2006-5-26 01:06:37 |只看该作者
顶你无话说  最好图文并茂哈 我知道我要求太高了

使用道具 举报

帖子
2858
精华
12
积分
4829
金钱
6955
荣誉
100
人气
0
评议
0
8#
发表于 2006-5-26 08:54:03 |只看该作者
原帖由 sd783106 于 2006-5-26 01:06 发表
顶你无话说  最好图文并茂哈 我知道我要求太高了


不需要图来解释吧。

1.在C:\Documents and Settings\用户名\My Documents\My Games\Heroes of Might and Magic V中找到input.cfg文件,用记事本打开。

2.然后任意修改就可以了。

3.完毕。
人生就是一场不能S/L的RPG游戏。
主角你自己演,故事你自己编,BOSS你自己打:升学、择业、婚姻、升职、家庭危机、疾病、衰老,然后是孩子的升学、择业、婚姻...
打不过BOSS也要继续玩下去,因为你不能S/L...

使用道具 举报

帖子
413
精华
0
积分
207
金钱
490
荣誉
0
人气
0
评议
0
9#
发表于 2006-5-26 11:24:55 |只看该作者
hoho
可惜我是微操一族,左手键盘,右手鼠标,我把快捷键都集中在wsad四周,许多操作都是用键盘了,很快的,比如回车,我只需要按E。

使用道具 举报

帖子
1186
精华
0
积分
594
金钱
1403
荣誉
0
人气
0
评议
0
10#
发表于 2007-12-11 00:27:23 |只看该作者
没有改 "快速战斗"的 鉴定完毕

LS 你还微操呢 知道为什么该快捷键么 不微操用该啊 多半是幼儿园跑出来的 还"微操一族"
E8400
DFI LanParty LT X38-T2R
Zotac GTS 250

使用道具 举报

帖子
149
精华
0
积分
75
金钱
145
荣誉
0
人气
0
评议
0
11#
发表于 2011-9-6 07:53:27 |只看该作者
感谢楼主分享!!

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

手机版|Archiver|游侠NETSHOW论坛 ( 苏ICP备2023007791号 )

GMT+8, 2024-4-27 19:04 , Processed in 0.366020 second(s), 11 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

分享到