找回密码
 注册帐号
搜索
查看: 12629|回复: 18

[玩法攻略] 半成品攻略——多控流基础——全操作改键方案

[复制链接]
发表于 2023.3.10 21:17 | 显示全部楼层 |阅读模式
半成品攻略——多控流基础——全操作改键方案

首先上镇帖图


这是贴吧某些玩意要的0穿斧头利用小号打180w图片,多发几次,毕竟发贴吧不保险


我这人比较心灵脆弱,要是整天看到某些玩意在贴吧给我弄PS下套BB个没完,真的很烦
虽然我完全没有意愿再搞什么证据,视频什么的
但是毕竟有些人是真心求教,不能因为几个垃圾坏种就不出手对不对?
尽管对这破游戏,我已经心灰意冷,能劝退人就劝退,没有带你们飞的动力
不过给你们指条路的力气还是有的
刚好以前心血来潮整的烂活可以丢出来观赏
虽然不是啥很正常游戏向东西,但是还有那么点用
全当给贴吧某些真心求教的人回应,虽然这也许不是你们想要的东西
但是这已经是我能给出最好最核心的东西,它就是一把通向特殊玩法的钥匙


然后,诸位看客真是对不住,因为我这人的语文不大好,从小及格次数有限
攻略有点没头没尾的,你只好将就着看,现在我甚至忘了原来写了啥,也没空改,做了个牢骚序就发了,节约时间
东西还是有的,能不能提炼成你的东西就看你自个本事了

最后,这东西你没搞懂也完全没啥关系,干干净净挺好的
尽管这个世界脏的可以,维持自身纯净也是一种享受





多控流基础——全操作改键方案

游戏发展到现在,操作更新方向依旧很畸形
应该说,这世界绝大多数PC软件的操作方式都很垃圾
因为很多人极少有机会接触操作很神奇的完全操作向的软件,比如vim和emacs这种
有接触一类软件是知道这么回事,绝大多数软件公司都不会在这种方面下苦功夫
对于这种战斗游戏更加明显
官方承诺做什么操作改善,实际就是加了几个快捷键,这种滑稽持续了一个又一个版本


这其中的根本问题是,原生游戏操作手段有限,操作跟不上想法
所以只能通过频繁氪金的手段来简化操作次数
操作少了,失误也就少了,打的就快了
取舍结果就是刷图单一化,操作牛逼的人集体跑路
那东西称不上是人牛逼,只是钱牛逼,事实上氪金已经逼走大部分人了
你可能确实具备所有的资源(这里指宠物和小号),但你没法把所有的资源同时调动起来
毕竟别人射5发打死怪,你射25发打死怪,怪对你操作的容错可想而知,一个失误就是死的结局
然后所谓什么魔剑士更新,也就是强制增伤减少操作量
一击流爆裂不是么,说白了整个来回又坑了一把
后面跟进刀子肯定有的是


本来Nexon那公司开发出DNF和冒险岛,都是双手键盘的游戏,所以思路上就有大坑
洛奇可是一手键盘一手鼠标的游戏,一只手按全键盘,还要兼顾<Ctrl>做怪物锁定
设计一堆快捷键能按的过来,以为我们都是3只手?


这东西可以改,这游戏为数不多的优点就是有内存补丁,可以用按键精灵
你可以对游戏做很多邪恶的改造
如果改变操作方式,就能给挑战高级副本的增加可能性
获得极致的刷图体验
所以这里介绍的就是一种能把所有快捷键轻松按起来的 "科技"


这种改键方式与目前主流改键路线不同
很多东西依旧在摸索阶段,要走下去得靠自己
我只提供基础知识来入门
能搞定自己搞着爽,搞不定也不用强求
反正我觉得就算你搞定了,折腾这玩意过程也不是轻松惬意的事
而且,你不用担心自己改操作作弊会死,一堆 “老前辈” 应该会死在你前面,B站视频挨个举报就完了


然后就是,这种东西只是有追求的人才值得弄的东西
只针对有志单刷高级副本,并且意愿强烈,且追求爽度的玩家
只刷梦拉以下的副本的不用看,没有必要,浪费时间
已经掌握主流改键的也不怎么推荐看,我无法做什么保证这东西未来到底啥样以及你最终能做到什么地步




对于这个游戏改键
最初改操作的目标一开始并没有定那么大
只是为了解决宠物召唤测试了下按键精灵能否做到那样的东西
随着新宠物的出现调了很多次,发现所谓的鼠标宏式处理操作的方式太过简单,无法满足真正改游戏操作改造的需求
本来投到C++折腾,偶然的机会测试出一个可行的按键精灵版本操作体系,虽然是阉割劣化版
用起来还可以,比较容易理解
所以这个帖子主要针对按键精灵版本的改键体系做系统的描述

如果你不懂按键精灵,应该去B站找些教程系统的学习下
如果你懂其他高级语言,这种方案只适合参照,并不值得照搬



# 1 基本思想

你要有很多观念上的根本改变

比如:游戏里有一个技能图标,你把鼠标移动到技能图标,点击,然后你把鼠标移回来
这样一套东西就是操作慢的原罪

虽然完全否定这个东西有些过分
但是极限情况你的操作跟不上想法,就会灰头土脸
不这么做你没法更进一步

所以
任何宠物不应该出现在界面技能槽上,技能槽只能用来看技能CD
如果要点技能槽,起码是非常限定的,十分钟或半小时点一次这种,比如什么链式铳炮
实际如果你要去点技能槽,只是改键上的一种偷懒罢了
个人定制几百个技能和宠物并且一一配置仍旧是一个比较繁琐的事情

有时候你会有很多好主意
但是操作繁琐意味着你不会去用
绝大多数游戏特殊设计也因为麻烦而不为你所用
所以要想办法简化操作
让它操作准确,切实可行

很多人其实已经用了比游戏内置更高级的操作改造技术,来解决宠物召唤问题
比如购买罗技G600那种写LUA脚本的鼠标,在每个鼠标外设键位写脚本来模拟游戏操作达到召唤宠物的目的
那种方法是把问题解决了一小搓,键用完,又吃老本
所以我管那种叫做第一类操作设想
现在讲的就是第二类操作设想,它与第一类设想最大的不同在于量级,目的以及控制方式上:
    * 按键切账号,实现多控
    * 控制所有的宠物,同种宠物不同控制方法
    * 按键驾驭所有的技能
    * 统一的数据中心,操作本身理解账号的概念,不同账号不同数据
    * 无限的操作功能拓展可能性
    * 解锁新的控制方式——【键序列】
    * 【组合键】控制高级功能
    ...


我原来以为按键是做不到那种地步,刷图效率一直上不去
因为宽带是百兆的,电脑还是8年前6000的垃圾台式
后来宽带百兆改千兆,发现了很多根本上的变化

所以最好再比较好的硬件环境下搞这套东西,否则也会和我一样走很多弯路

即使如此,按键依然存在很多原生缺陷,后文我会描述操作锁冲突
虽然不是不能解决,总体设计改动非常耗费心力(愿意花时间你自个整)
当你达到那种地步,最好不要局限在这个方案,自己探索出更完美的改法


# 1.1 一些基本概念

为了让你更好的理解接下来会说什么,我会把一些基本的名词概念先罗列一下

# 1.1.1 【游戏快捷】和【脚本快捷】

【游戏快捷】就是游戏里面设置快捷键对应的功能,比如
    * 向前/后/左/右移动
    * 取消宠物召唤
    * 命令宠物坐下

【脚本快捷】就是你用脚本写了一个完整的可激活功能,它可以是模拟一整套游戏快捷操作
你见到各种视频里面一堆所谓非人操作其实就是【脚本快捷】
比如,召唤一种类型宠物,你需要按照顺序模拟一系列的【游戏快捷】:
    * 切换技能排N
    * 技能槽X  // 召唤宠物第N只
    * 切换技能排M  //默认原技能排在M
    * 等待宠物效果
    * 取消召唤
    ...

除了模拟类的功能外,真正实用的还有很多很多:
    * 切换账号窗口
    * 切换头衔
    * 切换组合卡
    * 加载设置对应副本的特性
    * 根据物品查找宠物
    ...

可以说,【脚本快捷】的用法取决于你的想象力,小到一个模拟操作,大到打造成一个战术平台




# 1.1.2 【游戏快捷】键位配置的特有性质和原生问题


一些性质将为随后的改键提供设计依据,一些问题则会利用特殊的手段来去除掉

# 1.1.2.1 【游戏快捷】的键位配置性质和原生问题

即使你没有配置任何【游戏快捷】键位,也存在一堆【固定键】:
    <Esc>
    <F1>-<F12>
    <1>-<=>
    <Enter>
    <Ctrl>
    <Shift>
    <Alt>
在这些之外,你可以配置【游戏快捷】键位,有两种情况:
    【单键】
    【组合键】
为了方便描述,【组合键】按照下面的方式书写:
    <C-?> 表示<Ctrl>与<?>的双键组合
    <M-?> 表示<Alt>与<?>的双键组合
    <S-?> 表示<Shift>与<?>的双键组合
    <C-M-?> 表示<Ctrl>、<Alt>与<?>的三键组合
    <C-S-?> 表示<Ctrl>、<Shift>与<?>的三键组合
    <M-S-?> 表示<Alt>、<Shift>与<?>的三键组合
    <C-M-S-?> 表示<Ctrl>、<Alt>、<Shift>与<?>的四键组合

【游戏快捷】存在一些限制
    * 【单键】不能配置【固定键】
    * 【组合键】不适用<Esc>,<F1>~<F12>,<Enter>,但是可以用于<1>~<=>
    * 【组合键】只适用双键

什么是【组合键】只适用双键?比如a键的组合,只支持:
    <a>
    <C-a>
    <M-a>
    <S-a>
不支持:
    <C-M-a>
    <C-S-a>
    <M-S-a>
    <C-S-M-a>
这里你就可以发现,默认任一键,支持8套变化,洛奇只支持4套

【组合键】和【组合键】,【组合键】和【单键】之间也存在特定的关系性质:

    * 对于<1>~<=>,即使你没有设置组合键,按下组合键也会把单键的功能给吞了
      要注意的是:<1>~<=>是用于【脚本快捷】使用物品,宠物召唤,等等的重要键位
      因为这个性质,假使你正在使用<1>~<=>,你这时候按下<Ctrl>、<Shift>、<Alt>就会出现吞【脚本快捷】的现象
      即按按钮没效果

    * 对于其他的键盘键,双键【组合键】存在与<1>~<=>部分完全相反的性质,三、四键则不完全相反
      比如键a,如果你没有键a的组合键,那么所有的组合键,都与a一致,例如:
          <a> 向左移动
          <C-a> 未设置,同<a>一致,向左移动
          <M-a> 未设置,同<a>一致,向左移动
          <S-a> 未设置,同<a>一致,向左移动
      以上四套按法都是向左移动,但是要注意另外四套:
          <C-M-a> 无法设置,无效果
          <C-S-a> 无法设置,同<a>一致,向左移动
          <M-S-a> 无法设置,无效果
          <C-M-S-a> 无法设置,无效果

# 1.1.2.2 <Shift>切换F技能栏延迟问题

通过按下<Shift>可以切换<F1>~<F12>功能,但是存在一个小延迟
也就是说,你快速的按下<S-F1>得到不是切换功能,而是<F1>原功能
可以说那个F主副两套技能排需要谨慎的使用

# 1.1.2.3 <F1>和<F2>与打拳绑定问题
<F1>和<F2>与打拳绑定
连续技2级以上可以通过<F1>和<F2>来操作
这也意味着<F1>、<F2>放置功能被锁住
你不可能通过连续敲击<F1>来使用连续的突进刺拳
这种设计有好有坏,你可能更想要比较精确的操作手段

# 1.1.2.4 变身问题

变身包括经典变身,半神,以及异神化变身

变身和异神化会变动技能栏,而且这两玩意会冲突

这块具体细节我还没考虑清楚,也就是应该怎么放置的问题
可以在理解文章内容的基础上再进行思考

这块我比较喜欢同类技能等同键的方式来搞
比如:链舞=破灭之星
你在变身时候肯定无法使用链舞,所以可以放在F11这种键,利用鼠标侧键来控制


# 1.1.3 普通操作问题

正常人都是一手键盘,一手鼠标玩,单只手操作键盘,能够准确按到的键是有限的
这一点人与人之间会有天赋差异,有的人的手指比较修长
我的手指就比较短了基本YHN这三键开始右侧的键盘按键按起来就容易按错
(文内都将以左手操作键盘来举例)

因为学习操作键盘,手部要停留在基准键的时候都是用左手小指按左<Ctrl>

但是实际玩游戏,如果用左手小指按左<Ctrl>,那么手的范围会变窄
尤其是你频繁的按<F1>-<F5>这几个键
这时候如果改用小指下与手掌连接的部分来按<Ctrl>那么,相当于多了一个指头,左手操作范围会变大
但是也有弊端,就是<Shift>按起来会比较吃力
这一点我后文会提到,我的做法是将<Shift>关系的【组合键】降级为打开界面这样的用途


因为<Ctrl>锁定是游戏最经常操作的按键,会导致各种各样键位冲突问题
一般会用【游戏快捷】中【确认目标】来减少<Ctrl>使用频率
但是要注意【确认目标】没有<Ctrl>操作灵敏,有卡顿问题
如果点击确认目标,鼠标箭头在其他怪上,会发生目标改动,是个比较魔幻的快捷键
因为这种恶心的游戏内置设计,【确认目标】里面有很多多余操作




# 1.2 操作梯队

一个操作激活一个【游戏快捷】或【脚本快捷】

对目前操作进行效率排序,操作可以分为三个梯队

    * 第1梯队 【单键】:一个键一个功能
    * 第2梯队 【组合键】:通过Ctrl、Alt、Shift组合一个键盘一个功能
    * 第3梯队 【槽点击】:通过鼠标移动到界面技能槽位点击一个功能

这游戏操作的最大问题是:
【单键】和【组合键】数量不够(单手键盘操作),【游戏快捷】数量远远超过可准确操作这两者
<Ctrl>使用频繁,导致与其相关的【组合键】容易出现误触
所以很多人会依赖【槽点击】进行操作
也就是会把两个额外技能栏拉到屏幕中间,这些界面【槽点击】本身的数量也是不够的
而且会有其他各种各样问题
首先是影响视角,其次是操作起来慢,还有误点问题等等
尤其是在极限情况下,我已经无数次领教过【槽点击】是一种多么糟糕的操作方式
我个人看,这种鬼畜的操作方法,不是神经病无法彻底驾驭,用多还会精神衰弱
这东西真的用的很6的玩家我看了这么多年游戏视频,不超过3位
有一位印象比较深刻,就是一个打遗迹排行的人类,手动招骨龙D招青龙
那时候我第一个感觉他可能是触手星人,或者说他用了脚踏板


这从梦拉时代开始,有很大一部分人通过鼠标外设增加了一定数量的【单键】的【脚本快捷】
把隐藏的【槽点击】利用起来,使召唤某一类宠物一键化
但是那种方法数量有限,一旦官方更新更高级的宠物
就必须折中的把部分宠物放入界面进行界面的【槽点击】,这在部分已经用鼠标宏解决召唤问题的玩家视频中会有体现
一旦这么做,意味着做宠物召唤类型的取舍
取舍的结果就是不是用最优打法来打本,而用混用或使用通用的打法来打本


为了解决键位不够的问题,这里提出:
   * 引入【键序列】概念
   * 废弃绝大多数【游戏快捷】在左手的【组合键】的键位配置,这些废弃键位都改用【脚本快捷】操作
   * 修改<Esc>,<F1>,<F2>,<Caplocks>,<Win>原生功能,增加【组合键】数量




# 1.2.1 【键序列】

这个游戏有很多【游戏快捷】,在特定情况对战斗操作没有任何作用,或者影响很小,考虑这样的键位配置:

   # <Tab> 拾取道具
   # <q> 命令宠物过来
   # <w> 命令宠物坐下
   # <e> 伪取消召唤(这里先理解成普通的取消召唤即可,后文会进行解释)
   # <r> 上下宠物
   # <t> 宠物技1
   # <y> 宠物技2
   # <a> 向左移动
   # <s> 向前移动
   # <d> 向后移动
   # <f> 向右移动
   # <g> 取消技能

这些【游戏快捷】
  拾取道具不影响战斗操作
  与宠物有关的命令,在宠物没有召唤的情况没有任何作用
  移动类命令只会进行小幅度移动,可能打断技能,比如弓箭瞄准,但是比如喷火时,不会打断
  取消技能在没有使用技能时没有任何效果

左右移动在某些特定场合非常实用,很多人因为键位不够没把这些键用上
你可能会很奇怪<a><s><f><g>这样的左前右后搭配,因为一般CS仿的游戏都会用WASD或者ESDF这样的设计
但是一条线的前后左右不是练不出来的操作,适应大概要两周到两个月,主要难点是斜方向双键操作的适应
这样的搭配是为了方便后续【键序列】功能的记忆
(如果你很熟这整个方案是什么,可以自行设计这些基本键,这只是我的方案)


通过它们组合可以形成一个序列,再设计一个按键脚本来启动操作,最终激活一个【脚本快捷】,比如:

   # <Space> 激活键序列

这时候,你可以做这样的事情,比如:
   # <Tab> + <Tab> + <Space> 使用龙骨
   # <r> + <w> + <Space> 召唤一只徒安
   # <d> + <a> + <Space> 使用第一个魔法阵
   # <f> + <f> + <Space> 切换到第5个特性
   ...

这东西你可以自己敲下有多快,特别是龙骨这东西用【槽点击】就很烦

总共过12个基础键
如果是两个键的序列,就有144个【脚本快捷】
如果用三个键的序列,就有1728个【脚本快捷】

一般来说两个键的序列个是够用的,如果你还想少量增幅
还可以利用<Ctrl>、<Alt>、<Shift>来转换,比如
    # <Tab> + <Tab> + <Ctrl> + <Space> xxx
    # <Tab> + <Tab> + <Alt> + <Space> yyy
    # <Tab> + <Tab> + <Shift> + <Space> zzz

这样,通过转换,会形成4倍【脚本快捷】,也就是说
如果是两个键的序列,就有676个【脚本快捷】
如果用三个键的序列,就有6912个【脚本快捷】

基本上正常人两键版本就够用了,如果你真的天赋异禀,可以考虑三键


# 1.2.1.1 【键序列】在操作梯队的位置

当引入键序列,操作梯队会发生变化
    * 第1梯队 【单键】:一个键一个功能
    * 第2梯队 【组合键】:通过Ctrl、Alt、Shift组合一个键盘一个功能
    * 第3梯队 【键序列】:通过左手快速按下一个序列激活【脚本快捷】
    * 第4梯队 【槽点击】:通过鼠标移动到界面技能槽位点击一个功能

最终目的还是要干掉【槽点击】
引入【键序列】是大范围操作改动的基础

比如要把解放左手能按到【组合键】
因为很多键,比如切换特性1-5这5个【游戏快捷】,放在左手【组合键】上非常的浪费
更理想的情况是【组合键】,应该做召唤宠物,切换窗口这样的【脚本快捷】操作

又比如想要全面修改<F1>的功能,要让<F1>完全失效,但是魔法阵的使用需要按<F1>
把魔法阵的激活放到【键序列】里,这样就能保证<F1>可以改
这是后文对<F1>、<F2>可以进行偷梁换柱的基础

备注:
不完美的是,尽管少用<F1>和<F2>,依旧会有奇葩问题,比如
如果你突刺拳打出去,这时候发现,需要用魔法阵,按<F1>无法使用魔法阵
这算是一个官方失败的设计,我觉得魔法阵应该是优先于<F1>的格斗功能
所以如果4个魔法阵,最好把常用的设置在<F3>和<F4>会比较好
更准确的说,思考打拳主要的适用范围
比如你一般只在打boss时打拳,那么打boss的魔法阵方案就比较适合<F3>和<F4>
利用类似的巧妙的布局就可以规避一些糟心的问题


# 1.2.1.2 【键序列】效率问题

【键序列】之所以是第3梯队,主要是记忆问题和跨度问题

存在甚至比【组合键】更好按的键位,比如
    <r> + <r> + <space>
    <f> + <f> + <space>
也存在不那么好按的组合,比如
    <y> + <Tab> + <space>
对于【脚本快捷】应该放入怎么用的【键序列】考验使用者本身的思考键位配置能力

比如,为了方便记忆,以顺序编号,假想asdf是一个序列,所以使用魔法阵可以是
    <d> + <a> + <space> 使用第1个魔法阵
    <d> + <s> + <space> 使用第2个魔法阵
    <d> + <d> + <space> 使用第3个魔法阵
    <d> + <f> + <space> 使用第4个魔法阵

又比如,因为asdf已经是一个顺序,加个<Tab>
    <f> + <Tab> + <space> 使用特性1组
    <f> + <a> + <space> 使用特性2组
    <f> + <s> + <space> 使用特性3组
    <f> + <d> + <space> 使用特性4组
    <f> + <f> + <space> 使用特性5组

再比如,要使用切特性这个特殊的游戏技巧:
因为状态支援与穿透这两个特性的使用特性不同,状态支援上完后是切换特性是仍旧保存的,而穿透会丢失
所以可以将状态支援放在特性第3组且无连击特性,而特性第5组有连击特性
设计:
    <f> + <s> + <space> 切换特性3
    <g> + <f> + <space> 使用状态支援_最大攻击序列
    <f> + <f> + <space> 切换特性5
这样设计的目的是,这些键都靠的比较近
因为使用状态支援后,需要马上切到特性5组,所以用<f> + <f>这样快速的【键序列】
也就是说,将能够高效操作的【键序列】作为常态特性组,而其他作为激活特性组

有人可能认为状态支援有2秒准备时间,多快都无法直接使用技能,没有必要做
我这么说,那2秒准备,提前按完,可以切到小号去做点别的操作再切回来
而且我一点也不喜欢记那套顺序



# 1.2.1.3 【键序列】对部分模拟【游戏快捷】的准确保障

切换特性设在几个键容易按错的键,或者误按就会直接导致和已经激活特性拜拜

因为【键序列】是通过启动才生效的,所以你可以靠按对准确的键,再用<space>来启动
像asdf这种基准键位,很难按错,可以保证切换特性的准确




# 1.2.2 【组合键】

谈到组合键,就不得想到【单键】的8套变体问题
事实【游戏快捷】确实最多只支持4套
但是【脚本快捷】没有这个限制

只要实际去按,很容易能理解的是,对于一只左手来说,你要按三、四键的【组合键】负担太大
所以游戏设计的【游戏快捷】也只是考虑双键【组合键】

备注:
8套相和4套比依然存在很多不确定问题
比如三、四键可能误击单键或双键,按键精灵监听方面也确实存在这种bug
这里提出更倾向提出八键理论,如果有能力,可以考虑更高级语言去解决这个问题(例如屏蔽式的操作管控)


# 1.2.2.1 【空白键】

如上所述,我们知道一个键具备8套开发潜力
7套【组合键】中,如果一个【组合键】不会受到影响到【单键】功能,称之为【空白键】

一些【组合键】本身就是【空白键】,另一些【组合键】要在特定情况下才是【空白键】

比如:
<1>~<=>这12个键的【组合键】,因为它的【单键】和【组合键】并不冲突
<F1>~<F12>这12个键的【组合键】,只有它的主副技能槽没有放置任何技能,道具,宠物时,才是【空白键】
其他的一些键的【组合键】,如<o>:
    只要不设置任何【单键】,它就是【空白键】
    如果设置任何【单键】,它只有部分【组合键】是【空白键】


如果把键<a>设置为向左移动,那么它的【组合键】就不是【空白键】
因为它的一些【组合键】如果没有设置,就是向左移动功能

通过一定程度的包装,让这个键<a>的部分【组合键】包装成具备【空白键】性质
比如你可以创建一个宠物标签页,里面不用放任何一只宠物,这时候
有10个【游戏快捷】直接变成无功能,即召唤宠物1~10
这时候,如果你设置【游戏快捷】

    <M-a> 召唤宠物标签页第6只宠物

那么,按下<M-a>就没有任何功能,这样你就可以把这个【组合键】当作【空白键】

要注意,一般宠物标签会被绝大多数玩家搞成10只特定宠物
但是对于这个方案一开始你就要舍弃这种老旧的想法
所有的宠物最终都要以【脚本快捷】统一召唤,这样可以在一个源头进行接管控制
所以不需要宠物标签栏设置实际的宠物


设计【空白键】的意义在于,【空白键】可以配置【脚本快捷】
如果【组合键】对应的【单键】有【游戏快捷】效果,就会冲突
所以要包装成【空白键】
即配置一个不会影响操作的【游戏快捷】,例如:

    召唤宠物标签页第N只宠物(实际标签页无宠物)
    使用表情(1-10)

都可以用来包装,但是用来做包装用的【游戏快捷】极其有限,所以你其实没法把所有【组合键】全部都包装起来
只要把几个基本的包装起来就行了



然后,你会发现,取消召唤这样的【单键】不适合包装,因为如果你进行包装
如果你按下对应的<Ctrl>、<Alt>、<Shift>,就可能导致取消召唤失败
所以上面我说<e>配置的取消召唤是伪取消召唤,一般的做法是找一个键作为取消召唤的【游戏快捷】按键
<e>的【单键】功能模拟点击那个按键,这样所有【脚本快捷】按的键就与<e>无关,因为
左手可以轻松按到的<e>是珍贵键位,这样【组合键】:
     <C-e>
     <M-e>
     <S-e>
就可以随便配置


上文中,因为<Tab>是道具拾取,所以<M-Tab>切换窗口时候就会导致非意愿的拾取地上的道具
这时候就要通过将<M-Tab>包装成【空白键】来解决这个问题


# 1.2.2.2 【空白键】的鼠标拓展策略

三、四键的【组合键】按起来是一件非常费力的事情

但是如果左右手同时按【组合键】呢?
左手主要负责按<Ctrl>、<Shift>和<Alt>,右手按鼠标外设
按【组合键】就不再是一件很难的事情

对于市面上的任意一种12键的鼠标来说,只要他有基本的模拟点击宏(按下-等待延迟-弹起即可)

通过把鼠标映射到按键盘的键位,比如

   <m>  <k>  <o>
   <,>  <l>  <p>
   <.>  <;>  <[>
   </>  <'>  <[>

这12个键,不设置任何【游戏快捷】,它的所有【组合键】都是【空白键】,所以可以设置96个【游戏快捷】


注意:
实际上12键鼠标可能有14个可用外设键甚至更多(比如雷蛇包括上端稍微难按的DPI键位)
如果这14个可用外设,全部拓展为8套,那么就是112个【脚本快捷】

关于红龙M990鼠标
这里比较推荐国产一款红龙M990 RGB,有16个侧键,4个上端键,1个左键侧键
主要是16侧键中间两排比较难按准,需要花很长时间熟悉,可以考虑贴一下东西来增强下
上网215RMB左右能买到,但是据说这玩意有品控问题


# 1.2.2.3 【空白键】与键盘的拓展策略

海盗船键盘基本是必入的外设
船盘的那种宏是没啥亮点的(那种录制宏就是垃圾),但是船盘的键位置换技术是真正的神技
目前我知道能偷梁换柱的只有船盘
关键不在于买多贵多好,只要能换键就行,最新最便宜的盘300+RMB就能买到

要注意:
最新的船盘只能搭配win10或以上版本使用,win7下只能作为普通键盘来使,那样就没意义了,改键是依赖驱动的
改系统也是个需要谨慎问题,你可能win7下8开不怎么卡,win10下8开会卡(不愧是逆优化)

可以把键盘上<F1>换为<F7>来用
洛奇<F1>打拳有很多问题,那就舍弃<F1>
当键盘按下<F1>时,实际是按下<F7>,这样就规避了<F1>的问题

其他诸如魔法阵要按<F1>的问题则交给【键序列】来解决

这时候<F7>不设置任何主副内容,这样F7的【组合键】就全部是【空白键】

我一般会这么玩,即<F6>、<F7>、<F8>空白
<Esc>、<F1>、<F2>偷梁换柱为<F6>、<F7>、<F8>

这样原本只是【固定键位】的按键就变成具备开发潜力的键位

如上面章节所说,每个键可以拓展8个【脚本快捷】
因为F1必须是左手按,所以只能局限在4套,即总共12个【脚本快捷】

<Esc>有非常珍贵的功能特性(比如雷击取消硬直),所以不能轻易舍弃
而<Win>最后会被改掉,所以要用<Ctrl>+<Esc>来打开游戏菜单
所以实际最后会剩下10个【脚本快捷】

因为是可以随手按到很珍贵的10个【脚本快捷】,可以做很特殊的【脚本快捷】

与以往的用法不同,不用局限在【固定键位】的桎梏里
你可以将:
        <F1>设计为切换到技能排1,然后使用穿心箭
        <F2>设计为切换到技能排2,然后突进刺拳
这样你就可以通过F1和F2同时使用技能,并且切换到两个完全不一样的技能排体系
这是实现全技能驾驭的关键技术之一


<win>键推荐偷梁换柱成一个设置成【脚本快捷】 选取目标 的键
很多人没有把这个键用起来,它很有用
可以作为索柱子的雷达(很多人喜欢依靠柱子外观补丁,其实现在已经没必要)
也可以快速开箱

<caps>也是可以改的,至于x、c、v、b推荐使用游戏的几个蓄力技能
这套方案的【单键】的配置是很死板的,真正灵活的是【键序列】和【组合键】的设计搭配

这里只说明键的基本修改策略,你也可以尝试改更多键




# 1.2.2.4 难搞的<Ctrl>

锁定怪物算是游戏最经常使用的操作
如果按照用手掌按<Ctrl>的方式操作,所以<Ctrl>极其容易引起误按
所以除非你有能力完全驾驭<Ctrl>,应该尽可能避免<Ctrl>的【组合键】


# 2 其他想法

# 2.1 多出的技能模拟


游戏原生操作你是没法实现真正全能的,因为按键不足
虽然技能可以丢技能槽,还有其他办法可以模拟
通过上面的手段,增加了非常多的【组合键】,以及引入【键序列】
就可以实现很短时间按到所有的技能

但是又会有另一个问题,就是槽不够,隐藏槽还要放宠物
部分宠物甚至不放槽,靠呼叫名字来召唤
才能保证有4个技能排来换几个常备系技能,尤其是是战斗、格斗、魔法这三个系(另一个系我拿去搞生活了)
这时候就要用另一种方式来使用技能
【游戏快捷】里面对应技能页有1-9个技能可以用,还可以切换1-10技能页
这样你就可以类似召唤宠物的方法设计【脚本快捷】:

        切换技能页N
        使用技能页第M个技能
        切换技能页1(默认技能页)

这一块你最多可以控制到 整体~忍者 这10个技能页

这可以弥补最后技能槽不足的问题,剩余的技能则可以放置在<1>~<=>技能排隐藏部分,同宠物召唤一样使用

这种【脚本快捷】,如果是长CD的,适合搞到【键序列】里
如果是即时或者短CD的,适合弄到【组合键】或者一键里

我一般是<z>作为物品栏,<x>,<c>,<v>,<b>作为默认技能页1的蓄力技能,因为现在蓄力技能就那么几个

    爆裂
    樱雨
    疯狂疾走
    电磁风暴

为了遵循尽量左手保持在小范围移动,实际上技能页的另外5键是不作为操作考虑,全部下降到【组合键】和【键序列】里
如果你觉得有必要,船盘左侧那6个外设可以用起来,实际最后我做出【键序列】和【组合键】,很少用那6个外设键
12侧键鼠标没法解决这个问题
不过,16侧键鼠标可以多4个键来解决这个问题,总体上整个键盘的键数是不够的,余出4键,可以模拟技能页的技能键



# 2.2 UI性质的【游戏快捷】

打开UI仍旧是一个刚需操作,因为比如F是好友栏,是很经常用的
因为包装【空白键】是有限的,可以把这一块提到<Shift>的【组合键】上,比如

    <S-f> 好友栏
    <S-t> 宠物栏
    <S-a> 小地图
    ...

依照最初的习惯上升到<Shift>键来控制




# 2.3 多开窗口切换、界面调整、以及【外设槽】、以及切号原理

多开是个复杂问题,以4个号为例,推荐用下面的方法,操作窗口

    <M-1> 切换到账号1
    <M-2> 切换到账号2
    <M-3> 切换到账号3
    <M-4> 切换到账号4

如果是8个号,另4个号可以用<S-?>来组合,也可以用<C-M-?>来组合,我个人尝试后比较推荐前者
实际上单台电脑开4个号是比较理想情况,这样<S-?>就可以用来做另一些其他功能来用

你可以用按键精灵将角色识别后给洛奇的窗口命名
类似Tin补丁那种窗口命名功能,只不过你要主动去识别(比如识别角色名后给窗口命名),命名后你就可以识别绑定窗口hwnd
(注意:这样的窗口改名并不是必须的,因为区分账号的只是脚本,而不是人,只要脚本认清楚窗口句柄就够了)
这样用【组合键】可以迅速切换窗口

这里推荐的做法是,在窗口状态下,window界面的菜单栏拉到屏幕上方,设置为隐藏菜单栏,这样原来界面下面就有一条留白
这时候你是看不到window的菜单栏
因为新的切号体系已经不需要了滑动鼠标去点击菜单栏,可以直接隐藏了
(这也可以解决另一个糟心问题,洛奇客户端开一段世界会因为一些操作导致窗口乱序)
如果鼠标放到屏幕上方会现实出来,差不多刚好和洛奇窗口正上方窗口条重合

通过图片可以设置桌面背景
你可以把桌面背景图片进行编辑,拉伸到与屏幕分辨率一样大小,然后在图片上自己画槽位,即【外设槽】
这些外设槽可以通过鼠标位置判断,模拟点击,它的功能同样是【脚本快捷】

注意:【外设槽】这并不会与前面提到,避免使用【槽点击】冲突
【槽点击】是游戏内置的功能,【外设槽】是【脚本快捷】
你可以考虑把优先度最低的或特殊用途的【脚本快捷】放入【外设槽】,比如【战术指令】

【战术指令】,比如音乐指令,所有小号召唤不同种类宠物
这样音乐号的战争就可以实现最大持续时间
一般4个号会超过18分钟,8个号能过30分钟
如果是8个号,比较推荐的做法是2个战术指令,即4个号自动切换线,召唤对应宠物
演奏结束后,切到另外的线路,主从4号才能进入地图

你也可以把宠物放上去,这主要是用来针对蓄力技能同时召唤宠物的复杂情况,因为:
左手蓄力,右手招宠是不会冲突得,麻烦得是左手蓄力,左手招宠
这依旧一个【脚本快捷】位置排布问题
因为总会有人追求,在蓄力情况召唤任意类型宠物这样的事情,这时候只能借助这种方式

如果你有能力,也可以做类似料理标尺浮在界面最顶层的槽位
虽然我想出【外设槽】这东西,但是实际战斗用起来很少
这东西主要还是用在弥补按键精灵做控件界面太麻烦的问题上
如果用高级语言做UI空间,【外设槽】的用途会更纯粹


在多开切换时
实际上对当前的进程的句柄识别不会超过1ms,这就意味着
对于绝大多数操作,你不用考虑效率问题,直接先确定当前进程是否是对应账号
因为除了【组合键】切换账号外,你仍然可能使用大量的<M-Tab>来切换账号,所以当前账号是哪个是不确定的
不要去尝试精准的匹配每一次账号切换
而将账号数据封装在一个Map对象(按键精灵对应Dictionary)
设置一个全局变量对应当前账号的句柄,一旦切换发生(当前账号句柄与全局变量不一致)
就将上一次账号数据存入Map对象中,把对应当前账号的数据读出来
这种数据包括如:
    当前账号正在使用什么特性(1-5)
    当前账号正在使用什么技能排(1-8)
    ...
在整个脚本设计时,什么操作前置多开切换,要考虑进去,或者干脆每次【脚本快捷】启动前做一次切换检查


随意切指定账号是这个操作体系最屌的功能
关键在于,游戏最强的buff不是加20大,30大那种

双演,第三只眼,魔法阵破保护(范围很小,需要用梦幻合唱和旋律冲击罚站),圣歌崩坏波动

这一套上完,基本能让你伤害短暂的十秒内达到十几点穿刺的档次,刺袍也才3点,对于boss攻坚非常实用

还有多盾流,改自动攻击主角色自动跑射,辅助角色轮着给主角色上圣盾,

搞懂这种东西你根本不会去考虑什么人偶杆子尔格50,我觉得那种玩意就是垃圾

具体细节请自己研究体会


# 2.4 混用键位与切装键位

我已经说过,变身和异神化会改变键功能

如果我将常态下<F9>设计为链钩,那么异神化时<F9>设计为瞬移
这样就可以保证说无论什么情况,对我来说<F9>就是使用技能进行位移
通过鼠标外设键的【单键】的【脚本快捷】模拟点击<F9>,这样我就有了无论是否变身我都有一个移动键位

类似的,我会把冲击当作一个链舞来用,链舞放在<F11>
(因为切技能页是切不到链刃页的技能,所以链刃技能适合放在界面上)


更复杂一点,我可以对这个瞬移【脚本快捷】做一个改造,比如:
记录这个键的点击时间,如果n秒没有点击就适用双枪的迫近,因为现在这个技能已经改为无敌不限目标
如果点过后,n秒内都是链钩
因为链钩要能量,迫近不要能量,这是一种可能有一定价值的想法
但是你不能保证你的迫近是否能点出来,比如你正在挨打,结果就是没用出【迫近】,脚本没法判断【迫近】是否已经
使用
方案依旧有足够的键位让你精确的使用两种类型的瞬移技能
毕竟国服没有日韩那种切武器几乎没啥延迟的网络


再复杂点
因为现在战术栏12套意味着富余,你可以用一套专门来做爆破箭,一套来做穿心箭
当你使用穿心箭时,切换到穿心套,当你用爆破箭时切换到爆破套
这依旧是一种比较想当然的想法,因为脚本没法判断你当前用哪一套装备

这种太过灵敏的切换,可能没办法做的,但是有一种不是很灵敏的是可以做的
比如下雨那块,你只要弄个战术栏搞个亡魂,一身下雨鉴定(云朵大小,CD,下雨时间)
用下雨技能前,切到这套装备下雨



# 2.5 键盘键位冲突和键位不足问题

当使用整套改键体系,你会发现,不足的不是【脚本快捷】,而且键盘上的按键
因为切技能排要8个键,切技能页要10个键,鼠标外设12键模拟点击需要12键,实际上你的键盘所有按键都要被考虑在内
一般不在这些键设置任何【游戏快捷】的【组合键】,因为会有冲突问题
这就导致键盘键位不足问题

这时候你可能要一个一个键抠出来做特定【游戏快捷】的模拟
比如:
虽然有10个技能页,我认为格斗家这个技能页是没有任何意义的,如上所述,我把格斗家弄到一个专门的技能排里
通过<F2>启动格斗系技能,切换到技能排2,这样切换格斗家这个技能页的【游戏快捷】就不用设置
这个多出来的键就可以作为4个【游戏快捷】的模拟来用

主要原因是鼠标外设12键模拟点击实在太过沉重了

12键鼠标模拟字母键和几个常用符号,而不是小键盘是有原因的
某些鼠标,比如雷蛇,模拟小键盘,和上下左右那以及其上方的6个键有很奇怪的bug
比如Num 8只作为UP

虽然没有时间富裕去实战测试
凭借一般操作经验,可以认为所有的<Shift>和<Alt>搭配组合键应该都是安全键位
因为这两种组合键按起来都比较别扭
利用这些安全键位,操作键不足问题可以极大缓解
<Ctrl>组合键位就不一样,他就是混乱之源,因为锁定怪物几乎是你最常进行的战斗行为



# 3. 实现技术细节(按键精灵)

这里的很多代码都是伪代码,我会解释基本思想,不要过分计较具体代码细节


# 3.1 主体结构
整个方案没法用一个单一的小精灵来解决
它需要一个完整的按键精灵软件

你需要一个【司令塔】脚本来做所有的事情,同时它是一个数据中心,常驻的处理程序

其他脚本利用启动键(支持每个键的8套演变监听)来记录或传递处理信息
比如【键序列】的基础键记录和【组合键】的启动

脚本和脚本间通过DimEnv定义的变量来传递数据(声明同名变量即可)

所谓的【司令塔】统一处理所有的需求(这种思想并不算完善,后面会提到)
本身按键精灵并不支持灵敏的监听,所以必须安装大漠插件(自行百度)
(顺便说下,有人意思是大漠插件会NGS,我玩这么久就没碰到,你要不去用那些付费的后台信息控制客户端的函数会NGS?)
大漠插件免费函数部分的waitkey函数,可以做灵敏监听,但是还不够,需要理解这个函数
当waitkey监听一个键时,已经监听到,并不意味着这个键被处理,需要主动KeyUp,否则如果你的循环体太短
比如少于200毫秒,它就会反复进入循环体

    while true
        waitkey(xxx, 0)
        KeyUp xxx, 1
    wend

如果没有KeyUp xxx, 1,在200毫秒内,这个循环体就可能执几百次



# 3.1.1.1 【司令塔】的启动,关闭,暂停和呼叫方法

通常启动【司令塔】适合用<Scoll Lock>,整体关闭适合用<M-Scoll Lock>,暂停用<Pause Break>
这几个键盘都在常规键之外,上面说到最后会有键盘不足问题,所以要把<Scoll Lock>和<Pause Break>用起来
因为<Print Screen>无法作为启动键,所以可以用船盘把<Print Screen>改为<Scoll Lock>
把<Scoll Lock>改为<M-Scoll Lock>
这样那三个键就可以依次对应启动,关闭,暂停
反正这三键你玩洛奇本身没啥用,

暂停的用途就是为了打字交流,一旦使用整个改键体系,你是没法进行正常打字的
需要先暂停后打字

其实最后我还是考虑单个<Scoll Lock>搭配<Ctrl>、<Alt>、<Shift>做整体的启动关闭和暂停
因为这样<Pause Break>可以解放出来,可以多一个键盘键位
再用海盗船键盘,把原生的<Print Screen>、<Scroll lock>、<Pause>键位给换成启动,关闭,暂停即可

【司令塔】脚本的启动键和监听键是两个不同的概念
启动键让【司令塔】常驻程序开始运行
监听键通知【司令塔】发号施令
通过DimEnv定义变量,可以告诉司令塔,要做什么

呼叫【司令塔】的方法是模拟点击【司令塔】的监听键,来告诉司令塔,你想要做一件事
尤其注意,这种模拟点击,需要严格的时间精度,所以绝对不能用KeyPress来做,只能这么写:

    KeyDown xxx, 1
    Delay 5
    KeyUp xxx, 1

这里的时间精度控制,5毫秒,比我的电脑的极限响应时间大一些,你需要自己去测试自己的电脑的响应时间
理论上电脑配置越高,这个时间越短

KeyPress每次按下意味着200毫秒损耗,这就是大部分人没搞懂为什么写的按键脚本反应很慢的原因
在【司令塔】内所有的模拟【游戏快捷】行为,都要用这种击键方式来控制时间精度


# 3.2 【模块】

不要想着在一个【司令塔】脚本塞入所有代码,一定要有【模块】的概念,自己编写按键脚本库
在库内编写init函数,来注册库信息,以及防止重新注册(只注册一次)
库调库,脚本调库,一步步把整个常驻程序搭出来



# 3.3 【组合键】脚本启动键

【组合键】脚本的启动键会导致冲突,处理的关键也是KeyUp,如果你按下了<C-a>,那么,你的脚本就需要

    DimEnv 要做什么

    KeyUp "a", 1
    Delay 1
    KeyUp "Ctrl", 1
    Delay 1

    要做什么 = "组合键<C-a>"
    模拟点击【司令塔】监听键

尤其要注意这个顺序,意思为当你的<C-a>按下瞬间,按键精灵解除了这种按下的状态
这时候【司令塔】才能完成你要它完成的功能而不发生冲突
你要先释放<A>键,然后才是<Ctrl>,如果你先释放了<Ctrl>,等于按了下<A>键,这就不符合操作的目的

这对【组合键】按法也有要求,因为一般如果连续按下<M-r>和<M-e>
有人的想法会是按下<Alt>,然后按<r>,松开<r>,再按<e>

但是如果通过上述方式<Alt>已经被松开,按下<e>并不是<M-e>,而是纯粹的<e>
所以<M-r>和<M-e>必须按两下<Alt>,也就是先按<M-r>,全部放开,然后再按<M-e>

不过不用担心,无论原来习惯如何,你只要按2-4周基本就能习惯
倒不如说,不持续的按下切换键其实是一种良好的操作习惯


# 3.4 宠物召唤后处理外置和【特派员】脚本

这里面有个问题,当你召唤一只宠物,时间是很短的,因为就是切技能排按一个技能槽
这个时间可能在30-50ms以内
然后你要等待这只宠物效果生效,估计200ms,如果你要做Double召唤,又需要300ms,最后取消召唤
这意味着,你的【司令塔】在这250-550ms,不能做任何事情,这是不可接受的延迟锁

所以需要特别的处理这件事
就是【特派员】脚本
【特派员】脚本本质和【司令塔】类似,也是做waitkey监听
【司令塔】包装一个信息,模拟点击【特派员】的监听
然后剩余的D召唤,使用技能,以及取消召唤,都交给【特派员】来做
这样才不会导致锁住【司令塔】
但是你需要注意【特派员】执行任务期间,【司令塔】不能再召唤宠物
用DimEnv可以制作一个锁以及【特派员】没有完成任务的下限时间
比如1秒后无论【特派员】是否完成任务,都视为完成

你有能力可以尝试用多线程实现
之所以用这种实现,是因为我实在不想浪费时间去搞懂按键精灵的多线程机制会是怎么样的东西
这种级别语言学太深意义不大
而且原来试过PC按键精灵的互斥锁,直接浪费我大量时间在一个最后根本没法用的东西上面
只不过这样需要一个键盘按键作为特派员的监听键


# 3.5 简单脚本不要去调用自己编写的库

因为【组合键】功能脚本或【键序列】基础键记录的脚本大部分都是相同代码,有人会想要写个库,做公共代码,然后去调用

千万别这么做,老老实实一个脚本一个脚本去复制去改,或者有能力的话去整写生成代码的脚本

脚本调用自己编写的库相当于要先加载库,非常慢
这些脚本本该在几毫米内就该完成的事情,如果你做库加载,就变成几十几百毫秒的事情





# 3.6 游戏内置指令冲突问题

我觉得官方一开始没考虑到你可以用出反人类的操作
我一直以为是延迟问题,后来发现
只要你召唤宠物,那个瞬间,一定毫秒内,无论什么操作都会被吞
这本身违背常规想法,但是这只是游戏,不是现实的物理法则,应该是为了避免炸服做了很多限制
这要么是游戏内置的锁,要么是服务器的锁,你是没法用脚本突破的
(自动攻击修改可以某种程度上突破游戏内置的锁,这又是另一个专题)


这种现象用改自动攻击来看更明显
一个自动穿心箭打击的操作,当你准备技能和进行瞄准时,你是很难召唤宠物的
如果你成功召唤了宠物,那么你的自动攻击操作很可能被打断
但是在穿心箭射出后摇的300毫秒内,你是可以很容易召唤出宠物的
你要学会去利用这样的操作点,即箭射出一刹那来启动一个【脚本快捷】
操作上要避免过于异想天开的操作,而不是疯狂击键
什么时候进行操作是可能成功的,什么时候是绝对会失败的,是需要自己不断总结出来
而不是觉得上了操作脚本就能无缝衔接的操作,游戏不允许你这么做


实际上,除了【特派员】专门处理宠物召唤问题
我原来想过做两个【司令塔】,一个是技能槽的【司令塔】,另一个技能页的【司令塔】
这样确实可以通过脚本来隔离这两种操作的冲突锁问题(50ms内的锁)
但是因为游戏内置锁问题,这么做似乎没有那个必要
甚至可以说,你的【组合键】脚本可以单独模拟【游戏快捷】来绕过【司令塔】来操作
但是统一访问【司令塔】可以避免一些操作脚本间冲突
单独模拟就要考虑各种各样的问题,这种问题用按键精灵不好解决


我猜测:
自动攻击和键盘操作走的是一个操作锁体系
【槽点击】和键盘操作走的是两个操作锁体系 (或者是只是因为【槽点击】耗时太多,反而规避了这个问题)

按道理所有操作走一个口才比较正常
只是感觉官方更倾向支持【槽点击】这种垃圾操作,而把键盘操作设定的很死板

这就像是<Ctrl>锁定,始终会比【游戏快捷】确认目标灵敏一样,部分操作被特化了
会有50~100毫秒的顿挫感

所以即使你把这个操作体系做出来,在宠物召唤方面未必比【槽点击】更灵敏

只是宠物召唤之外,你可以做到各种特化的【脚本快捷】,包括
    灵敏切换账号,切换账号对应的宠物数据库
    切换设计针对副本战术
    ...
等等一系列自定义功能,这才是这个方案的魅力之处


# 3.7 【键序列】转换用<Ctrl>、<Shift>、<Alt>的捕捉问题

本身按键精灵并不支持<Ctrl>、<Shift>、<Alt>作为启动键
所以如果你要在【键序列】中对这三键进行捕捉时,需要用另外的方式
制作三个脚本,启动键与【司令塔】相同
内部依旧用大漠插件的waitkey来捕捉<Ctrl>、<Shift>、<Alt>
但是要注意,不要用KeyUp,这样会影响上述三键的功能
你可以在循环体内做300~500延迟(保证不会单次按键,重复进如循环体,或者用其他锁技术来处理)

基本可以假定一个【键序列】的<Ctrl>、<Shift>、<Alt>转置操作一定超过3-500毫秒
所以这样的处理方式是可行的

# 3.8 脚踏板

尽管买了红龙M990后感觉必要性降低了

早先有萌生了买个脚踏板的想法

某个玩意(emacs)听过有人专门买过那种脚踏板

这游戏好像也需要脚踏板

我想了下确认目标的模拟比较适合用脚踏板

确认目标是那种要非常频繁使用的按键
打个比方,你对一堆怪的某个目标丢死锁,然后聚起来,你就无法用ctrl打那个目标了,只能用确认攻击
但是如果不是纯【游戏快捷】按确认目标,比如用【脚本快捷】模拟
按键精灵可能没法支持那种过高频度的按键
按多了会按键精灵会失常,各种莫名其妙问题



# 3.9 锁

如果你要加一些脚本锁可以用DimEnv来做


# 3.10 卡死现象
要注意,当你操作不熟练
慌乱时会乱按,按键精灵监听太多键,短时间内过度启动大量脚本会卡死一段时间,5-30秒

我估计暂停司令塔,使用基础键打字太快也会出现这个问题
所以战斗时最好避免少打字交流

反正一些人也习惯用语音什么的

我个人还是觉得这东西是只适合完全单刷的人用


# 3.11 按键精灵

上面很多固有问题是按键精灵才会有的,你如果用高级语言不会有那样的问题,但是学习成本也更大
之所以推荐按键精灵,因为大部分人看看视频就能入门

但是如果你用更高级的语言,只是玩第二类操作体系就有点杀鸡用牛刀的感觉

实际上还有第三类操作体系的设想
主要参照软件vim来想的,基础思想就是
就是通过按键进入不同的操作模式,在各种操作模式下,按键功能应该有所不同
因为操作模式可以嵌套,就可以进行更邪恶的配置
走拦截判断再输出的路子

因为像<1>~<=>中,所以想把这些数字键利用起来切魔法阵和特性更加顺理成章
把所有键盘操作进行拦截,再传递给游戏,这是远远超过按键精灵更有意思的操作方法




# 4 想象力与乐趣

# 4.1 打破常规

本身上面的改动还是在不影响打字交流的基础上做改动,只是改改<Esc><F1><F2>
因为取消技能和<Esc>特殊功能就是重复的,如果你把<g>模拟点击<Esc>那就直接是取消技能了

如果你要做全方位的键盘改动,可以考虑双键盘,一个专门用来打字交流
一个专门用来操作,本身左手局限在Ctrl就是正常人的想法,如果你的左手移动到键盘中间,或者竖放键盘
那可能是另外一个传奇
只是大部分人操作惯性都比较大,可能很难脱离一般人固有的基准键盘操作思维



# 4.2 日积月累

要尽可能思考各种各样的事情

比如:过走廊,放上和取下威光是一个很麻烦的操作
把威光放在固定物品栏位置,分割成一定数量,放到威光槽位
结束时,把威光放在另一个固定位置
鼠标移动到保护性位置(左右鼠标按键没有任何效果,比如界面留白处),右键保证鼠标不再持有, 然后整理包裹
这就解决了一个问题(包括威光整理等等一系列问题)


又比如:激活特性

按照统一个思想,如果一个【键序列】表示一个特性激,激活3个特性就要9个按键操作,太过于繁琐

如果做特化改造,例如:按下<q>时,表示,我需要一个特性激活,然后各个【键序列】基础键对应各种特性,通过
按下多个键来激活几个特性,这样想法很有意思,但是偏离了统一性,实现起来就比较复杂
(这其实比较偏向第三类操作体系的设想)

另一种想法就是,一个【键序列】操作激活所有可激活特性,这就需要一定延迟(注意:特性激活也有一定间隔锁)
因为【脚本快捷】并不知道你哪些特性需要激活,你只能把所有能激活的特性都按一遍

但是如果设计成战术方案,让数据中心记录你当前的特性状态,数据中心可以知道你当前哪几个特性是可以激活
那上面的问题就迎刃而解

这里就是4个不同的想法,还可以有更多的想法



你可能对一个操作付出很多努力,也仅仅只是减少一点点操作时间
但是时间久了,经年累月的功能累加起来
就会决定你是否认为一种战斗操作方案是否可行,改变你对一些技能和物品的认知和看法


4.3 更进一步,无止尽

操作优化这东西,很多东西可以改,我基本上一两周会蹦出一个新想法

当你在操作宠物时,比如,你在打非困迷雾,碰到一房蓝史莱姆,你只有一把四穿弓,所以你对破防的要求比较迫切
先6幕举起来
飞天瞬间双龙破防
落地催眠上烟幕
死锁后先物理柯基,然后小鬼摩托,这里小鬼摩托并不用取消召唤,取消就不破防了
这样2+1+1+1破防射4穿心1爆破
取消小鬼摩托,召唤雪人
这样2+1+1+1破防射5穿心1爆破

其实有更加优化的方法
就是不取消小鬼摩托,小鬼摩托伙伴召唤雪人

这时候就会有这么一个问题,雪人伙伴召唤是否有效,因为你的雪人可能不能召唤
当然,如果你钱多,你也可以把伙伴类雪人和召唤类雪人分隔开,这样可能让你的宠物爆仓(宠物数量有上限)
但是也有别的做法

统一数据中心就可以这么做,当你召唤小鬼摩托的时候
这时候,按键理解到你是处于 召唤小鬼摩托的状态(因为你没有取消召唤)
当你按下平常召唤雪人的【组合键】
让它理解,你需要召唤的是一只小鬼摩托的伙伴雪人,而不是你进行普通的雪人召唤
这样既实现了键位的节省,又实现宠物CD数据的统一



又比如
同样是柯基和小鬼摩托的搭配,打boss的时候就可以使用柯基鼓舞来增加魔法保护,甚至加一个吃黄金羊毛
我一般这么搞

    <M-e> 召唤柯基,然后召唤小鬼摩托,不取消召唤
    <e> + <e> + <space> 召唤柯基,使用柯基鼓舞,召唤小鬼摩托,不取消召唤

这样同类宠物就两种用法
但是柯基鼓舞使用的CD很长,所以要内置CD控制,保证招的柯基可以使用鼓舞
也就是宠物技能CD实现统一


这种类型的想法,用按键脚本尽管可以实现
弄起来太过复杂(代码太多,基础资料比较难维护,INI的基础资料还是不如XML的好用)


4.4 细化到极致

这东西最后就是这么个东西,对于原生的各种自由功能,你可以细化拆成一个指定的功能,比如

    * 召唤途安,优先召唤适合链接的途安
    * 召唤途安,使用一下束足,取消召唤
    * 召唤死掉的途安(霸体状态挨打续buff)
    ...

这些功能通过确定的,快速的,准确的方式(【键】、【单键】、【键序列】)来使用
而不是去考虑那种非常琐屑的,比如

    * 途安在哪里
    * 哪只途安适合链接(急速翅膀满级,高累计)
    * 哪只途安可以召唤
    * 哪只途安是死掉的途安
    ...

这之类问题,这些问题基本都是你的操作上各种时间浪费,操作失误的来源



没头没尾的攻略就到这里,希望你最后有所收获


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册帐号

×

评分

参与人数 3声望 +20 金币 +60 收起 理由
wosha2 + 10 半A玩家金币不多略表心声。
佐藤达広 + 20 + 40
syx111 + 10

查看全部评分

发表于 2023.3.10 23:09 | 显示全部楼层
太长,先顶再看
发表于 2023.3.10 23:20 | 显示全部楼层
6666  大佬 辛苦了   赶紧学习下来打塔本
发表于 2023.3.11 09:42 | 显示全部楼层
大佬纽币,赞赞赞
发表于 2023.3.12 00:08 | 显示全部楼层
其实很多按键操作在单机端都完美执行,一到官方服务器加上延时,各种翻车。更别提要是原生游戏不装补丁的情况更难受。光一套千兆加完美配置电脑就不少钱了。4开叠叠乐打本,生产力工具还是不嫌贵的。
发表于 2023.3.12 01:24 | 显示全部楼层
一切的前提是不卡宠。刚打了把80猫,召唤骨龙卡1分钟,取消骨龙卡1分钟。     看不懂的人学习下鼠标宏召唤就行,这篇都算是高级教程了,很详细
发表于 2023.3.12 09:54 | 显示全部楼层
大佬牛逼,我打boss经常会被吐槽“你怎么只上青龙骨龙破防”,看来是时候好好学一下操作了
发表于 2023.3.13 19:07 | 显示全部楼层
感谢分享,来学习成为大佬了。
发表于 2023.3.14 10:22 | 显示全部楼层

不如氪金买外设更省心








鼠标很有用 小键盘屁用没有。  鼠标适合用直接的快捷键 小键盘适合做复杂化的。 但是一卡起来喊啥都没用了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册帐号

×
发表于 2023.3.15 15:50 | 显示全部楼层
柒宗罪 发表于 2023.3.14 10:22
不如氪金买外设更省心

你这款鼠标支持lua脚本嘛
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

Archiver|手机版|小黑屋|爱琳世界-逐梦者庭院

GMT+8, 2025.11.20 12:54 , Processed in 0.695243 second(s), 9 queries , Gzip On, File On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表